diff --git a/dist/samples/deckgl-kml-updated/app/index.ts b/dist/samples/deckgl-kml-updated/app/index.ts index 3b27186b..889e74c6 100644 --- a/dist/samples/deckgl-kml-updated/app/index.ts +++ b/dist/samples/deckgl-kml-updated/app/index.ts @@ -5,12 +5,8 @@ */ // Import necessary loader -import { registerLoaders } from '@loaders.gl/core'; import { KMLLoader } from '@loaders.gl/kml'; -// Register the KML loader -registerLoaders(KMLLoader); - // Declare global namespace for Deck.gl to satisfy TypeScript compiler declare namespace deck { class GeoJsonLayer { @@ -95,6 +91,7 @@ async function initMap(): Promise { geojsonLayer = new deck.GeoJsonLayer({ id: 'geojson-layer', data: `https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/1.0_week_age.kml?t=${Date.now()}`, // Append timestamp to prevent caching + loaders: [KMLLoader], pickable: true, stroked: true, // Set to true to add a border getLineColor: [0, 0, 0, 255], // Set border color to black diff --git a/dist/samples/deckgl-kml-updated/dist/assets/index-BTnu1N-d.js b/dist/samples/deckgl-kml-updated/dist/assets/index-BTnu1N-d.js new file mode 100644 index 00000000..222cc4ab --- /dev/null +++ b/dist/samples/deckgl-kml-updated/dist/assets/index-BTnu1N-d.js @@ -0,0 +1,8 @@ +(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const c of document.querySelectorAll('link[rel="modulepreload"]'))E(c);new MutationObserver(c=>{for(const f of c)if(f.type==="childList")for(const p of f.addedNodes)p.tagName==="LINK"&&p.rel==="modulepreload"&&E(p)}).observe(document,{childList:!0,subtree:!0});function h(c){const f={};return c.integrity&&(f.integrity=c.integrity),c.referrerPolicy&&(f.referrerPolicy=c.referrerPolicy),c.crossOrigin==="use-credentials"?f.credentials="include":c.crossOrigin==="anonymous"?f.credentials="omit":f.credentials="same-origin",f}function E(c){if(c.ep)return;c.ep=!0;const f=h(c);fetch(c.href,f)}})();function z(i){return i&&i.normalize&&i.normalize(),i&&i.textContent||""}function L(i,s){const h=i.getElementsByTagName(s);return h.length?h[0]:null}const Ee=/\s*/g,Ce=/^\s*|\s*$/g,ve=/\s+/;function ne(i){if(!i||!i.length)return 0;let s=0;for(let h=0;h=0&&u=0){for(var a=e.length-1;t0},lookupPrefix:function(u){for(var e=this;e;){var r=e._nsMap;if(r){for(var t in r)if(Object.prototype.hasOwnProperty.call(r,t)&&r[t]===u)return t}e=e.nodeType==P?e.ownerDocument:e.parentNode}return null},lookupNamespaceURI:function(u){for(var e=this;e;){var r=e._nsMap;if(r&&u in r&&Object.prototype.hasOwnProperty.call(r,u))return r[u];e=e.nodeType==P?e.ownerDocument:e.parentNode}return null},isDefaultNamespace:function(u){var e=this.lookupPrefix(u);return e==null}};function eu(u){return u=="<"&&"<"||u==">"&&">"||u=="&"&&"&"||u=='"'&&"""||"&#"+u.charCodeAt()+";"}v(C,A),v(C,A.prototype);function su(u,e){if(e(u))return!0;if(u=u.firstChild)do if(su(u,e))return!0;while(u=u.nextSibling)}function Y(){this.ownerDocument=this}function J(u,e,r){u&&u._inc++;var t=r.namespaceURI;t===h.XMLNS&&(e._nsMap[r.prefix?r.localName:""]=r.value)}function Bu(u,e,r,t){u&&u._inc++;var a=r.namespaceURI;a===h.XMLNS&&delete e._nsMap[r.prefix?r.localName:""]}function Eu(u,e,r){if(u&&u._inc){u._inc++;var t=e.childNodes;if(r)t[t.length++]=r;else{for(var a=e.firstChild,y=0;a;)t[y++]=a,a=a.nextSibling;t.length=y,delete t[t.length]}}}function uu(u,e){var r=e.previousSibling,t=e.nextSibling;return r?r.nextSibling=t:u.firstChild=t,t?t.previousSibling=r:u.lastChild=r,e.parentNode=null,e.previousSibling=null,e.nextSibling=null,Eu(u.ownerDocument,u),e}function iu(u){return u&&(u.nodeType===A.DOCUMENT_NODE||u.nodeType===A.DOCUMENT_FRAGMENT_NODE||u.nodeType===A.ELEMENT_NODE)}function Tu(u){return u&&(nu(u)||Cu(u)||tu(u)||u.nodeType===A.DOCUMENT_FRAGMENT_NODE||u.nodeType===A.COMMENT_NODE||u.nodeType===A.PROCESSING_INSTRUCTION_NODE)}function tu(u){return u&&u.nodeType===A.DOCUMENT_TYPE_NODE}function nu(u){return u&&u.nodeType===A.ELEMENT_NODE}function Cu(u){return u&&u.nodeType===A.TEXT_NODE}function Z(u,e){var r=u.childNodes||[];if(s(r,nu)||tu(e))return!1;var t=s(r,tu);return!(e&&t&&r.indexOf(t)>r.indexOf(e))}function vu(u,e){var r=u.childNodes||[];function t(y){return nu(y)&&y!==e}if(s(r,t))return!1;var a=s(r,tu);return!(e&&a&&r.indexOf(a)>r.indexOf(e))}function K(u,e,r){if(!iu(u))throw new D(n,"Unexpected parent node type "+u.nodeType);if(r&&r.parentNode!==u)throw new D(l,"child not in parent");if(!Tu(e)||tu(e)&&u.nodeType!==A.DOCUMENT_NODE)throw new D(n,"Unexpected node type "+e.nodeType+" for parent node type "+u.nodeType)}function xu(u,e,r){var t=u.childNodes||[],a=e.childNodes||[];if(e.nodeType===A.DOCUMENT_FRAGMENT_NODE){var y=a.filter(nu);if(y.length>1||s(a,Cu))throw new D(n,"More than one element or text in fragment");if(y.length===1&&!Z(u,r))throw new D(n,"Element in fragment can not be inserted before doctype")}if(nu(e)&&!Z(u,r))throw new D(n,"Only one element can be added and only after doctype");if(tu(e)){if(s(t,tu))throw new D(n,"Only one doctype is allowed");var H=s(t,nu);if(r&&t.indexOf(H)1||s(a,Cu))throw new D(n,"More than one element or text in fragment");if(y.length===1&&!vu(u,r))throw new D(n,"Element in fragment can not be inserted before doctype")}if(nu(e)&&!vu(u,r))throw new D(n,"Only one element can be added and only after doctype");if(tu(e)){let lu=function(au){return tu(au)&&au!==r};var ru=lu;if(s(t,lu))throw new D(n,"Only one doctype is allowed");var H=s(t,nu);if(r&&t.indexOf(H)0&&su(r.documentElement,function(a){if(a!==r&&a.nodeType===O){var y=a.getAttribute("class");if(y){var H=u===y;if(!H){var ru=p(y);H=e.every(B(ru))}H&&t.push(a)}}}),t})},createElement:function(u){var e=new M;e.ownerDocument=this,e.nodeName=u,e.tagName=u,e.localName=u,e.childNodes=new g;var r=e.attributes=new _;return r._ownerElement=e,e},createDocumentFragment:function(){var u=new Ru;return u.ownerDocument=this,u.childNodes=new g,u},createTextNode:function(u){var e=new Uu;return e.ownerDocument=this,e.appendData(u),e},createComment:function(u){var e=new Vu;return e.ownerDocument=this,e.appendData(u),e},createCDATASection:function(u){var e=new Gu;return e.ownerDocument=this,e.appendData(u),e},createProcessingInstruction:function(u,e){var r=new zu;return r.ownerDocument=this,r.tagName=r.nodeName=r.target=u,r.nodeValue=r.data=e,r},createAttribute:function(u){var e=new Q;return e.ownerDocument=this,e.name=u,e.nodeName=u,e.localName=u,e.specified=!0,e},createEntityReference:function(u){var e=new Hu;return e.ownerDocument=this,e.nodeName=u,e},createElementNS:function(u,e){var r=new M,t=e.split(":"),a=r.attributes=new _;return r.childNodes=new g,r.ownerDocument=this,r.nodeName=e,r.tagName=e,r.namespaceURI=u,t.length==2?(r.prefix=t[0],r.localName=t[1]):r.localName=e,a._ownerElement=r,r},createAttributeNS:function(u,e){var r=new Q,t=e.split(":");return r.ownerDocument=this,r.nodeName=e,r.name=e,r.namespaceURI=u,r.specified=!0,t.length==2?(r.prefix=t[0],r.localName=t[1]):r.localName=e,r}},m(Y,A);function M(){this._nsMap={}}M.prototype={nodeType:O,hasAttribute:function(u){return this.getAttributeNode(u)!=null},getAttribute:function(u){var e=this.getAttributeNode(u);return e&&e.value||""},getAttributeNode:function(u){return this.attributes.getNamedItem(u)},setAttribute:function(u,e){var r=this.ownerDocument.createAttribute(u);r.value=r.nodeValue=""+e,this.setAttributeNode(r)},removeAttribute:function(u){var e=this.getAttributeNode(u);e&&this.removeAttributeNode(e)},appendChild:function(u){return u.nodeType===k?this.insertBefore(u,null):Lu(this,u)},setAttributeNode:function(u){return this.attributes.setNamedItem(u)},setAttributeNodeNS:function(u){return this.attributes.setNamedItemNS(u)},removeAttributeNode:function(u){return this.attributes.removeNamedItem(u.nodeName)},removeAttributeNS:function(u,e){var r=this.getAttributeNodeNS(u,e);r&&this.removeAttributeNode(r)},hasAttributeNS:function(u,e){return this.getAttributeNodeNS(u,e)!=null},getAttributeNS:function(u,e){var r=this.getAttributeNodeNS(u,e);return r&&r.value||""},setAttributeNS:function(u,e,r){var t=this.ownerDocument.createAttributeNS(u,e);t.value=t.nodeValue=""+r,this.setAttributeNode(t)},getAttributeNodeNS:function(u,e){return this.attributes.getNamedItemNS(u,e)},getElementsByTagName:function(u){return new x(this,function(e){var r=[];return su(e,function(t){t!==e&&t.nodeType==O&&(u==="*"||t.tagName==u)&&r.push(t)}),r})},getElementsByTagNameNS:function(u,e){return new x(this,function(r){var t=[];return su(r,function(a){a!==r&&a.nodeType===O&&(u==="*"||a.namespaceURI===u)&&(e==="*"||a.localName==e)&&t.push(a)}),t})}},Y.prototype.getElementsByTagName=M.prototype.getElementsByTagName,Y.prototype.getElementsByTagNameNS=M.prototype.getElementsByTagNameNS,m(M,A);function Q(){}Q.prototype.nodeType=P,m(Q,A);function Du(){}Du.prototype={data:"",substringData:function(u,e){return this.data.substring(u,u+e)},appendData:function(u){u=this.data+u,this.nodeValue=this.data=u,this.length=u.length},insertData:function(u,e){this.replaceData(u,0,e)},appendChild:function(u){throw new Error(U[n])},deleteData:function(u,e){this.replaceData(u,e,"")},replaceData:function(u,e,r){var t=this.data.substring(0,u),a=this.data.substring(u+e);r=t+r+a,this.nodeValue=this.data=r,this.length=r.length}},m(Du,A);function Uu(){}Uu.prototype={nodeName:"#text",nodeType:X,splitText:function(u){var e=this.data,r=e.substring(u);e=e.substring(0,u),this.data=this.nodeValue=e,this.length=e.length;var t=this.ownerDocument.createTextNode(r);return this.parentNode&&this.parentNode.insertBefore(t,this.nextSibling),t}},m(Uu,Du);function Vu(){}Vu.prototype={nodeName:"#comment",nodeType:T},m(Vu,Du);function Gu(){}Gu.prototype={nodeName:"#cdata-section",nodeType:j},m(Gu,Du);function Ou(){}Ou.prototype.nodeType=R,m(Ou,A);function Ju(){}Ju.prototype.nodeType=G,m(Ju,A);function Ku(){}Ku.prototype.nodeType=N,m(Ku,A);function Hu(){}Hu.prototype.nodeType=o,m(Hu,A);function Ru(){}Ru.prototype.nodeName="#document-fragment",Ru.prototype.nodeType=k,m(Ru,A);function zu(){}zu.prototype.nodeType=b,m(zu,A);function Qu(){}Qu.prototype.serializeToString=function(u,e,r){return Zu.call(u,e,r)},A.prototype.toString=Zu;function Zu(u,e){var r=[],t=this.nodeType==9&&this.documentElement||this,a=t.prefix,y=t.namespaceURI;if(y&&a==null){var a=t.lookupPrefix(y);if(a==null)var H=[{namespace:y,prefix:null}]}return bu(this,r,u,e,H),r.join("")}function Wu(u,e,r){var t=u.prefix||"",a=u.namespaceURI;if(!a||t==="xml"&&a===h.XML||a===h.XMLNS)return!1;for(var y=r.length;y--;){var H=r[y];if(H.prefix===t)return H.namespace!==a}return!0}function ju(u,e,r){u.push(" ",e,'="',r.replace(/[<&"]/g,eu),'"')}function bu(u,e,r,t,a){if(a||(a=[]),t)if(u=t(u),u){if(typeof u=="string"){e.push(u);return}}else return;switch(u.nodeType){case O:var y=u.attributes,H=y.length,W=u.firstChild,ru=u.tagName;r=h.isHTML(u.namespaceURI)||r;var lu=ru;if(!r&&!u.prefix&&u.namespaceURI){for(var au,cu=0;cu=0;mu--){var hu=a[mu];if(hu.prefix===""&&hu.namespace===u.namespaceURI){au=hu.namespace;break}}if(au!==u.namespaceURI)for(var mu=a.length-1;mu>=0;mu--){var hu=a[mu];if(hu.namespace===u.namespaceURI){hu.prefix&&(lu=hu.prefix+":"+ru);break}}}e.push("<",lu);for(var du=0;du"),r&&/^script$/i.test(ru))for(;W;)W.data?e.push(W.data):bu(W,e,r,t,a.slice()),W=W.nextSibling;else for(;W;)bu(W,e,r,t,a.slice()),W=W.nextSibling;e.push("")}else e.push("/>");return;case V:case k:for(var W=u.firstChild;W;)bu(W,e,r,t,a.slice()),W=W.nextSibling;return;case P:return ju(e,u.name,u.value);case X:return e.push(u.data.replace(/[<&]/g,eu).replace(/]]>/g,"]]>"));case j:return e.push("");case T:return e.push("");case R:var re=u.publicId,yu=u.systemId;if(e.push("");else if(yu&&yu!=".")e.push(" SYSTEM ",yu,">");else{var te=u.internalSubset;te&&e.push(" [",te,"]"),e.push(">")}return;case b:return e.push("");case o:return e.push("&",u.nodeName,";");default:e.push("??",u.nodeName)}}function ue(u,e,r){var t;switch(e.nodeType){case O:t=e.cloneNode(!1),t.ownerDocument=u;case k:break;case P:r=!0;break}if(t||(t=e.cloneNode(!1)),t.ownerDocument=u,t.parentNode=null,r)for(var a=e.firstChild;a;)t.appendChild(ue(u,a,r)),a=a.nextSibling;return t}function Xu(u,e,r){var t=new e.constructor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var y=e[a];typeof y!="object"&&y!=t[a]&&(t[a]=y)}switch(e.childNodes&&(t.childNodes=new g),t.ownerDocument=u,t.nodeType){case O:var H=e.attributes,ru=t.attributes=new _,lu=H.length;ru._ownerElement=t;for(var au=0;au",lt:"<",quot:'"'}),i.HTML_ENTITIES=s({Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",AMP:"&",amp:"&",And:"⩓",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",ap:"≈",apacir:"⩯",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",Barwed:"⌆",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",Because:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxDL:"╗",boxDl:"╖",boxdL:"╕",boxdl:"┐",boxDR:"╔",boxDr:"╓",boxdR:"╒",boxdr:"┌",boxH:"═",boxh:"─",boxHD:"╦",boxHd:"╤",boxhD:"╥",boxhd:"┬",boxHU:"╩",boxHu:"╧",boxhU:"╨",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxUL:"╝",boxUl:"╜",boxuL:"╛",boxul:"┘",boxUR:"╚",boxUr:"╙",boxuR:"╘",boxur:"└",boxV:"║",boxv:"│",boxVH:"╬",boxVh:"╫",boxvH:"╪",boxvh:"┼",boxVL:"╣",boxVl:"╢",boxvL:"╡",boxvl:"┤",boxVR:"╠",boxVr:"╟",boxvR:"╞",boxvr:"├",bprime:"‵",Breve:"˘",breve:"˘",brvbar:"¦",Bscr:"ℬ",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",Cap:"⋒",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",CenterDot:"·",centerdot:"·",Cfr:"ℭ",cfr:"𝔠",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",Colon:"∷",colon:":",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",Conint:"∯",conint:"∮",ContourIntegral:"∮",Copf:"ℂ",copf:"𝕔",coprod:"∐",Coproduct:"∐",COPY:"©",copy:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",Cross:"⨯",cross:"✗",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",Cup:"⋓",cup:"∪",cupbrcap:"⩈",CupCap:"≍",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",Dagger:"‡",dagger:"†",daleth:"ℸ",Darr:"↡",dArr:"⇓",darr:"↓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",DD:"ⅅ",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",Diamond:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",Downarrow:"⇓",downarrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",ecir:"≖",Ecirc:"Ê",ecirc:"ê",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",eDot:"≑",edot:"ė",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",Escr:"ℰ",escr:"ℯ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",ExponentialE:"ⅇ",exponentiale:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",ForAll:"∀",forall:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",Fscr:"ℱ",fscr:"𝒻",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",gE:"≧",ge:"≥",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",Gg:"⋙",gg:"≫",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gnE:"≩",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",Gt:"≫",GT:">",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",hArr:"⇔",harr:"↔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",Hfr:"ℌ",hfr:"𝔥",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",Hopf:"ℍ",hopf:"𝕙",horbar:"―",HorizontalLine:"─",Hscr:"ℋ",hscr:"𝒽",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",Ifr:"ℑ",ifr:"𝔦",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Im:"ℑ",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",Int:"∬",int:"∫",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",Iscr:"ℐ",iscr:"𝒾",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",Lang:"⟪",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",Larr:"↞",lArr:"⇐",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",lAtail:"⤛",latail:"⤙",late:"⪭",lates:"⪭︀",lBarr:"⤎",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",lE:"≦",le:"≤",LeftAngleBracket:"⟨",LeftArrow:"←",Leftarrow:"⇐",leftarrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",Ll:"⋘",ll:"≪",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lnE:"≨",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftarrow:"⟵",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longleftrightarrow:"⟷",longmapsto:"⟼",LongRightArrow:"⟶",Longrightarrow:"⟹",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",Lscr:"ℒ",lscr:"𝓁",Lsh:"↰",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",Lt:"≪",LT:"<",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",Mscr:"ℳ",mscr:"𝓂",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",ne:"≠",nearhk:"⤤",neArr:"⇗",nearr:"↗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:` +`,nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlArr:"⇍",nlarr:"↚",nldr:"‥",nlE:"≦̸",nle:"≰",nLeftarrow:"⇍",nleftarrow:"↚",nLeftrightarrow:"⇎",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",nopf:"𝕟",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nRightarrow:"⇏",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nVDash:"⊯",nVdash:"⊮",nvDash:"⊭",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwArr:"⇖",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",ocir:"⊚",Ocirc:"Ô",ocirc:"ô",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",Or:"⩔",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",Otimes:"⨷",otimes:"⊗",otimesas:"⨶",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",Popf:"ℙ",popf:"𝕡",pound:"£",Pr:"⪻",pr:"≺",prap:"⪷",prcue:"≼",prE:"⪳",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",Prime:"″",prime:"′",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",Qopf:"ℚ",qopf:"𝕢",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",QUOT:'"',quot:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",Rang:"⟫",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",Rarr:"↠",rArr:"⇒",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",rAtail:"⤜",ratail:"⤚",ratio:"∶",rationals:"ℚ",RBarr:"⤐",rBarr:"⤏",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",REG:"®",reg:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",Rfr:"ℜ",rfr:"𝔯",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrow:"→",Rightarrow:"⇒",rightarrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",Ropf:"ℝ",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",Rscr:"ℛ",rscr:"𝓇",Rsh:"↱",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",Sc:"⪼",sc:"≻",scap:"⪸",Scaron:"Š",scaron:"š",sccue:"≽",scE:"⪴",sce:"⪰",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",seArr:"⇘",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",Square:"□",square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",Sub:"⋐",sub:"⊂",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",Subset:"⋐",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",Sum:"∑",sum:"∑",sung:"♪",Sup:"⋑",sup:"⊃",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",Supset:"⋑",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swArr:"⇙",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",Therefore:"∴",therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",Tilde:"∼",tilde:"˜",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",TRADE:"™",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",Uarr:"↟",uArr:"⇑",uarr:"↑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrow:"↑",Uparrow:"⇑",uparrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",Updownarrow:"⇕",updownarrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",upsi:"υ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",vArr:"⇕",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",Vbar:"⫫",vBar:"⫨",vBarv:"⫩",Vcy:"В",vcy:"в",VDash:"⊫",Vdash:"⊩",vDash:"⊨",vdash:"⊢",Vdashl:"⫦",Vee:"⋁",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",Verbar:"‖",verbar:"|",Vert:"‖",vert:"|",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",Wedge:"⋀",wedge:"∧",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",Xi:"Ξ",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",Yuml:"Ÿ",yuml:"ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",Zfr:"ℨ",zfr:"𝔷",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",Zopf:"ℤ",zopf:"𝕫",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"}),i.entityMap=i.HTML_ENTITIES}($u)),$u}var _u={},le;function Te(){if(le)return _u;le=1;var i=Pu().NAMESPACE,s=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,h=new RegExp("[\\-\\.0-9"+s.source.slice(1,-1)+"\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"),E=new RegExp("^"+s.source+h.source+"*(?::"+s.source+h.source+"*)?$"),c=0,f=1,p=2,B=3,v=4,m=5,C=6,O=7;function P(n,l){this.message=n,this.locator=l,Error.captureStackTrace&&Error.captureStackTrace(this,P)}P.prototype=new Error,P.prototype.name=P.name;function X(){}X.prototype={parse:function(n,l,d){var D=this.domBuilder;D.startDocument(),R(l,l={}),j(n,l,d,D,this.errorHandler),D.endDocument()}};function j(n,l,d,D,g){function x(M){if(M>65535){M-=65536;var Q=55296+(M>>10),Du=56320+(M&1023);return String.fromCharCode(Q,Du)}else return String.fromCharCode(M)}function q(M){var Q=M.slice(1,-1);return Q in d?d[Q]:Q.charAt(0)==="#"?x(parseInt(Q.substr(1).replace("x","0x"))):(g.error("entity not found:"+M),M)}function _(M){if(M>Y){var Q=n.substring(Y,M).replace(/&#?\w+;/g,q);A&&w(Y),D.characters(Q,0,M-Y),Y=M}}function w(M,Q){for(;M>=S&&(Q=$.exec(n));)F=Q.index,S=F+Q[0].length,A.lineNumber++;A.columnNumber=M-F+1}for(var F=0,S=0,$=/.*(?:\r\n?|\n)|.*$/g,A=D.locator,eu=[{currentNSMap:l}],su={},Y=0;;){try{var J=n.indexOf("<",Y);if(J<0){if(!n.substr(Y).match(/^\s*$/)){var Bu=D.doc,Eu=Bu.createTextNode(n.substr(Y));Bu.appendChild(Eu),D.currentElement=Eu}return}switch(J>Y&&_(J),n.charAt(J+1)){case"/":var K=n.indexOf(">",J+3),uu=n.substring(J+2,K).replace(/[ \t\n\r]+$/g,""),iu=eu.pop();K<0?(uu=n.substring(J+2).replace(/[\s<].*/,""),g.error("end tag name: "+uu+" is not complete:"+iu.tagName),K=J+1+uu.length):uu.match(/\sY?Y=K:_(Math.max(J,Y)+1)}}function o(n,l){return l.lineNumber=n.lineNumber,l.columnNumber=n.columnNumber,l}function N(n,l,d,D,g,x){function q(A,eu,su){d.attributeNames.hasOwnProperty(A)&&x.fatalError("Attribute "+A+" redefined"),d.addValue(A,eu,su)}for(var _,w,F=++l,S=c;;){var $=n.charAt(F);switch($){case"=":if(S===f)_=n.slice(l,F),S=B;else if(S===p)S=B;else throw new Error("attribute equal must after attrName");break;case"'":case'"':if(S===B||S===f)if(S===f&&(x.warning('attribute value must after "="'),_=n.slice(l,F)),l=F+1,F=n.indexOf($,l),F>0)w=n.slice(l,F).replace(/&#?\w+;/g,g),q(_,w,l-1),S=m;else throw new Error("attribute value no end '"+$+"' match");else if(S==v)w=n.slice(l,F).replace(/&#?\w+;/g,g),q(_,w,l),x.warning('attribute "'+_+'" missed start quot('+$+")!!"),l=F+1,S=m;else throw new Error('attribute value must after "="');break;case"/":switch(S){case c:d.setTagName(n.slice(l,F));case m:case C:case O:S=O,d.closed=!0;case v:case f:break;case p:d.closed=!0;break;default:throw new Error("attribute invalid close char('/')")}break;case"":return x.error("unexpected end of input"),S==c&&d.setTagName(n.slice(l,F)),F;case">":switch(S){case c:d.setTagName(n.slice(l,F));case m:case C:case O:break;case v:case f:w=n.slice(l,F),w.slice(-1)==="/"&&(d.closed=!0,w=w.slice(0,-1));case p:S===p&&(w=_),S==v?(x.warning('attribute "'+w+'" missed quot(")!'),q(_,w.replace(/&#?\w+;/g,g),l)):((!i.isHTML(D[""])||!w.match(/^(?:disabled|checked|selected)$/i))&&x.warning('attribute "'+w+'" missed value!! "'+w+'" instead!!'),q(w,w,l));break;case B:throw new Error("attribute value missed!!")}return F;case"€":$=" ";default:if($<=" ")switch(S){case c:d.setTagName(n.slice(l,F)),S=C;break;case f:_=n.slice(l,F),S=p;break;case v:var w=n.slice(l,F).replace(/&#?\w+;/g,g);x.warning('attribute "'+w+'" missed quot(")!!'),q(_,w,l);case m:S=C;break}else switch(S){case p:d.tagName,(!i.isHTML(D[""])||!_.match(/^(?:disabled|checked|selected)$/i))&&x.warning('attribute "'+_+'" missed value!! "'+_+'" instead2!!'),q(_,_,l),l=F,S=f;break;case m:x.warning('attribute space is required"'+_+'"!!');case C:S=f,l=F;break;case B:S=v,l=F;break;case O:throw new Error("elements closed character '/' and '>' must be connected to")}}F++}}function b(n,l,d){for(var D=n.tagName,g=null,$=n.length;$--;){var x=n[$],q=x.qName,_=x.value,A=q.indexOf(":");if(A>0)var w=x.prefix=q.slice(0,A),F=q.slice(A+1),S=w==="xmlns"&&F;else F=q,w=null,S=q==="xmlns"&&"";x.localName=F,S!==!1&&(g==null&&(g={},R(d,d={})),d[S]=g[S]=_,x.uri=i.XMLNS,l.startPrefixMapping(S,_))}for(var $=n.length;$--;){x=n[$];var w=x.prefix;w&&(w==="xml"&&(x.uri=i.XML),w!=="xmlns"&&(x.uri=d[w||""]))}var A=D.indexOf(":");A>0?(w=n.prefix=D.slice(0,A),F=n.localName=D.slice(A+1)):(w=null,F=n.localName=D);var eu=n.uri=d[w||""];if(l.startElement(eu,F,D,n),n.closed){if(l.endElement(eu,F,D),g)for(w in g)Object.prototype.hasOwnProperty.call(g,w)&&l.endPrefixMapping(w)}else return n.currentNSMap=d,n.localNSMap=g,!0}function T(n,l,d,D,g){if(/^(?:script|textarea)$/i.test(d)){var x=n.indexOf("",l),q=n.substring(l+1,x);if(/[&<]/.test(q))return/^script$/i.test(d)?(g.characters(q,0,q.length),x):(q=q.replace(/&#?\w+;/g,D),g.characters(q,0,q.length),x)}return l+1}function V(n,l,d,D){var g=D[d];return g==null&&(g=n.lastIndexOf(""),g",l+4);return x>l?(d.comment(n,l+4,x-l-4),x+3):(D.error("Unclosed comment"),-1)}else return-1;default:if(n.substr(l+3,6)=="CDATA["){var x=n.indexOf("]]>",l+9);return d.startCDATA(),d.characters(n,l+9,x-l-9),d.endCDATA(),x+3}var q=U(n,l),_=q.length;if(_>1&&/!doctype/i.test(q[0][0])){var w=q[1][0],F=!1,S=!1;_>3&&(/^public$/i.test(q[2][0])?(F=q[3][0],S=_>4&&q[4][0]):/^system$/i.test(q[2][0])&&(S=q[3][0]));var $=q[_-1];return d.startDTD(w,F,S),d.endDTD(),$.index+$[0].length}}return-1}function G(n,l,d){var D=n.indexOf("?>",l);if(D){var g=n.substring(l,D).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);return g?(g[0].length,d.processingInstruction(g[1],g[2]),D+2):-1}return-1}function I(){this.attributeNames={}}I.prototype={setTagName:function(n){if(!E.test(n))throw new Error("invalid tagName:"+n);this.tagName=n},addValue:function(n,l,d){if(!E.test(n))throw new Error("invalid attribute:"+n);this.attributeNames[n]=this.length,this[this.length++]={qName:n,value:l,offset:d}},length:0,getLocalName:function(n){return this[n].localName},getLocator:function(n){return this[n].locator},getQName:function(n){return this[n].qName},getURI:function(n){return this[n].uri},getValue:function(n){return this[n].value}};function U(n,l){var d,D=[],g=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;for(g.lastIndex=l,g.exec(n);d=g.exec(n);)if(D.push(d),d[1])return D}return _u.XMLReader=X,_u.ParseError=P,_u}var ce;function Fe(){if(ce)return Nu;ce=1;var i=Pu(),s=ge(),h=Be(),E=Te(),c=s.DOMImplementation,f=i.NAMESPACE,p=E.ParseError,B=E.XMLReader;function v(o){this.options=o||{locator:{}}}v.prototype.parseFromString=function(o,N){var b=this.options,T=new B,V=b.domBuilder||new C,R=b.errorHandler,k=b.locator,G=b.xmlns||{},I=/\/x?html?$/.test(N),U=I?h.HTML_ENTITIES:h.XML_ENTITIES;return k&&V.setDocumentLocator(k),T.errorHandler=m(R,V,k),T.domBuilder=b.domBuilder||V,I&&(G[""]=f.HTML),G.xml=G.xml||f.XML,o&&typeof o=="string"?T.parse(o,G,U):T.errorHandler.error("invalid doc source"),V.doc};function m(o,N,b){if(!o){if(N instanceof C)return N;o=N}var T={},V=o instanceof Function;b=b||{};function R(k){var G=o[k];!G&&V&&(G=o.length==2?function(I){o(k,I)}:o),T[k]=G&&function(I){G("[xmldom "+k+"] "+I+P(b))}||function(){}}return R("warning"),R("error"),R("fatalError"),T}function C(){this.cdata=!1}function O(o,N){N.lineNumber=o.lineNumber,N.columnNumber=o.columnNumber}C.prototype={startDocument:function(){this.doc=new c().createDocument(null,null,null),this.locator&&(this.doc.documentURI=this.locator.systemId)},startElement:function(o,N,b,T){var V=this.doc,R=V.createElementNS(o,b||N),k=T.length;j(this,R),this.currentElement=R,this.locator&&O(this.locator,R);for(var G=0;G=N+b||N?new java.lang.String(o,N,b)+"":o}"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,function(o){C.prototype[o]=function(){return null}});function j(o,N){o.currentElement?o.currentElement.appendChild(N):o.doc.appendChild(N)}return Nu.__DOMHandler=C,Nu.DOMParser=v,Nu.DOMImplementation=s.DOMImplementation,Nu.XMLSerializer=s.XMLSerializer,Nu}var pe;function Se(){if(pe)return Su;pe=1;var i=ge();return Su.DOMImplementation=i.DOMImplementation,Su.XMLSerializer=i.XMLSerializer,Su.DOMParser=Fe().DOMParser,Su}var xe=Se();const qe="4.3.2",Le=` +`,Ae={dataType:null,batchType:null,name:"KML (Keyhole Markup Language)",id:"kml",module:"kml",version:qe,extensions:["kml"],mimeTypes:["application/vnd.google-earth.kml+xml"],text:!0,tests:[Le],parse:async(i,s)=>fe(new TextDecoder().decode(i),s),parseTextSync:fe,options:{kml:{shape:"geojson-table"},gis:{}}};function fe(i,s){const h=new xe.DOMParser().parseFromString(i,"text/xml"),E=Ne(h),c={...Ae.options.kml,...s==null?void 0:s.kml};switch(c.shape){case"geojson-table":return{shape:"geojson-table",type:"FeatureCollection",features:E.features};case"object-row-table":return{shape:"object-row-table",data:E.features};default:throw new Error(c.shape)}}/* + * @license + * Copyright 2025 Google LLC. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */let De,me,he;async function Oe(){var i,s=document.querySelector(".mdc-linear-progress");s&&(i=new mdc.linearProgress.MDCLinearProgress(s),i.open(),i.determinate=!1,i.done=function(){i.close(),s==null||s.remove()});const h={lat:19.223718899391237,lng:-148.62590882823457},{Map:E}=await google.maps.importLibrary("maps"),c=document.getElementById("map");if(!c){console.error("Map element not found!");return}De=new E(c,{zoom:3,center:h,mapId:"6a17c323f461e521",mapTypeId:"satellite",zoomControl:!0,clickableIcons:!1}),me=new deck.GeoJsonLayer({id:"geojson-layer",data:`https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/1.0_week_age.kml?t=${Date.now()}`,loaders:[Ae],pickable:!0,stroked:!0,getLineColor:[0,0,0,255],getLineWidth:2,filled:!0,pointType:"circle",pointRadiusMinPixels:2,pointRadiusMaxPixels:200,getRadius:p=>8e3,getFillColor:(p,{index:B})=>{const m=p.properties.description.match(/M (\d+\.?\d*)/);let C=null;m&&m[1]?C=parseFloat(m[1]):console.log("Magnitude not found");const O=[255,255,0],P=[255,0,0],X=1,N=Math.max(0,Math.min(1,((C!==null?C:X)-X)/(7-X))),b=O[0]+N*(P[0]-O[0]),T=O[1]+N*(P[1]-O[1]),V=O[2]+N*(P[2]-O[2]);return[Math.round(b),Math.round(T),Math.round(V),200]},autoHighlight:!0,transitions:{getRadius:{type:"spring",stiffness:.1,damping:.15,enter:()=>[0],duration:1e4}},onHover:({object:p,x:B,y:v})=>{const m=document.getElementById("tooltip");if(m&&p){let C="Earthquakes 1.0_week_age";C+=`

${p.properties.description}

`,m.innerHTML=C,m.style.left=B+"px",m.style.top=v+"px",m.style.display="block"}else m&&(m.style.display="none")},onDataLoad:()=>{console.log("KML data loaded"),i&&i.done&&i.done()}}),he=new deck.GoogleMapsOverlay({layers:[me],parameters:{depthTest:!1}}),he.setMap(De);const f=document.getElementById("legend");if(f){const p=[1,2,3,4,5,6,7],B=1,v=7,m=[255,255,0],C=[255,0,0];p.forEach(O=>{const P=Math.max(0,Math.min(1,(O-B)/(v-B))),X=m[0]+P*(C[0]-m[0]),j=m[1]+P*(C[1]-m[1]),o=m[2]+P*(C[2]-m[2]),N=`rgb(${Math.round(X)}, ${Math.round(j)}, ${Math.round(o)})`,b=document.createElement("div");b.classList.add("legend-item");const T=document.createElement("div");T.classList.add("legend-color"),T.style.backgroundColor=N;const V=document.createElement("span");V.textContent=`${O}`,b.appendChild(T),b.appendChild(V),f.appendChild(b)})}}Oe(); diff --git a/dist/samples/deckgl-kml-updated/dist/index.html b/dist/samples/deckgl-kml-updated/dist/index.html index 61b34df8..dc6cf425 100644 --- a/dist/samples/deckgl-kml-updated/dist/index.html +++ b/dist/samples/deckgl-kml-updated/dist/index.html @@ -20,7 +20,7 @@ - + diff --git a/dist/samples/deckgl-kml-updated/docs/index.js b/dist/samples/deckgl-kml-updated/docs/index.js index b93b789c..26f8df13 100644 --- a/dist/samples/deckgl-kml-updated/docs/index.js +++ b/dist/samples/deckgl-kml-updated/docs/index.js @@ -4,10 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ // Import necessary loader -import { registerLoaders } from '@loaders.gl/core'; import { KMLLoader } from '@loaders.gl/kml'; -// Register the KML loader -registerLoaders(KMLLoader); // Initialize and add the map let map; let geojsonLayer; @@ -50,6 +47,7 @@ async function initMap() { geojsonLayer = new deck.GeoJsonLayer({ id: 'geojson-layer', data: `https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/1.0_week_age.kml?t=${Date.now()}`, // Append timestamp to prevent caching + loaders: [KMLLoader], pickable: true, stroked: true, // Set to true to add a border getLineColor: [0, 0, 0, 255], // Set border color to black diff --git a/dist/samples/deckgl-kml-updated/docs/index.ts b/dist/samples/deckgl-kml-updated/docs/index.ts index 3b27186b..889e74c6 100644 --- a/dist/samples/deckgl-kml-updated/docs/index.ts +++ b/dist/samples/deckgl-kml-updated/docs/index.ts @@ -5,12 +5,8 @@ */ // Import necessary loader -import { registerLoaders } from '@loaders.gl/core'; import { KMLLoader } from '@loaders.gl/kml'; -// Register the KML loader -registerLoaders(KMLLoader); - // Declare global namespace for Deck.gl to satisfy TypeScript compiler declare namespace deck { class GeoJsonLayer { @@ -95,6 +91,7 @@ async function initMap(): Promise { geojsonLayer = new deck.GeoJsonLayer({ id: 'geojson-layer', data: `https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/1.0_week_age.kml?t=${Date.now()}`, // Append timestamp to prevent caching + loaders: [KMLLoader], pickable: true, stroked: true, // Set to true to add a border getLineColor: [0, 0, 0, 255], // Set border color to black diff --git a/dist/samples/deckgl-kml-updated/jsfiddle/demo.js b/dist/samples/deckgl-kml-updated/jsfiddle/demo.js index b93b789c..26f8df13 100644 --- a/dist/samples/deckgl-kml-updated/jsfiddle/demo.js +++ b/dist/samples/deckgl-kml-updated/jsfiddle/demo.js @@ -4,10 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ // Import necessary loader -import { registerLoaders } from '@loaders.gl/core'; import { KMLLoader } from '@loaders.gl/kml'; -// Register the KML loader -registerLoaders(KMLLoader); // Initialize and add the map let map; let geojsonLayer; @@ -50,6 +47,7 @@ async function initMap() { geojsonLayer = new deck.GeoJsonLayer({ id: 'geojson-layer', data: `https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/1.0_week_age.kml?t=${Date.now()}`, // Append timestamp to prevent caching + loaders: [KMLLoader], pickable: true, stroked: true, // Set to true to add a border getLineColor: [0, 0, 0, 255], // Set border color to black diff --git a/dist/samples/deckgl-kml/app/index.ts b/dist/samples/deckgl-kml/app/index.ts index df80608d..17c82bb8 100644 --- a/dist/samples/deckgl-kml/app/index.ts +++ b/dist/samples/deckgl-kml/app/index.ts @@ -5,12 +5,8 @@ */ // Import necessary loader -import { registerLoaders } from '@loaders.gl/core'; import { KMLLoader } from '@loaders.gl/kml'; -// Register the KML loader -registerLoaders(KMLLoader); - // Declare global namespace for Deck.gl to satisfy TypeScript compiler declare namespace deck { class GeoJsonLayer { @@ -93,6 +89,7 @@ async function initMap(): Promise { geojsonLayer = new deck.GeoJsonLayer({ id: 'geojson-layer', data: 'https://googlearchive.github.io/js-v2-samples/ggeoxml/cta.kml', + loaders: [KMLLoader], pickable: true, stroked: true, // Set to true to render lines filled: false, // Set to false for lines diff --git a/dist/samples/deckgl-kml/dist/assets/index-DEpFlh_w.js b/dist/samples/deckgl-kml/dist/assets/index-DEpFlh_w.js new file mode 100644 index 00000000..dcc7c08f --- /dev/null +++ b/dist/samples/deckgl-kml/dist/assets/index-DEpFlh_w.js @@ -0,0 +1,8 @@ +(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const c of document.querySelectorAll('link[rel="modulepreload"]'))h(c);new MutationObserver(c=>{for(const f of c)if(f.type==="childList")for(const o of f.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&h(o)}).observe(document,{childList:!0,subtree:!0});function D(c){const f={};return c.integrity&&(f.integrity=c.integrity),c.referrerPolicy&&(f.referrerPolicy=c.referrerPolicy),c.crossOrigin==="use-credentials"?f.credentials="include":c.crossOrigin==="anonymous"?f.credentials="omit":f.credentials="same-origin",f}function h(c){if(c.ep)return;c.ep=!0;const f=D(c);fetch(c.href,f)}})();function H(n){return n&&n.normalize&&n.normalize(),n&&n.textContent||""}function x(n,s){const D=n.getElementsByTagName(s);return D.length?D[0]:null}const Ee=/\s*/g,ve=/^\s*|\s*$/g,Ce=/\s+/;function ie(n){if(!n||!n.length)return 0;let s=0;for(let D=0;D=0&&u=0){for(var a=e.length-1;t0},lookupPrefix:function(u){for(var e=this;e;){var r=e._nsMap;if(r){for(var t in r)if(Object.prototype.hasOwnProperty.call(r,t)&&r[t]===u)return t}e=e.nodeType==V?e.ownerDocument:e.parentNode}return null},lookupNamespaceURI:function(u){for(var e=this;e;){var r=e._nsMap;if(r&&u in r&&Object.prototype.hasOwnProperty.call(r,u))return r[u];e=e.nodeType==V?e.ownerDocument:e.parentNode}return null},isDefaultNamespace:function(u){var e=this.lookupPrefix(u);return e==null}};function eu(u){return u=="<"&&"<"||u==">"&&">"||u=="&"&&"&"||u=='"'&&"""||"&#"+u.charCodeAt()+";"}A(w,E),A(w,E.prototype);function su(u,e){if(e(u))return!0;if(u=u.firstChild)do if(su(u,e))return!0;while(u=u.nextSibling)}function $(){this.ownerDocument=this}function Y(u,e,r){u&&u._inc++;var t=r.namespaceURI;t===D.XMLNS&&(e._nsMap[r.prefix?r.localName:""]=r.value)}function Bu(u,e,r,t){u&&u._inc++;var a=r.namespaceURI;a===D.XMLNS&&delete e._nsMap[r.prefix?r.localName:""]}function Eu(u,e,r){if(u&&u._inc){u._inc++;var t=e.childNodes;if(r)t[t.length++]=r;else{for(var a=e.firstChild,C=0;a;)t[C++]=a,a=a.nextSibling;t.length=C,delete t[t.length]}}}function K(u,e){var r=e.previousSibling,t=e.nextSibling;return r?r.nextSibling=t:u.firstChild=t,t?t.previousSibling=r:u.lastChild=r,e.parentNode=null,e.previousSibling=null,e.nextSibling=null,Eu(u.ownerDocument,u),e}function iu(u){return u&&(u.nodeType===E.DOCUMENT_NODE||u.nodeType===E.DOCUMENT_FRAGMENT_NODE||u.nodeType===E.ELEMENT_NODE)}function Tu(u){return u&&(nu(u)||vu(u)||tu(u)||u.nodeType===E.DOCUMENT_FRAGMENT_NODE||u.nodeType===E.COMMENT_NODE||u.nodeType===E.PROCESSING_INSTRUCTION_NODE)}function tu(u){return u&&u.nodeType===E.DOCUMENT_TYPE_NODE}function nu(u){return u&&u.nodeType===E.ELEMENT_NODE}function vu(u){return u&&u.nodeType===E.TEXT_NODE}function Q(u,e){var r=u.childNodes||[];if(s(r,nu)||tu(e))return!1;var t=s(r,tu);return!(e&&t&&r.indexOf(t)>r.indexOf(e))}function Cu(u,e){var r=u.childNodes||[];function t(C){return nu(C)&&C!==e}if(s(r,t))return!1;var a=s(r,tu);return!(e&&a&&r.indexOf(a)>r.indexOf(e))}function W(u,e,r){if(!iu(u))throw new m(i,"Unexpected parent node type "+u.nodeType);if(r&&r.parentNode!==u)throw new m(p,"child not in parent");if(!Tu(e)||tu(e)&&u.nodeType!==E.DOCUMENT_NODE)throw new m(i,"Unexpected node type "+e.nodeType+" for parent node type "+u.nodeType)}function xu(u,e,r){var t=u.childNodes||[],a=e.childNodes||[];if(e.nodeType===E.DOCUMENT_FRAGMENT_NODE){var C=a.filter(nu);if(C.length>1||s(a,vu))throw new m(i,"More than one element or text in fragment");if(C.length===1&&!Q(u,r))throw new m(i,"Element in fragment can not be inserted before doctype")}if(nu(e)&&!Q(u,r))throw new m(i,"Only one element can be added and only after doctype");if(tu(e)){if(s(t,tu))throw new m(i,"Only one doctype is allowed");var G=s(t,nu);if(r&&t.indexOf(G)1||s(a,vu))throw new m(i,"More than one element or text in fragment");if(C.length===1&&!Cu(u,r))throw new m(i,"Element in fragment can not be inserted before doctype")}if(nu(e)&&!Cu(u,r))throw new m(i,"Only one element can be added and only after doctype");if(tu(e)){let lu=function(au){return tu(au)&&au!==r};var ru=lu;if(s(t,lu))throw new m(i,"Only one doctype is allowed");var G=s(t,nu);if(r&&t.indexOf(G)0&&su(r.documentElement,function(a){if(a!==r&&a.nodeType===_){var C=a.getAttribute("class");if(C){var G=u===C;if(!G){var ru=o(C);G=e.every(b(ru))}G&&t.push(a)}}}),t})},createElement:function(u){var e=new M;e.ownerDocument=this,e.nodeName=u,e.tagName=u,e.localName=u,e.childNodes=new d;var r=e.attributes=new I;return r._ownerElement=e,e},createDocumentFragment:function(){var u=new Ru;return u.ownerDocument=this,u.childNodes=new d,u},createTextNode:function(u){var e=new Uu;return e.ownerDocument=this,e.appendData(u),e},createComment:function(u){var e=new Vu;return e.ownerDocument=this,e.appendData(u),e},createCDATASection:function(u){var e=new Gu;return e.ownerDocument=this,e.appendData(u),e},createProcessingInstruction:function(u,e){var r=new zu;return r.ownerDocument=this,r.tagName=r.nodeName=r.target=u,r.nodeValue=r.data=e,r},createAttribute:function(u){var e=new J;return e.ownerDocument=this,e.name=u,e.nodeName=u,e.localName=u,e.specified=!0,e},createEntityReference:function(u){var e=new Hu;return e.ownerDocument=this,e.nodeName=u,e},createElementNS:function(u,e){var r=new M,t=e.split(":"),a=r.attributes=new I;return r.childNodes=new d,r.ownerDocument=this,r.nodeName=e,r.tagName=e,r.namespaceURI=u,t.length==2?(r.prefix=t[0],r.localName=t[1]):r.localName=e,a._ownerElement=r,r},createAttributeNS:function(u,e){var r=new J,t=e.split(":");return r.ownerDocument=this,r.nodeName=e,r.name=e,r.namespaceURI=u,r.specified=!0,t.length==2?(r.prefix=t[0],r.localName=t[1]):r.localName=e,r}},v($,E);function M(){this._nsMap={}}M.prototype={nodeType:_,hasAttribute:function(u){return this.getAttributeNode(u)!=null},getAttribute:function(u){var e=this.getAttributeNode(u);return e&&e.value||""},getAttributeNode:function(u){return this.attributes.getNamedItem(u)},setAttribute:function(u,e){var r=this.ownerDocument.createAttribute(u);r.value=r.nodeValue=""+e,this.setAttributeNode(r)},removeAttribute:function(u){var e=this.getAttributeNode(u);e&&this.removeAttributeNode(e)},appendChild:function(u){return u.nodeType===R?this.insertBefore(u,null):Ou(this,u)},setAttributeNode:function(u){return this.attributes.setNamedItem(u)},setAttributeNodeNS:function(u){return this.attributes.setNamedItemNS(u)},removeAttributeNode:function(u){return this.attributes.removeNamedItem(u.nodeName)},removeAttributeNS:function(u,e){var r=this.getAttributeNodeNS(u,e);r&&this.removeAttributeNode(r)},hasAttributeNS:function(u,e){return this.getAttributeNodeNS(u,e)!=null},getAttributeNS:function(u,e){var r=this.getAttributeNodeNS(u,e);return r&&r.value||""},setAttributeNS:function(u,e,r){var t=this.ownerDocument.createAttributeNS(u,e);t.value=t.nodeValue=""+r,this.setAttributeNode(t)},getAttributeNodeNS:function(u,e){return this.attributes.getNamedItemNS(u,e)},getElementsByTagName:function(u){return new F(this,function(e){var r=[];return su(e,function(t){t!==e&&t.nodeType==_&&(u==="*"||t.tagName==u)&&r.push(t)}),r})},getElementsByTagNameNS:function(u,e){return new F(this,function(r){var t=[];return su(r,function(a){a!==r&&a.nodeType===_&&(u==="*"||a.namespaceURI===u)&&(e==="*"||a.localName==e)&&t.push(a)}),t})}},$.prototype.getElementsByTagName=M.prototype.getElementsByTagName,$.prototype.getElementsByTagNameNS=M.prototype.getElementsByTagNameNS,v(M,E);function J(){}J.prototype.nodeType=V,v(J,E);function Du(){}Du.prototype={data:"",substringData:function(u,e){return this.data.substring(u,u+e)},appendData:function(u){u=this.data+u,this.nodeValue=this.data=u,this.length=u.length},insertData:function(u,e){this.replaceData(u,0,e)},appendChild:function(u){throw new Error(P[i])},deleteData:function(u,e){this.replaceData(u,e,"")},replaceData:function(u,e,r){var t=this.data.substring(0,u),a=this.data.substring(u+e);r=t+r+a,this.nodeValue=this.data=r,this.length=r.length}},v(Du,E);function Uu(){}Uu.prototype={nodeName:"#text",nodeType:uu,splitText:function(u){var e=this.data,r=e.substring(u);e=e.substring(0,u),this.data=this.nodeValue=e,this.length=e.length;var t=this.ownerDocument.createTextNode(r);return this.parentNode&&this.parentNode.insertBefore(t,this.nextSibling),t}},v(Uu,Du);function Vu(){}Vu.prototype={nodeName:"#comment",nodeType:O},v(Vu,Du);function Gu(){}Gu.prototype={nodeName:"#cdata-section",nodeType:X},v(Gu,Du);function Lu(){}Lu.prototype.nodeType=L,v(Lu,E);function Ju(){}Ju.prototype.nodeType=U,v(Ju,E);function Qu(){}Qu.prototype.nodeType=q,v(Qu,E);function Hu(){}Hu.prototype.nodeType=l,v(Hu,E);function Ru(){}Ru.prototype.nodeName="#document-fragment",Ru.prototype.nodeType=R,v(Ru,E);function zu(){}zu.prototype.nodeType=T,v(zu,E);function Zu(){}Zu.prototype.serializeToString=function(u,e,r){return Ku.call(u,e,r)},E.prototype.toString=Ku;function Ku(u,e){var r=[],t=this.nodeType==9&&this.documentElement||this,a=t.prefix,C=t.namespaceURI;if(C&&a==null){var a=t.lookupPrefix(C);if(a==null)var G=[{namespace:C,prefix:null}]}return bu(this,r,u,e,G),r.join("")}function ue(u,e,r){var t=u.prefix||"",a=u.namespaceURI;if(!a||t==="xml"&&a===D.XML||a===D.XMLNS)return!1;for(var C=r.length;C--;){var G=r[C];if(G.prefix===t)return G.namespace!==a}return!0}function ju(u,e,r){u.push(" ",e,'="',r.replace(/[<&"]/g,eu),'"')}function bu(u,e,r,t,a){if(a||(a=[]),t)if(u=t(u),u){if(typeof u=="string"){e.push(u);return}}else return;switch(u.nodeType){case _:var C=u.attributes,G=C.length,Z=u.firstChild,ru=u.tagName;r=D.isHTML(u.namespaceURI)||r;var lu=ru;if(!r&&!u.prefix&&u.namespaceURI){for(var au,cu=0;cu=0;mu--){var hu=a[mu];if(hu.prefix===""&&hu.namespace===u.namespaceURI){au=hu.namespace;break}}if(au!==u.namespaceURI)for(var mu=a.length-1;mu>=0;mu--){var hu=a[mu];if(hu.namespace===u.namespaceURI){hu.prefix&&(lu=hu.prefix+":"+ru);break}}}e.push("<",lu);for(var gu=0;gu"),r&&/^script$/i.test(ru))for(;Z;)Z.data?e.push(Z.data):bu(Z,e,r,t,a.slice()),Z=Z.nextSibling;else for(;Z;)bu(Z,e,r,t,a.slice()),Z=Z.nextSibling;e.push("")}else e.push("/>");return;case z:case R:for(var Z=u.firstChild;Z;)bu(Z,e,r,t,a.slice()),Z=Z.nextSibling;return;case V:return ju(e,u.name,u.value);case uu:return e.push(u.data.replace(/[<&]/g,eu).replace(/]]>/g,"]]>"));case X:return e.push("");case O:return e.push("");case L:var te=u.publicId,yu=u.systemId;if(e.push("");else if(yu&&yu!=".")e.push(" SYSTEM ",yu,">");else{var ne=u.internalSubset;ne&&e.push(" [",ne,"]"),e.push(">")}return;case T:return e.push("");case l:return e.push("&",u.nodeName,";");default:e.push("??",u.nodeName)}}function ee(u,e,r){var t;switch(e.nodeType){case _:t=e.cloneNode(!1),t.ownerDocument=u;case R:break;case V:r=!0;break}if(t||(t=e.cloneNode(!1)),t.ownerDocument=u,t.parentNode=null,r)for(var a=e.firstChild;a;)t.appendChild(ee(u,a,r)),a=a.nextSibling;return t}function Xu(u,e,r){var t=new e.constructor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var C=e[a];typeof C!="object"&&C!=t[a]&&(t[a]=C)}switch(e.childNodes&&(t.childNodes=new d),t.ownerDocument=u,t.nodeType){case _:var G=e.attributes,ru=t.attributes=new I,lu=G.length;ru._ownerElement=t;for(var au=0;au",lt:"<",quot:'"'}),n.HTML_ENTITIES=s({Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",AMP:"&",amp:"&",And:"⩓",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",ap:"≈",apacir:"⩯",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",Barwed:"⌆",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",Because:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxDL:"╗",boxDl:"╖",boxdL:"╕",boxdl:"┐",boxDR:"╔",boxDr:"╓",boxdR:"╒",boxdr:"┌",boxH:"═",boxh:"─",boxHD:"╦",boxHd:"╤",boxhD:"╥",boxhd:"┬",boxHU:"╩",boxHu:"╧",boxhU:"╨",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxUL:"╝",boxUl:"╜",boxuL:"╛",boxul:"┘",boxUR:"╚",boxUr:"╙",boxuR:"╘",boxur:"└",boxV:"║",boxv:"│",boxVH:"╬",boxVh:"╫",boxvH:"╪",boxvh:"┼",boxVL:"╣",boxVl:"╢",boxvL:"╡",boxvl:"┤",boxVR:"╠",boxVr:"╟",boxvR:"╞",boxvr:"├",bprime:"‵",Breve:"˘",breve:"˘",brvbar:"¦",Bscr:"ℬ",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",Cap:"⋒",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",CenterDot:"·",centerdot:"·",Cfr:"ℭ",cfr:"𝔠",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",Colon:"∷",colon:":",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",Conint:"∯",conint:"∮",ContourIntegral:"∮",Copf:"ℂ",copf:"𝕔",coprod:"∐",Coproduct:"∐",COPY:"©",copy:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",Cross:"⨯",cross:"✗",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",Cup:"⋓",cup:"∪",cupbrcap:"⩈",CupCap:"≍",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",Dagger:"‡",dagger:"†",daleth:"ℸ",Darr:"↡",dArr:"⇓",darr:"↓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",DD:"ⅅ",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",Diamond:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",Downarrow:"⇓",downarrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",ecir:"≖",Ecirc:"Ê",ecirc:"ê",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",eDot:"≑",edot:"ė",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",Escr:"ℰ",escr:"ℯ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",ExponentialE:"ⅇ",exponentiale:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",ForAll:"∀",forall:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",Fscr:"ℱ",fscr:"𝒻",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",gE:"≧",ge:"≥",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",Gg:"⋙",gg:"≫",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gnE:"≩",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",Gt:"≫",GT:">",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",hArr:"⇔",harr:"↔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",Hfr:"ℌ",hfr:"𝔥",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",Hopf:"ℍ",hopf:"𝕙",horbar:"―",HorizontalLine:"─",Hscr:"ℋ",hscr:"𝒽",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",Ifr:"ℑ",ifr:"𝔦",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Im:"ℑ",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",Int:"∬",int:"∫",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",Iscr:"ℐ",iscr:"𝒾",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",Lang:"⟪",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",Larr:"↞",lArr:"⇐",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",lAtail:"⤛",latail:"⤙",late:"⪭",lates:"⪭︀",lBarr:"⤎",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",lE:"≦",le:"≤",LeftAngleBracket:"⟨",LeftArrow:"←",Leftarrow:"⇐",leftarrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",Ll:"⋘",ll:"≪",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lnE:"≨",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftarrow:"⟵",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longleftrightarrow:"⟷",longmapsto:"⟼",LongRightArrow:"⟶",Longrightarrow:"⟹",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",Lscr:"ℒ",lscr:"𝓁",Lsh:"↰",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",Lt:"≪",LT:"<",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",Mscr:"ℳ",mscr:"𝓂",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",ne:"≠",nearhk:"⤤",neArr:"⇗",nearr:"↗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:` +`,nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlArr:"⇍",nlarr:"↚",nldr:"‥",nlE:"≦̸",nle:"≰",nLeftarrow:"⇍",nleftarrow:"↚",nLeftrightarrow:"⇎",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",nopf:"𝕟",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nRightarrow:"⇏",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nVDash:"⊯",nVdash:"⊮",nvDash:"⊭",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwArr:"⇖",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",ocir:"⊚",Ocirc:"Ô",ocirc:"ô",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",Or:"⩔",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",Otimes:"⨷",otimes:"⊗",otimesas:"⨶",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",Popf:"ℙ",popf:"𝕡",pound:"£",Pr:"⪻",pr:"≺",prap:"⪷",prcue:"≼",prE:"⪳",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",Prime:"″",prime:"′",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",Qopf:"ℚ",qopf:"𝕢",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",QUOT:'"',quot:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",Rang:"⟫",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",Rarr:"↠",rArr:"⇒",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",rAtail:"⤜",ratail:"⤚",ratio:"∶",rationals:"ℚ",RBarr:"⤐",rBarr:"⤏",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",REG:"®",reg:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",Rfr:"ℜ",rfr:"𝔯",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrow:"→",Rightarrow:"⇒",rightarrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",Ropf:"ℝ",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",Rscr:"ℛ",rscr:"𝓇",Rsh:"↱",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",Sc:"⪼",sc:"≻",scap:"⪸",Scaron:"Š",scaron:"š",sccue:"≽",scE:"⪴",sce:"⪰",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",seArr:"⇘",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",Square:"□",square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",Sub:"⋐",sub:"⊂",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",Subset:"⋐",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",Sum:"∑",sum:"∑",sung:"♪",Sup:"⋑",sup:"⊃",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",Supset:"⋑",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swArr:"⇙",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",Therefore:"∴",therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",Tilde:"∼",tilde:"˜",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",TRADE:"™",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",Uarr:"↟",uArr:"⇑",uarr:"↑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrow:"↑",Uparrow:"⇑",uparrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",Updownarrow:"⇕",updownarrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",upsi:"υ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",vArr:"⇕",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",Vbar:"⫫",vBar:"⫨",vBarv:"⫩",Vcy:"В",vcy:"в",VDash:"⊫",Vdash:"⊩",vDash:"⊨",vdash:"⊢",Vdashl:"⫦",Vee:"⋁",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",Verbar:"‖",verbar:"|",Vert:"‖",vert:"|",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",Wedge:"⋀",wedge:"∧",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",Xi:"Ξ",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",Yuml:"Ÿ",yuml:"ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",Zfr:"ℨ",zfr:"𝔷",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",Zopf:"ℤ",zopf:"𝕫",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"}),n.entityMap=n.HTML_ENTITIES}($u)),$u}var _u={},ce;function Te(){if(ce)return _u;ce=1;var n=Pu().NAMESPACE,s=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,D=new RegExp("[\\-\\.0-9"+s.source.slice(1,-1)+"\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"),h=new RegExp("^"+s.source+D.source+"*(?::"+s.source+D.source+"*)?$"),c=0,f=1,o=2,b=3,A=4,v=5,w=6,_=7;function V(i,p){this.message=i,this.locator=p,Error.captureStackTrace&&Error.captureStackTrace(this,V)}V.prototype=new Error,V.prototype.name=V.name;function uu(){}uu.prototype={parse:function(i,p,g){var m=this.domBuilder;m.startDocument(),L(p,p={}),X(i,p,g,m,this.errorHandler),m.endDocument()}};function X(i,p,g,m,d){function F(M){if(M>65535){M-=65536;var J=55296+(M>>10),Du=56320+(M&1023);return String.fromCharCode(J,Du)}else return String.fromCharCode(M)}function S(M){var J=M.slice(1,-1);return J in g?g[J]:J.charAt(0)==="#"?F(parseInt(J.substr(1).replace("x","0x"))):(d.error("entity not found:"+M),M)}function I(M){if(M>$){var J=i.substring($,M).replace(/&#?\w+;/g,S);E&&y($),m.characters(J,0,M-$),$=M}}function y(M,J){for(;M>=B&&(J=j.exec(i));)N=J.index,B=N+J[0].length,E.lineNumber++;E.columnNumber=M-N+1}for(var N=0,B=0,j=/.*(?:\r\n?|\n)|.*$/g,E=m.locator,eu=[{currentNSMap:p}],su={},$=0;;){try{var Y=i.indexOf("<",$);if(Y<0){if(!i.substr($).match(/^\s*$/)){var Bu=m.doc,Eu=Bu.createTextNode(i.substr($));Bu.appendChild(Eu),m.currentElement=Eu}return}switch(Y>$&&I(Y),i.charAt(Y+1)){case"/":var W=i.indexOf(">",Y+3),K=i.substring(Y+2,W).replace(/[ \t\n\r]+$/g,""),iu=eu.pop();W<0?(K=i.substring(Y+2).replace(/[\s<].*/,""),d.error("end tag name: "+K+" is not complete:"+iu.tagName),W=Y+1+K.length):K.match(/\s$?$=W:I(Math.max(Y,$)+1)}}function l(i,p){return p.lineNumber=i.lineNumber,p.columnNumber=i.columnNumber,p}function q(i,p,g,m,d,F){function S(E,eu,su){g.attributeNames.hasOwnProperty(E)&&F.fatalError("Attribute "+E+" redefined"),g.addValue(E,eu,su)}for(var I,y,N=++p,B=c;;){var j=i.charAt(N);switch(j){case"=":if(B===f)I=i.slice(p,N),B=b;else if(B===o)B=b;else throw new Error("attribute equal must after attrName");break;case"'":case'"':if(B===b||B===f)if(B===f&&(F.warning('attribute value must after "="'),I=i.slice(p,N)),p=N+1,N=i.indexOf(j,p),N>0)y=i.slice(p,N).replace(/&#?\w+;/g,d),S(I,y,p-1),B=v;else throw new Error("attribute value no end '"+j+"' match");else if(B==A)y=i.slice(p,N).replace(/&#?\w+;/g,d),S(I,y,p),F.warning('attribute "'+I+'" missed start quot('+j+")!!"),p=N+1,B=v;else throw new Error('attribute value must after "="');break;case"/":switch(B){case c:g.setTagName(i.slice(p,N));case v:case w:case _:B=_,g.closed=!0;case A:case f:break;case o:g.closed=!0;break;default:throw new Error("attribute invalid close char('/')")}break;case"":return F.error("unexpected end of input"),B==c&&g.setTagName(i.slice(p,N)),N;case">":switch(B){case c:g.setTagName(i.slice(p,N));case v:case w:case _:break;case A:case f:y=i.slice(p,N),y.slice(-1)==="/"&&(g.closed=!0,y=y.slice(0,-1));case o:B===o&&(y=I),B==A?(F.warning('attribute "'+y+'" missed quot(")!'),S(I,y.replace(/&#?\w+;/g,d),p)):((!n.isHTML(m[""])||!y.match(/^(?:disabled|checked|selected)$/i))&&F.warning('attribute "'+y+'" missed value!! "'+y+'" instead!!'),S(y,y,p));break;case b:throw new Error("attribute value missed!!")}return N;case"€":j=" ";default:if(j<=" ")switch(B){case c:g.setTagName(i.slice(p,N)),B=w;break;case f:I=i.slice(p,N),B=o;break;case A:var y=i.slice(p,N).replace(/&#?\w+;/g,d);F.warning('attribute "'+y+'" missed quot(")!!'),S(I,y,p);case v:B=w;break}else switch(B){case o:g.tagName,(!n.isHTML(m[""])||!I.match(/^(?:disabled|checked|selected)$/i))&&F.warning('attribute "'+I+'" missed value!! "'+I+'" instead2!!'),S(I,I,p),p=N,B=f;break;case v:F.warning('attribute space is required"'+I+'"!!');case w:B=f,p=N;break;case b:B=A,p=N;break;case _:throw new Error("elements closed character '/' and '>' must be connected to")}}N++}}function T(i,p,g){for(var m=i.tagName,d=null,j=i.length;j--;){var F=i[j],S=F.qName,I=F.value,E=S.indexOf(":");if(E>0)var y=F.prefix=S.slice(0,E),N=S.slice(E+1),B=y==="xmlns"&&N;else N=S,y=null,B=S==="xmlns"&&"";F.localName=N,B!==!1&&(d==null&&(d={},L(g,g={})),g[B]=d[B]=I,F.uri=n.XMLNS,p.startPrefixMapping(B,I))}for(var j=i.length;j--;){F=i[j];var y=F.prefix;y&&(y==="xml"&&(F.uri=n.XML),y!=="xmlns"&&(F.uri=g[y||""]))}var E=m.indexOf(":");E>0?(y=i.prefix=m.slice(0,E),N=i.localName=m.slice(E+1)):(y=null,N=i.localName=m);var eu=i.uri=g[y||""];if(p.startElement(eu,N,m,i),i.closed){if(p.endElement(eu,N,m),d)for(y in d)Object.prototype.hasOwnProperty.call(d,y)&&p.endPrefixMapping(y)}else return i.currentNSMap=g,i.localNSMap=d,!0}function O(i,p,g,m,d){if(/^(?:script|textarea)$/i.test(g)){var F=i.indexOf("",p),S=i.substring(p+1,F);if(/[&<]/.test(S))return/^script$/i.test(g)?(d.characters(S,0,S.length),F):(S=S.replace(/&#?\w+;/g,m),d.characters(S,0,S.length),F)}return p+1}function z(i,p,g,m){var d=m[g];return d==null&&(d=i.lastIndexOf(""),d",p+4);return F>p?(g.comment(i,p+4,F-p-4),F+3):(m.error("Unclosed comment"),-1)}else return-1;default:if(i.substr(p+3,6)=="CDATA["){var F=i.indexOf("]]>",p+9);return g.startCDATA(),g.characters(i,p+9,F-p-9),g.endCDATA(),F+3}var S=P(i,p),I=S.length;if(I>1&&/!doctype/i.test(S[0][0])){var y=S[1][0],N=!1,B=!1;I>3&&(/^public$/i.test(S[2][0])?(N=S[3][0],B=I>4&&S[4][0]):/^system$/i.test(S[2][0])&&(B=S[3][0]));var j=S[I-1];return g.startDTD(y,N,B),g.endDTD(),j.index+j[0].length}}return-1}function U(i,p,g){var m=i.indexOf("?>",p);if(m){var d=i.substring(p,m).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);return d?(d[0].length,g.processingInstruction(d[1],d[2]),m+2):-1}return-1}function k(){this.attributeNames={}}k.prototype={setTagName:function(i){if(!h.test(i))throw new Error("invalid tagName:"+i);this.tagName=i},addValue:function(i,p,g){if(!h.test(i))throw new Error("invalid attribute:"+i);this.attributeNames[i]=this.length,this[this.length++]={qName:i,value:p,offset:g}},length:0,getLocalName:function(i){return this[i].localName},getLocator:function(i){return this[i].locator},getQName:function(i){return this[i].qName},getURI:function(i){return this[i].uri},getValue:function(i){return this[i].value}};function P(i,p){var g,m=[],d=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;for(d.lastIndex=p,d.exec(i);g=d.exec(i);)if(m.push(g),g[1])return m}return _u.XMLReader=uu,_u.ParseError=V,_u}var pe;function Fe(){if(pe)return Nu;pe=1;var n=Pu(),s=Ae(),D=Be(),h=Te(),c=s.DOMImplementation,f=n.NAMESPACE,o=h.ParseError,b=h.XMLReader;function A(l){this.options=l||{locator:{}}}A.prototype.parseFromString=function(l,q){var T=this.options,O=new b,z=T.domBuilder||new w,L=T.errorHandler,R=T.locator,U=T.xmlns||{},k=/\/x?html?$/.test(q),P=k?D.HTML_ENTITIES:D.XML_ENTITIES;return R&&z.setDocumentLocator(R),O.errorHandler=v(L,z,R),O.domBuilder=T.domBuilder||z,k&&(U[""]=f.HTML),U.xml=U.xml||f.XML,l&&typeof l=="string"?O.parse(l,U,P):O.errorHandler.error("invalid doc source"),z.doc};function v(l,q,T){if(!l){if(q instanceof w)return q;l=q}var O={},z=l instanceof Function;T=T||{};function L(R){var U=l[R];!U&&z&&(U=l.length==2?function(k){l(R,k)}:l),O[R]=U&&function(k){U("[xmldom "+R+"] "+k+V(T))}||function(){}}return L("warning"),L("error"),L("fatalError"),O}function w(){this.cdata=!1}function _(l,q){q.lineNumber=l.lineNumber,q.columnNumber=l.columnNumber}w.prototype={startDocument:function(){this.doc=new c().createDocument(null,null,null),this.locator&&(this.doc.documentURI=this.locator.systemId)},startElement:function(l,q,T,O){var z=this.doc,L=z.createElementNS(l,T||q),R=O.length;X(this,L),this.currentElement=L,this.locator&&_(this.locator,L);for(var U=0;U=q+T||q?new java.lang.String(l,q,T)+"":l}"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,function(l){w.prototype[l]=function(){return null}});function X(l,q){l.currentElement?l.currentElement.appendChild(q):l.doc.appendChild(q)}return Nu.__DOMHandler=w,Nu.DOMParser=A,Nu.DOMImplementation=s.DOMImplementation,Nu.XMLSerializer=s.XMLSerializer,Nu}var fe;function Se(){if(fe)return Su;fe=1;var n=Ae();return Su.DOMImplementation=n.DOMImplementation,Su.XMLSerializer=n.XMLSerializer,Su.DOMParser=Fe().DOMParser,Su}var xe=Se();const qe="4.3.2",Oe=` +`,de={dataType:null,batchType:null,name:"KML (Keyhole Markup Language)",id:"kml",module:"kml",version:qe,extensions:["kml"],mimeTypes:["application/vnd.google-earth.kml+xml"],text:!0,tests:[Oe],parse:async(n,s)=>De(new TextDecoder().decode(n),s),parseTextSync:De,options:{kml:{shape:"geojson-table"},gis:{}}};function De(n,s){const D=new xe.DOMParser().parseFromString(n,"text/xml"),h=Ne(D),c={...de.options.kml,...s==null?void 0:s.kml};switch(c.shape){case"geojson-table":return{shape:"geojson-table",type:"FeatureCollection",features:h.features};case"object-row-table":return{shape:"object-row-table",data:h.features};default:throw new Error(c.shape)}}/* + * @license + * Copyright 2025 Google LLC. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */let me,Yu,he;async function Le(){var n,s=document.querySelector(".mdc-linear-progress");s&&(n=new mdc.linearProgress.MDCLinearProgress(s),n.open(),n.determinate=!1,n.done=function(){n.close(),s==null||s.remove()});const D={lat:41.8692576,lng:-87.689769},{Map:h}=await google.maps.importLibrary("maps"),c=document.getElementById("map");if(!c){console.error("Map element not found!");return}me=new h(c,{zoom:11,center:D,mapId:"6a17c323f461e521",zoomControl:!0,clickableIcons:!1}),Yu=new deck.GeoJsonLayer({id:"geojson-layer",data:"https://googlearchive.github.io/js-v2-samples/ggeoxml/cta.kml",loaders:[de],pickable:!0,stroked:!0,filled:!1,extruded:!1,lineWidthScale:14,lineWidthMinPixels:4,getLineColor:o=>{const b=o.properties.color||o.properties.stroke;if(b){const A=Re(b);if(A)return A}return[120,120,120,255]},getLineWidth:2,onDataLoad:()=>{n&&setTimeout(()=>{n.done()},100)},onHover:({object:o,x:b,y:A})=>{const v=document.getElementById("tooltip");if(v&&o){let w=`

${o.properties.name||"GeoJSON Feature"}

`;const _=["description","styleUrl","color","stroke","stroke-width","fill"];for(const V of _)o.properties.hasOwnProperty(V)&&o.properties[V]!==void 0&&(w+=`

${V}: ${o.properties[V]}

`);v.innerHTML=w,v.style.left=b+"px",v.style.top=A+"px",v.style.display="block"}else v&&(v.style.display="none")}});const f=new deck.TextLayer({id:"text-layer",data:Yu.props.data,getPosition:o=>{let b=[0,0];if(o.properties.centroid)b=o.properties.centroid;else if(o.geometry&&o.geometry.coordinates&&o.geometry.coordinates.length>0){const A=o.geometry.coordinates[0][0];A&&A.length>=2&&(b=[A[0],A[1]])}return b},getText:o=>o.properties.name||"",getColor:[0,0,0,255],getSize:16,getAngle:0,getTextAnchor:"middle",getAlignmentBaseline:"middle",parameters:{depthTest:!1}});he=new deck.GoogleMapsOverlay({layers:[Yu,f],parameters:{depthTest:!1}}),he.setMap(me)}function Re(n){if(n.startsWith("#")&&(n=n.slice(1)),n.length===6){const s=parseInt(n.substring(0,2),16),D=parseInt(n.substring(2,4),16),h=parseInt(n.substring(4,6),16);return[s,D,h,255]}else if(n.length===8){const s=parseInt(n.substring(0,2),16),D=parseInt(n.substring(2,4),16),h=parseInt(n.substring(4,6),16);return[parseInt(n.substring(6,8),16),h,D,s]}return null}Le(); diff --git a/dist/samples/deckgl-kml/dist/index.html b/dist/samples/deckgl-kml/dist/index.html index fc01e435..c0d761cf 100644 --- a/dist/samples/deckgl-kml/dist/index.html +++ b/dist/samples/deckgl-kml/dist/index.html @@ -20,7 +20,7 @@ - + diff --git a/dist/samples/deckgl-kml/docs/index.js b/dist/samples/deckgl-kml/docs/index.js index 1b984e61..7114713a 100644 --- a/dist/samples/deckgl-kml/docs/index.js +++ b/dist/samples/deckgl-kml/docs/index.js @@ -4,10 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ // Import necessary loader -import { registerLoaders } from '@loaders.gl/core'; import { KMLLoader } from '@loaders.gl/kml'; -// Register the KML loader -registerLoaders(KMLLoader); // Initialize and add the map let map; let geojsonLayer; @@ -49,6 +46,7 @@ async function initMap() { geojsonLayer = new deck.GeoJsonLayer({ id: 'geojson-layer', data: 'https://googlearchive.github.io/js-v2-samples/ggeoxml/cta.kml', + loaders: [KMLLoader], pickable: true, stroked: true, // Set to true to render lines filled: false, // Set to false for lines diff --git a/dist/samples/deckgl-kml/docs/index.ts b/dist/samples/deckgl-kml/docs/index.ts index df80608d..17c82bb8 100644 --- a/dist/samples/deckgl-kml/docs/index.ts +++ b/dist/samples/deckgl-kml/docs/index.ts @@ -5,12 +5,8 @@ */ // Import necessary loader -import { registerLoaders } from '@loaders.gl/core'; import { KMLLoader } from '@loaders.gl/kml'; -// Register the KML loader -registerLoaders(KMLLoader); - // Declare global namespace for Deck.gl to satisfy TypeScript compiler declare namespace deck { class GeoJsonLayer { @@ -93,6 +89,7 @@ async function initMap(): Promise { geojsonLayer = new deck.GeoJsonLayer({ id: 'geojson-layer', data: 'https://googlearchive.github.io/js-v2-samples/ggeoxml/cta.kml', + loaders: [KMLLoader], pickable: true, stroked: true, // Set to true to render lines filled: false, // Set to false for lines diff --git a/dist/samples/deckgl-kml/jsfiddle/demo.js b/dist/samples/deckgl-kml/jsfiddle/demo.js index 1b984e61..7114713a 100644 --- a/dist/samples/deckgl-kml/jsfiddle/demo.js +++ b/dist/samples/deckgl-kml/jsfiddle/demo.js @@ -4,10 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ // Import necessary loader -import { registerLoaders } from '@loaders.gl/core'; import { KMLLoader } from '@loaders.gl/kml'; -// Register the KML loader -registerLoaders(KMLLoader); // Initialize and add the map let map; let geojsonLayer; @@ -49,6 +46,7 @@ async function initMap() { geojsonLayer = new deck.GeoJsonLayer({ id: 'geojson-layer', data: 'https://googlearchive.github.io/js-v2-samples/ggeoxml/cta.kml', + loaders: [KMLLoader], pickable: true, stroked: true, // Set to true to render lines filled: false, // Set to false for lines