@openplayerjs/ads 3.0.0-beta.2 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/index.js +11 -6
- package/dist/index.js.map +1 -1
- package/dist/openplayer-ads.js +1 -1
- package/dist/openplayer-ads.js.map +1 -1
- package/dist/types/ads.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openplayer-ads.js","sources":["../../../node_modules/.pnpm/@dailymotion+vast-client@6.4.2/node_modules/@dailymotion/vast-client/dist/vast-client.min.js","../../../node_modules/.pnpm/@dailymotion+vmap@3.3.3/node_modules/@dailymotion/vmap/dist/vmap-js.js","../src/umd.ts","../src/ads.ts","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/conventions.js","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/dom.js","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/entities.js","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/sax.js","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/dom-parser.js","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/index.js"],"sourcesContent":["function e(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{id:e.id||null,adId:e.adId||null,sequence:e.sequence||null,apiFramework:e.apiFramework||null,universalAdIds:[],creativeExtensions:[]}}const t=[\"ADCATEGORIES\",\"ADCOUNT\",\"ADPLAYHEAD\",\"ADSERVINGID\",\"ADTYPE\",\"APIFRAMEWORKS\",\"APPBUNDLE\",\"ASSETURI\",\"BLOCKEDADCATEGORIES\",\"BREAKMAXADLENGTH\",\"BREAKMAXADS\",\"BREAKMAXDURATION\",\"BREAKMINADLENGTH\",\"BREAKMINDURATION\",\"BREAKPOSITION\",\"CLICKPOS\",\"CLICKTYPE\",\"CLIENTUA\",\"CONTENTID\",\"CONTENTPLAYHEAD\",\"CONTENTURI\",\"DEVICEIP\",\"DEVICEUA\",\"DOMAIN\",\"EXTENSIONS\",\"GDPRCONSENT\",\"IFA\",\"IFATYPE\",\"INVENTORYSTATE\",\"LATLONG\",\"LIMITADTRACKING\",\"MEDIAMIME\",\"MEDIAPLAYHEAD\",\"OMIDPARTNER\",\"PAGEURL\",\"PLACEMENTTYPE\",\"PLAYERCAPABILITIES\",\"PLAYERSIZE\",\"PLAYERSTATE\",\"PODSEQUENCE\",\"REGULATIONS\",\"SERVERSIDE\",\"SERVERUA\",\"TRANSACTIONID\",\"UNIVERSALADID\",\"VASTVERSIONS\",\"VERIFICATIONVENDORS\"];function r(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a=[],n=s(e);!t.ERRORCODE||r.isCustomCode||/^[0-9]{3}$/.test(t.ERRORCODE)||(t.ERRORCODE=900),t.CACHEBUSTING=d(Math.round(1e8*Math.random())),t.TIMESTAMP=(new Date).toISOString(),t.RANDOM=t.random=t.CACHEBUSTING;for(const e in t)t[e]=c(t[e]);for(const e in n){const r=n[e];\"string\"==typeof r&&a.push(i(r,t))}return a}function i(e,r){const i=(e=a(e,r)).match(/[^[\\]]+(?=])/g);if(!i)return e;let s=i.filter((e=>t.indexOf(e)>-1));return 0===s.length?e:(s=s.reduce(((e,t)=>(e[t]=-1,e)),{}),a(e,s))}function a(e,t){let r=e;for(const e in t){const i=t[e];r=r.replace(new RegExp(\"(?:\\\\[|%%)(\".concat(e,\")(?:\\\\]|%%)\"),\"g\"),i)}return r}function s(e){return Array.isArray(e)?e.map((e=>e&&e.hasOwnProperty(\"url\")?e.url:e)):e}function n(e){return/^(https?:\\/\\/|\\/\\/)/.test(e)}function o(e,t){for(let r=0;r<t.length;r++)if(l(t[r],e))return!0;return!1}function l(e,t){if(e&&t){const r=Object.getOwnPropertyNames(e),i=Object.getOwnPropertyNames(t);return r.length===i.length&&(e.id===t.id&&e.url===t.url)}return!1}function c(e){return encodeURIComponent(e).replace(/[!'()*]/g,(e=>\"%\".concat(e.charCodeAt(0).toString(16))))}function d(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8;return e.toString().padStart(t,\"0\")}const u={track:function(e,t,i){r(e,t,i).forEach((e=>{if(\"undefined\"!=typeof window&&null!==window){(new Image).src=e}}))},resolveURLTemplates:r,extractURLsFromTemplates:s,filterUrlTemplates:function(e){return e.reduce(((e,t)=>{const r=t.url||t;return n(r)?e.validUrls.push(r):e.invalidUrls.push(r),e}),{validUrls:[],invalidUrls:[]})},containsTemplateObject:o,isTemplateObjectEqual:l,encodeURIComponentRFC3986:c,replaceUrlMacros:i,isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},flatten:function e(t){return t.reduce(((t,r)=>t.concat(Array.isArray(r)?e(r):r)),[])},joinArrayOfUniqueTemplateObjs:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];const r=Array.isArray(e)?e:[],i=Array.isArray(t)?t:[];return r.concat(i).reduce(((e,t)=>(o(t,e)||e.push(t),e)),[])},isValidTimeValue:function(e){return Number.isFinite(e)&&e>=-2},addLeadingZeros:d,isValidUrl:n,isBrowserEnvironment:function(){return\"undefined\"!=typeof window},formatMacrosValues:function(e){return\"object\"!=typeof e?e:JSON.stringify(e)}};function h(e){return[\"true\",\"TRUE\",\"True\",\"1\"].includes(e)}function p(e){if(null==e)return-1;if(u.isNumeric(e))return parseInt(e);const t=e.split(\":\");if(3!==t.length)return-1;const r=t[2].split(\".\");let i=parseInt(r[0]);2===r.length&&(i+=parseFloat(\"0.\".concat(r[1])));const a=parseInt(60*t[1]),s=parseInt(60*t[0]*60);return isNaN(s)||isNaN(a)||isNaN(i)||a>3600||i>60?-1:s+a+i}const m={childByName:function(e,t){return Array.from(e.childNodes).find((e=>e.nodeName===t))},childrenByName:function(e,t){return Array.from(e.childNodes).filter((e=>e.nodeName===t))},resolveVastAdTagURI:function(e,t){if(!t)return e;if(e.startsWith(\"//\")){const{protocol:t}=location;return\"\".concat(t).concat(e)}if(!e.includes(\"://\")){const r=t.slice(0,t.lastIndexOf(\"/\"));return\"\".concat(r,\"/\").concat(e)}return e},parseBoolean:h,parseNodeText:function(e){return e&&(e.textContent||e.text||\"\").trim()},copyNodeAttribute:function(e,t,r){const i=t.getAttribute(e);i&&r.setAttribute(e,i)},parseAttributes:function(e){return Array.from(e.attributes).reduce(((e,t)=>(e[t.nodeName]=t.nodeValue,e)),{})},parseDuration:p,getStandAloneAds:function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).filter((e=>!parseInt(e.sequence,10)))},getSortedAdPods:function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).filter((e=>parseInt(e.sequence,10))).sort(((e,t)=>e.sequence-t.sequence))},assignAttributes:function(e,t){e&&Array.from(e).forEach((e=>{let{nodeName:r,nodeValue:i}=e;if(r&&i&&t.hasOwnProperty(r)){let e=i;\"boolean\"==typeof t[r]&&(e=h(e)),t[r]=e}}))},mergeWrapperAdData:function(e,t){var r;e.errorURLTemplates=t.errorURLTemplates.concat(e.errorURLTemplates),e.impressionURLTemplates=t.impressionURLTemplates.concat(e.impressionURLTemplates),e.extensions=t.extensions.concat(e.extensions),t.viewableImpression.length>0&&(e.viewableImpression=[...e.viewableImpression,...t.viewableImpression]),e.followAdditionalWrappers=t.followAdditionalWrappers,e.allowMultipleAds=t.allowMultipleAds,e.fallbackOnNoAd=t.fallbackOnNoAd;const i=(t.creatives||[]).filter((e=>e&&\"companion\"===e.type)),a=i.reduce(((e,t)=>((t.variations||[]).forEach((t=>{(t.companionClickTrackingURLTemplates||[]).forEach((t=>{u.containsTemplateObject(t,e)||e.push(t)}))})),e)),[]);e.creatives=i.concat(e.creatives);const s=t.videoClickTrackingURLTemplates&&t.videoClickTrackingURLTemplates.length,n=t.videoCustomClickURLTemplates&&t.videoCustomClickURLTemplates.length;if(e.creatives.forEach((e=>{if(t.trackingEvents&&t.trackingEvents[e.type])for(const r in t.trackingEvents[e.type]){const i=t.trackingEvents[e.type][r];Array.isArray(e.trackingEvents[r])||(e.trackingEvents[r]=[]),e.trackingEvents[r]=e.trackingEvents[r].concat(i)}\"linear\"===e.type&&(s&&(e.videoClickTrackingURLTemplates=e.videoClickTrackingURLTemplates.concat(t.videoClickTrackingURLTemplates)),n&&(e.videoCustomClickURLTemplates=e.videoCustomClickURLTemplates.concat(t.videoCustomClickURLTemplates)),!t.videoClickThroughURLTemplate||null!==e.videoClickThroughURLTemplate&&void 0!==e.videoClickThroughURLTemplate||(e.videoClickThroughURLTemplate=t.videoClickThroughURLTemplate)),\"companion\"===e.type&&a.length&&(e.variations||[]).forEach((e=>{e.companionClickTrackingURLTemplates=u.joinArrayOfUniqueTemplateObjs(e.companionClickTrackingURLTemplates,a)}))})),t.adVerifications&&(e.adVerifications=e.adVerifications.concat(t.adVerifications)),t.blockedAdCategories&&(e.blockedAdCategories=e.blockedAdCategories.concat(t.blockedAdCategories)),null!==(r=t.creatives)&&void 0!==r&&r.length){const r=t.creatives.filter((e=>{var t;return(null===(t=e.icons)||void 0===t?void 0:t.length)&&!e.mediaFiles.length}));r.length&&(e.creatives=e.creatives.concat(r))}}};function g(t,r){const i=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{id:r,adId:i,sequence:a,apiFramework:s}=e(t);return{id:r,adId:i,sequence:a,apiFramework:s,type:\"companion\",required:null,variations:[]}}(r);return i.required=t.getAttribute(\"required\")||null,i.variations=m.childrenByName(t,\"Companion\").map((e=>{const t=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{id:e.id||null,adType:\"companionAd\",width:e.width||0,height:e.height||0,assetWidth:e.assetWidth||null,assetHeight:e.assetHeight||null,expandedWidth:e.expandedWidth||null,expandedHeight:e.expandedHeight||null,apiFramework:e.apiFramework||null,adSlotId:e.adSlotId||null,pxratio:e.pxratio||\"1\",renderingMode:e.renderingMode||\"default\",staticResources:[],htmlResources:[],iframeResources:[],adParameters:null,altText:null,companionClickThroughURLTemplate:null,companionClickTrackingURLTemplates:[],trackingEvents:{}}}(m.parseAttributes(e));t.htmlResources=m.childrenByName(e,\"HTMLResource\").reduce(((e,t)=>{const r=m.parseNodeText(t);return r?e.concat(r):e}),[]),t.iframeResources=m.childrenByName(e,\"IFrameResource\").reduce(((e,t)=>{const r=m.parseNodeText(t);return r?e.concat(r):e}),[]),t.staticResources=m.childrenByName(e,\"StaticResource\").reduce(((e,t)=>{const r=m.parseNodeText(t);return r?e.concat({url:r,creativeType:t.getAttribute(\"creativeType\")||null}):e}),[]),t.altText=m.parseNodeText(m.childByName(e,\"AltText\"))||null;const r=m.childByName(e,\"TrackingEvents\");r&&m.childrenByName(r,\"Tracking\").forEach((e=>{const r=e.getAttribute(\"event\"),i=m.parseNodeText(e);r&&i&&(Array.isArray(t.trackingEvents[r])||(t.trackingEvents[r]=[]),t.trackingEvents[r].push(i))})),t.companionClickTrackingURLTemplates=m.childrenByName(e,\"CompanionClickTracking\").map((e=>({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)}))),t.companionClickThroughURLTemplate=m.parseNodeText(m.childByName(e,\"CompanionClickThrough\"))||null;const i=m.childByName(e,\"AdParameters\");return i&&(t.adParameters={value:m.parseNodeText(i),xmlEncoded:i.getAttribute(\"xmlEncoded\")||null}),t})),i}function v(t,r){let i;const a=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{id:r,adId:i,sequence:a,apiFramework:s}=e(t);return{id:r,adId:i,sequence:a,apiFramework:s,type:\"linear\",duration:0,skipDelay:null,mediaFiles:[],mezzanine:null,interactiveCreativeFile:null,closedCaptionFiles:[],videoClickThroughURLTemplate:null,videoClickTrackingURLTemplates:[],videoCustomClickURLTemplates:[],adParameters:null,icons:[],trackingEvents:{}}}(r);a.duration=m.parseDuration(m.parseNodeText(m.childByName(t,\"Duration\")));const s=t.getAttribute(\"skipoffset\");if(null==s)a.skipDelay=null;else if(\"%\"===s.charAt(s.length-1)&&-1!==a.duration){const e=parseInt(s,10);a.skipDelay=a.duration*(e/100)}else a.skipDelay=m.parseDuration(s);const n=m.childByName(t,\"VideoClicks\");if(n){const e=m.childByName(n,\"ClickThrough\");a.videoClickThroughURLTemplate=e?{id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)}:null,m.childrenByName(n,\"ClickTracking\").forEach((e=>{a.videoClickTrackingURLTemplates.push({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)})})),m.childrenByName(n,\"CustomClick\").forEach((e=>{a.videoCustomClickURLTemplates.push({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)})}))}const o=m.childByName(t,\"AdParameters\");o&&(a.adParameters={value:m.parseNodeText(o),xmlEncoded:o.getAttribute(\"xmlEncoded\")||null}),m.childrenByName(t,\"TrackingEvents\").forEach((e=>{m.childrenByName(e,\"Tracking\").forEach((e=>{let t=e.getAttribute(\"event\");const r=m.parseNodeText(e);if(t&&r){if(\"progress\"===t){if(i=e.getAttribute(\"offset\"),!i)return;t=\"%\"===i.charAt(i.length-1)?\"progress-\".concat(i):\"progress-\".concat(m.parseDuration(i))}Array.isArray(a.trackingEvents[t])||(a.trackingEvents[t]=[]),a.trackingEvents[t].push(r)}}))})),m.childrenByName(t,\"MediaFiles\").forEach((e=>{m.childrenByName(e,\"MediaFile\").forEach((e=>{a.mediaFiles.push(function(e){const t={id:null,fileURL:null,fileSize:0,deliveryType:\"progressive\",mimeType:null,mediaType:null,codec:null,bitrate:0,minBitrate:0,maxBitrate:0,width:0,height:0,apiFramework:null,scalable:null,maintainAspectRatio:null};t.id=e.getAttribute(\"id\"),t.fileURL=m.parseNodeText(e),t.deliveryType=e.getAttribute(\"delivery\"),t.codec=e.getAttribute(\"codec\"),t.mimeType=e.getAttribute(\"type\"),t.mediaType=e.getAttribute(\"mediaType\")||\"2D\",t.apiFramework=e.getAttribute(\"apiFramework\"),t.fileSize=parseInt(e.getAttribute(\"fileSize\")||0),t.bitrate=parseInt(e.getAttribute(\"bitrate\")||0),t.minBitrate=parseInt(e.getAttribute(\"minBitrate\")||0),t.maxBitrate=parseInt(e.getAttribute(\"maxBitrate\")||0),t.width=parseInt(e.getAttribute(\"width\")||0),t.height=parseInt(e.getAttribute(\"height\")||0);const r=e.getAttribute(\"scalable\");r&&\"string\"==typeof r&&(t.scalable=m.parseBoolean(r));const i=e.getAttribute(\"maintainAspectRatio\");i&&\"string\"==typeof i&&(t.maintainAspectRatio=m.parseBoolean(i));return t}(e))}));const t=m.childByName(e,\"InteractiveCreativeFile\");t&&(a.interactiveCreativeFile=function(e){const t=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{type:e.type||null,apiFramework:e.apiFramework||null,variableDuration:m.parseBoolean(e.variableDuration),fileURL:null}}(m.parseAttributes(e));return t.fileURL=m.parseNodeText(e),t}(t));const r=m.childByName(e,\"ClosedCaptionFiles\");r&&m.childrenByName(r,\"ClosedCaptionFile\").forEach((e=>{const t=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{type:e.type||null,language:e.language||null,fileURL:null}}(m.parseAttributes(e));t.fileURL=m.parseNodeText(e),a.closedCaptionFiles.push(t)}));const i=m.childByName(e,\"Mezzanine\"),s=function(e,t){const r={};let i=!1;return t.forEach((t=>{e&&e.getAttribute(t)?r[t]=e.getAttribute(t):i=!0})),i?null:r}(i,[\"delivery\",\"type\",\"width\",\"height\"]);if(s){const e={id:null,fileURL:null,delivery:null,codec:null,type:null,width:0,height:0,fileSize:0,mediaType:\"2D\"};e.id=i.getAttribute(\"id\"),e.fileURL=m.parseNodeText(i),e.delivery=s.delivery,e.codec=i.getAttribute(\"codec\"),e.type=s.type,e.width=parseInt(s.width,10),e.height=parseInt(s.height,10),e.fileSize=parseInt(i.getAttribute(\"fileSize\"),10),e.mediaType=i.getAttribute(\"mediaType\")||\"2D\",a.mezzanine=e}}));const l=m.childByName(t,\"Icons\");return l&&m.childrenByName(l,\"Icon\").forEach((e=>{a.icons.push(function(e){const t={program:null,height:0,width:0,xPosition:0,yPosition:0,apiFramework:null,offset:null,duration:0,type:null,staticResource:null,htmlResource:null,iframeResource:null,pxratio:\"1\",iconClickThroughURLTemplate:null,iconClickTrackingURLTemplates:[],iconViewTrackingURLTemplate:null,iconClickFallbackImages:[],altText:null,hoverText:null};t.program=e.getAttribute(\"program\"),t.height=parseInt(e.getAttribute(\"height\")||0),t.width=parseInt(e.getAttribute(\"width\")||0),t.xPosition=function(e){if(-1!==[\"left\",\"right\"].indexOf(e))return e;return parseInt(e||0)}(e.getAttribute(\"xPosition\")),t.yPosition=function(e){if(-1!==[\"top\",\"bottom\"].indexOf(e))return e;return parseInt(e||0)}(e.getAttribute(\"yPosition\")),t.apiFramework=e.getAttribute(\"apiFramework\"),t.pxratio=e.getAttribute(\"pxratio\")||\"1\",t.offset=m.parseDuration(e.getAttribute(\"offset\")),t.duration=m.parseDuration(e.getAttribute(\"duration\")),t.altText=e.getAttribute(\"altText\"),t.hoverText=e.getAttribute(\"hoverText\"),m.childrenByName(e,\"HTMLResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||\"text/html\",t.htmlResource=m.parseNodeText(e)})),m.childrenByName(e,\"IFrameResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||0,t.iframeResource=m.parseNodeText(e)})),m.childrenByName(e,\"StaticResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||0,t.staticResource=m.parseNodeText(e)}));const r=m.childByName(e,\"IconClicks\");if(r){t.iconClickThroughURLTemplate=m.parseNodeText(m.childByName(r,\"IconClickThrough\")),m.childrenByName(r,\"IconClickTracking\").forEach((e=>{t.iconClickTrackingURLTemplates.push({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)})}));const e=m.childByName(r,\"IconClickFallbackImages\");e&&m.childrenByName(e,\"IconClickFallbackImage\").forEach((e=>{t.iconClickFallbackImages.push({url:m.parseNodeText(e)||null,width:e.getAttribute(\"width\")||null,height:e.getAttribute(\"height\")||null})}))}return t.iconViewTrackingURLTemplate=m.parseNodeText(m.childByName(e,\"IconViewTracking\")),t}(e))})),a}function f(t,r){const i=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{id:r,adId:i,sequence:a,apiFramework:s}=e(t);return{id:r,adId:i,sequence:a,apiFramework:s,type:\"nonlinear\",variations:[],trackingEvents:{}}}(r);return m.childrenByName(t,\"TrackingEvents\").forEach((e=>{let t,r;m.childrenByName(e,\"Tracking\").forEach((e=>{t=e.getAttribute(\"event\"),r=m.parseNodeText(e),t&&r&&(Array.isArray(i.trackingEvents[t])||(i.trackingEvents[t]=[]),i.trackingEvents[t].push(r))}))})),m.childrenByName(t,\"NonLinear\").forEach((e=>{const t={id:null,width:0,height:0,expandedWidth:0,expandedHeight:0,scalable:!0,maintainAspectRatio:!0,minSuggestedDuration:0,apiFramework:\"static\",adType:\"nonLinearAd\",type:null,staticResource:null,htmlResource:null,iframeResource:null,nonlinearClickThroughURLTemplate:null,nonlinearClickTrackingURLTemplates:[],adParameters:null};t.id=e.getAttribute(\"id\")||null,t.width=e.getAttribute(\"width\"),t.height=e.getAttribute(\"height\"),t.expandedWidth=e.getAttribute(\"expandedWidth\"),t.expandedHeight=e.getAttribute(\"expandedHeight\"),t.scalable=m.parseBoolean(e.getAttribute(\"scalable\")),t.maintainAspectRatio=m.parseBoolean(e.getAttribute(\"maintainAspectRatio\")),t.minSuggestedDuration=m.parseDuration(e.getAttribute(\"minSuggestedDuration\")),t.apiFramework=e.getAttribute(\"apiFramework\"),m.childrenByName(e,\"HTMLResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||\"text/html\",t.htmlResource=m.parseNodeText(e)})),m.childrenByName(e,\"IFrameResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||0,t.iframeResource=m.parseNodeText(e)})),m.childrenByName(e,\"StaticResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||0,t.staticResource=m.parseNodeText(e)}));const r=m.childByName(e,\"AdParameters\");r&&(t.adParameters={value:m.parseNodeText(r),xmlEncoded:r.getAttribute(\"xmlEncoded\")||null}),t.nonlinearClickThroughURLTemplate=m.parseNodeText(m.childByName(e,\"NonLinearClickThrough\")),m.childrenByName(e,\"NonLinearClickTracking\").forEach((e=>{t.nonlinearClickTrackingURLTemplates.push({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)})})),i.variations.push(t)})),i}function T(e){const t=[];return e.forEach((e=>{const r=A(e);r&&t.push(r)})),t}function A(e){if(\"#comment\"===e.nodeName)return null;const t={name:null,value:null,attributes:{},children:[]},r=e.attributes,i=e.childNodes;if(t.name=e.nodeName,e.attributes)for(const e in r)if(r.hasOwnProperty(e)){const i=r[e];i.nodeName&&i.nodeValue&&(t.attributes[i.nodeName]=i.nodeValue)}for(const e in i)if(i.hasOwnProperty(e)){const r=A(i[e]);r&&t.children.push(r)}if(0===t.children.length||1===t.children.length&&[\"#cdata-section\",\"#text\"].indexOf(t.children[0].name)>=0){const r=m.parseNodeText(e);\"\"!==r&&(t.value=r),t.children=[]}return null===(a=t).value&&0===Object.keys(a.attributes).length&&0===a.children.length?null:t;var a}function R(e){return e.getAttribute(\"AdID\")||e.getAttribute(\"adID\")||e.getAttribute(\"adId\")||null}const k={Wrapper:{subElements:[\"VASTAdTagURI\",\"Impression\"]},BlockedAdCategories:{attributes:[\"authority\"]},InLine:{subElements:[\"AdSystem\",\"AdTitle\",\"Impression\",\"AdServingId\",\"Creatives\"]},Category:{attributes:[\"authority\"]},Pricing:{attributes:[\"model\",\"currency\"]},Verification:{oneOfinLineResources:[\"JavaScriptResource\",\"ExecutableResource\"],attributes:[\"vendor\"]},UniversalAdId:{attributes:[\"idRegistry\"]},JavaScriptResource:{attributes:[\"apiFramework\",\"browserOptional\"]},ExecutableResource:{attributes:[\"apiFramework\",\"type\"]},Tracking:{attributes:[\"event\"]},Creatives:{subElements:[\"Creative\"]},Creative:{subElements:[\"UniversalAdId\"]},Linear:{subElements:[\"MediaFiles\",\"Duration\"]},MediaFiles:{subElements:[\"MediaFile\"]},MediaFile:{attributes:[\"delivery\",\"type\",\"width\",\"height\"]},Mezzanine:{attributes:[\"delivery\",\"type\",\"width\",\"height\"]},NonLinear:{oneOfinLineResources:[\"StaticResource\",\"IFrameResource\",\"HTMLResource\"],attributes:[\"width\",\"height\"]},Companion:{oneOfinLineResources:[\"StaticResource\",\"IFrameResource\",\"HTMLResource\"],attributes:[\"width\",\"height\"]},StaticResource:{attributes:[\"creativeType\"]},Icons:{subElements:[\"Icon\"]},Icon:{oneOfinLineResources:[\"StaticResource\",\"IFrameResource\",\"HTMLResource\"]}};function y(e,t){if(!k[e.nodeName]||!k[e.nodeName].attributes)return;const r=k[e.nodeName].attributes.filter((t=>!e.getAttribute(t)));r.length>0&&N({name:e.nodeName,parentName:e.parentNode.nodeName,attributes:r},t)}function E(e,t,r){const i=k[e.nodeName],a=!r&&\"Wrapper\"!==e.nodeName;if(!i||a)return;if(i.subElements){const r=i.subElements.filter((t=>!m.childByName(e,t)));r.length>0&&N({name:e.nodeName,parentName:e.parentNode.nodeName,subElements:r},t)}if(!r||!i.oneOfinLineResources)return;i.oneOfinLineResources.some((t=>m.childByName(e,t)))||N({name:e.nodeName,parentName:e.parentNode.nodeName,oneOfResources:i.oneOfinLineResources},t)}function b(e){return e.children&&0!==e.children.length}function N(e,t){let{name:r,parentName:i,attributes:a,subElements:s,oneOfResources:n}=e,o=\"Element '\".concat(r,\"'\");o+=a?\" missing required attribute(s) '\".concat(a.join(\", \"),\"' \"):s?\" missing required sub element(s) '\".concat(s.join(\", \"),\"' \"):n?\" must provide one of the following '\".concat(n.join(\", \"),\"' \"):\" is empty\",t(\"VAST-warning\",{message:o,parentElement:i,specVersion:4.1})}const w={verifyRequiredValues:function e(t,r,i){if(t&&t.nodeName)if(\"InLine\"===t.nodeName&&(i=!0),y(t,r),b(t)){E(t,r,i);for(let a=0;a<t.children.length;a++)e(t.children[a],r,i)}else 0===m.parseNodeText(t).length&&N({name:t.nodeName,parentName:t.parentNode.nodeName},r)},hasSubElements:b,emitMissingValueWarning:N,verifyRequiredAttributes:y,verifyRequiredSubElements:E};function L(e,t){let{allowMultipleAds:r,followAdditionalWrappers:i}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a=Array.from(e.childNodes).filter((e=>{const t=e.nodeName.toLowerCase();return\"inline\"===t||!1!==i&&\"wrapper\"===t}));for(const i of a){if(m.copyNodeAttribute(\"id\",e,i),m.copyNodeAttribute(\"sequence\",e,i),m.copyNodeAttribute(\"adType\",e,i),\"Wrapper\"===i.nodeName)return{ad:I(i,t),type:\"WRAPPER\"};if(\"InLine\"===i.nodeName)return{ad:C(i,t,{allowMultipleAds:r}),type:\"INLINE\"};const a=i.nodeName.toLowerCase();t(\"VAST-warning\",{message:\"<\".concat(i.nodeName,\"inline\"===a?\"> must be written <InLine>\":\"> must be written <Wrapper>\"),wrongNode:i})}}function C(e,t){let{allowMultipleAds:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return!1===r&&e.getAttribute(\"sequence\")?null:U(e,t)}function U(e,t){let r=[];t&&w.verifyRequiredValues(e,t);const i=Array.from(e.childNodes),a=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{id:e.id||null,sequence:e.sequence||null,adType:e.adType||null,adServingId:null,categories:[],expires:null,viewableImpression:[],system:null,title:null,description:null,advertiser:null,pricing:null,survey:null,errorURLTemplates:[],impressionURLTemplates:[],creatives:[],extensions:[],adVerifications:[],blockedAdCategories:[],followAdditionalWrappers:!0,allowMultipleAds:!1,fallbackOnNoAd:null}}(m.parseAttributes(e));return i.forEach((e=>{switch(e.nodeName){case\"Error\":a.errorURLTemplates.push(m.parseNodeText(e));break;case\"Impression\":a.impressionURLTemplates.push({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)});break;case\"Creatives\":a.creatives=function(e){const t=[];return e.forEach((e=>{const r={id:e.getAttribute(\"id\")||null,adId:R(e),sequence:e.getAttribute(\"sequence\")||null,apiFramework:e.getAttribute(\"apiFramework\")||null},i=[];let a;m.childrenByName(e,\"UniversalAdId\").forEach((e=>{const t={idRegistry:e.getAttribute(\"idRegistry\")||\"unknown\",value:m.parseNodeText(e)};i.push(t)}));const s=m.childByName(e,\"CreativeExtensions\");s&&(a=T(m.childrenByName(s,\"CreativeExtension\")));for(const s in e.childNodes){const n=e.childNodes[s];let o;switch(n.nodeName){case\"Linear\":o=v(n,r);break;case\"NonLinearAds\":o=f(n,r);break;case\"CompanionAds\":o=g(n,r)}o&&(i&&(o.universalAdIds=i),a&&(o.creativeExtensions=a),t.push(o))}})),t}(m.childrenByName(e,\"Creative\"));break;case\"Extensions\":{const t=m.childrenByName(e,\"Extension\");a.extensions=T(t),a.adVerifications.length||(r=function(e){let t=null,r=[];e.some((e=>t=m.childByName(e,\"AdVerifications\"))),t&&(r=x(m.childrenByName(t,\"Verification\")));return r}(t));break}case\"AdVerifications\":a.adVerifications=x(m.childrenByName(e,\"Verification\"));break;case\"AdSystem\":a.system={value:m.parseNodeText(e),version:e.getAttribute(\"version\")||null};break;case\"AdTitle\":a.title=m.parseNodeText(e);break;case\"AdServingId\":a.adServingId=m.parseNodeText(e);break;case\"Category\":a.categories.push({authority:e.getAttribute(\"authority\")||null,value:m.parseNodeText(e)});break;case\"Expires\":a.expires=parseInt(m.parseNodeText(e),10);break;case\"ViewableImpression\":a.viewableImpression.push(function(e){const t=(e,t)=>{const r=m.parseNodeText(t);return r&&e.push(r),e};return{id:e.getAttribute(\"id\")||null,viewable:m.childrenByName(e,\"Viewable\").reduce(t,[]),notViewable:m.childrenByName(e,\"NotViewable\").reduce(t,[]),viewUndetermined:m.childrenByName(e,\"ViewUndetermined\").reduce(t,[])}}(e));break;case\"Description\":a.description=m.parseNodeText(e);break;case\"Advertiser\":a.advertiser={id:e.getAttribute(\"id\")||null,value:m.parseNodeText(e)};break;case\"Pricing\":a.pricing={value:m.parseNodeText(e),model:e.getAttribute(\"model\")||null,currency:e.getAttribute(\"currency\")||null};break;case\"Survey\":a.survey={value:m.parseNodeText(e),type:e.getAttribute(\"type\")||null};break;case\"BlockedAdCategories\":a.blockedAdCategories.push({authority:e.getAttribute(\"authority\")||null,value:m.parseNodeText(e)})}})),r.length&&(a.adVerifications=a.adVerifications.concat(r)),a}function I(e,t){const r=U(e,t),i=e.getAttribute(\"followAdditionalWrappers\"),a=e.getAttribute(\"allowMultipleAds\"),s=e.getAttribute(\"fallbackOnNoAd\");r.followAdditionalWrappers=!i||m.parseBoolean(i),r.allowMultipleAds=!!a&&m.parseBoolean(a),r.fallbackOnNoAd=s?m.parseBoolean(s):null;let n=m.childByName(e,\"VASTAdTagURI\");if(n?r.nextWrapperURL=m.parseNodeText(n):(n=m.childByName(e,\"VASTAdTagURL\"),n&&(r.nextWrapperURL=m.parseNodeText(m.childByName(n,\"URL\")))),r.creatives.forEach((e=>{if([\"linear\",\"nonlinear\"].includes(e.type)){if(e.trackingEvents){r.trackingEvents||(r.trackingEvents={}),r.trackingEvents[e.type]||(r.trackingEvents[e.type]={});for(const t in e.trackingEvents){const i=e.trackingEvents[t];Array.isArray(r.trackingEvents[e.type][t])||(r.trackingEvents[e.type][t]=[]),i.forEach((i=>{r.trackingEvents[e.type][t].push(i)}))}}e.videoClickTrackingURLTemplates&&(Array.isArray(r.videoClickTrackingURLTemplates)||(r.videoClickTrackingURLTemplates=[]),e.videoClickTrackingURLTemplates.forEach((e=>{r.videoClickTrackingURLTemplates.push(e)}))),e.videoClickThroughURLTemplate&&(r.videoClickThroughURLTemplate=e.videoClickThroughURLTemplate),e.videoCustomClickURLTemplates&&(Array.isArray(r.videoCustomClickURLTemplates)||(r.videoCustomClickURLTemplates=[]),e.videoCustomClickURLTemplates.forEach((e=>{r.videoCustomClickURLTemplates.push(e)})))}})),r.nextWrapperURL)return r}function x(e){const t=[];return e.forEach((e=>{const r={resource:null,vendor:null,browserOptional:!1,apiFramework:null,type:null,parameters:null,trackingEvents:{}},i=Array.from(e.childNodes);m.assignAttributes(e.attributes,r),i.forEach((e=>{let{nodeName:t,textContent:i,attributes:a}=e;switch(t){case\"JavaScriptResource\":case\"ExecutableResource\":r.resource=i.trim(),m.assignAttributes(a,r);break;case\"VerificationParameters\":r.parameters=i.trim()}}));const a=m.childByName(e,\"TrackingEvents\");a&&m.childrenByName(a,\"Tracking\").forEach((e=>{const t=e.getAttribute(\"event\"),i=m.parseNodeText(e);t&&i&&(Array.isArray(r.trackingEvents[t])||(r.trackingEvents[t]=[]),r.trackingEvents[t].push(i))})),t.push(r)})),t}class S{constructor(){this._handlers=[]}on(e,t){if(\"function\"!=typeof t)throw new TypeError(\"The handler argument must be of type Function. Received type \".concat(typeof t));if(!e)throw new TypeError(\"The event argument must be of type String. Received type \".concat(typeof e));return this._handlers.push({event:e,handler:t}),this}once(e,t){return this.on(e,function(e,t,r){const i={fired:!1,wrapFn:void 0};function a(){i.fired||(e.off(t,i.wrapFn),i.fired=!0,r.bind(e)(...arguments))}return i.wrapFn=a,a}(this,e,t))}off(e,t){return this._handlers=this._handlers.filter((r=>r.event!==e||r.handler!==t)),this}emit(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];let a=!1;return this._handlers.forEach((t=>{\"*\"===t.event&&(a=!0,t.handler(e,...r)),t.event===e&&(a=!0,t.handler(...r))})),a}removeAllListeners(e){return e?(this._handlers=this._handlers.filter((t=>t.event!==e)),this):(this._handlers=[],this)}listenerCount(e){return this._handlers.filter((t=>t.event===e)).length}listeners(e){return this._handlers.reduce(((t,r)=>(r.event===e&&t.push(r.handler),t)),[])}eventNames(){return this._handlers.map((e=>e.event))}}let V=0,D=0;const O=(e,t)=>{if(!e||!t||e<=0||t<=0)return;D=(D*V+8*e/t)/++V},F={ERRORCODE:900,extensions:[]},P=\"VAST response version not supported\";class B extends S{constructor(){let{fetcher:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(),this.maxWrapperDepth=null,this.rootErrorURLTemplates=[],this.errorURLTemplates=[],this.remainingAds=[],this.parsingOptions={},this.fetcher=e||null,this.keepFailedAdPod=!1}trackVastError(e,t){for(var r=arguments.length,i=new Array(r>2?r-2:0),a=2;a<r;a++)i[a-2]=arguments[a];this.emit(\"VAST-error\",Object.assign({},F,t,...i)),u.track(e,t)}getErrorURLTemplates(){return this.rootErrorURLTemplates.concat(this.errorURLTemplates)}getEstimatedBitrate(){return D}initParsingStatus(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.maxWrapperDepth=e.wrapperLimit||10,this.parsingOptions={allowMultipleAds:e.allowMultipleAds},this.keepFailedAdPod=e.keepFailedAdPod||!1,this.rootURL=\"\",this.resetParsingStatus(),O(e.byteLength,e.requestDuration)}resetParsingStatus(){this.errorURLTemplates=[],this.rootErrorURLTemplates=[],this.vastVersion=null}getRemainingAds(e){if(0===this.remainingAds.length)return Promise.reject(new Error(\"No more ads are available for the given VAST\"));const t=e?this.remainingAds:[this.remainingAds.shift()];return this.errorURLTemplates=[],this.resolveAds(t,{wrapperDepth:0,url:this.rootURL}).then((e=>this.buildVASTResponse(e)))}parseVAST(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.initParsingStatus(t),t.isRootVAST=!0,this.parse(e,t).then((e=>this.buildVASTResponse(e)))}buildVASTResponse(e){const t=function(e){let{ads:t,errorURLTemplates:r,version:i}=e;return{ads:t||[],errorURLTemplates:r||[],version:i||null}}({ads:e,errorURLTemplates:this.getErrorURLTemplates(),version:this.vastVersion});return this.completeWrapperResolving(t),t}parseVastXml(e,t){let{isRootVAST:r=!1,url:i=null,wrapperDepth:a=0,allowMultipleAds:s,followAdditionalWrappers:n}=t;if(!e||!e.documentElement||\"VAST\"!==e.documentElement.nodeName){var o;this.emit(\"VAST-ad-parsed\",{type:\"ERROR\",url:i,wrapperDepth:a});const t=\"VideoAdServingTemplate\"===(null==e||null===(o=e.documentElement)||void 0===o?void 0:o.nodeName);throw new Error(t?P:\"Invalid VAST XMLDocument\")}const l=[],c=e.documentElement.childNodes,d=e.documentElement.getAttribute(\"version\");r&&d&&(this.vastVersion=d);for(const e in c){const t=c[e];if(\"Error\"===t.nodeName){const e=m.parseNodeText(t);r?this.rootErrorURLTemplates.push(e):this.errorURLTemplates.push(e)}else if(\"Ad\"===t.nodeName){if(this.vastVersion&&parseFloat(this.vastVersion)<3)s=!0;else if(!1===s&&l.length>1)break;const e=L(t,this.emit.bind(this),{allowMultipleAds:s,followAdditionalWrappers:n});e.ad?(l.push(e.ad),this.emit(\"VAST-ad-parsed\",{type:e.type,url:i,wrapperDepth:a,adIndex:l.length-1,vastVersion:d})):this.trackVastError(this.getErrorURLTemplates(),{ERRORCODE:101})}}return l}parse(e){let{url:t=null,resolveAll:r=!0,wrapperSequence:i=null,previousUrl:a=null,wrapperDepth:s=0,isRootVAST:n=!1,followAdditionalWrappers:o,allowMultipleAds:l}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},c=[];this.vastVersion&&parseFloat(this.vastVersion)<3&&n&&(l=!0);try{c=this.parseVastXml(e,{isRootVAST:n,url:t,wrapperDepth:s,allowMultipleAds:l,followAdditionalWrappers:o})}catch(e){return Promise.reject(e)}if(1===c.length&&null!=i&&(c[0].sequence=i),!1===r){const e=m.getSortedAdPods(c),t=m.getStandAloneAds(c);e.length?c=e:t.length&&(c=[t.shift()]),this.remainingAds=t}return this.resolveAds(c,{wrapperDepth:s,previousUrl:a,url:t})}resolveAds(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],{wrapperDepth:t,previousUrl:r,url:i}=arguments.length>1?arguments[1]:void 0;const a=[];return r=i,e.forEach((e=>{const i=this.resolveWrappers(e,t,r);a.push(i)})),Promise.all(a).then((e=>u.flatten(e)))}resolveWrappers(e,t,r){const i={...e};return new Promise((e=>{var a;if(t++,!i.nextWrapperURL)return delete i.nextWrapperURL,e(i);if(!this.fetcher)return i.VASTAdTagURI=i.nextWrapperURL,delete i.nextWrapperURL,e(i);if(t>=this.maxWrapperDepth)return i.errorCode=302,delete i.nextWrapperURL,e(i);i.nextWrapperURL=m.resolveVastAdTagURI(i.nextWrapperURL,r);const s=null!==(a=this.parsingOptions.allowMultipleAds)&&void 0!==a?a:i.allowMultipleAds,n=i.sequence;this.fetcher.fetchVAST({url:i.nextWrapperURL,emitter:this.emit.bind(this),maxWrapperDepth:this.maxWrapperDepth}).then((a=>this.parse(a,{url:i.nextWrapperURL,previousUrl:r,wrapperSequence:n,wrapperDepth:t,followAdditionalWrappers:i.followAdditionalWrappers,allowMultipleAds:s}).then((t=>{if(delete i.nextWrapperURL,0===t.length)return i.creatives=[],e(i);t.forEach((e=>{e&&m.mergeWrapperAdData(e,i)})),e(t)})))).catch((t=>{i.errorCode=t.message===P?102:301,i.errorMessage=t.message,e(i)}))}))}completeWrapperResolving(e){if(0===e.ads.length)this.trackVastError(e.errorURLTemplates,{ERRORCODE:303});else for(let t=e.ads.length-1;t>=0;t--){const r=e.ads[t],i=!r.creatives.some((e=>{var t,r;return(null===(t=e.mediaFiles)||void 0===t?void 0:t.length)>0||(null===(r=e.variations)||void 0===r?void 0:r.length)>0}));!r.errorCode&&!i||r.VASTAdTagURI||(this.trackVastError(r.errorURLTemplates.concat(e.errorURLTemplates),{ERRORCODE:r.errorCode||303},{ERRORMESSAGE:r.errorMessage||\"\"},{extensions:r.extensions},{system:r.system}),this.keepFailedAdPod&&r.sequence?r.hasFailed=!0:e.ads.splice(t,1))}}}let M=null;const W={data:{},length:0,getItem(e){return this.data[e]},setItem(e,t){this.data[e]=t,this.length=Object.keys(this.data).length},removeItem(e){delete this.data[e],this.length=Object.keys(this.data).length},clear(){this.data={},this.length=0}};class j{constructor(){this.storage=this.initStorage()}initStorage(){if(M)return M;try{M=\"undefined\"!=typeof window&&null!==window?window.localStorage||window.sessionStorage:null}catch(e){M=null}return M&&!this.isStorageDisabled(M)||(M=W,M.clear()),M}isStorageDisabled(e){const t=\"__VASTStorage__\";try{if(e.setItem(t,t),e.getItem(t)!==t)return e.removeItem(t),!0}catch(e){return!0}return e.removeItem(t),!1}getItem(e){return this.storage.getItem(e)}setItem(e,t){return this.storage.setItem(e,t)}removeItem(e){return this.storage.removeItem(e)}clear(){return this.storage.clear()}}const q=12e4;const K={get:async function(e,t){try{const r=new AbortController,i=setTimeout((()=>{throw r.abort(),new Error(\"URLHandler: Request timed out after \".concat(t.timeout||q,\" ms (408)\"))}),t.timeout||q),a=await fetch(e,{...t,signal:r.signal,credentials:t.withCredentials?\"include\":\"omit\"}).finally((()=>{clearTimeout(i)})),s=function(e){return u.isBrowserEnvironment()&&\"https:\"===window.location.protocol&&e.url.includes(\"http://\")?\"URLHandler: Cannot go from HTTPS to HTTP.\":200===e.status&&e.ok?null:\"URLHandler: \".concat(e.statusText,\" (\").concat(e.status,\")\")}(a);return s?{error:new Error(s),statusCode:a.status}:async function(e){const t=await e.text();let r;r=u.isBrowserEnvironment()?new DOMParser:new((await import(\"@xmldom/xmldom\")).DOMParser);return{xml:r.parseFromString(t,\"text/xml\"),details:{byteLength:t.length,statusCode:e.status,rawXml:t}}}(a)}catch(e){return{error:e,statusCode:\"AbortError\"===e.name?408:null}}}};class H{constructor(){this.URLTemplateFilters=[]}setOptions(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.urlHandler=e.urlHandler||e.urlhandler||K,this.fetchingOptions={...e.fetchOptions,timeout:e.timeout||q,withCredentials:Boolean(e.withCredentials)}}addURLTemplateFilter(e){\"function\"==typeof e&&this.URLTemplateFilters.push(e)}removeLastURLTemplateFilter(){this.URLTemplateFilters.pop()}countURLTemplateFilters(){return this.URLTemplateFilters.length}clearURLTemplateFilters(){this.URLTemplateFilters=[]}async fetchVAST(e){var t;let{url:r,maxWrapperDepth:i,emitter:a,wrapperDepth:s=0,previousUrl:n=null,wrapperAd:o=null}=e;const l=Date.now();this.URLTemplateFilters.forEach((e=>{r=e(r)})),a(\"VAST-resolving\",{url:r,previousUrl:n,wrapperDepth:s,maxWrapperDepth:i,timeout:this.fetchingOptions.timeout,wrapperAd:o});const c=await this.urlHandler.get(r,this.fetchingOptions),d=Math.round(Date.now()-l);if(a(\"VAST-resolved\",{url:r,previousUrl:n,wrapperDepth:s,error:(null==c?void 0:c.error)||null,duration:d,statusCode:(null==c?void 0:c.statusCode)||null,...null==c?void 0:c.details}),O(null==c||null===(t=c.details)||void 0===t?void 0:t.byteLength,d),c.error)throw new Error(c.error);return c.xml}}class _{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new j;this.cappingFreeLunch=e,this.cappingMinimumTimeInterval=t,this.fetcher=new H,this.vastParser=new B({fetcher:this.fetcher}),this.storage=r,void 0===this.lastSuccessfulAd&&(this.lastSuccessfulAd=0),void 0===this.totalCalls&&(this.totalCalls=0),void 0===this.totalCallsTimeout&&(this.totalCallsTimeout=0)}addURLTemplateFilter(e){this.fetcher.addURLTemplateFilter(e)}removeLastURLTemplateFilter(){this.fetcher.removeLastURLTemplateFilter()}countURLTemplateFilters(){return this.fetcher.countURLTemplateFilters()}clearURLTemplateFilters(){this.fetcher.clearURLTemplateFilters()}getParser(){return this.vastParser}get lastSuccessfulAd(){return this.storage.getItem(\"vast-client-last-successful-ad\")}set lastSuccessfulAd(e){this.storage.setItem(\"vast-client-last-successful-ad\",e)}get totalCalls(){return this.storage.getItem(\"vast-client-total-calls\")}set totalCalls(e){this.storage.setItem(\"vast-client-total-calls\",e)}get totalCallsTimeout(){return this.storage.getItem(\"vast-client-total-calls-timeout\")}set totalCallsTimeout(e){this.storage.setItem(\"vast-client-total-calls-timeout\",e)}hasRemainingAds(){return this.vastParser.remainingAds.length>0}getNextAds(e){return this.vastParser.getRemainingAds(e)}parseVAST(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.fetcher.setOptions(t),this.vastParser.parseVAST(e,t)}get(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=Date.now();return t.hasOwnProperty(\"resolveAll\")||(t.resolveAll=!1),this.totalCallsTimeout<r?(this.totalCalls=1,this.totalCallsTimeout=r+36e5):this.totalCalls++,new Promise(((i,a)=>{if(this.cappingFreeLunch>=this.totalCalls)return a(new Error(\"VAST call canceled – FreeLunch capping not reached yet \".concat(this.totalCalls,\"/\").concat(this.cappingFreeLunch)));const s=r-this.lastSuccessfulAd;if(s<0)this.lastSuccessfulAd=0;else if(s<this.cappingMinimumTimeInterval)return a(new Error(\"VAST call canceled – (\".concat(this.cappingMinimumTimeInterval,\")ms minimum interval reached\")));this.vastParser.initParsingStatus(t),this.fetcher.setOptions(t),this.vastParser.rootURL=e,this.fetcher.fetchVAST({url:e,emitter:this.vastParser.emit.bind(this.vastParser),maxWrapperDepth:this.vastParser.maxWrapperDepth}).then((r=>(t.previousUrl=e,t.isRootVAST=!0,t.url=e,this.vastParser.parse(r,t).then((e=>{const t=this.vastParser.buildVASTResponse(e);i(t)}))))).catch((e=>a(e)))}))}}class z extends S{constructor(e,t,r){var i;let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=arguments.length>4&&void 0!==arguments[4]&&arguments[4];super(),this.ad=t,this.creative=r,this.variation=a,this.muted=s,this.impressed=!1,this.skippable=!1,this.trackingEvents={},this.trackedProgressEvents=[],this.lastPercentage=0,this._alreadyTriggeredQuartiles={},this.emitAlwaysEvents=[\"creativeView\",\"start\",\"firstQuartile\",\"midpoint\",\"thirdQuartile\",\"complete\",\"resume\",\"pause\",\"rewind\",\"skip\",\"closeLinear\",\"close\"];for(const e in this.creative.trackingEvents){const t=this.creative.trackingEvents[e];this.trackingEvents[e]=t.slice(0)}this.viewableImpressionTrackers=(null===(i=this.ad.viewableImpression)||void 0===i?void 0:i.reduce(((e,t)=>(e.notViewable.push(...t.notViewable),e.viewUndetermined.push(...t.viewUndetermined),e.viewable.push(...t.viewable),e)),{notViewable:[],viewUndetermined:[],viewable:[]}))||{},Object.entries(this.viewableImpressionTrackers).forEach((e=>{let[t,r]=e;r.length&&(this.trackingEvents[t]=r)})),!function(e){return\"linear\"===e.type}(this.creative)?this._initVariationTracking():this._initLinearTracking(),e&&this.on(\"start\",(()=>{e.lastSuccessfulAd=Date.now()}))}_initLinearTracking(){this.linear=!0,this.skipDelay=this.creative.skipDelay,this.setDuration(this.creative.duration),this.clickThroughURLTemplate=this.creative.videoClickThroughURLTemplate,this.clickTrackingURLTemplates=this.creative.videoClickTrackingURLTemplates}_initVariationTracking(){if(this.linear=!1,this.skipDelay=-1,this.variation){for(const e in this.variation.trackingEvents){const t=this.variation.trackingEvents[e];this.trackingEvents[e]?this.trackingEvents[e]=this.trackingEvents[e].concat(t.slice(0)):this.trackingEvents[e]=t.slice(0)}\"nonLinearAd\"===this.variation.adType?(this.clickThroughURLTemplate=this.variation.nonlinearClickThroughURLTemplate,this.clickTrackingURLTemplates=this.variation.nonlinearClickTrackingURLTemplates,this.setDuration(this.variation.minSuggestedDuration)):function(e){return\"companionAd\"===e.adType}(this.variation)&&(this.clickThroughURLTemplate=this.variation.companionClickThroughURLTemplate,this.clickTrackingURLTemplates=this.variation.companionClickTrackingURLTemplates)}}setDuration(e){u.isValidTimeValue(e)?(this.assetDuration=e,this.quartiles={firstQuartile:Math.round(25*this.assetDuration)/100,midpoint:Math.round(50*this.assetDuration)/100,thirdQuartile:Math.round(75*this.assetDuration)/100}):this.emit(\"TRACKER-error\",{message:\"the duration provided is not valid. duration: \".concat(e)})}setProgress(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!u.isValidTimeValue(e)||\"object\"!=typeof t)return void this.emit(\"TRACKER-error\",{message:\"One given setProgress parameter has the wrong type. progress: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))});const i=this.skipDelay||-1;if(-1===i||this.skippable||(i>e?this.emit(\"skip-countdown\",i-e):(this.skippable=!0,this.emit(\"skip-countdown\",0))),this.assetDuration>0){const i=Math.round(e/this.assetDuration*100),a=[];if(e>0){a.push(\"start\");for(let e=this.lastPercentage;e<i;e++)a.push(\"progress-\".concat(e+1,\"%\"));a.push(\"progress-\".concat(e));for(const t in this.quartiles)this.isQuartileReached(t,this.quartiles[t],e)&&(a.push(t),this._alreadyTriggeredQuartiles[t]=!0);this.lastPercentage=i}a.forEach((e=>{this.track(e,{macros:t,once:r})})),e<this.progress&&(this.track(\"rewind\",{macros:t}),this.trackedProgressEvents&&this.trackedProgressEvents.splice(0))}this.progress=e}isQuartileReached(e,t,r){let i=!1;return t<=r&&!this._alreadyTriggeredQuartiles[e]&&(i=!0),i}setMuted(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"boolean\"==typeof e&&\"object\"==typeof t?(this.muted!==e&&this.track(e?\"mute\":\"unmute\",{macros:t}),this.muted=e):this.emit(\"TRACKER-error\",{message:\"One given setMuted parameter has the wrong type. muted: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))})}setPaused(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"boolean\"==typeof e&&\"object\"==typeof t?(this.paused!==e&&this.track(e?\"pause\":\"resume\",{macros:t}),this.paused=e):this.emit(\"TRACKER-error\",{message:\"One given setPaused parameter has the wrong type. paused: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))})}setFullscreen(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"boolean\"==typeof e&&\"object\"==typeof t?(this.fullscreen!==e&&this.track(e?\"fullscreen\":\"exitFullscreen\",{macros:t}),this.fullscreen=e):this.emit(\"TRACKER-error\",{message:\"One given setFullScreen parameter has the wrong type. fullscreen: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))})}setExpand(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"boolean\"==typeof e&&\"object\"==typeof t?(this.expanded!==e&&(this.track(e?\"expand\":\"collapse\",{macros:t}),this.track(e?\"playerExpand\":\"playerCollapse\",{macros:t})),this.expanded=e):this.emit(\"TRACKER-error\",{message:\"One given setExpand parameter has the wrong type. expanded: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))})}setSkipDelay(e){u.isValidTimeValue(e)?this.skipDelay=e:this.emit(\"TRACKER-error\",{message:\"setSkipDelay parameter does not have a valid value. duration: \".concat(e)})}trackImpression(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.impressed||(this.impressed=!0,this.trackURLs(this.ad.impressionURLTemplates,e),this.track(\"creativeView\",{macros:e})):this.emit(\"TRACKER-error\",{message:\"trackImpression parameter has the wrong type. macros: \".concat(e)})}trackViewableImpression(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];\"object\"==typeof e?this.track(\"viewable\",{macros:e,once:t}):this.emit(\"TRACKER-error\",{message:\"trackViewableImpression given macros has the wrong type. macros: \".concat(e)})}trackNotViewableImpression(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];\"object\"==typeof e?this.track(\"notViewable\",{macros:e,once:t}):this.emit(\"TRACKER-error\",{message:\"trackNotViewableImpression given macros has the wrong type. macros: \".concat(e)})}trackUndeterminedImpression(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];\"object\"==typeof e?this.track(\"viewUndetermined\",{macros:e,once:t}):this.emit(\"TRACKER-error\",{message:\"trackUndeterminedImpression given macros has the wrong type. macros: \".concat(e)})}error(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];\"object\"==typeof e&&\"boolean\"==typeof t?this.trackURLs(this.ad.errorURLTemplates,e,{isCustomCode:t}):this.emit(\"TRACKER-error\",{message:\"One given error parameter has the wrong type. macros: \".concat(u.formatMacrosValues(e),\", isCustomCode: \").concat(t)})}errorWithCode(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];\"string\"==typeof e&&\"boolean\"==typeof t?(this.error({ERRORCODE:e},t),console.log(\"The method errorWithCode is deprecated, please use vast tracker error method instead\")):this.emit(\"TRACKER-error\",{message:\"One given errorWithCode parameter has the wrong type. errorCode: \".concat(e,\", isCustomCode: \").concat(t)})}complete(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"complete\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"complete given macros has the wrong type. macros: \".concat(e)})}notUsed(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?(this.track(\"notUsed\",{macros:e}),this.trackingEvents=[]):this.emit(\"TRACKER-error\",{message:\"notUsed given macros has the wrong type. macros: \".concat(e)})}otherAdInteraction(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"otherAdInteraction\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"otherAdInteraction given macros has the wrong type. macros: \".concat(e)})}acceptInvitation(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"acceptInvitation\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"acceptInvitation given macros has the wrong type. macros: \".concat(e)})}adExpand(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"adExpand\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"adExpand given macros has the wrong type. macros: \".concat(e)})}adCollapse(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"adCollapse\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"adCollapse given macros has the wrong type. macros: \".concat(e)})}minimize(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"minimize\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"minimize given macros has the wrong type. macros: \".concat(e)})}verificationNotExecuted(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(\"string\"!=typeof e||\"object\"!=typeof t)return void this.emit(\"TRACKER-error\",{message:\"One given verificationNotExecuted parameter has to wrong type. vendor: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))});if(!this.ad||!this.ad.adVerifications||!this.ad.adVerifications.length)throw new Error(\"No adVerifications provided\");if(!e)throw new Error(\"No vendor provided, unable to find associated verificationNotExecuted\");const r=this.ad.adVerifications.find((t=>t.vendor===e));if(!r)throw new Error(\"No associated verification element found for vendor: \".concat(e));const i=r.trackingEvents;if(i&&i.verificationNotExecuted){const e=i.verificationNotExecuted;this.trackURLs(e,t),this.emit(\"verificationNotExecuted\",{trackingURLTemplates:e})}}overlayViewDuration(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"string\"==typeof e&&\"object\"==typeof t?(t.ADPLAYHEAD=e,this.track(\"overlayViewDuration\",{macros:t})):this.emit(\"TRACKER-error\",{message:\"One given overlayViewDuration parameters has the wrong type. formattedDuration: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))})}close(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(this.linear?\"closeLinear\":\"close\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"close given macros has the wrong type. macros: \".concat(e)})}skip(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"skip\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"skip given macros has the wrong type. macros: \".concat(e)})}load(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"loaded\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"load given macros has the wrong type. macros: \".concat(e)})}click(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(null!==e&&\"string\"!=typeof e||\"object\"!=typeof t)return void this.emit(\"TRACKER-error\",{message:\"One given click parameter has the wrong type. fallbackClickThroughURL: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))});this.clickTrackingURLTemplates&&this.clickTrackingURLTemplates.length&&this.trackURLs(this.clickTrackingURLTemplates,t);const r=this.clickThroughURLTemplate||e,i={...t};if(r){this.progress&&(i.ADPLAYHEAD=this.progressFormatted());const e=u.resolveURLTemplates([r],i)[0];this.emit(\"clickthrough\",e)}}trackProgressEvents(e,t,r){const i=parseFloat(e.split(\"-\")[1]);Object.entries(this.trackingEvents).filter((e=>{let[t]=e;return t.startsWith(\"progress-\")})).map((e=>{let[t,r]=e;return{name:t,time:parseFloat(t.split(\"-\")[1]),urls:r}})).filter((e=>{let{time:t}=e;return t<=i&&t>this.progress})).forEach((e=>{let{name:i,urls:a}=e;!r&&this.trackedProgressEvents.includes(i)||(this.emit(i,{trackingURLTemplates:a}),this.trackURLs(a,t),r?delete this.trackingEvents[i]:this.trackedProgressEvents.push(i))}))}track(e){let{macros:t={},once:r=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(\"object\"!=typeof t)return void this.emit(\"TRACKER-error\",{message:\"track given macros has the wrong type. macros: \".concat(t)});\"closeLinear\"===e&&!this.trackingEvents[e]&&this.trackingEvents.close&&(e=\"close\"),e.startsWith(\"progress-\")&&!e.endsWith(\"%\")&&this.trackProgressEvents(e,t,r);const i=this.trackingEvents[e],a=this.emitAlwaysEvents.indexOf(e)>-1;i?(this.emit(e,{trackingURLTemplates:i}),this.trackURLs(i,t)):a&&this.emit(e,null),r&&(delete this.trackingEvents[e],a&&this.emitAlwaysEvents.splice(this.emitAlwaysEvents.indexOf(e),1))}trackURLs(e){var t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{validUrls:a,invalidUrls:s}=u.filterUrlTemplates(e);s.length&&this.emit(\"TRACKER-error\",{message:\"Provided urls are malformed. url: \".concat(s)});const n={...r};this.linear&&(this.creative&&this.creative.mediaFiles&&this.creative.mediaFiles[0]&&this.creative.mediaFiles[0].fileURL&&(n.ASSETURI=this.creative.mediaFiles[0].fileURL),this.progress&&(n.ADPLAYHEAD=this.progressFormatted())),null!==(t=this.creative)&&void 0!==t&&null!==(t=t.universalAdIds)&&void 0!==t&&t.length&&(n.UNIVERSALADID=this.creative.universalAdIds.map((e=>e.idRegistry.concat(\" \",e.value))).join(\",\")),this.ad&&(this.ad.sequence&&(n.PODSEQUENCE=this.ad.sequence),this.ad.adType&&(n.ADTYPE=this.ad.adType),this.ad.adServingId&&(n.ADSERVINGID=this.ad.adServingId),this.ad.categories&&this.ad.categories.length&&(n.ADCATEGORIES=this.ad.categories.map((e=>e.value)).join(\",\")),this.ad.blockedAdCategories&&this.ad.blockedAdCategories.length&&(n.BLOCKEDADCATEGORIES=this.ad.blockedAdCategories.map((e=>e.value)).join(\",\"))),u.track(a,n,i)}convertToTimecode(e){if(!u.isValidTimeValue(e))return\"\";const t=1e3*e,r=Math.floor(t/36e5),i=Math.floor(t/6e4%60),a=Math.floor(t/1e3%60),s=Math.floor(t%1e3);return\"\".concat(u.addLeadingZeros(r,2),\":\").concat(u.addLeadingZeros(i,2),\":\").concat(u.addLeadingZeros(a,2),\".\").concat(u.addLeadingZeros(s,3))}progressFormatted(){return this.convertToTimecode(this.progress)}}export{_ as VASTClient,B as VASTParser,z as VASTTracker,p as parseDuration};\n","function t(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function e(t,e){for(var a=0;a<e.length;a++){var n=e[a];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function a(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),Object.defineProperty(t,\"prototype\",{writable:!1}),t}var n=a((function e(a){for(var n in t(this,e),this.id=a.getAttribute(\"id\"),this.allowMultipleAds=a.getAttribute(\"allowMultipleAds\"),this.followRedirects=a.getAttribute(\"followRedirects\"),this.vastAdData=null,this.adTagURI=null,this.customData=null,a.childNodes){var i=a.childNodes[n];switch(i.localName){case\"AdTagURI\":this.adTagURI={templateType:i.getAttribute(\"templateType\"),uri:(i.textContent||i.text||\"\").trim()};break;case\"VASTAdData\":for(this.vastAdData=i.firstChild;this.vastAdData&&1!==this.vastAdData.nodeType;)this.vastAdData=this.vastAdData.nextSibling;break;case\"CustomAdData\":this.customData=i}}}));function i(t,e){var a=[];for(var n in t.childNodes){var i=t.childNodes[n];i.nodeName!==e&&e!==\"vmap:\".concat(i.nodeName)&&i.nodeName!==\"vmap:\".concat(e)||a.push(i)}return a}function r(t){var e={attributes:{},children:{},value:{}};e.value=function(t){if(!t||!t.childNodes)return{};var e=t.childNodes,a=[];for(var n in e){var i=e[n];\"#cdata-section\"===i.nodeName&&a.push(i)}if(a&&a.length>0)try{return JSON.parse(a[0].data)}catch(t){}var r=\"\";for(var s in e){var o=e[s];switch(o.nodeName){case\"#text\":r+=o.textContent.trim();break;case\"#cdata-section\":r+=o.data}}return r}(t);var a=t.attributes;if(a)for(var n in a){var i=a[n];i.nodeName&&void 0!==i.nodeValue&&null!==i.nodeValue&&(e.attributes[i.nodeName]=i.nodeValue)}var s=t.childNodes;if(s)for(var o in s){var c=s[o];c.nodeName&&\"#\"!==c.nodeName.substring(0,1)&&(e.children[c.nodeName]=r(c))}return e}var s=function(){function e(a){for(var s in t(this,e),this.timeOffset=a.getAttribute(\"timeOffset\"),this.breakType=a.getAttribute(\"breakType\"),this.breakId=a.getAttribute(\"breakId\"),this.repeatAfter=a.getAttribute(\"repeatAfter\"),this.adSource=null,this.trackingEvents=[],this.extensions=[],a.childNodes){var o=a.childNodes[s];switch(o.localName){case\"AdSource\":this.adSource=new n(o);break;case\"TrackingEvents\":for(var c in o.childNodes){var d=o.childNodes[c];\"Tracking\"===d.localName&&this.trackingEvents.push({event:d.getAttribute(\"event\"),uri:(d.textContent||d.text||\"\").trim()})}break;case\"Extensions\":this.extensions=i(o,\"Extension\").map((function(t){return r(t)}))}}}return a(e,[{key:\"track\",value:function(t,e){for(var a in this.trackingEvents){var n=this.trackingEvents[a];if(n.event===t){var i=n.uri;\"error\"===n.event&&(i=i.replace(\"[ERRORCODE]\",e)),this.tracker(i)}}}},{key:\"tracker\",value:function(t){\"undefined\"!=typeof window&&null!==window&&((new Image).src=t)}}]),e}(),o=a((function e(a){if(t(this,e),!a||!a.documentElement||\"VMAP\"!==a.documentElement.localName)throw new Error(\"Not a VMAP document\");for(var n in this.version=a.documentElement.getAttribute(\"version\"),this.adBreaks=[],this.extensions=[],a.documentElement.childNodes){var o=a.documentElement.childNodes[n];switch(o.localName){case\"AdBreak\":this.adBreaks.push(new s(o));break;case\"Extensions\":this.extensions=i(o,\"Extension\").map((function(t){return r(t)}))}}}));export{o as default};\n",null,null,"'use strict'\n\n/**\n * Ponyfill for `Array.prototype.find` which is only available in ES6 runtimes.\n *\n * Works with anything that has a `length` property and index access properties, including NodeList.\n *\n * @template {unknown} T\n * @param {Array<T> | ({length:number, [number]: T})} list\n * @param {function (item: T, index: number, list:Array<T> | ({length:number, [number]: T})):boolean} predicate\n * @param {Partial<Pick<ArrayConstructor['prototype'], 'find'>>?} ac `Array.prototype` by default,\n * \t\t\t\tallows injecting a custom implementation in tests\n * @returns {T | undefined}\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find\n * @see https://tc39.es/ecma262/multipage/indexed-collections.html#sec-array.prototype.find\n */\nfunction find(list, predicate, ac) {\n\tif (ac === undefined) {\n\t\tac = Array.prototype;\n\t}\n\tif (list && typeof ac.find === 'function') {\n\t\treturn ac.find.call(list, predicate);\n\t}\n\tfor (var i = 0; i < list.length; i++) {\n\t\tif (Object.prototype.hasOwnProperty.call(list, i)) {\n\t\t\tvar item = list[i];\n\t\t\tif (predicate.call(undefined, item, i, list)) {\n\t\t\t\treturn item;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * \"Shallow freezes\" an object to render it immutable.\n * Uses `Object.freeze` if available,\n * otherwise the immutability is only in the type.\n *\n * Is used to create \"enum like\" objects.\n *\n * @template T\n * @param {T} object the object to freeze\n * @param {Pick<ObjectConstructor, 'freeze'> = Object} oc `Object` by default,\n * \t\t\t\tallows to inject custom object constructor for tests\n * @returns {Readonly<T>}\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze\n */\nfunction freeze(object, oc) {\n\tif (oc === undefined) {\n\t\toc = Object\n\t}\n\treturn oc && typeof oc.freeze === 'function' ? oc.freeze(object) : object\n}\n\n/**\n * Since we can not rely on `Object.assign` we provide a simplified version\n * that is sufficient for our needs.\n *\n * @param {Object} target\n * @param {Object | null | undefined} source\n *\n * @returns {Object} target\n * @throws TypeError if target is not an object\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n * @see https://tc39.es/ecma262/multipage/fundamental-objects.html#sec-object.assign\n */\nfunction assign(target, source) {\n\tif (target === null || typeof target !== 'object') {\n\t\tthrow new TypeError('target is not an object')\n\t}\n\tfor (var key in source) {\n\t\tif (Object.prototype.hasOwnProperty.call(source, key)) {\n\t\t\ttarget[key] = source[key]\n\t\t}\n\t}\n\treturn target\n}\n\n/**\n * All mime types that are allowed as input to `DOMParser.parseFromString`\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMParser/parseFromString#Argument02 MDN\n * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#domparsersupportedtype WHATWG HTML Spec\n * @see DOMParser.prototype.parseFromString\n */\nvar MIME_TYPE = freeze({\n\t/**\n\t * `text/html`, the only mime type that triggers treating an XML document as HTML.\n\t *\n\t * @see DOMParser.SupportedType.isHTML\n\t * @see https://www.iana.org/assignments/media-types/text/html IANA MimeType registration\n\t * @see https://en.wikipedia.org/wiki/HTML Wikipedia\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMParser/parseFromString MDN\n\t * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-domparser-parsefromstring WHATWG HTML Spec\n\t */\n\tHTML: 'text/html',\n\n\t/**\n\t * Helper method to check a mime type if it indicates an HTML document\n\t *\n\t * @param {string} [value]\n\t * @returns {boolean}\n\t *\n\t * @see https://www.iana.org/assignments/media-types/text/html IANA MimeType registration\n\t * @see https://en.wikipedia.org/wiki/HTML Wikipedia\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMParser/parseFromString MDN\n\t * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-domparser-parsefromstring \t */\n\tisHTML: function (value) {\n\t\treturn value === MIME_TYPE.HTML\n\t},\n\n\t/**\n\t * `application/xml`, the standard mime type for XML documents.\n\t *\n\t * @see https://www.iana.org/assignments/media-types/application/xml IANA MimeType registration\n\t * @see https://tools.ietf.org/html/rfc7303#section-9.1 RFC 7303\n\t * @see https://en.wikipedia.org/wiki/XML_and_MIME Wikipedia\n\t */\n\tXML_APPLICATION: 'application/xml',\n\n\t/**\n\t * `text/html`, an alias for `application/xml`.\n\t *\n\t * @see https://tools.ietf.org/html/rfc7303#section-9.2 RFC 7303\n\t * @see https://www.iana.org/assignments/media-types/text/xml IANA MimeType registration\n\t * @see https://en.wikipedia.org/wiki/XML_and_MIME Wikipedia\n\t */\n\tXML_TEXT: 'text/xml',\n\n\t/**\n\t * `application/xhtml+xml`, indicates an XML document that has the default HTML namespace,\n\t * but is parsed as an XML document.\n\t *\n\t * @see https://www.iana.org/assignments/media-types/application/xhtml+xml IANA MimeType registration\n\t * @see https://dom.spec.whatwg.org/#dom-domimplementation-createdocument WHATWG DOM Spec\n\t * @see https://en.wikipedia.org/wiki/XHTML Wikipedia\n\t */\n\tXML_XHTML_APPLICATION: 'application/xhtml+xml',\n\n\t/**\n\t * `image/svg+xml`,\n\t *\n\t * @see https://www.iana.org/assignments/media-types/image/svg+xml IANA MimeType registration\n\t * @see https://www.w3.org/TR/SVG11/ W3C SVG 1.1\n\t * @see https://en.wikipedia.org/wiki/Scalable_Vector_Graphics Wikipedia\n\t */\n\tXML_SVG_IMAGE: 'image/svg+xml',\n})\n\n/**\n * Namespaces that are used in this code base.\n *\n * @see http://www.w3.org/TR/REC-xml-names\n */\nvar NAMESPACE = freeze({\n\t/**\n\t * The XHTML namespace.\n\t *\n\t * @see http://www.w3.org/1999/xhtml\n\t */\n\tHTML: 'http://www.w3.org/1999/xhtml',\n\n\t/**\n\t * Checks if `uri` equals `NAMESPACE.HTML`.\n\t *\n\t * @param {string} [uri]\n\t *\n\t * @see NAMESPACE.HTML\n\t */\n\tisHTML: function (uri) {\n\t\treturn uri === NAMESPACE.HTML\n\t},\n\n\t/**\n\t * The SVG namespace.\n\t *\n\t * @see http://www.w3.org/2000/svg\n\t */\n\tSVG: 'http://www.w3.org/2000/svg',\n\n\t/**\n\t * The `xml:` namespace.\n\t *\n\t * @see http://www.w3.org/XML/1998/namespace\n\t */\n\tXML: 'http://www.w3.org/XML/1998/namespace',\n\n\t/**\n\t * The `xmlns:` namespace\n\t *\n\t * @see https://www.w3.org/2000/xmlns/\n\t */\n\tXMLNS: 'http://www.w3.org/2000/xmlns/',\n})\n\nexports.assign = assign;\nexports.find = find;\nexports.freeze = freeze;\nexports.MIME_TYPE = MIME_TYPE;\nexports.NAMESPACE = NAMESPACE;\n","var conventions = require(\"./conventions\");\n\nvar find = conventions.find;\nvar NAMESPACE = conventions.NAMESPACE;\n\n/**\n * A prerequisite for `[].filter`, to drop elements that are empty\n * @param {string} input\n * @returns {boolean}\n */\nfunction notEmptyString (input) {\n\treturn input !== ''\n}\n/**\n * @see https://infra.spec.whatwg.org/#split-on-ascii-whitespace\n * @see https://infra.spec.whatwg.org/#ascii-whitespace\n *\n * @param {string} input\n * @returns {string[]} (can be empty)\n */\nfunction splitOnASCIIWhitespace(input) {\n\t// U+0009 TAB, U+000A LF, U+000C FF, U+000D CR, U+0020 SPACE\n\treturn input ? input.split(/[\\t\\n\\f\\r ]+/).filter(notEmptyString) : []\n}\n\n/**\n * Adds element as a key to current if it is not already present.\n *\n * @param {Record<string, boolean | undefined>} current\n * @param {string} element\n * @returns {Record<string, boolean | undefined>}\n */\nfunction orderedSetReducer (current, element) {\n\tif (!current.hasOwnProperty(element)) {\n\t\tcurrent[element] = true;\n\t}\n\treturn current;\n}\n\n/**\n * @see https://infra.spec.whatwg.org/#ordered-set\n * @param {string} input\n * @returns {string[]}\n */\nfunction toOrderedSet(input) {\n\tif (!input) return [];\n\tvar list = splitOnASCIIWhitespace(input);\n\treturn Object.keys(list.reduce(orderedSetReducer, {}))\n}\n\n/**\n * Uses `list.indexOf` to implement something like `Array.prototype.includes`,\n * which we can not rely on being available.\n *\n * @param {any[]} list\n * @returns {function(any): boolean}\n */\nfunction arrayIncludes (list) {\n\treturn function(element) {\n\t\treturn list && list.indexOf(element) !== -1;\n\t}\n}\n\nfunction copy(src,dest){\n\tfor(var p in src){\n\t\tif (Object.prototype.hasOwnProperty.call(src, p)) {\n\t\t\tdest[p] = src[p];\n\t\t}\n\t}\n}\n\n/**\n^\\w+\\.prototype\\.([_\\w]+)\\s*=\\s*((?:.*\\{\\s*?[\\r\\n][\\s\\S]*?^})|\\S.*?(?=[;\\r\\n]));?\n^\\w+\\.prototype\\.([_\\w]+)\\s*=\\s*(\\S.*?(?=[;\\r\\n]));?\n */\nfunction _extends(Class,Super){\n\tvar pt = Class.prototype;\n\tif(!(pt instanceof Super)){\n\t\tfunction t(){};\n\t\tt.prototype = Super.prototype;\n\t\tt = new t();\n\t\tcopy(pt,t);\n\t\tClass.prototype = pt = t;\n\t}\n\tif(pt.constructor != Class){\n\t\tif(typeof Class != 'function'){\n\t\t\tconsole.error(\"unknown Class:\"+Class)\n\t\t}\n\t\tpt.constructor = Class\n\t}\n}\n\n// Node Types\nvar NodeType = {}\nvar ELEMENT_NODE = NodeType.ELEMENT_NODE = 1;\nvar ATTRIBUTE_NODE = NodeType.ATTRIBUTE_NODE = 2;\nvar TEXT_NODE = NodeType.TEXT_NODE = 3;\nvar CDATA_SECTION_NODE = NodeType.CDATA_SECTION_NODE = 4;\nvar ENTITY_REFERENCE_NODE = NodeType.ENTITY_REFERENCE_NODE = 5;\nvar ENTITY_NODE = NodeType.ENTITY_NODE = 6;\nvar PROCESSING_INSTRUCTION_NODE = NodeType.PROCESSING_INSTRUCTION_NODE = 7;\nvar COMMENT_NODE = NodeType.COMMENT_NODE = 8;\nvar DOCUMENT_NODE = NodeType.DOCUMENT_NODE = 9;\nvar DOCUMENT_TYPE_NODE = NodeType.DOCUMENT_TYPE_NODE = 10;\nvar DOCUMENT_FRAGMENT_NODE = NodeType.DOCUMENT_FRAGMENT_NODE = 11;\nvar NOTATION_NODE = NodeType.NOTATION_NODE = 12;\n\n// ExceptionCode\nvar ExceptionCode = {}\nvar ExceptionMessage = {};\nvar INDEX_SIZE_ERR = ExceptionCode.INDEX_SIZE_ERR = ((ExceptionMessage[1]=\"Index size error\"),1);\nvar DOMSTRING_SIZE_ERR = ExceptionCode.DOMSTRING_SIZE_ERR = ((ExceptionMessage[2]=\"DOMString size error\"),2);\nvar HIERARCHY_REQUEST_ERR = ExceptionCode.HIERARCHY_REQUEST_ERR = ((ExceptionMessage[3]=\"Hierarchy request error\"),3);\nvar WRONG_DOCUMENT_ERR = ExceptionCode.WRONG_DOCUMENT_ERR = ((ExceptionMessage[4]=\"Wrong document\"),4);\nvar INVALID_CHARACTER_ERR = ExceptionCode.INVALID_CHARACTER_ERR = ((ExceptionMessage[5]=\"Invalid character\"),5);\nvar NO_DATA_ALLOWED_ERR = ExceptionCode.NO_DATA_ALLOWED_ERR = ((ExceptionMessage[6]=\"No data allowed\"),6);\nvar NO_MODIFICATION_ALLOWED_ERR = ExceptionCode.NO_MODIFICATION_ALLOWED_ERR = ((ExceptionMessage[7]=\"No modification allowed\"),7);\nvar NOT_FOUND_ERR = ExceptionCode.NOT_FOUND_ERR = ((ExceptionMessage[8]=\"Not found\"),8);\nvar NOT_SUPPORTED_ERR = ExceptionCode.NOT_SUPPORTED_ERR = ((ExceptionMessage[9]=\"Not supported\"),9);\nvar INUSE_ATTRIBUTE_ERR = ExceptionCode.INUSE_ATTRIBUTE_ERR = ((ExceptionMessage[10]=\"Attribute in use\"),10);\n//level2\nvar INVALID_STATE_ERR \t= ExceptionCode.INVALID_STATE_ERR \t= ((ExceptionMessage[11]=\"Invalid state\"),11);\nvar SYNTAX_ERR \t= ExceptionCode.SYNTAX_ERR \t= ((ExceptionMessage[12]=\"Syntax error\"),12);\nvar INVALID_MODIFICATION_ERR \t= ExceptionCode.INVALID_MODIFICATION_ERR \t= ((ExceptionMessage[13]=\"Invalid modification\"),13);\nvar NAMESPACE_ERR \t= ExceptionCode.NAMESPACE_ERR \t= ((ExceptionMessage[14]=\"Invalid namespace\"),14);\nvar INVALID_ACCESS_ERR \t= ExceptionCode.INVALID_ACCESS_ERR \t= ((ExceptionMessage[15]=\"Invalid access\"),15);\n\n/**\n * DOM Level 2\n * Object DOMException\n * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html\n * @see http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html\n */\nfunction DOMException(code, message) {\n\tif(message instanceof Error){\n\t\tvar error = message;\n\t}else{\n\t\terror = this;\n\t\tError.call(this, ExceptionMessage[code]);\n\t\tthis.message = ExceptionMessage[code];\n\t\tif(Error.captureStackTrace) Error.captureStackTrace(this, DOMException);\n\t}\n\terror.code = code;\n\tif(message) this.message = this.message + \": \" + message;\n\treturn error;\n};\nDOMException.prototype = Error.prototype;\ncopy(ExceptionCode,DOMException)\n\n/**\n * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-536297177\n * The NodeList interface provides the abstraction of an ordered collection of nodes, without defining or constraining how this collection is implemented. NodeList objects in the DOM are live.\n * The items in the NodeList are accessible via an integral index, starting from 0.\n */\nfunction NodeList() {\n};\nNodeList.prototype = {\n\t/**\n\t * The number of nodes in the list. The range of valid child node indices is 0 to length-1 inclusive.\n\t * @standard level1\n\t */\n\tlength:0,\n\t/**\n\t * Returns the indexth item in the collection. If index is greater than or equal to the number of nodes in the list, this returns null.\n\t * @standard level1\n\t * @param index unsigned long\n\t * Index into the collection.\n\t * @return Node\n\t * \tThe node at the indexth position in the NodeList, or null if that is not a valid index.\n\t */\n\titem: function(index) {\n\t\treturn index >= 0 && index < this.length ? this[index] : null;\n\t},\n\ttoString:function(isHTML,nodeFilter){\n\t\tfor(var buf = [], i = 0;i<this.length;i++){\n\t\t\tserializeToString(this[i],buf,isHTML,nodeFilter);\n\t\t}\n\t\treturn buf.join('');\n\t},\n\t/**\n\t * @private\n\t * @param {function (Node):boolean} predicate\n\t * @returns {Node[]}\n\t */\n\tfilter: function (predicate) {\n\t\treturn Array.prototype.filter.call(this, predicate);\n\t},\n\t/**\n\t * @private\n\t * @param {Node} item\n\t * @returns {number}\n\t */\n\tindexOf: function (item) {\n\t\treturn Array.prototype.indexOf.call(this, item);\n\t},\n};\n\nfunction LiveNodeList(node,refresh){\n\tthis._node = node;\n\tthis._refresh = refresh\n\t_updateLiveList(this);\n}\nfunction _updateLiveList(list){\n\tvar inc = list._node._inc || list._node.ownerDocument._inc;\n\tif (list._inc !== inc) {\n\t\tvar ls = list._refresh(list._node);\n\t\t__set__(list,'length',ls.length);\n\t\tif (!list.$$length || ls.length < list.$$length) {\n\t\t\tfor (var i = ls.length; i in list; i++) {\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(list, i)) {\n\t\t\t\t\tdelete list[i];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tcopy(ls,list);\n\t\tlist._inc = inc;\n\t}\n}\nLiveNodeList.prototype.item = function(i){\n\t_updateLiveList(this);\n\treturn this[i] || null;\n}\n\n_extends(LiveNodeList,NodeList);\n\n/**\n * Objects implementing the NamedNodeMap interface are used\n * to represent collections of nodes that can be accessed by name.\n * Note that NamedNodeMap does not inherit from NodeList;\n * NamedNodeMaps are not maintained in any particular order.\n * Objects contained in an object implementing NamedNodeMap may also be accessed by an ordinal index,\n * but this is simply to allow convenient enumeration of the contents of a NamedNodeMap,\n * and does not imply that the DOM specifies an order to these Nodes.\n * NamedNodeMap objects in the DOM are live.\n * used for attributes or DocumentType entities\n */\nfunction NamedNodeMap() {\n};\n\nfunction _findNodeIndex(list,node){\n\tvar i = list.length;\n\twhile(i--){\n\t\tif(list[i] === node){return i}\n\t}\n}\n\nfunction _addNamedNode(el,list,newAttr,oldAttr){\n\tif(oldAttr){\n\t\tlist[_findNodeIndex(list,oldAttr)] = newAttr;\n\t}else{\n\t\tlist[list.length++] = newAttr;\n\t}\n\tif(el){\n\t\tnewAttr.ownerElement = el;\n\t\tvar doc = el.ownerDocument;\n\t\tif(doc){\n\t\t\toldAttr && _onRemoveAttribute(doc,el,oldAttr);\n\t\t\t_onAddAttribute(doc,el,newAttr);\n\t\t}\n\t}\n}\nfunction _removeNamedNode(el,list,attr){\n\t//console.log('remove attr:'+attr)\n\tvar i = _findNodeIndex(list,attr);\n\tif(i>=0){\n\t\tvar lastIndex = list.length-1\n\t\twhile(i<lastIndex){\n\t\t\tlist[i] = list[++i]\n\t\t}\n\t\tlist.length = lastIndex;\n\t\tif(el){\n\t\t\tvar doc = el.ownerDocument;\n\t\t\tif(doc){\n\t\t\t\t_onRemoveAttribute(doc,el,attr);\n\t\t\t\tattr.ownerElement = null;\n\t\t\t}\n\t\t}\n\t}else{\n\t\tthrow new DOMException(NOT_FOUND_ERR,new Error(el.tagName+'@'+attr))\n\t}\n}\nNamedNodeMap.prototype = {\n\tlength:0,\n\titem:NodeList.prototype.item,\n\tgetNamedItem: function(key) {\n//\t\tif(key.indexOf(':')>0 || key == 'xmlns'){\n//\t\t\treturn null;\n//\t\t}\n\t\t//console.log()\n\t\tvar i = this.length;\n\t\twhile(i--){\n\t\t\tvar attr = this[i];\n\t\t\t//console.log(attr.nodeName,key)\n\t\t\tif(attr.nodeName == key){\n\t\t\t\treturn attr;\n\t\t\t}\n\t\t}\n\t},\n\tsetNamedItem: function(attr) {\n\t\tvar el = attr.ownerElement;\n\t\tif(el && el!=this._ownerElement){\n\t\t\tthrow new DOMException(INUSE_ATTRIBUTE_ERR);\n\t\t}\n\t\tvar oldAttr = this.getNamedItem(attr.nodeName);\n\t\t_addNamedNode(this._ownerElement,this,attr,oldAttr);\n\t\treturn oldAttr;\n\t},\n\t/* returns Node */\n\tsetNamedItemNS: function(attr) {// raises: WRONG_DOCUMENT_ERR,NO_MODIFICATION_ALLOWED_ERR,INUSE_ATTRIBUTE_ERR\n\t\tvar el = attr.ownerElement, oldAttr;\n\t\tif(el && el!=this._ownerElement){\n\t\t\tthrow new DOMException(INUSE_ATTRIBUTE_ERR);\n\t\t}\n\t\toldAttr = this.getNamedItemNS(attr.namespaceURI,attr.localName);\n\t\t_addNamedNode(this._ownerElement,this,attr,oldAttr);\n\t\treturn oldAttr;\n\t},\n\n\t/* returns Node */\n\tremoveNamedItem: function(key) {\n\t\tvar attr = this.getNamedItem(key);\n\t\t_removeNamedNode(this._ownerElement,this,attr);\n\t\treturn attr;\n\n\n\t},// raises: NOT_FOUND_ERR,NO_MODIFICATION_ALLOWED_ERR\n\n\t//for level2\n\tremoveNamedItemNS:function(namespaceURI,localName){\n\t\tvar attr = this.getNamedItemNS(namespaceURI,localName);\n\t\t_removeNamedNode(this._ownerElement,this,attr);\n\t\treturn attr;\n\t},\n\tgetNamedItemNS: function(namespaceURI, localName) {\n\t\tvar i = this.length;\n\t\twhile(i--){\n\t\t\tvar node = this[i];\n\t\t\tif(node.localName == localName && node.namespaceURI == namespaceURI){\n\t\t\t\treturn node;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n};\n\n/**\n * The DOMImplementation interface represents an object providing methods\n * which are not dependent on any particular document.\n * Such an object is returned by the `Document.implementation` property.\n *\n * __The individual methods describe the differences compared to the specs.__\n *\n * @constructor\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation MDN\n * @see https://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-102161490 DOM Level 1 Core (Initial)\n * @see https://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-102161490 DOM Level 2 Core\n * @see https://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-102161490 DOM Level 3 Core\n * @see https://dom.spec.whatwg.org/#domimplementation DOM Living Standard\n */\nfunction DOMImplementation() {\n}\n\nDOMImplementation.prototype = {\n\t/**\n\t * The DOMImplementation.hasFeature() method returns a Boolean flag indicating if a given feature is supported.\n\t * The different implementations fairly diverged in what kind of features were reported.\n\t * The latest version of the spec settled to force this method to always return true, where the functionality was accurate and in use.\n\t *\n\t * @deprecated It is deprecated and modern browsers return true in all cases.\n\t *\n\t * @param {string} feature\n\t * @param {string} [version]\n\t * @returns {boolean} always true\n\t *\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation/hasFeature MDN\n\t * @see https://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-5CED94D7 DOM Level 1 Core\n\t * @see https://dom.spec.whatwg.org/#dom-domimplementation-hasfeature DOM Living Standard\n\t */\n\thasFeature: function(feature, version) {\n\t\t\treturn true;\n\t},\n\t/**\n\t * Creates an XML Document object of the specified type with its document element.\n\t *\n\t * __It behaves slightly different from the description in the living standard__:\n\t * - There is no interface/class `XMLDocument`, it returns a `Document` instance.\n\t * - `contentType`, `encoding`, `mode`, `origin`, `url` fields are currently not declared.\n\t * - this implementation is not validating names or qualified names\n\t * (when parsing XML strings, the SAX parser takes care of that)\n\t *\n\t * @param {string|null} namespaceURI\n\t * @param {string} qualifiedName\n\t * @param {DocumentType=null} doctype\n\t * @returns {Document}\n\t *\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation/createDocument MDN\n\t * @see https://www.w3.org/TR/DOM-Level-2-Core/core.html#Level-2-Core-DOM-createDocument DOM Level 2 Core (initial)\n\t * @see https://dom.spec.whatwg.org/#dom-domimplementation-createdocument DOM Level 2 Core\n\t *\n\t * @see https://dom.spec.whatwg.org/#validate-and-extract DOM: Validate and extract\n\t * @see https://www.w3.org/TR/xml/#NT-NameStartChar XML Spec: Names\n\t * @see https://www.w3.org/TR/xml-names/#ns-qualnames XML Namespaces: Qualified names\n\t */\n\tcreateDocument: function(namespaceURI, qualifiedName, doctype){\n\t\tvar doc = new Document();\n\t\tdoc.implementation = this;\n\t\tdoc.childNodes = new NodeList();\n\t\tdoc.doctype = doctype || null;\n\t\tif (doctype){\n\t\t\tdoc.appendChild(doctype);\n\t\t}\n\t\tif (qualifiedName){\n\t\t\tvar root = doc.createElementNS(namespaceURI, qualifiedName);\n\t\t\tdoc.appendChild(root);\n\t\t}\n\t\treturn doc;\n\t},\n\t/**\n\t * Returns a doctype, with the given `qualifiedName`, `publicId`, and `systemId`.\n\t *\n\t * __This behavior is slightly different from the in the specs__:\n\t * - this implementation is not validating names or qualified names\n\t * (when parsing XML strings, the SAX parser takes care of that)\n\t *\n\t * @param {string} qualifiedName\n\t * @param {string} [publicId]\n\t * @param {string} [systemId]\n\t * @returns {DocumentType} which can either be used with `DOMImplementation.createDocument` upon document creation\n\t * \t\t\t\t or can be put into the document via methods like `Node.insertBefore()` or `Node.replaceChild()`\n\t *\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation/createDocumentType MDN\n\t * @see https://www.w3.org/TR/DOM-Level-2-Core/core.html#Level-2-Core-DOM-createDocType DOM Level 2 Core\n\t * @see https://dom.spec.whatwg.org/#dom-domimplementation-createdocumenttype DOM Living Standard\n\t *\n\t * @see https://dom.spec.whatwg.org/#validate-and-extract DOM: Validate and extract\n\t * @see https://www.w3.org/TR/xml/#NT-NameStartChar XML Spec: Names\n\t * @see https://www.w3.org/TR/xml-names/#ns-qualnames XML Namespaces: Qualified names\n\t */\n\tcreateDocumentType: function(qualifiedName, publicId, systemId){\n\t\tvar node = new DocumentType();\n\t\tnode.name = qualifiedName;\n\t\tnode.nodeName = qualifiedName;\n\t\tnode.publicId = publicId || '';\n\t\tnode.systemId = systemId || '';\n\n\t\treturn node;\n\t}\n};\n\n\n/**\n * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1950641247\n */\n\nfunction Node() {\n};\n\nNode.prototype = {\n\tfirstChild : null,\n\tlastChild : null,\n\tpreviousSibling : null,\n\tnextSibling : null,\n\tattributes : null,\n\tparentNode : null,\n\tchildNodes : null,\n\townerDocument : null,\n\tnodeValue : null,\n\tnamespaceURI : null,\n\tprefix : null,\n\tlocalName : null,\n\t// Modified in DOM Level 2:\n\tinsertBefore:function(newChild, refChild){//raises\n\t\treturn _insertBefore(this,newChild,refChild);\n\t},\n\treplaceChild:function(newChild, oldChild){//raises\n\t\t_insertBefore(this, newChild,oldChild, assertPreReplacementValidityInDocument);\n\t\tif(oldChild){\n\t\t\tthis.removeChild(oldChild);\n\t\t}\n\t},\n\tremoveChild:function(oldChild){\n\t\treturn _removeChild(this,oldChild);\n\t},\n\tappendChild:function(newChild){\n\t\treturn this.insertBefore(newChild,null);\n\t},\n\thasChildNodes:function(){\n\t\treturn this.firstChild != null;\n\t},\n\tcloneNode:function(deep){\n\t\treturn cloneNode(this.ownerDocument||this,this,deep);\n\t},\n\t// Modified in DOM Level 2:\n\tnormalize:function(){\n\t\tvar child = this.firstChild;\n\t\twhile(child){\n\t\t\tvar next = child.nextSibling;\n\t\t\tif(next && next.nodeType == TEXT_NODE && child.nodeType == TEXT_NODE){\n\t\t\t\tthis.removeChild(next);\n\t\t\t\tchild.appendData(next.data);\n\t\t\t}else{\n\t\t\t\tchild.normalize();\n\t\t\t\tchild = next;\n\t\t\t}\n\t\t}\n\t},\n \t// Introduced in DOM Level 2:\n\tisSupported:function(feature, version){\n\t\treturn this.ownerDocument.implementation.hasFeature(feature,version);\n\t},\n // Introduced in DOM Level 2:\n hasAttributes:function(){\n \treturn this.attributes.length>0;\n },\n\t/**\n\t * Look up the prefix associated to the given namespace URI, starting from this node.\n\t * **The default namespace declarations are ignored by this method.**\n\t * See Namespace Prefix Lookup for details on the algorithm used by this method.\n\t *\n\t * _Note: The implementation seems to be incomplete when compared to the algorithm described in the specs._\n\t *\n\t * @param {string | null} namespaceURI\n\t * @returns {string | null}\n\t * @see https://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-lookupNamespacePrefix\n\t * @see https://www.w3.org/TR/DOM-Level-3-Core/namespaces-algorithms.html#lookupNamespacePrefixAlgo\n\t * @see https://dom.spec.whatwg.org/#dom-node-lookupprefix\n\t * @see https://github.com/xmldom/xmldom/issues/322\n\t */\n lookupPrefix:function(namespaceURI){\n \tvar el = this;\n \twhile(el){\n \t\tvar map = el._nsMap;\n \t\t//console.dir(map)\n \t\tif(map){\n \t\t\tfor(var n in map){\n\t\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(map, n) && map[n] === namespaceURI) {\n\t\t\t\t\t\t\treturn n;\n\t\t\t\t\t\t}\n \t\t\t}\n \t\t}\n \t\tel = el.nodeType == ATTRIBUTE_NODE?el.ownerDocument : el.parentNode;\n \t}\n \treturn null;\n },\n // Introduced in DOM Level 3:\n lookupNamespaceURI:function(prefix){\n \tvar el = this;\n \twhile(el){\n \t\tvar map = el._nsMap;\n \t\t//console.dir(map)\n \t\tif(map){\n \t\t\tif(Object.prototype.hasOwnProperty.call(map, prefix)){\n \t\t\t\treturn map[prefix] ;\n \t\t\t}\n \t\t}\n \t\tel = el.nodeType == ATTRIBUTE_NODE?el.ownerDocument : el.parentNode;\n \t}\n \treturn null;\n },\n // Introduced in DOM Level 3:\n isDefaultNamespace:function(namespaceURI){\n \tvar prefix = this.lookupPrefix(namespaceURI);\n \treturn prefix == null;\n }\n};\n\n\nfunction _xmlEncoder(c){\n\treturn c == '<' && '<' ||\n c == '>' && '>' ||\n c == '&' && '&' ||\n c == '\"' && '"' ||\n '&#'+c.charCodeAt()+';'\n}\n\n\ncopy(NodeType,Node);\ncopy(NodeType,Node.prototype);\n\n/**\n * @param callback return true for continue,false for break\n * @return boolean true: break visit;\n */\nfunction _visitNode(node,callback){\n\tif(callback(node)){\n\t\treturn true;\n\t}\n\tif(node = node.firstChild){\n\t\tdo{\n\t\t\tif(_visitNode(node,callback)){return true}\n }while(node=node.nextSibling)\n }\n}\n\n\n\nfunction Document(){\n\tthis.ownerDocument = this;\n}\n\nfunction _onAddAttribute(doc,el,newAttr){\n\tdoc && doc._inc++;\n\tvar ns = newAttr.namespaceURI ;\n\tif(ns === NAMESPACE.XMLNS){\n\t\t//update namespace\n\t\tel._nsMap[newAttr.prefix?newAttr.localName:''] = newAttr.value\n\t}\n}\n\nfunction _onRemoveAttribute(doc,el,newAttr,remove){\n\tdoc && doc._inc++;\n\tvar ns = newAttr.namespaceURI ;\n\tif(ns === NAMESPACE.XMLNS){\n\t\t//update namespace\n\t\tdelete el._nsMap[newAttr.prefix?newAttr.localName:'']\n\t}\n}\n\n/**\n * Updates `el.childNodes`, updating the indexed items and it's `length`.\n * Passing `newChild` means it will be appended.\n * Otherwise it's assumed that an item has been removed,\n * and `el.firstNode` and it's `.nextSibling` are used\n * to walk the current list of child nodes.\n *\n * @param {Document} doc\n * @param {Node} el\n * @param {Node} [newChild]\n * @private\n */\nfunction _onUpdateChild (doc, el, newChild) {\n\tif(doc && doc._inc){\n\t\tdoc._inc++;\n\t\t//update childNodes\n\t\tvar cs = el.childNodes;\n\t\tif (newChild) {\n\t\t\tcs[cs.length++] = newChild;\n\t\t} else {\n\t\t\tvar child = el.firstChild;\n\t\t\tvar i = 0;\n\t\t\twhile (child) {\n\t\t\t\tcs[i++] = child;\n\t\t\t\tchild = child.nextSibling;\n\t\t\t}\n\t\t\tcs.length = i;\n\t\t\tdelete cs[cs.length];\n\t\t}\n\t}\n}\n\n/**\n * Removes the connections between `parentNode` and `child`\n * and any existing `child.previousSibling` or `child.nextSibling`.\n *\n * @see https://github.com/xmldom/xmldom/issues/135\n * @see https://github.com/xmldom/xmldom/issues/145\n *\n * @param {Node} parentNode\n * @param {Node} child\n * @returns {Node} the child that was removed.\n * @private\n */\nfunction _removeChild (parentNode, child) {\n\tvar previous = child.previousSibling;\n\tvar next = child.nextSibling;\n\tif (previous) {\n\t\tprevious.nextSibling = next;\n\t} else {\n\t\tparentNode.firstChild = next;\n\t}\n\tif (next) {\n\t\tnext.previousSibling = previous;\n\t} else {\n\t\tparentNode.lastChild = previous;\n\t}\n\tchild.parentNode = null;\n\tchild.previousSibling = null;\n\tchild.nextSibling = null;\n\t_onUpdateChild(parentNode.ownerDocument, parentNode);\n\treturn child;\n}\n\n/**\n * Returns `true` if `node` can be a parent for insertion.\n * @param {Node} node\n * @returns {boolean}\n */\nfunction hasValidParentNodeType(node) {\n\treturn (\n\t\tnode &&\n\t\t(node.nodeType === Node.DOCUMENT_NODE || node.nodeType === Node.DOCUMENT_FRAGMENT_NODE || node.nodeType === Node.ELEMENT_NODE)\n\t);\n}\n\n/**\n * Returns `true` if `node` can be inserted according to it's `nodeType`.\n * @param {Node} node\n * @returns {boolean}\n */\nfunction hasInsertableNodeType(node) {\n\treturn (\n\t\tnode &&\n\t\t(isElementNode(node) ||\n\t\t\tisTextNode(node) ||\n\t\t\tisDocTypeNode(node) ||\n\t\t\tnode.nodeType === Node.DOCUMENT_FRAGMENT_NODE ||\n\t\t\tnode.nodeType === Node.COMMENT_NODE ||\n\t\t\tnode.nodeType === Node.PROCESSING_INSTRUCTION_NODE)\n\t);\n}\n\n/**\n * Returns true if `node` is a DOCTYPE node\n * @param {Node} node\n * @returns {boolean}\n */\nfunction isDocTypeNode(node) {\n\treturn node && node.nodeType === Node.DOCUMENT_TYPE_NODE;\n}\n\n/**\n * Returns true if the node is an element\n * @param {Node} node\n * @returns {boolean}\n */\nfunction isElementNode(node) {\n\treturn node && node.nodeType === Node.ELEMENT_NODE;\n}\n/**\n * Returns true if `node` is a text node\n * @param {Node} node\n * @returns {boolean}\n */\nfunction isTextNode(node) {\n\treturn node && node.nodeType === Node.TEXT_NODE;\n}\n\n/**\n * Check if en element node can be inserted before `child`, or at the end if child is falsy,\n * according to the presence and position of a doctype node on the same level.\n *\n * @param {Document} doc The document node\n * @param {Node} child the node that would become the nextSibling if the element would be inserted\n * @returns {boolean} `true` if an element can be inserted before child\n * @private\n * https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n */\nfunction isElementInsertionPossible(doc, child) {\n\tvar parentChildNodes = doc.childNodes || [];\n\tif (find(parentChildNodes, isElementNode) || isDocTypeNode(child)) {\n\t\treturn false;\n\t}\n\tvar docTypeNode = find(parentChildNodes, isDocTypeNode);\n\treturn !(child && docTypeNode && parentChildNodes.indexOf(docTypeNode) > parentChildNodes.indexOf(child));\n}\n\n/**\n * Check if en element node can be inserted before `child`, or at the end if child is falsy,\n * according to the presence and position of a doctype node on the same level.\n *\n * @param {Node} doc The document node\n * @param {Node} child the node that would become the nextSibling if the element would be inserted\n * @returns {boolean} `true` if an element can be inserted before child\n * @private\n * https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n */\nfunction isElementReplacementPossible(doc, child) {\n\tvar parentChildNodes = doc.childNodes || [];\n\n\tfunction hasElementChildThatIsNotChild(node) {\n\t\treturn isElementNode(node) && node !== child;\n\t}\n\n\tif (find(parentChildNodes, hasElementChildThatIsNotChild)) {\n\t\treturn false;\n\t}\n\tvar docTypeNode = find(parentChildNodes, isDocTypeNode);\n\treturn !(child && docTypeNode && parentChildNodes.indexOf(docTypeNode) > parentChildNodes.indexOf(child));\n}\n\n/**\n * @private\n * Steps 1-5 of the checks before inserting and before replacing a child are the same.\n *\n * @param {Node} parent the parent node to insert `node` into\n * @param {Node} node the node to insert\n * @param {Node=} child the node that should become the `nextSibling` of `node`\n * @returns {Node}\n * @throws DOMException for several node combinations that would create a DOM that is not well-formed.\n * @throws DOMException if `child` is provided but is not a child of `parent`.\n * @see https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n * @see https://dom.spec.whatwg.org/#concept-node-replace\n */\nfunction assertPreInsertionValidity1to5(parent, node, child) {\n\t// 1. If `parent` is not a Document, DocumentFragment, or Element node, then throw a \"HierarchyRequestError\" DOMException.\n\tif (!hasValidParentNodeType(parent)) {\n\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Unexpected parent node type ' + parent.nodeType);\n\t}\n\t// 2. If `node` is a host-including inclusive ancestor of `parent`, then throw a \"HierarchyRequestError\" DOMException.\n\t// not implemented!\n\t// 3. If `child` is non-null and its parent is not `parent`, then throw a \"NotFoundError\" DOMException.\n\tif (child && child.parentNode !== parent) {\n\t\tthrow new DOMException(NOT_FOUND_ERR, 'child not in parent');\n\t}\n\tif (\n\t\t// 4. If `node` is not a DocumentFragment, DocumentType, Element, or CharacterData node, then throw a \"HierarchyRequestError\" DOMException.\n\t\t!hasInsertableNodeType(node) ||\n\t\t// 5. If either `node` is a Text node and `parent` is a document,\n\t\t// the sax parser currently adds top level text nodes, this will be fixed in 0.9.0\n\t\t// || (node.nodeType === Node.TEXT_NODE && parent.nodeType === Node.DOCUMENT_NODE)\n\t\t// or `node` is a doctype and `parent` is not a document, then throw a \"HierarchyRequestError\" DOMException.\n\t\t(isDocTypeNode(node) && parent.nodeType !== Node.DOCUMENT_NODE)\n\t) {\n\t\tthrow new DOMException(\n\t\t\tHIERARCHY_REQUEST_ERR,\n\t\t\t'Unexpected node type ' + node.nodeType + ' for parent node type ' + parent.nodeType\n\t\t);\n\t}\n}\n\n/**\n * @private\n * Step 6 of the checks before inserting and before replacing a child are different.\n *\n * @param {Document} parent the parent node to insert `node` into\n * @param {Node} node the node to insert\n * @param {Node | undefined} child the node that should become the `nextSibling` of `node`\n * @returns {Node}\n * @throws DOMException for several node combinations that would create a DOM that is not well-formed.\n * @throws DOMException if `child` is provided but is not a child of `parent`.\n * @see https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n * @see https://dom.spec.whatwg.org/#concept-node-replace\n */\nfunction assertPreInsertionValidityInDocument(parent, node, child) {\n\tvar parentChildNodes = parent.childNodes || [];\n\tvar nodeChildNodes = node.childNodes || [];\n\n\t// DocumentFragment\n\tif (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n\t\tvar nodeChildElements = nodeChildNodes.filter(isElementNode);\n\t\t// If node has more than one element child or has a Text node child.\n\t\tif (nodeChildElements.length > 1 || find(nodeChildNodes, isTextNode)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'More than one element or text in fragment');\n\t\t}\n\t\t// Otherwise, if `node` has one element child and either `parent` has an element child,\n\t\t// `child` is a doctype, or `child` is non-null and a doctype is following `child`.\n\t\tif (nodeChildElements.length === 1 && !isElementInsertionPossible(parent, child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Element in fragment can not be inserted before doctype');\n\t\t}\n\t}\n\t// Element\n\tif (isElementNode(node)) {\n\t\t// `parent` has an element child, `child` is a doctype,\n\t\t// or `child` is non-null and a doctype is following `child`.\n\t\tif (!isElementInsertionPossible(parent, child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Only one element can be added and only after doctype');\n\t\t}\n\t}\n\t// DocumentType\n\tif (isDocTypeNode(node)) {\n\t\t// `parent` has a doctype child,\n\t\tif (find(parentChildNodes, isDocTypeNode)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Only one doctype is allowed');\n\t\t}\n\t\tvar parentElementChild = find(parentChildNodes, isElementNode);\n\t\t// `child` is non-null and an element is preceding `child`,\n\t\tif (child && parentChildNodes.indexOf(parentElementChild) < parentChildNodes.indexOf(child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Doctype can only be inserted before an element');\n\t\t}\n\t\t// or `child` is null and `parent` has an element child.\n\t\tif (!child && parentElementChild) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Doctype can not be appended since element is present');\n\t\t}\n\t}\n}\n\n/**\n * @private\n * Step 6 of the checks before inserting and before replacing a child are different.\n *\n * @param {Document} parent the parent node to insert `node` into\n * @param {Node} node the node to insert\n * @param {Node | undefined} child the node that should become the `nextSibling` of `node`\n * @returns {Node}\n * @throws DOMException for several node combinations that would create a DOM that is not well-formed.\n * @throws DOMException if `child` is provided but is not a child of `parent`.\n * @see https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n * @see https://dom.spec.whatwg.org/#concept-node-replace\n */\nfunction assertPreReplacementValidityInDocument(parent, node, child) {\n\tvar parentChildNodes = parent.childNodes || [];\n\tvar nodeChildNodes = node.childNodes || [];\n\n\t// DocumentFragment\n\tif (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n\t\tvar nodeChildElements = nodeChildNodes.filter(isElementNode);\n\t\t// If `node` has more than one element child or has a Text node child.\n\t\tif (nodeChildElements.length > 1 || find(nodeChildNodes, isTextNode)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'More than one element or text in fragment');\n\t\t}\n\t\t// Otherwise, if `node` has one element child and either `parent` has an element child that is not `child` or a doctype is following `child`.\n\t\tif (nodeChildElements.length === 1 && !isElementReplacementPossible(parent, child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Element in fragment can not be inserted before doctype');\n\t\t}\n\t}\n\t// Element\n\tif (isElementNode(node)) {\n\t\t// `parent` has an element child that is not `child` or a doctype is following `child`.\n\t\tif (!isElementReplacementPossible(parent, child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Only one element can be added and only after doctype');\n\t\t}\n\t}\n\t// DocumentType\n\tif (isDocTypeNode(node)) {\n\t\tfunction hasDoctypeChildThatIsNotChild(node) {\n\t\t\treturn isDocTypeNode(node) && node !== child;\n\t\t}\n\n\t\t// `parent` has a doctype child that is not `child`,\n\t\tif (find(parentChildNodes, hasDoctypeChildThatIsNotChild)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Only one doctype is allowed');\n\t\t}\n\t\tvar parentElementChild = find(parentChildNodes, isElementNode);\n\t\t// or an element is preceding `child`.\n\t\tif (child && parentChildNodes.indexOf(parentElementChild) < parentChildNodes.indexOf(child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Doctype can only be inserted before an element');\n\t\t}\n\t}\n}\n\n/**\n * @private\n * @param {Node} parent the parent node to insert `node` into\n * @param {Node} node the node to insert\n * @param {Node=} child the node that should become the `nextSibling` of `node`\n * @returns {Node}\n * @throws DOMException for several node combinations that would create a DOM that is not well-formed.\n * @throws DOMException if `child` is provided but is not a child of `parent`.\n * @see https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n */\nfunction _insertBefore(parent, node, child, _inDocumentAssertion) {\n\t// To ensure pre-insertion validity of a node into a parent before a child, run these steps:\n\tassertPreInsertionValidity1to5(parent, node, child);\n\n\t// If parent is a document, and any of the statements below, switched on the interface node implements,\n\t// are true, then throw a \"HierarchyRequestError\" DOMException.\n\tif (parent.nodeType === Node.DOCUMENT_NODE) {\n\t\t(_inDocumentAssertion || assertPreInsertionValidityInDocument)(parent, node, child);\n\t}\n\n\tvar cp = node.parentNode;\n\tif(cp){\n\t\tcp.removeChild(node);//remove and update\n\t}\n\tif(node.nodeType === DOCUMENT_FRAGMENT_NODE){\n\t\tvar newFirst = node.firstChild;\n\t\tif (newFirst == null) {\n\t\t\treturn node;\n\t\t}\n\t\tvar newLast = node.lastChild;\n\t}else{\n\t\tnewFirst = newLast = node;\n\t}\n\tvar pre = child ? child.previousSibling : parent.lastChild;\n\n\tnewFirst.previousSibling = pre;\n\tnewLast.nextSibling = child;\n\n\n\tif(pre){\n\t\tpre.nextSibling = newFirst;\n\t}else{\n\t\tparent.firstChild = newFirst;\n\t}\n\tif(child == null){\n\t\tparent.lastChild = newLast;\n\t}else{\n\t\tchild.previousSibling = newLast;\n\t}\n\tdo{\n\t\tnewFirst.parentNode = parent;\n\t\t// Update ownerDocument for each node being inserted\n\t\tvar targetDoc = parent.ownerDocument || parent;\n\t\t_updateOwnerDocument(newFirst, targetDoc);\n\t}while(newFirst !== newLast && (newFirst= newFirst.nextSibling))\n\t_onUpdateChild(parent.ownerDocument||parent, parent);\n\t//console.log(parent.lastChild.nextSibling == null)\n\tif (node.nodeType == DOCUMENT_FRAGMENT_NODE) {\n\t\tnode.firstChild = node.lastChild = null;\n\t}\n\treturn node;\n}\n\n/**\n * Recursively updates the ownerDocument property for a node and all its descendants\n * @param {Node} node\n * @param {Document} newOwnerDocument\n * @private\n */\nfunction _updateOwnerDocument(node, newOwnerDocument) {\n\tif (node.ownerDocument === newOwnerDocument) {\n\t\treturn;\n\t}\n\t\n\tnode.ownerDocument = newOwnerDocument;\n\t\n\t// Update attributes if this is an element\n\tif (node.nodeType === ELEMENT_NODE && node.attributes) {\n\t\tfor (var i = 0; i < node.attributes.length; i++) {\n\t\t\tvar attr = node.attributes.item(i);\n\t\t\tif (attr) {\n\t\t\t\tattr.ownerDocument = newOwnerDocument;\n\t\t\t}\n\t\t}\n\t}\n\t\n\t// Recursively update child nodes\n\tvar child = node.firstChild;\n\twhile (child) {\n\t\t_updateOwnerDocument(child, newOwnerDocument);\n\t\tchild = child.nextSibling;\n\t}\n}\n\n/**\n * Appends `newChild` to `parentNode`.\n * If `newChild` is already connected to a `parentNode` it is first removed from it.\n *\n * @see https://github.com/xmldom/xmldom/issues/135\n * @see https://github.com/xmldom/xmldom/issues/145\n * @param {Node} parentNode\n * @param {Node} newChild\n * @returns {Node}\n * @private\n */\nfunction _appendSingleChild (parentNode, newChild) {\n\tif (newChild.parentNode) {\n\t\tnewChild.parentNode.removeChild(newChild);\n\t}\n\tnewChild.parentNode = parentNode;\n\tnewChild.previousSibling = parentNode.lastChild;\n\tnewChild.nextSibling = null;\n\tif (newChild.previousSibling) {\n\t\tnewChild.previousSibling.nextSibling = newChild;\n\t} else {\n\t\tparentNode.firstChild = newChild;\n\t}\n\tparentNode.lastChild = newChild;\n\t_onUpdateChild(parentNode.ownerDocument, parentNode, newChild);\n\t\n\t// Update ownerDocument for the new child and all its descendants\n\tvar targetDoc = parentNode.ownerDocument || parentNode;\n\t_updateOwnerDocument(newChild, targetDoc);\n\t\n\treturn newChild;\n}\n\nDocument.prototype = {\n\t//implementation : null,\n\tnodeName : '#document',\n\tnodeType : DOCUMENT_NODE,\n\t/**\n\t * The DocumentType node of the document.\n\t *\n\t * @readonly\n\t * @type DocumentType\n\t */\n\tdoctype : null,\n\tdocumentElement : null,\n\t_inc : 1,\n\n\tinsertBefore : function(newChild, refChild){//raises\n\t\tif(newChild.nodeType == DOCUMENT_FRAGMENT_NODE){\n\t\t\tvar child = newChild.firstChild;\n\t\t\twhile(child){\n\t\t\t\tvar next = child.nextSibling;\n\t\t\t\tthis.insertBefore(child,refChild);\n\t\t\t\tchild = next;\n\t\t\t}\n\t\t\treturn newChild;\n\t\t}\n\t\t_insertBefore(this, newChild, refChild);\n\t\t_updateOwnerDocument(newChild, this);\n\t\tif (this.documentElement === null && newChild.nodeType === ELEMENT_NODE) {\n\t\t\tthis.documentElement = newChild;\n\t\t}\n\n\t\treturn newChild;\n\t},\n\tremoveChild : function(oldChild){\n\t\tif(this.documentElement == oldChild){\n\t\t\tthis.documentElement = null;\n\t\t}\n\t\treturn _removeChild(this,oldChild);\n\t},\n\treplaceChild: function (newChild, oldChild) {\n\t\t//raises\n\t\t_insertBefore(this, newChild, oldChild, assertPreReplacementValidityInDocument);\n\t\t_updateOwnerDocument(newChild, this);\n\t\tif (oldChild) {\n\t\t\tthis.removeChild(oldChild);\n\t\t}\n\t\tif (isElementNode(newChild)) {\n\t\t\tthis.documentElement = newChild;\n\t\t}\n\t},\n\t// Introduced in DOM Level 2:\n\timportNode : function(importedNode,deep){\n\t\treturn importNode(this,importedNode,deep);\n\t},\n\t// Introduced in DOM Level 2:\n\tgetElementById :\tfunction(id){\n\t\tvar rtv = null;\n\t\t_visitNode(this.documentElement,function(node){\n\t\t\tif(node.nodeType == ELEMENT_NODE){\n\t\t\t\tif(node.getAttribute('id') == id){\n\t\t\t\t\trtv = node;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t\treturn rtv;\n\t},\n\n\t/**\n\t * The `getElementsByClassName` method of `Document` interface returns an array-like object\n\t * of all child elements which have **all** of the given class name(s).\n\t *\n\t * Returns an empty list if `classeNames` is an empty string or only contains HTML white space characters.\n\t *\n\t *\n\t * Warning: This is a live LiveNodeList.\n\t * Changes in the DOM will reflect in the array as the changes occur.\n\t * If an element selected by this array no longer qualifies for the selector,\n\t * it will automatically be removed. Be aware of this for iteration purposes.\n\t *\n\t * @param {string} classNames is a string representing the class name(s) to match; multiple class names are separated by (ASCII-)whitespace\n\t *\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByClassName\n\t * @see https://dom.spec.whatwg.org/#concept-getelementsbyclassname\n\t */\n\tgetElementsByClassName: function(classNames) {\n\t\tvar classNamesSet = toOrderedSet(classNames)\n\t\treturn new LiveNodeList(this, function(base) {\n\t\t\tvar ls = [];\n\t\t\tif (classNamesSet.length > 0) {\n\t\t\t\t_visitNode(base.documentElement, function(node) {\n\t\t\t\t\tif(node !== base && node.nodeType === ELEMENT_NODE) {\n\t\t\t\t\t\tvar nodeClassNames = node.getAttribute('class')\n\t\t\t\t\t\t// can be null if the attribute does not exist\n\t\t\t\t\t\tif (nodeClassNames) {\n\t\t\t\t\t\t\t// before splitting and iterating just compare them for the most common case\n\t\t\t\t\t\t\tvar matches = classNames === nodeClassNames;\n\t\t\t\t\t\t\tif (!matches) {\n\t\t\t\t\t\t\t\tvar nodeClassNamesSet = toOrderedSet(nodeClassNames)\n\t\t\t\t\t\t\t\tmatches = classNamesSet.every(arrayIncludes(nodeClassNamesSet))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif(matches) {\n\t\t\t\t\t\t\t\tls.push(node);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn ls;\n\t\t});\n\t},\n\n\t//document factory method:\n\tcreateElement :\tfunction(tagName){\n\t\tvar node = new Element();\n\t\tnode.ownerDocument = this;\n\t\tnode.nodeName = tagName;\n\t\tnode.tagName = tagName;\n\t\tnode.localName = tagName;\n\t\tnode.childNodes = new NodeList();\n\t\tvar attrs\t= node.attributes = new NamedNodeMap();\n\t\tattrs._ownerElement = node;\n\t\treturn node;\n\t},\n\tcreateDocumentFragment :\tfunction(){\n\t\tvar node = new DocumentFragment();\n\t\tnode.ownerDocument = this;\n\t\tnode.childNodes = new NodeList();\n\t\treturn node;\n\t},\n\tcreateTextNode :\tfunction(data){\n\t\tvar node = new Text();\n\t\tnode.ownerDocument = this;\n\t\tnode.appendData(data)\n\t\treturn node;\n\t},\n\tcreateComment :\tfunction(data){\n\t\tvar node = new Comment();\n\t\tnode.ownerDocument = this;\n\t\tnode.appendData(data)\n\t\treturn node;\n\t},\n\tcreateCDATASection :\tfunction(data){\n\t\tvar node = new CDATASection();\n\t\tnode.ownerDocument = this;\n\t\tnode.appendData(data)\n\t\treturn node;\n\t},\n\tcreateProcessingInstruction :\tfunction(target,data){\n\t\tvar node = new ProcessingInstruction();\n\t\tnode.ownerDocument = this;\n\t\tnode.tagName = node.nodeName = node.target = target;\n\t\tnode.nodeValue = node.data = data;\n\t\treturn node;\n\t},\n\tcreateAttribute :\tfunction(name){\n\t\tvar node = new Attr();\n\t\tnode.ownerDocument\t= this;\n\t\tnode.name = name;\n\t\tnode.nodeName\t= name;\n\t\tnode.localName = name;\n\t\tnode.specified = true;\n\t\treturn node;\n\t},\n\tcreateEntityReference :\tfunction(name){\n\t\tvar node = new EntityReference();\n\t\tnode.ownerDocument\t= this;\n\t\tnode.nodeName\t= name;\n\t\treturn node;\n\t},\n\t// Introduced in DOM Level 2:\n\tcreateElementNS :\tfunction(namespaceURI,qualifiedName){\n\t\tvar node = new Element();\n\t\tvar pl = qualifiedName.split(':');\n\t\tvar attrs\t= node.attributes = new NamedNodeMap();\n\t\tnode.childNodes = new NodeList();\n\t\tnode.ownerDocument = this;\n\t\tnode.nodeName = qualifiedName;\n\t\tnode.tagName = qualifiedName;\n\t\tnode.namespaceURI = namespaceURI;\n\t\tif(pl.length == 2){\n\t\t\tnode.prefix = pl[0];\n\t\t\tnode.localName = pl[1];\n\t\t}else{\n\t\t\t//el.prefix = null;\n\t\t\tnode.localName = qualifiedName;\n\t\t}\n\t\tattrs._ownerElement = node;\n\t\treturn node;\n\t},\n\t// Introduced in DOM Level 2:\n\tcreateAttributeNS :\tfunction(namespaceURI,qualifiedName){\n\t\tvar node = new Attr();\n\t\tvar pl = qualifiedName.split(':');\n\t\tnode.ownerDocument = this;\n\t\tnode.nodeName = qualifiedName;\n\t\tnode.name = qualifiedName;\n\t\tnode.namespaceURI = namespaceURI;\n\t\tnode.specified = true;\n\t\tif(pl.length == 2){\n\t\t\tnode.prefix = pl[0];\n\t\t\tnode.localName = pl[1];\n\t\t}else{\n\t\t\t//el.prefix = null;\n\t\t\tnode.localName = qualifiedName;\n\t\t}\n\t\treturn node;\n\t}\n};\n_extends(Document,Node);\n\n\nfunction Element() {\n\tthis._nsMap = {};\n};\nElement.prototype = {\n\tnodeType : ELEMENT_NODE,\n\thasAttribute : function(name){\n\t\treturn this.getAttributeNode(name)!=null;\n\t},\n\tgetAttribute : function(name){\n\t\tvar attr = this.getAttributeNode(name);\n\t\treturn attr && attr.value || '';\n\t},\n\tgetAttributeNode : function(name){\n\t\treturn this.attributes.getNamedItem(name);\n\t},\n\tsetAttribute : function(name, value){\n\t\tvar attr = this.ownerDocument.createAttribute(name);\n\t\tattr.value = attr.nodeValue = \"\" + value;\n\t\tthis.setAttributeNode(attr)\n\t},\n\tremoveAttribute : function(name){\n\t\tvar attr = this.getAttributeNode(name)\n\t\tattr && this.removeAttributeNode(attr);\n\t},\n\n\t//four real opeartion method\n\tappendChild:function(newChild){\n\t\tif(newChild.nodeType === DOCUMENT_FRAGMENT_NODE){\n\t\t\treturn this.insertBefore(newChild,null);\n\t\t}else{\n\t\t\treturn _appendSingleChild(this,newChild);\n\t\t}\n\t},\n\tsetAttributeNode : function(newAttr){\n\t\treturn this.attributes.setNamedItem(newAttr);\n\t},\n\tsetAttributeNodeNS : function(newAttr){\n\t\treturn this.attributes.setNamedItemNS(newAttr);\n\t},\n\tremoveAttributeNode : function(oldAttr){\n\t\t//console.log(this == oldAttr.ownerElement)\n\t\treturn this.attributes.removeNamedItem(oldAttr.nodeName);\n\t},\n\t//get real attribute name,and remove it by removeAttributeNode\n\tremoveAttributeNS : function(namespaceURI, localName){\n\t\tvar old = this.getAttributeNodeNS(namespaceURI, localName);\n\t\told && this.removeAttributeNode(old);\n\t},\n\n\thasAttributeNS : function(namespaceURI, localName){\n\t\treturn this.getAttributeNodeNS(namespaceURI, localName)!=null;\n\t},\n\tgetAttributeNS : function(namespaceURI, localName){\n\t\tvar attr = this.getAttributeNodeNS(namespaceURI, localName);\n\t\treturn attr && attr.value || '';\n\t},\n\tsetAttributeNS : function(namespaceURI, qualifiedName, value){\n\t\tvar attr = this.ownerDocument.createAttributeNS(namespaceURI, qualifiedName);\n\t\tattr.value = attr.nodeValue = \"\" + value;\n\t\tthis.setAttributeNode(attr)\n\t},\n\tgetAttributeNodeNS : function(namespaceURI, localName){\n\t\treturn this.attributes.getNamedItemNS(namespaceURI, localName);\n\t},\n\n\tgetElementsByTagName : function(tagName){\n\t\treturn new LiveNodeList(this,function(base){\n\t\t\tvar ls = [];\n\t\t\t_visitNode(base,function(node){\n\t\t\t\tif(node !== base && node.nodeType == ELEMENT_NODE && (tagName === '*' || node.tagName == tagName)){\n\t\t\t\t\tls.push(node);\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn ls;\n\t\t});\n\t},\n\tgetElementsByTagNameNS : function(namespaceURI, localName){\n\t\treturn new LiveNodeList(this,function(base){\n\t\t\tvar ls = [];\n\t\t\t_visitNode(base,function(node){\n\t\t\t\tif(node !== base && node.nodeType === ELEMENT_NODE && (namespaceURI === '*' || node.namespaceURI === namespaceURI) && (localName === '*' || node.localName == localName)){\n\t\t\t\t\tls.push(node);\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn ls;\n\n\t\t});\n\t}\n};\nDocument.prototype.getElementsByTagName = Element.prototype.getElementsByTagName;\nDocument.prototype.getElementsByTagNameNS = Element.prototype.getElementsByTagNameNS;\n\n\n_extends(Element,Node);\nfunction Attr() {\n};\nAttr.prototype.nodeType = ATTRIBUTE_NODE;\n_extends(Attr,Node);\n\n\nfunction CharacterData() {\n};\nCharacterData.prototype = {\n\tdata : '',\n\tsubstringData : function(offset, count) {\n\t\treturn this.data.substring(offset, offset+count);\n\t},\n\tappendData: function(text) {\n\t\ttext = this.data+text;\n\t\tthis.nodeValue = this.data = text;\n\t\tthis.length = text.length;\n\t},\n\tinsertData: function(offset,text) {\n\t\tthis.replaceData(offset,0,text);\n\n\t},\n\tappendChild:function(newChild){\n\t\tthrow new Error(ExceptionMessage[HIERARCHY_REQUEST_ERR])\n\t},\n\tdeleteData: function(offset, count) {\n\t\tthis.replaceData(offset,count,\"\");\n\t},\n\treplaceData: function(offset, count, text) {\n\t\tvar start = this.data.substring(0,offset);\n\t\tvar end = this.data.substring(offset+count);\n\t\ttext = start + text + end;\n\t\tthis.nodeValue = this.data = text;\n\t\tthis.length = text.length;\n\t}\n}\n_extends(CharacterData,Node);\nfunction Text() {\n};\nText.prototype = {\n\tnodeName : \"#text\",\n\tnodeType : TEXT_NODE,\n\tsplitText : function(offset) {\n\t\tvar text = this.data;\n\t\tvar newText = text.substring(offset);\n\t\ttext = text.substring(0, offset);\n\t\tthis.data = this.nodeValue = text;\n\t\tthis.length = text.length;\n\t\tvar newNode = this.ownerDocument.createTextNode(newText);\n\t\tif(this.parentNode){\n\t\t\tthis.parentNode.insertBefore(newNode, this.nextSibling);\n\t\t}\n\t\treturn newNode;\n\t}\n}\n_extends(Text,CharacterData);\nfunction Comment() {\n};\nComment.prototype = {\n\tnodeName : \"#comment\",\n\tnodeType : COMMENT_NODE\n}\n_extends(Comment,CharacterData);\n\nfunction CDATASection() {\n};\nCDATASection.prototype = {\n\tnodeName : \"#cdata-section\",\n\tnodeType : CDATA_SECTION_NODE\n}\n_extends(CDATASection,CharacterData);\n\n\nfunction DocumentType() {\n};\nDocumentType.prototype.nodeType = DOCUMENT_TYPE_NODE;\n_extends(DocumentType,Node);\n\nfunction Notation() {\n};\nNotation.prototype.nodeType = NOTATION_NODE;\n_extends(Notation,Node);\n\nfunction Entity() {\n};\nEntity.prototype.nodeType = ENTITY_NODE;\n_extends(Entity,Node);\n\nfunction EntityReference() {\n};\nEntityReference.prototype.nodeType = ENTITY_REFERENCE_NODE;\n_extends(EntityReference,Node);\n\nfunction DocumentFragment() {\n};\nDocumentFragment.prototype.nodeName =\t\"#document-fragment\";\nDocumentFragment.prototype.nodeType =\tDOCUMENT_FRAGMENT_NODE;\n_extends(DocumentFragment,Node);\n\n\nfunction ProcessingInstruction() {\n}\nProcessingInstruction.prototype.nodeType = PROCESSING_INSTRUCTION_NODE;\n_extends(ProcessingInstruction,Node);\nfunction XMLSerializer(){}\nXMLSerializer.prototype.serializeToString = function(node,isHtml,nodeFilter){\n\treturn nodeSerializeToString.call(node,isHtml,nodeFilter);\n}\nNode.prototype.toString = nodeSerializeToString;\nfunction nodeSerializeToString(isHtml,nodeFilter){\n\tvar buf = [];\n\tvar refNode = this.nodeType == 9 && this.documentElement || this;\n\tvar prefix = refNode.prefix;\n\tvar uri = refNode.namespaceURI;\n\n\tif(uri && prefix == null){\n\t\t//console.log(prefix)\n\t\tvar prefix = refNode.lookupPrefix(uri);\n\t\tif(prefix == null){\n\t\t\t//isHTML = true;\n\t\t\tvar visibleNamespaces=[\n\t\t\t{namespace:uri,prefix:null}\n\t\t\t//{namespace:uri,prefix:''}\n\t\t\t]\n\t\t}\n\t}\n\tserializeToString(this,buf,isHtml,nodeFilter,visibleNamespaces);\n\t//console.log('###',this.nodeType,uri,prefix,buf.join(''))\n\treturn buf.join('');\n}\n\nfunction needNamespaceDefine(node, isHTML, visibleNamespaces) {\n\tvar prefix = node.prefix || '';\n\tvar uri = node.namespaceURI;\n\t// According to [Namespaces in XML 1.0](https://www.w3.org/TR/REC-xml-names/#ns-using) ,\n\t// and more specifically https://www.w3.org/TR/REC-xml-names/#nsc-NoPrefixUndecl :\n\t// > In a namespace declaration for a prefix [...], the attribute value MUST NOT be empty.\n\t// in a similar manner [Namespaces in XML 1.1](https://www.w3.org/TR/xml-names11/#ns-using)\n\t// and more specifically https://www.w3.org/TR/xml-names11/#nsc-NSDeclared :\n\t// > [...] Furthermore, the attribute value [...] must not be an empty string.\n\t// so serializing empty namespace value like xmlns:ds=\"\" would produce an invalid XML document.\n\tif (!uri) {\n\t\treturn false;\n\t}\n\tif (prefix === \"xml\" && uri === NAMESPACE.XML || uri === NAMESPACE.XMLNS) {\n\t\treturn false;\n\t}\n\n\tvar i = visibleNamespaces.length\n\twhile (i--) {\n\t\tvar ns = visibleNamespaces[i];\n\t\t// get namespace prefix\n\t\tif (ns.prefix === prefix) {\n\t\t\treturn ns.namespace !== uri;\n\t\t}\n\t}\n\treturn true;\n}\n/**\n * Well-formed constraint: No < in Attribute Values\n * > The replacement text of any entity referred to directly or indirectly\n * > in an attribute value must not contain a <.\n * @see https://www.w3.org/TR/xml11/#CleanAttrVals\n * @see https://www.w3.org/TR/xml11/#NT-AttValue\n *\n * Literal whitespace other than space that appear in attribute values\n * are serialized as their entity references, so they will be preserved.\n * (In contrast to whitespace literals in the input which are normalized to spaces)\n * @see https://www.w3.org/TR/xml11/#AVNormalize\n * @see https://w3c.github.io/DOM-Parsing/#serializing-an-element-s-attributes\n */\nfunction addSerializedAttribute(buf, qualifiedName, value) {\n\tbuf.push(' ', qualifiedName, '=\"', value.replace(/[<>&\"\\t\\n\\r]/g, _xmlEncoder), '\"')\n}\n\nfunction serializeToString(node,buf,isHTML,nodeFilter,visibleNamespaces){\n\tif (!visibleNamespaces) {\n\t\tvisibleNamespaces = [];\n\t}\n\n\tif(nodeFilter){\n\t\tnode = nodeFilter(node);\n\t\tif(node){\n\t\t\tif(typeof node == 'string'){\n\t\t\t\tbuf.push(node);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}else{\n\t\t\treturn;\n\t\t}\n\t\t//buf.sort.apply(attrs, attributeSorter);\n\t}\n\n\tswitch(node.nodeType){\n\tcase ELEMENT_NODE:\n\t\tvar attrs = node.attributes;\n\t\tvar len = attrs.length;\n\t\tvar child = node.firstChild;\n\t\tvar nodeName = node.tagName;\n\n\t\tisHTML = NAMESPACE.isHTML(node.namespaceURI) || isHTML\n\n\t\tvar prefixedNodeName = nodeName\n\t\tif (!isHTML && !node.prefix && node.namespaceURI) {\n\t\t\tvar defaultNS\n\t\t\t// lookup current default ns from `xmlns` attribute\n\t\t\tfor (var ai = 0; ai < attrs.length; ai++) {\n\t\t\t\tif (attrs.item(ai).name === 'xmlns') {\n\t\t\t\t\tdefaultNS = attrs.item(ai).value\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!defaultNS) {\n\t\t\t\t// lookup current default ns in visibleNamespaces\n\t\t\t\tfor (var nsi = visibleNamespaces.length - 1; nsi >= 0; nsi--) {\n\t\t\t\t\tvar namespace = visibleNamespaces[nsi]\n\t\t\t\t\tif (namespace.prefix === '' && namespace.namespace === node.namespaceURI) {\n\t\t\t\t\t\tdefaultNS = namespace.namespace\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (defaultNS !== node.namespaceURI) {\n\t\t\t\tfor (var nsi = visibleNamespaces.length - 1; nsi >= 0; nsi--) {\n\t\t\t\t\tvar namespace = visibleNamespaces[nsi]\n\t\t\t\t\tif (namespace.namespace === node.namespaceURI) {\n\t\t\t\t\t\tif (namespace.prefix) {\n\t\t\t\t\t\t\tprefixedNodeName = namespace.prefix + ':' + nodeName\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tbuf.push('<', prefixedNodeName);\n\n\t\tfor(var i=0;i<len;i++){\n\t\t\t// add namespaces for attributes\n\t\t\tvar attr = attrs.item(i);\n\t\t\tif (attr.prefix == 'xmlns') {\n\t\t\t\tvisibleNamespaces.push({ prefix: attr.localName, namespace: attr.value });\n\t\t\t}else if(attr.nodeName == 'xmlns'){\n\t\t\t\tvisibleNamespaces.push({ prefix: '', namespace: attr.value });\n\t\t\t}\n\t\t}\n\n\t\tfor(var i=0;i<len;i++){\n\t\t\tvar attr = attrs.item(i);\n\t\t\tif (needNamespaceDefine(attr,isHTML, visibleNamespaces)) {\n\t\t\t\tvar prefix = attr.prefix||'';\n\t\t\t\tvar uri = attr.namespaceURI;\n\t\t\t\taddSerializedAttribute(buf, prefix ? 'xmlns:' + prefix : \"xmlns\", uri);\n\t\t\t\tvisibleNamespaces.push({ prefix: prefix, namespace:uri });\n\t\t\t}\n\t\t\tserializeToString(attr,buf,isHTML,nodeFilter,visibleNamespaces);\n\t\t}\n\n\t\t// add namespace for current node\n\t\tif (nodeName === prefixedNodeName && needNamespaceDefine(node, isHTML, visibleNamespaces)) {\n\t\t\tvar prefix = node.prefix||'';\n\t\t\tvar uri = node.namespaceURI;\n\t\t\taddSerializedAttribute(buf, prefix ? 'xmlns:' + prefix : \"xmlns\", uri);\n\t\t\tvisibleNamespaces.push({ prefix: prefix, namespace:uri });\n\t\t}\n\n\t\tif(child || isHTML && !/^(?:meta|link|img|br|hr|input)$/i.test(nodeName)){\n\t\t\tbuf.push('>');\n\t\t\t//if is cdata child node\n\t\t\tif(isHTML && /^script$/i.test(nodeName)){\n\t\t\t\twhile(child){\n\t\t\t\t\tif(child.data){\n\t\t\t\t\t\tbuf.push(child.data);\n\t\t\t\t\t}else{\n\t\t\t\t\t\tserializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces.slice());\n\t\t\t\t\t}\n\t\t\t\t\tchild = child.nextSibling;\n\t\t\t\t}\n\t\t\t}else\n\t\t\t{\n\t\t\t\twhile(child){\n\t\t\t\t\tserializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces.slice());\n\t\t\t\t\tchild = child.nextSibling;\n\t\t\t\t}\n\t\t\t}\n\t\t\tbuf.push('</',prefixedNodeName,'>');\n\t\t}else{\n\t\t\tbuf.push('/>');\n\t\t}\n\t\t// remove added visible namespaces\n\t\t//visibleNamespaces.length = startVisibleNamespaces;\n\t\treturn;\n\tcase DOCUMENT_NODE:\n\tcase DOCUMENT_FRAGMENT_NODE:\n\t\tvar child = node.firstChild;\n\t\twhile(child){\n\t\t\tserializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces.slice());\n\t\t\tchild = child.nextSibling;\n\t\t}\n\t\treturn;\n\tcase ATTRIBUTE_NODE:\n\t\treturn addSerializedAttribute(buf, node.name, node.value);\n\tcase TEXT_NODE:\n\t\t/**\n\t\t * The ampersand character (&) and the left angle bracket (<) must not appear in their literal form,\n\t\t * except when used as markup delimiters, or within a comment, a processing instruction, or a CDATA section.\n\t\t * If they are needed elsewhere, they must be escaped using either numeric character references or the strings\n\t\t * `&` and `<` respectively.\n\t\t * The right angle bracket (>) may be represented using the string \" > \", and must, for compatibility,\n\t\t * be escaped using either `>` or a character reference when it appears in the string `]]>` in content,\n\t\t * when that string is not marking the end of a CDATA section.\n\t\t *\n\t\t * In the content of elements, character data is any string of characters\n\t\t * which does not contain the start-delimiter of any markup\n\t\t * and does not include the CDATA-section-close delimiter, `]]>`.\n\t\t *\n\t\t * @see https://www.w3.org/TR/xml/#NT-CharData\n\t\t * @see https://w3c.github.io/DOM-Parsing/#xml-serializing-a-text-node\n\t\t */\n\t\treturn buf.push(node.data\n\t\t\t.replace(/[<&>]/g,_xmlEncoder)\n\t\t);\n\tcase CDATA_SECTION_NODE:\n\t\treturn buf.push( '<![CDATA[',node.data,']]>');\n\tcase COMMENT_NODE:\n\t\treturn buf.push( \"<!--\",node.data,\"-->\");\n\tcase DOCUMENT_TYPE_NODE:\n\t\tvar pubid = node.publicId;\n\t\tvar sysid = node.systemId;\n\t\tbuf.push('<!DOCTYPE ',node.name);\n\t\tif(pubid){\n\t\t\tbuf.push(' PUBLIC ', pubid);\n\t\t\tif (sysid && sysid!='.') {\n\t\t\t\tbuf.push(' ', sysid);\n\t\t\t}\n\t\t\tbuf.push('>');\n\t\t}else if(sysid && sysid!='.'){\n\t\t\tbuf.push(' SYSTEM ', sysid, '>');\n\t\t}else{\n\t\t\tvar sub = node.internalSubset;\n\t\t\tif(sub){\n\t\t\t\tbuf.push(\" [\",sub,\"]\");\n\t\t\t}\n\t\t\tbuf.push(\">\");\n\t\t}\n\t\treturn;\n\tcase PROCESSING_INSTRUCTION_NODE:\n\t\treturn buf.push( \"<?\",node.target,\" \",node.data,\"?>\");\n\tcase ENTITY_REFERENCE_NODE:\n\t\treturn buf.push( '&',node.nodeName,';');\n\t//case ENTITY_NODE:\n\t//case NOTATION_NODE:\n\tdefault:\n\t\tbuf.push('??',node.nodeName);\n\t}\n}\nfunction importNode(doc,node,deep){\n\tvar node2;\n\tswitch (node.nodeType) {\n\tcase ELEMENT_NODE:\n\t\tnode2 = node.cloneNode(false);\n\t\tnode2.ownerDocument = doc;\n\t\t//var attrs = node2.attributes;\n\t\t//var len = attrs.length;\n\t\t//for(var i=0;i<len;i++){\n\t\t\t//node2.setAttributeNodeNS(importNode(doc,attrs.item(i),deep));\n\t\t//}\n\tcase DOCUMENT_FRAGMENT_NODE:\n\t\tbreak;\n\tcase ATTRIBUTE_NODE:\n\t\tdeep = true;\n\t\tbreak;\n\t//case ENTITY_REFERENCE_NODE:\n\t//case PROCESSING_INSTRUCTION_NODE:\n\t////case TEXT_NODE:\n\t//case CDATA_SECTION_NODE:\n\t//case COMMENT_NODE:\n\t//\tdeep = false;\n\t//\tbreak;\n\t//case DOCUMENT_NODE:\n\t//case DOCUMENT_TYPE_NODE:\n\t//cannot be imported.\n\t//case ENTITY_NODE:\n\t//case NOTATION_NODE:\n\t//can not hit in level3\n\t//default:throw e;\n\t}\n\tif(!node2){\n\t\tnode2 = node.cloneNode(false);//false\n\t}\n\tnode2.ownerDocument = doc;\n\tnode2.parentNode = null;\n\tif(deep){\n\t\tvar child = node.firstChild;\n\t\twhile(child){\n\t\t\tnode2.appendChild(importNode(doc,child,deep));\n\t\t\tchild = child.nextSibling;\n\t\t}\n\t}\n\treturn node2;\n}\n//\n//var _relationMap = {firstChild:1,lastChild:1,previousSibling:1,nextSibling:1,\n//\t\t\t\t\tattributes:1,childNodes:1,parentNode:1,documentElement:1,doctype,};\nfunction cloneNode(doc,node,deep){\n\tvar node2 = new node.constructor();\n\tfor (var n in node) {\n\t\tif (Object.prototype.hasOwnProperty.call(node, n)) {\n\t\t\tvar v = node[n];\n\t\t\tif (typeof v != \"object\") {\n\t\t\t\tif (v != node2[n]) {\n\t\t\t\t\tnode2[n] = v;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tif(node.childNodes){\n\t\tnode2.childNodes = new NodeList();\n\t}\n\tnode2.ownerDocument = doc;\n\tswitch (node2.nodeType) {\n\tcase ELEMENT_NODE:\n\t\tvar attrs\t= node.attributes;\n\t\tvar attrs2\t= node2.attributes = new NamedNodeMap();\n\t\tvar len = attrs.length\n\t\tattrs2._ownerElement = node2;\n\t\tfor(var i=0;i<len;i++){\n\t\t\tnode2.setAttributeNode(cloneNode(doc,attrs.item(i),true));\n\t\t}\n\t\tbreak;;\n\tcase ATTRIBUTE_NODE:\n\t\tdeep = true;\n\t}\n\tif(deep){\n\t\tvar child = node.firstChild;\n\t\twhile(child){\n\t\t\tnode2.appendChild(cloneNode(doc,child,deep));\n\t\t\tchild = child.nextSibling;\n\t\t}\n\t}\n\treturn node2;\n}\n\nfunction __set__(object,key,value){\n\tobject[key] = value\n}\n//do dynamic\ntry{\n\tif(Object.defineProperty){\n\t\tObject.defineProperty(LiveNodeList.prototype,'length',{\n\t\t\tget:function(){\n\t\t\t\t_updateLiveList(this);\n\t\t\t\treturn this.$$length;\n\t\t\t}\n\t\t});\n\n\t\tObject.defineProperty(Node.prototype,'textContent',{\n\t\t\tget:function(){\n\t\t\t\treturn getTextContent(this);\n\t\t\t},\n\n\t\t\tset:function(data){\n\t\t\t\tswitch(this.nodeType){\n\t\t\t\tcase ELEMENT_NODE:\n\t\t\t\tcase DOCUMENT_FRAGMENT_NODE:\n\t\t\t\t\twhile(this.firstChild){\n\t\t\t\t\t\tthis.removeChild(this.firstChild);\n\t\t\t\t\t}\n\t\t\t\t\tif(data || String(data)){\n\t\t\t\t\t\tthis.appendChild(this.ownerDocument.createTextNode(data));\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\t\t\t\t\tthis.data = data;\n\t\t\t\t\tthis.value = data;\n\t\t\t\t\tthis.nodeValue = data;\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\tfunction getTextContent(node){\n\t\t\tswitch(node.nodeType){\n\t\t\tcase ELEMENT_NODE:\n\t\t\tcase DOCUMENT_FRAGMENT_NODE:\n\t\t\t\tvar buf = [];\n\t\t\t\tnode = node.firstChild;\n\t\t\t\twhile(node){\n\t\t\t\t\tif(node.nodeType!==7 && node.nodeType !==8){\n\t\t\t\t\t\tbuf.push(getTextContent(node));\n\t\t\t\t\t}\n\t\t\t\t\tnode = node.nextSibling;\n\t\t\t\t}\n\t\t\t\treturn buf.join('');\n\t\t\tdefault:\n\t\t\t\treturn node.nodeValue;\n\t\t\t}\n\t\t}\n\n\t\t__set__ = function(object,key,value){\n\t\t\t//console.log(value)\n\t\t\tobject['$$'+key] = value\n\t\t}\n\t}\n}catch(e){//ie8\n}\n\n//if(typeof require == 'function'){\n\texports.DocumentType = DocumentType;\n\texports.DOMException = DOMException;\n\texports.DOMImplementation = DOMImplementation;\n\texports.Element = Element;\n\texports.Node = Node;\n\texports.NodeList = NodeList;\n\texports.XMLSerializer = XMLSerializer;\n//}\n","'use strict';\n\nvar freeze = require('./conventions').freeze;\n\n/**\n * The entities that are predefined in every XML document.\n *\n * @see https://www.w3.org/TR/2006/REC-xml11-20060816/#sec-predefined-ent W3C XML 1.1\n * @see https://www.w3.org/TR/2008/REC-xml-20081126/#sec-predefined-ent W3C XML 1.0\n * @see https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Predefined_entities_in_XML Wikipedia\n */\nexports.XML_ENTITIES = freeze({\n\tamp: '&',\n\tapos: \"'\",\n\tgt: '>',\n\tlt: '<',\n\tquot: '\"',\n});\n\n/**\n * A map of all entities that are detected in an HTML document.\n * They contain all entries from `XML_ENTITIES`.\n *\n * @see XML_ENTITIES\n * @see DOMParser.parseFromString\n * @see DOMImplementation.prototype.createHTMLDocument\n * @see https://html.spec.whatwg.org/#named-character-references WHATWG HTML(5) Spec\n * @see https://html.spec.whatwg.org/entities.json JSON\n * @see https://www.w3.org/TR/xml-entity-names/ W3C XML Entity Names\n * @see https://www.w3.org/TR/html4/sgml/entities.html W3C HTML4/SGML\n * @see https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Character_entity_references_in_HTML Wikipedia (HTML)\n * @see https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Entities_representing_special_characters_in_XHTML Wikpedia (XHTML)\n */\nexports.HTML_ENTITIES = freeze({\n\tAacute: '\\u00C1',\n\taacute: '\\u00E1',\n\tAbreve: '\\u0102',\n\tabreve: '\\u0103',\n\tac: '\\u223E',\n\tacd: '\\u223F',\n\tacE: '\\u223E\\u0333',\n\tAcirc: '\\u00C2',\n\tacirc: '\\u00E2',\n\tacute: '\\u00B4',\n\tAcy: '\\u0410',\n\tacy: '\\u0430',\n\tAElig: '\\u00C6',\n\taelig: '\\u00E6',\n\taf: '\\u2061',\n\tAfr: '\\uD835\\uDD04',\n\tafr: '\\uD835\\uDD1E',\n\tAgrave: '\\u00C0',\n\tagrave: '\\u00E0',\n\talefsym: '\\u2135',\n\taleph: '\\u2135',\n\tAlpha: '\\u0391',\n\talpha: '\\u03B1',\n\tAmacr: '\\u0100',\n\tamacr: '\\u0101',\n\tamalg: '\\u2A3F',\n\tAMP: '\\u0026',\n\tamp: '\\u0026',\n\tAnd: '\\u2A53',\n\tand: '\\u2227',\n\tandand: '\\u2A55',\n\tandd: '\\u2A5C',\n\tandslope: '\\u2A58',\n\tandv: '\\u2A5A',\n\tang: '\\u2220',\n\tange: '\\u29A4',\n\tangle: '\\u2220',\n\tangmsd: '\\u2221',\n\tangmsdaa: '\\u29A8',\n\tangmsdab: '\\u29A9',\n\tangmsdac: '\\u29AA',\n\tangmsdad: '\\u29AB',\n\tangmsdae: '\\u29AC',\n\tangmsdaf: '\\u29AD',\n\tangmsdag: '\\u29AE',\n\tangmsdah: '\\u29AF',\n\tangrt: '\\u221F',\n\tangrtvb: '\\u22BE',\n\tangrtvbd: '\\u299D',\n\tangsph: '\\u2222',\n\tangst: '\\u00C5',\n\tangzarr: '\\u237C',\n\tAogon: '\\u0104',\n\taogon: '\\u0105',\n\tAopf: '\\uD835\\uDD38',\n\taopf: '\\uD835\\uDD52',\n\tap: '\\u2248',\n\tapacir: '\\u2A6F',\n\tapE: '\\u2A70',\n\tape: '\\u224A',\n\tapid: '\\u224B',\n\tapos: '\\u0027',\n\tApplyFunction: '\\u2061',\n\tapprox: '\\u2248',\n\tapproxeq: '\\u224A',\n\tAring: '\\u00C5',\n\taring: '\\u00E5',\n\tAscr: '\\uD835\\uDC9C',\n\tascr: '\\uD835\\uDCB6',\n\tAssign: '\\u2254',\n\tast: '\\u002A',\n\tasymp: '\\u2248',\n\tasympeq: '\\u224D',\n\tAtilde: '\\u00C3',\n\tatilde: '\\u00E3',\n\tAuml: '\\u00C4',\n\tauml: '\\u00E4',\n\tawconint: '\\u2233',\n\tawint: '\\u2A11',\n\tbackcong: '\\u224C',\n\tbackepsilon: '\\u03F6',\n\tbackprime: '\\u2035',\n\tbacksim: '\\u223D',\n\tbacksimeq: '\\u22CD',\n\tBackslash: '\\u2216',\n\tBarv: '\\u2AE7',\n\tbarvee: '\\u22BD',\n\tBarwed: '\\u2306',\n\tbarwed: '\\u2305',\n\tbarwedge: '\\u2305',\n\tbbrk: '\\u23B5',\n\tbbrktbrk: '\\u23B6',\n\tbcong: '\\u224C',\n\tBcy: '\\u0411',\n\tbcy: '\\u0431',\n\tbdquo: '\\u201E',\n\tbecaus: '\\u2235',\n\tBecause: '\\u2235',\n\tbecause: '\\u2235',\n\tbemptyv: '\\u29B0',\n\tbepsi: '\\u03F6',\n\tbernou: '\\u212C',\n\tBernoullis: '\\u212C',\n\tBeta: '\\u0392',\n\tbeta: '\\u03B2',\n\tbeth: '\\u2136',\n\tbetween: '\\u226C',\n\tBfr: '\\uD835\\uDD05',\n\tbfr: '\\uD835\\uDD1F',\n\tbigcap: '\\u22C2',\n\tbigcirc: '\\u25EF',\n\tbigcup: '\\u22C3',\n\tbigodot: '\\u2A00',\n\tbigoplus: '\\u2A01',\n\tbigotimes: '\\u2A02',\n\tbigsqcup: '\\u2A06',\n\tbigstar: '\\u2605',\n\tbigtriangledown: '\\u25BD',\n\tbigtriangleup: '\\u25B3',\n\tbiguplus: '\\u2A04',\n\tbigvee: '\\u22C1',\n\tbigwedge: '\\u22C0',\n\tbkarow: '\\u290D',\n\tblacklozenge: '\\u29EB',\n\tblacksquare: '\\u25AA',\n\tblacktriangle: '\\u25B4',\n\tblacktriangledown: '\\u25BE',\n\tblacktriangleleft: '\\u25C2',\n\tblacktriangleright: '\\u25B8',\n\tblank: '\\u2423',\n\tblk12: '\\u2592',\n\tblk14: '\\u2591',\n\tblk34: '\\u2593',\n\tblock: '\\u2588',\n\tbne: '\\u003D\\u20E5',\n\tbnequiv: '\\u2261\\u20E5',\n\tbNot: '\\u2AED',\n\tbnot: '\\u2310',\n\tBopf: '\\uD835\\uDD39',\n\tbopf: '\\uD835\\uDD53',\n\tbot: '\\u22A5',\n\tbottom: '\\u22A5',\n\tbowtie: '\\u22C8',\n\tboxbox: '\\u29C9',\n\tboxDL: '\\u2557',\n\tboxDl: '\\u2556',\n\tboxdL: '\\u2555',\n\tboxdl: '\\u2510',\n\tboxDR: '\\u2554',\n\tboxDr: '\\u2553',\n\tboxdR: '\\u2552',\n\tboxdr: '\\u250C',\n\tboxH: '\\u2550',\n\tboxh: '\\u2500',\n\tboxHD: '\\u2566',\n\tboxHd: '\\u2564',\n\tboxhD: '\\u2565',\n\tboxhd: '\\u252C',\n\tboxHU: '\\u2569',\n\tboxHu: '\\u2567',\n\tboxhU: '\\u2568',\n\tboxhu: '\\u2534',\n\tboxminus: '\\u229F',\n\tboxplus: '\\u229E',\n\tboxtimes: '\\u22A0',\n\tboxUL: '\\u255D',\n\tboxUl: '\\u255C',\n\tboxuL: '\\u255B',\n\tboxul: '\\u2518',\n\tboxUR: '\\u255A',\n\tboxUr: '\\u2559',\n\tboxuR: '\\u2558',\n\tboxur: '\\u2514',\n\tboxV: '\\u2551',\n\tboxv: '\\u2502',\n\tboxVH: '\\u256C',\n\tboxVh: '\\u256B',\n\tboxvH: '\\u256A',\n\tboxvh: '\\u253C',\n\tboxVL: '\\u2563',\n\tboxVl: '\\u2562',\n\tboxvL: '\\u2561',\n\tboxvl: '\\u2524',\n\tboxVR: '\\u2560',\n\tboxVr: '\\u255F',\n\tboxvR: '\\u255E',\n\tboxvr: '\\u251C',\n\tbprime: '\\u2035',\n\tBreve: '\\u02D8',\n\tbreve: '\\u02D8',\n\tbrvbar: '\\u00A6',\n\tBscr: '\\u212C',\n\tbscr: '\\uD835\\uDCB7',\n\tbsemi: '\\u204F',\n\tbsim: '\\u223D',\n\tbsime: '\\u22CD',\n\tbsol: '\\u005C',\n\tbsolb: '\\u29C5',\n\tbsolhsub: '\\u27C8',\n\tbull: '\\u2022',\n\tbullet: '\\u2022',\n\tbump: '\\u224E',\n\tbumpE: '\\u2AAE',\n\tbumpe: '\\u224F',\n\tBumpeq: '\\u224E',\n\tbumpeq: '\\u224F',\n\tCacute: '\\u0106',\n\tcacute: '\\u0107',\n\tCap: '\\u22D2',\n\tcap: '\\u2229',\n\tcapand: '\\u2A44',\n\tcapbrcup: '\\u2A49',\n\tcapcap: '\\u2A4B',\n\tcapcup: '\\u2A47',\n\tcapdot: '\\u2A40',\n\tCapitalDifferentialD: '\\u2145',\n\tcaps: '\\u2229\\uFE00',\n\tcaret: '\\u2041',\n\tcaron: '\\u02C7',\n\tCayleys: '\\u212D',\n\tccaps: '\\u2A4D',\n\tCcaron: '\\u010C',\n\tccaron: '\\u010D',\n\tCcedil: '\\u00C7',\n\tccedil: '\\u00E7',\n\tCcirc: '\\u0108',\n\tccirc: '\\u0109',\n\tCconint: '\\u2230',\n\tccups: '\\u2A4C',\n\tccupssm: '\\u2A50',\n\tCdot: '\\u010A',\n\tcdot: '\\u010B',\n\tcedil: '\\u00B8',\n\tCedilla: '\\u00B8',\n\tcemptyv: '\\u29B2',\n\tcent: '\\u00A2',\n\tCenterDot: '\\u00B7',\n\tcenterdot: '\\u00B7',\n\tCfr: '\\u212D',\n\tcfr: '\\uD835\\uDD20',\n\tCHcy: '\\u0427',\n\tchcy: '\\u0447',\n\tcheck: '\\u2713',\n\tcheckmark: '\\u2713',\n\tChi: '\\u03A7',\n\tchi: '\\u03C7',\n\tcir: '\\u25CB',\n\tcirc: '\\u02C6',\n\tcirceq: '\\u2257',\n\tcirclearrowleft: '\\u21BA',\n\tcirclearrowright: '\\u21BB',\n\tcircledast: '\\u229B',\n\tcircledcirc: '\\u229A',\n\tcircleddash: '\\u229D',\n\tCircleDot: '\\u2299',\n\tcircledR: '\\u00AE',\n\tcircledS: '\\u24C8',\n\tCircleMinus: '\\u2296',\n\tCirclePlus: '\\u2295',\n\tCircleTimes: '\\u2297',\n\tcirE: '\\u29C3',\n\tcire: '\\u2257',\n\tcirfnint: '\\u2A10',\n\tcirmid: '\\u2AEF',\n\tcirscir: '\\u29C2',\n\tClockwiseContourIntegral: '\\u2232',\n\tCloseCurlyDoubleQuote: '\\u201D',\n\tCloseCurlyQuote: '\\u2019',\n\tclubs: '\\u2663',\n\tclubsuit: '\\u2663',\n\tColon: '\\u2237',\n\tcolon: '\\u003A',\n\tColone: '\\u2A74',\n\tcolone: '\\u2254',\n\tcoloneq: '\\u2254',\n\tcomma: '\\u002C',\n\tcommat: '\\u0040',\n\tcomp: '\\u2201',\n\tcompfn: '\\u2218',\n\tcomplement: '\\u2201',\n\tcomplexes: '\\u2102',\n\tcong: '\\u2245',\n\tcongdot: '\\u2A6D',\n\tCongruent: '\\u2261',\n\tConint: '\\u222F',\n\tconint: '\\u222E',\n\tContourIntegral: '\\u222E',\n\tCopf: '\\u2102',\n\tcopf: '\\uD835\\uDD54',\n\tcoprod: '\\u2210',\n\tCoproduct: '\\u2210',\n\tCOPY: '\\u00A9',\n\tcopy: '\\u00A9',\n\tcopysr: '\\u2117',\n\tCounterClockwiseContourIntegral: '\\u2233',\n\tcrarr: '\\u21B5',\n\tCross: '\\u2A2F',\n\tcross: '\\u2717',\n\tCscr: '\\uD835\\uDC9E',\n\tcscr: '\\uD835\\uDCB8',\n\tcsub: '\\u2ACF',\n\tcsube: '\\u2AD1',\n\tcsup: '\\u2AD0',\n\tcsupe: '\\u2AD2',\n\tctdot: '\\u22EF',\n\tcudarrl: '\\u2938',\n\tcudarrr: '\\u2935',\n\tcuepr: '\\u22DE',\n\tcuesc: '\\u22DF',\n\tcularr: '\\u21B6',\n\tcularrp: '\\u293D',\n\tCup: '\\u22D3',\n\tcup: '\\u222A',\n\tcupbrcap: '\\u2A48',\n\tCupCap: '\\u224D',\n\tcupcap: '\\u2A46',\n\tcupcup: '\\u2A4A',\n\tcupdot: '\\u228D',\n\tcupor: '\\u2A45',\n\tcups: '\\u222A\\uFE00',\n\tcurarr: '\\u21B7',\n\tcurarrm: '\\u293C',\n\tcurlyeqprec: '\\u22DE',\n\tcurlyeqsucc: '\\u22DF',\n\tcurlyvee: '\\u22CE',\n\tcurlywedge: '\\u22CF',\n\tcurren: '\\u00A4',\n\tcurvearrowleft: '\\u21B6',\n\tcurvearrowright: '\\u21B7',\n\tcuvee: '\\u22CE',\n\tcuwed: '\\u22CF',\n\tcwconint: '\\u2232',\n\tcwint: '\\u2231',\n\tcylcty: '\\u232D',\n\tDagger: '\\u2021',\n\tdagger: '\\u2020',\n\tdaleth: '\\u2138',\n\tDarr: '\\u21A1',\n\tdArr: '\\u21D3',\n\tdarr: '\\u2193',\n\tdash: '\\u2010',\n\tDashv: '\\u2AE4',\n\tdashv: '\\u22A3',\n\tdbkarow: '\\u290F',\n\tdblac: '\\u02DD',\n\tDcaron: '\\u010E',\n\tdcaron: '\\u010F',\n\tDcy: '\\u0414',\n\tdcy: '\\u0434',\n\tDD: '\\u2145',\n\tdd: '\\u2146',\n\tddagger: '\\u2021',\n\tddarr: '\\u21CA',\n\tDDotrahd: '\\u2911',\n\tddotseq: '\\u2A77',\n\tdeg: '\\u00B0',\n\tDel: '\\u2207',\n\tDelta: '\\u0394',\n\tdelta: '\\u03B4',\n\tdemptyv: '\\u29B1',\n\tdfisht: '\\u297F',\n\tDfr: '\\uD835\\uDD07',\n\tdfr: '\\uD835\\uDD21',\n\tdHar: '\\u2965',\n\tdharl: '\\u21C3',\n\tdharr: '\\u21C2',\n\tDiacriticalAcute: '\\u00B4',\n\tDiacriticalDot: '\\u02D9',\n\tDiacriticalDoubleAcute: '\\u02DD',\n\tDiacriticalGrave: '\\u0060',\n\tDiacriticalTilde: '\\u02DC',\n\tdiam: '\\u22C4',\n\tDiamond: '\\u22C4',\n\tdiamond: '\\u22C4',\n\tdiamondsuit: '\\u2666',\n\tdiams: '\\u2666',\n\tdie: '\\u00A8',\n\tDifferentialD: '\\u2146',\n\tdigamma: '\\u03DD',\n\tdisin: '\\u22F2',\n\tdiv: '\\u00F7',\n\tdivide: '\\u00F7',\n\tdivideontimes: '\\u22C7',\n\tdivonx: '\\u22C7',\n\tDJcy: '\\u0402',\n\tdjcy: '\\u0452',\n\tdlcorn: '\\u231E',\n\tdlcrop: '\\u230D',\n\tdollar: '\\u0024',\n\tDopf: '\\uD835\\uDD3B',\n\tdopf: '\\uD835\\uDD55',\n\tDot: '\\u00A8',\n\tdot: '\\u02D9',\n\tDotDot: '\\u20DC',\n\tdoteq: '\\u2250',\n\tdoteqdot: '\\u2251',\n\tDotEqual: '\\u2250',\n\tdotminus: '\\u2238',\n\tdotplus: '\\u2214',\n\tdotsquare: '\\u22A1',\n\tdoublebarwedge: '\\u2306',\n\tDoubleContourIntegral: '\\u222F',\n\tDoubleDot: '\\u00A8',\n\tDoubleDownArrow: '\\u21D3',\n\tDoubleLeftArrow: '\\u21D0',\n\tDoubleLeftRightArrow: '\\u21D4',\n\tDoubleLeftTee: '\\u2AE4',\n\tDoubleLongLeftArrow: '\\u27F8',\n\tDoubleLongLeftRightArrow: '\\u27FA',\n\tDoubleLongRightArrow: '\\u27F9',\n\tDoubleRightArrow: '\\u21D2',\n\tDoubleRightTee: '\\u22A8',\n\tDoubleUpArrow: '\\u21D1',\n\tDoubleUpDownArrow: '\\u21D5',\n\tDoubleVerticalBar: '\\u2225',\n\tDownArrow: '\\u2193',\n\tDownarrow: '\\u21D3',\n\tdownarrow: '\\u2193',\n\tDownArrowBar: '\\u2913',\n\tDownArrowUpArrow: '\\u21F5',\n\tDownBreve: '\\u0311',\n\tdowndownarrows: '\\u21CA',\n\tdownharpoonleft: '\\u21C3',\n\tdownharpoonright: '\\u21C2',\n\tDownLeftRightVector: '\\u2950',\n\tDownLeftTeeVector: '\\u295E',\n\tDownLeftVector: '\\u21BD',\n\tDownLeftVectorBar: '\\u2956',\n\tDownRightTeeVector: '\\u295F',\n\tDownRightVector: '\\u21C1',\n\tDownRightVectorBar: '\\u2957',\n\tDownTee: '\\u22A4',\n\tDownTeeArrow: '\\u21A7',\n\tdrbkarow: '\\u2910',\n\tdrcorn: '\\u231F',\n\tdrcrop: '\\u230C',\n\tDscr: '\\uD835\\uDC9F',\n\tdscr: '\\uD835\\uDCB9',\n\tDScy: '\\u0405',\n\tdscy: '\\u0455',\n\tdsol: '\\u29F6',\n\tDstrok: '\\u0110',\n\tdstrok: '\\u0111',\n\tdtdot: '\\u22F1',\n\tdtri: '\\u25BF',\n\tdtrif: '\\u25BE',\n\tduarr: '\\u21F5',\n\tduhar: '\\u296F',\n\tdwangle: '\\u29A6',\n\tDZcy: '\\u040F',\n\tdzcy: '\\u045F',\n\tdzigrarr: '\\u27FF',\n\tEacute: '\\u00C9',\n\teacute: '\\u00E9',\n\teaster: '\\u2A6E',\n\tEcaron: '\\u011A',\n\tecaron: '\\u011B',\n\tecir: '\\u2256',\n\tEcirc: '\\u00CA',\n\tecirc: '\\u00EA',\n\tecolon: '\\u2255',\n\tEcy: '\\u042D',\n\tecy: '\\u044D',\n\teDDot: '\\u2A77',\n\tEdot: '\\u0116',\n\teDot: '\\u2251',\n\tedot: '\\u0117',\n\tee: '\\u2147',\n\tefDot: '\\u2252',\n\tEfr: '\\uD835\\uDD08',\n\tefr: '\\uD835\\uDD22',\n\teg: '\\u2A9A',\n\tEgrave: '\\u00C8',\n\tegrave: '\\u00E8',\n\tegs: '\\u2A96',\n\tegsdot: '\\u2A98',\n\tel: '\\u2A99',\n\tElement: '\\u2208',\n\telinters: '\\u23E7',\n\tell: '\\u2113',\n\tels: '\\u2A95',\n\telsdot: '\\u2A97',\n\tEmacr: '\\u0112',\n\temacr: '\\u0113',\n\tempty: '\\u2205',\n\temptyset: '\\u2205',\n\tEmptySmallSquare: '\\u25FB',\n\temptyv: '\\u2205',\n\tEmptyVerySmallSquare: '\\u25AB',\n\temsp: '\\u2003',\n\temsp13: '\\u2004',\n\temsp14: '\\u2005',\n\tENG: '\\u014A',\n\teng: '\\u014B',\n\tensp: '\\u2002',\n\tEogon: '\\u0118',\n\teogon: '\\u0119',\n\tEopf: '\\uD835\\uDD3C',\n\teopf: '\\uD835\\uDD56',\n\tepar: '\\u22D5',\n\teparsl: '\\u29E3',\n\teplus: '\\u2A71',\n\tepsi: '\\u03B5',\n\tEpsilon: '\\u0395',\n\tepsilon: '\\u03B5',\n\tepsiv: '\\u03F5',\n\teqcirc: '\\u2256',\n\teqcolon: '\\u2255',\n\teqsim: '\\u2242',\n\teqslantgtr: '\\u2A96',\n\teqslantless: '\\u2A95',\n\tEqual: '\\u2A75',\n\tequals: '\\u003D',\n\tEqualTilde: '\\u2242',\n\tequest: '\\u225F',\n\tEquilibrium: '\\u21CC',\n\tequiv: '\\u2261',\n\tequivDD: '\\u2A78',\n\teqvparsl: '\\u29E5',\n\terarr: '\\u2971',\n\terDot: '\\u2253',\n\tEscr: '\\u2130',\n\tescr: '\\u212F',\n\tesdot: '\\u2250',\n\tEsim: '\\u2A73',\n\tesim: '\\u2242',\n\tEta: '\\u0397',\n\teta: '\\u03B7',\n\tETH: '\\u00D0',\n\teth: '\\u00F0',\n\tEuml: '\\u00CB',\n\teuml: '\\u00EB',\n\teuro: '\\u20AC',\n\texcl: '\\u0021',\n\texist: '\\u2203',\n\tExists: '\\u2203',\n\texpectation: '\\u2130',\n\tExponentialE: '\\u2147',\n\texponentiale: '\\u2147',\n\tfallingdotseq: '\\u2252',\n\tFcy: '\\u0424',\n\tfcy: '\\u0444',\n\tfemale: '\\u2640',\n\tffilig: '\\uFB03',\n\tfflig: '\\uFB00',\n\tffllig: '\\uFB04',\n\tFfr: '\\uD835\\uDD09',\n\tffr: '\\uD835\\uDD23',\n\tfilig: '\\uFB01',\n\tFilledSmallSquare: '\\u25FC',\n\tFilledVerySmallSquare: '\\u25AA',\n\tfjlig: '\\u0066\\u006A',\n\tflat: '\\u266D',\n\tfllig: '\\uFB02',\n\tfltns: '\\u25B1',\n\tfnof: '\\u0192',\n\tFopf: '\\uD835\\uDD3D',\n\tfopf: '\\uD835\\uDD57',\n\tForAll: '\\u2200',\n\tforall: '\\u2200',\n\tfork: '\\u22D4',\n\tforkv: '\\u2AD9',\n\tFouriertrf: '\\u2131',\n\tfpartint: '\\u2A0D',\n\tfrac12: '\\u00BD',\n\tfrac13: '\\u2153',\n\tfrac14: '\\u00BC',\n\tfrac15: '\\u2155',\n\tfrac16: '\\u2159',\n\tfrac18: '\\u215B',\n\tfrac23: '\\u2154',\n\tfrac25: '\\u2156',\n\tfrac34: '\\u00BE',\n\tfrac35: '\\u2157',\n\tfrac38: '\\u215C',\n\tfrac45: '\\u2158',\n\tfrac56: '\\u215A',\n\tfrac58: '\\u215D',\n\tfrac78: '\\u215E',\n\tfrasl: '\\u2044',\n\tfrown: '\\u2322',\n\tFscr: '\\u2131',\n\tfscr: '\\uD835\\uDCBB',\n\tgacute: '\\u01F5',\n\tGamma: '\\u0393',\n\tgamma: '\\u03B3',\n\tGammad: '\\u03DC',\n\tgammad: '\\u03DD',\n\tgap: '\\u2A86',\n\tGbreve: '\\u011E',\n\tgbreve: '\\u011F',\n\tGcedil: '\\u0122',\n\tGcirc: '\\u011C',\n\tgcirc: '\\u011D',\n\tGcy: '\\u0413',\n\tgcy: '\\u0433',\n\tGdot: '\\u0120',\n\tgdot: '\\u0121',\n\tgE: '\\u2267',\n\tge: '\\u2265',\n\tgEl: '\\u2A8C',\n\tgel: '\\u22DB',\n\tgeq: '\\u2265',\n\tgeqq: '\\u2267',\n\tgeqslant: '\\u2A7E',\n\tges: '\\u2A7E',\n\tgescc: '\\u2AA9',\n\tgesdot: '\\u2A80',\n\tgesdoto: '\\u2A82',\n\tgesdotol: '\\u2A84',\n\tgesl: '\\u22DB\\uFE00',\n\tgesles: '\\u2A94',\n\tGfr: '\\uD835\\uDD0A',\n\tgfr: '\\uD835\\uDD24',\n\tGg: '\\u22D9',\n\tgg: '\\u226B',\n\tggg: '\\u22D9',\n\tgimel: '\\u2137',\n\tGJcy: '\\u0403',\n\tgjcy: '\\u0453',\n\tgl: '\\u2277',\n\tgla: '\\u2AA5',\n\tglE: '\\u2A92',\n\tglj: '\\u2AA4',\n\tgnap: '\\u2A8A',\n\tgnapprox: '\\u2A8A',\n\tgnE: '\\u2269',\n\tgne: '\\u2A88',\n\tgneq: '\\u2A88',\n\tgneqq: '\\u2269',\n\tgnsim: '\\u22E7',\n\tGopf: '\\uD835\\uDD3E',\n\tgopf: '\\uD835\\uDD58',\n\tgrave: '\\u0060',\n\tGreaterEqual: '\\u2265',\n\tGreaterEqualLess: '\\u22DB',\n\tGreaterFullEqual: '\\u2267',\n\tGreaterGreater: '\\u2AA2',\n\tGreaterLess: '\\u2277',\n\tGreaterSlantEqual: '\\u2A7E',\n\tGreaterTilde: '\\u2273',\n\tGscr: '\\uD835\\uDCA2',\n\tgscr: '\\u210A',\n\tgsim: '\\u2273',\n\tgsime: '\\u2A8E',\n\tgsiml: '\\u2A90',\n\tGt: '\\u226B',\n\tGT: '\\u003E',\n\tgt: '\\u003E',\n\tgtcc: '\\u2AA7',\n\tgtcir: '\\u2A7A',\n\tgtdot: '\\u22D7',\n\tgtlPar: '\\u2995',\n\tgtquest: '\\u2A7C',\n\tgtrapprox: '\\u2A86',\n\tgtrarr: '\\u2978',\n\tgtrdot: '\\u22D7',\n\tgtreqless: '\\u22DB',\n\tgtreqqless: '\\u2A8C',\n\tgtrless: '\\u2277',\n\tgtrsim: '\\u2273',\n\tgvertneqq: '\\u2269\\uFE00',\n\tgvnE: '\\u2269\\uFE00',\n\tHacek: '\\u02C7',\n\thairsp: '\\u200A',\n\thalf: '\\u00BD',\n\thamilt: '\\u210B',\n\tHARDcy: '\\u042A',\n\thardcy: '\\u044A',\n\thArr: '\\u21D4',\n\tharr: '\\u2194',\n\tharrcir: '\\u2948',\n\tharrw: '\\u21AD',\n\tHat: '\\u005E',\n\thbar: '\\u210F',\n\tHcirc: '\\u0124',\n\thcirc: '\\u0125',\n\thearts: '\\u2665',\n\theartsuit: '\\u2665',\n\thellip: '\\u2026',\n\thercon: '\\u22B9',\n\tHfr: '\\u210C',\n\thfr: '\\uD835\\uDD25',\n\tHilbertSpace: '\\u210B',\n\thksearow: '\\u2925',\n\thkswarow: '\\u2926',\n\thoarr: '\\u21FF',\n\thomtht: '\\u223B',\n\thookleftarrow: '\\u21A9',\n\thookrightarrow: '\\u21AA',\n\tHopf: '\\u210D',\n\thopf: '\\uD835\\uDD59',\n\thorbar: '\\u2015',\n\tHorizontalLine: '\\u2500',\n\tHscr: '\\u210B',\n\thscr: '\\uD835\\uDCBD',\n\thslash: '\\u210F',\n\tHstrok: '\\u0126',\n\thstrok: '\\u0127',\n\tHumpDownHump: '\\u224E',\n\tHumpEqual: '\\u224F',\n\thybull: '\\u2043',\n\thyphen: '\\u2010',\n\tIacute: '\\u00CD',\n\tiacute: '\\u00ED',\n\tic: '\\u2063',\n\tIcirc: '\\u00CE',\n\ticirc: '\\u00EE',\n\tIcy: '\\u0418',\n\ticy: '\\u0438',\n\tIdot: '\\u0130',\n\tIEcy: '\\u0415',\n\tiecy: '\\u0435',\n\tiexcl: '\\u00A1',\n\tiff: '\\u21D4',\n\tIfr: '\\u2111',\n\tifr: '\\uD835\\uDD26',\n\tIgrave: '\\u00CC',\n\tigrave: '\\u00EC',\n\tii: '\\u2148',\n\tiiiint: '\\u2A0C',\n\tiiint: '\\u222D',\n\tiinfin: '\\u29DC',\n\tiiota: '\\u2129',\n\tIJlig: '\\u0132',\n\tijlig: '\\u0133',\n\tIm: '\\u2111',\n\tImacr: '\\u012A',\n\timacr: '\\u012B',\n\timage: '\\u2111',\n\tImaginaryI: '\\u2148',\n\timagline: '\\u2110',\n\timagpart: '\\u2111',\n\timath: '\\u0131',\n\timof: '\\u22B7',\n\timped: '\\u01B5',\n\tImplies: '\\u21D2',\n\tin: '\\u2208',\n\tincare: '\\u2105',\n\tinfin: '\\u221E',\n\tinfintie: '\\u29DD',\n\tinodot: '\\u0131',\n\tInt: '\\u222C',\n\tint: '\\u222B',\n\tintcal: '\\u22BA',\n\tintegers: '\\u2124',\n\tIntegral: '\\u222B',\n\tintercal: '\\u22BA',\n\tIntersection: '\\u22C2',\n\tintlarhk: '\\u2A17',\n\tintprod: '\\u2A3C',\n\tInvisibleComma: '\\u2063',\n\tInvisibleTimes: '\\u2062',\n\tIOcy: '\\u0401',\n\tiocy: '\\u0451',\n\tIogon: '\\u012E',\n\tiogon: '\\u012F',\n\tIopf: '\\uD835\\uDD40',\n\tiopf: '\\uD835\\uDD5A',\n\tIota: '\\u0399',\n\tiota: '\\u03B9',\n\tiprod: '\\u2A3C',\n\tiquest: '\\u00BF',\n\tIscr: '\\u2110',\n\tiscr: '\\uD835\\uDCBE',\n\tisin: '\\u2208',\n\tisindot: '\\u22F5',\n\tisinE: '\\u22F9',\n\tisins: '\\u22F4',\n\tisinsv: '\\u22F3',\n\tisinv: '\\u2208',\n\tit: '\\u2062',\n\tItilde: '\\u0128',\n\titilde: '\\u0129',\n\tIukcy: '\\u0406',\n\tiukcy: '\\u0456',\n\tIuml: '\\u00CF',\n\tiuml: '\\u00EF',\n\tJcirc: '\\u0134',\n\tjcirc: '\\u0135',\n\tJcy: '\\u0419',\n\tjcy: '\\u0439',\n\tJfr: '\\uD835\\uDD0D',\n\tjfr: '\\uD835\\uDD27',\n\tjmath: '\\u0237',\n\tJopf: '\\uD835\\uDD41',\n\tjopf: '\\uD835\\uDD5B',\n\tJscr: '\\uD835\\uDCA5',\n\tjscr: '\\uD835\\uDCBF',\n\tJsercy: '\\u0408',\n\tjsercy: '\\u0458',\n\tJukcy: '\\u0404',\n\tjukcy: '\\u0454',\n\tKappa: '\\u039A',\n\tkappa: '\\u03BA',\n\tkappav: '\\u03F0',\n\tKcedil: '\\u0136',\n\tkcedil: '\\u0137',\n\tKcy: '\\u041A',\n\tkcy: '\\u043A',\n\tKfr: '\\uD835\\uDD0E',\n\tkfr: '\\uD835\\uDD28',\n\tkgreen: '\\u0138',\n\tKHcy: '\\u0425',\n\tkhcy: '\\u0445',\n\tKJcy: '\\u040C',\n\tkjcy: '\\u045C',\n\tKopf: '\\uD835\\uDD42',\n\tkopf: '\\uD835\\uDD5C',\n\tKscr: '\\uD835\\uDCA6',\n\tkscr: '\\uD835\\uDCC0',\n\tlAarr: '\\u21DA',\n\tLacute: '\\u0139',\n\tlacute: '\\u013A',\n\tlaemptyv: '\\u29B4',\n\tlagran: '\\u2112',\n\tLambda: '\\u039B',\n\tlambda: '\\u03BB',\n\tLang: '\\u27EA',\n\tlang: '\\u27E8',\n\tlangd: '\\u2991',\n\tlangle: '\\u27E8',\n\tlap: '\\u2A85',\n\tLaplacetrf: '\\u2112',\n\tlaquo: '\\u00AB',\n\tLarr: '\\u219E',\n\tlArr: '\\u21D0',\n\tlarr: '\\u2190',\n\tlarrb: '\\u21E4',\n\tlarrbfs: '\\u291F',\n\tlarrfs: '\\u291D',\n\tlarrhk: '\\u21A9',\n\tlarrlp: '\\u21AB',\n\tlarrpl: '\\u2939',\n\tlarrsim: '\\u2973',\n\tlarrtl: '\\u21A2',\n\tlat: '\\u2AAB',\n\tlAtail: '\\u291B',\n\tlatail: '\\u2919',\n\tlate: '\\u2AAD',\n\tlates: '\\u2AAD\\uFE00',\n\tlBarr: '\\u290E',\n\tlbarr: '\\u290C',\n\tlbbrk: '\\u2772',\n\tlbrace: '\\u007B',\n\tlbrack: '\\u005B',\n\tlbrke: '\\u298B',\n\tlbrksld: '\\u298F',\n\tlbrkslu: '\\u298D',\n\tLcaron: '\\u013D',\n\tlcaron: '\\u013E',\n\tLcedil: '\\u013B',\n\tlcedil: '\\u013C',\n\tlceil: '\\u2308',\n\tlcub: '\\u007B',\n\tLcy: '\\u041B',\n\tlcy: '\\u043B',\n\tldca: '\\u2936',\n\tldquo: '\\u201C',\n\tldquor: '\\u201E',\n\tldrdhar: '\\u2967',\n\tldrushar: '\\u294B',\n\tldsh: '\\u21B2',\n\tlE: '\\u2266',\n\tle: '\\u2264',\n\tLeftAngleBracket: '\\u27E8',\n\tLeftArrow: '\\u2190',\n\tLeftarrow: '\\u21D0',\n\tleftarrow: '\\u2190',\n\tLeftArrowBar: '\\u21E4',\n\tLeftArrowRightArrow: '\\u21C6',\n\tleftarrowtail: '\\u21A2',\n\tLeftCeiling: '\\u2308',\n\tLeftDoubleBracket: '\\u27E6',\n\tLeftDownTeeVector: '\\u2961',\n\tLeftDownVector: '\\u21C3',\n\tLeftDownVectorBar: '\\u2959',\n\tLeftFloor: '\\u230A',\n\tleftharpoondown: '\\u21BD',\n\tleftharpoonup: '\\u21BC',\n\tleftleftarrows: '\\u21C7',\n\tLeftRightArrow: '\\u2194',\n\tLeftrightarrow: '\\u21D4',\n\tleftrightarrow: '\\u2194',\n\tleftrightarrows: '\\u21C6',\n\tleftrightharpoons: '\\u21CB',\n\tleftrightsquigarrow: '\\u21AD',\n\tLeftRightVector: '\\u294E',\n\tLeftTee: '\\u22A3',\n\tLeftTeeArrow: '\\u21A4',\n\tLeftTeeVector: '\\u295A',\n\tleftthreetimes: '\\u22CB',\n\tLeftTriangle: '\\u22B2',\n\tLeftTriangleBar: '\\u29CF',\n\tLeftTriangleEqual: '\\u22B4',\n\tLeftUpDownVector: '\\u2951',\n\tLeftUpTeeVector: '\\u2960',\n\tLeftUpVector: '\\u21BF',\n\tLeftUpVectorBar: '\\u2958',\n\tLeftVector: '\\u21BC',\n\tLeftVectorBar: '\\u2952',\n\tlEg: '\\u2A8B',\n\tleg: '\\u22DA',\n\tleq: '\\u2264',\n\tleqq: '\\u2266',\n\tleqslant: '\\u2A7D',\n\tles: '\\u2A7D',\n\tlescc: '\\u2AA8',\n\tlesdot: '\\u2A7F',\n\tlesdoto: '\\u2A81',\n\tlesdotor: '\\u2A83',\n\tlesg: '\\u22DA\\uFE00',\n\tlesges: '\\u2A93',\n\tlessapprox: '\\u2A85',\n\tlessdot: '\\u22D6',\n\tlesseqgtr: '\\u22DA',\n\tlesseqqgtr: '\\u2A8B',\n\tLessEqualGreater: '\\u22DA',\n\tLessFullEqual: '\\u2266',\n\tLessGreater: '\\u2276',\n\tlessgtr: '\\u2276',\n\tLessLess: '\\u2AA1',\n\tlesssim: '\\u2272',\n\tLessSlantEqual: '\\u2A7D',\n\tLessTilde: '\\u2272',\n\tlfisht: '\\u297C',\n\tlfloor: '\\u230A',\n\tLfr: '\\uD835\\uDD0F',\n\tlfr: '\\uD835\\uDD29',\n\tlg: '\\u2276',\n\tlgE: '\\u2A91',\n\tlHar: '\\u2962',\n\tlhard: '\\u21BD',\n\tlharu: '\\u21BC',\n\tlharul: '\\u296A',\n\tlhblk: '\\u2584',\n\tLJcy: '\\u0409',\n\tljcy: '\\u0459',\n\tLl: '\\u22D8',\n\tll: '\\u226A',\n\tllarr: '\\u21C7',\n\tllcorner: '\\u231E',\n\tLleftarrow: '\\u21DA',\n\tllhard: '\\u296B',\n\tlltri: '\\u25FA',\n\tLmidot: '\\u013F',\n\tlmidot: '\\u0140',\n\tlmoust: '\\u23B0',\n\tlmoustache: '\\u23B0',\n\tlnap: '\\u2A89',\n\tlnapprox: '\\u2A89',\n\tlnE: '\\u2268',\n\tlne: '\\u2A87',\n\tlneq: '\\u2A87',\n\tlneqq: '\\u2268',\n\tlnsim: '\\u22E6',\n\tloang: '\\u27EC',\n\tloarr: '\\u21FD',\n\tlobrk: '\\u27E6',\n\tLongLeftArrow: '\\u27F5',\n\tLongleftarrow: '\\u27F8',\n\tlongleftarrow: '\\u27F5',\n\tLongLeftRightArrow: '\\u27F7',\n\tLongleftrightarrow: '\\u27FA',\n\tlongleftrightarrow: '\\u27F7',\n\tlongmapsto: '\\u27FC',\n\tLongRightArrow: '\\u27F6',\n\tLongrightarrow: '\\u27F9',\n\tlongrightarrow: '\\u27F6',\n\tlooparrowleft: '\\u21AB',\n\tlooparrowright: '\\u21AC',\n\tlopar: '\\u2985',\n\tLopf: '\\uD835\\uDD43',\n\tlopf: '\\uD835\\uDD5D',\n\tloplus: '\\u2A2D',\n\tlotimes: '\\u2A34',\n\tlowast: '\\u2217',\n\tlowbar: '\\u005F',\n\tLowerLeftArrow: '\\u2199',\n\tLowerRightArrow: '\\u2198',\n\tloz: '\\u25CA',\n\tlozenge: '\\u25CA',\n\tlozf: '\\u29EB',\n\tlpar: '\\u0028',\n\tlparlt: '\\u2993',\n\tlrarr: '\\u21C6',\n\tlrcorner: '\\u231F',\n\tlrhar: '\\u21CB',\n\tlrhard: '\\u296D',\n\tlrm: '\\u200E',\n\tlrtri: '\\u22BF',\n\tlsaquo: '\\u2039',\n\tLscr: '\\u2112',\n\tlscr: '\\uD835\\uDCC1',\n\tLsh: '\\u21B0',\n\tlsh: '\\u21B0',\n\tlsim: '\\u2272',\n\tlsime: '\\u2A8D',\n\tlsimg: '\\u2A8F',\n\tlsqb: '\\u005B',\n\tlsquo: '\\u2018',\n\tlsquor: '\\u201A',\n\tLstrok: '\\u0141',\n\tlstrok: '\\u0142',\n\tLt: '\\u226A',\n\tLT: '\\u003C',\n\tlt: '\\u003C',\n\tltcc: '\\u2AA6',\n\tltcir: '\\u2A79',\n\tltdot: '\\u22D6',\n\tlthree: '\\u22CB',\n\tltimes: '\\u22C9',\n\tltlarr: '\\u2976',\n\tltquest: '\\u2A7B',\n\tltri: '\\u25C3',\n\tltrie: '\\u22B4',\n\tltrif: '\\u25C2',\n\tltrPar: '\\u2996',\n\tlurdshar: '\\u294A',\n\tluruhar: '\\u2966',\n\tlvertneqq: '\\u2268\\uFE00',\n\tlvnE: '\\u2268\\uFE00',\n\tmacr: '\\u00AF',\n\tmale: '\\u2642',\n\tmalt: '\\u2720',\n\tmaltese: '\\u2720',\n\tMap: '\\u2905',\n\tmap: '\\u21A6',\n\tmapsto: '\\u21A6',\n\tmapstodown: '\\u21A7',\n\tmapstoleft: '\\u21A4',\n\tmapstoup: '\\u21A5',\n\tmarker: '\\u25AE',\n\tmcomma: '\\u2A29',\n\tMcy: '\\u041C',\n\tmcy: '\\u043C',\n\tmdash: '\\u2014',\n\tmDDot: '\\u223A',\n\tmeasuredangle: '\\u2221',\n\tMediumSpace: '\\u205F',\n\tMellintrf: '\\u2133',\n\tMfr: '\\uD835\\uDD10',\n\tmfr: '\\uD835\\uDD2A',\n\tmho: '\\u2127',\n\tmicro: '\\u00B5',\n\tmid: '\\u2223',\n\tmidast: '\\u002A',\n\tmidcir: '\\u2AF0',\n\tmiddot: '\\u00B7',\n\tminus: '\\u2212',\n\tminusb: '\\u229F',\n\tminusd: '\\u2238',\n\tminusdu: '\\u2A2A',\n\tMinusPlus: '\\u2213',\n\tmlcp: '\\u2ADB',\n\tmldr: '\\u2026',\n\tmnplus: '\\u2213',\n\tmodels: '\\u22A7',\n\tMopf: '\\uD835\\uDD44',\n\tmopf: '\\uD835\\uDD5E',\n\tmp: '\\u2213',\n\tMscr: '\\u2133',\n\tmscr: '\\uD835\\uDCC2',\n\tmstpos: '\\u223E',\n\tMu: '\\u039C',\n\tmu: '\\u03BC',\n\tmultimap: '\\u22B8',\n\tmumap: '\\u22B8',\n\tnabla: '\\u2207',\n\tNacute: '\\u0143',\n\tnacute: '\\u0144',\n\tnang: '\\u2220\\u20D2',\n\tnap: '\\u2249',\n\tnapE: '\\u2A70\\u0338',\n\tnapid: '\\u224B\\u0338',\n\tnapos: '\\u0149',\n\tnapprox: '\\u2249',\n\tnatur: '\\u266E',\n\tnatural: '\\u266E',\n\tnaturals: '\\u2115',\n\tnbsp: '\\u00A0',\n\tnbump: '\\u224E\\u0338',\n\tnbumpe: '\\u224F\\u0338',\n\tncap: '\\u2A43',\n\tNcaron: '\\u0147',\n\tncaron: '\\u0148',\n\tNcedil: '\\u0145',\n\tncedil: '\\u0146',\n\tncong: '\\u2247',\n\tncongdot: '\\u2A6D\\u0338',\n\tncup: '\\u2A42',\n\tNcy: '\\u041D',\n\tncy: '\\u043D',\n\tndash: '\\u2013',\n\tne: '\\u2260',\n\tnearhk: '\\u2924',\n\tneArr: '\\u21D7',\n\tnearr: '\\u2197',\n\tnearrow: '\\u2197',\n\tnedot: '\\u2250\\u0338',\n\tNegativeMediumSpace: '\\u200B',\n\tNegativeThickSpace: '\\u200B',\n\tNegativeThinSpace: '\\u200B',\n\tNegativeVeryThinSpace: '\\u200B',\n\tnequiv: '\\u2262',\n\tnesear: '\\u2928',\n\tnesim: '\\u2242\\u0338',\n\tNestedGreaterGreater: '\\u226B',\n\tNestedLessLess: '\\u226A',\n\tNewLine: '\\u000A',\n\tnexist: '\\u2204',\n\tnexists: '\\u2204',\n\tNfr: '\\uD835\\uDD11',\n\tnfr: '\\uD835\\uDD2B',\n\tngE: '\\u2267\\u0338',\n\tnge: '\\u2271',\n\tngeq: '\\u2271',\n\tngeqq: '\\u2267\\u0338',\n\tngeqslant: '\\u2A7E\\u0338',\n\tnges: '\\u2A7E\\u0338',\n\tnGg: '\\u22D9\\u0338',\n\tngsim: '\\u2275',\n\tnGt: '\\u226B\\u20D2',\n\tngt: '\\u226F',\n\tngtr: '\\u226F',\n\tnGtv: '\\u226B\\u0338',\n\tnhArr: '\\u21CE',\n\tnharr: '\\u21AE',\n\tnhpar: '\\u2AF2',\n\tni: '\\u220B',\n\tnis: '\\u22FC',\n\tnisd: '\\u22FA',\n\tniv: '\\u220B',\n\tNJcy: '\\u040A',\n\tnjcy: '\\u045A',\n\tnlArr: '\\u21CD',\n\tnlarr: '\\u219A',\n\tnldr: '\\u2025',\n\tnlE: '\\u2266\\u0338',\n\tnle: '\\u2270',\n\tnLeftarrow: '\\u21CD',\n\tnleftarrow: '\\u219A',\n\tnLeftrightarrow: '\\u21CE',\n\tnleftrightarrow: '\\u21AE',\n\tnleq: '\\u2270',\n\tnleqq: '\\u2266\\u0338',\n\tnleqslant: '\\u2A7D\\u0338',\n\tnles: '\\u2A7D\\u0338',\n\tnless: '\\u226E',\n\tnLl: '\\u22D8\\u0338',\n\tnlsim: '\\u2274',\n\tnLt: '\\u226A\\u20D2',\n\tnlt: '\\u226E',\n\tnltri: '\\u22EA',\n\tnltrie: '\\u22EC',\n\tnLtv: '\\u226A\\u0338',\n\tnmid: '\\u2224',\n\tNoBreak: '\\u2060',\n\tNonBreakingSpace: '\\u00A0',\n\tNopf: '\\u2115',\n\tnopf: '\\uD835\\uDD5F',\n\tNot: '\\u2AEC',\n\tnot: '\\u00AC',\n\tNotCongruent: '\\u2262',\n\tNotCupCap: '\\u226D',\n\tNotDoubleVerticalBar: '\\u2226',\n\tNotElement: '\\u2209',\n\tNotEqual: '\\u2260',\n\tNotEqualTilde: '\\u2242\\u0338',\n\tNotExists: '\\u2204',\n\tNotGreater: '\\u226F',\n\tNotGreaterEqual: '\\u2271',\n\tNotGreaterFullEqual: '\\u2267\\u0338',\n\tNotGreaterGreater: '\\u226B\\u0338',\n\tNotGreaterLess: '\\u2279',\n\tNotGreaterSlantEqual: '\\u2A7E\\u0338',\n\tNotGreaterTilde: '\\u2275',\n\tNotHumpDownHump: '\\u224E\\u0338',\n\tNotHumpEqual: '\\u224F\\u0338',\n\tnotin: '\\u2209',\n\tnotindot: '\\u22F5\\u0338',\n\tnotinE: '\\u22F9\\u0338',\n\tnotinva: '\\u2209',\n\tnotinvb: '\\u22F7',\n\tnotinvc: '\\u22F6',\n\tNotLeftTriangle: '\\u22EA',\n\tNotLeftTriangleBar: '\\u29CF\\u0338',\n\tNotLeftTriangleEqual: '\\u22EC',\n\tNotLess: '\\u226E',\n\tNotLessEqual: '\\u2270',\n\tNotLessGreater: '\\u2278',\n\tNotLessLess: '\\u226A\\u0338',\n\tNotLessSlantEqual: '\\u2A7D\\u0338',\n\tNotLessTilde: '\\u2274',\n\tNotNestedGreaterGreater: '\\u2AA2\\u0338',\n\tNotNestedLessLess: '\\u2AA1\\u0338',\n\tnotni: '\\u220C',\n\tnotniva: '\\u220C',\n\tnotnivb: '\\u22FE',\n\tnotnivc: '\\u22FD',\n\tNotPrecedes: '\\u2280',\n\tNotPrecedesEqual: '\\u2AAF\\u0338',\n\tNotPrecedesSlantEqual: '\\u22E0',\n\tNotReverseElement: '\\u220C',\n\tNotRightTriangle: '\\u22EB',\n\tNotRightTriangleBar: '\\u29D0\\u0338',\n\tNotRightTriangleEqual: '\\u22ED',\n\tNotSquareSubset: '\\u228F\\u0338',\n\tNotSquareSubsetEqual: '\\u22E2',\n\tNotSquareSuperset: '\\u2290\\u0338',\n\tNotSquareSupersetEqual: '\\u22E3',\n\tNotSubset: '\\u2282\\u20D2',\n\tNotSubsetEqual: '\\u2288',\n\tNotSucceeds: '\\u2281',\n\tNotSucceedsEqual: '\\u2AB0\\u0338',\n\tNotSucceedsSlantEqual: '\\u22E1',\n\tNotSucceedsTilde: '\\u227F\\u0338',\n\tNotSuperset: '\\u2283\\u20D2',\n\tNotSupersetEqual: '\\u2289',\n\tNotTilde: '\\u2241',\n\tNotTildeEqual: '\\u2244',\n\tNotTildeFullEqual: '\\u2247',\n\tNotTildeTilde: '\\u2249',\n\tNotVerticalBar: '\\u2224',\n\tnpar: '\\u2226',\n\tnparallel: '\\u2226',\n\tnparsl: '\\u2AFD\\u20E5',\n\tnpart: '\\u2202\\u0338',\n\tnpolint: '\\u2A14',\n\tnpr: '\\u2280',\n\tnprcue: '\\u22E0',\n\tnpre: '\\u2AAF\\u0338',\n\tnprec: '\\u2280',\n\tnpreceq: '\\u2AAF\\u0338',\n\tnrArr: '\\u21CF',\n\tnrarr: '\\u219B',\n\tnrarrc: '\\u2933\\u0338',\n\tnrarrw: '\\u219D\\u0338',\n\tnRightarrow: '\\u21CF',\n\tnrightarrow: '\\u219B',\n\tnrtri: '\\u22EB',\n\tnrtrie: '\\u22ED',\n\tnsc: '\\u2281',\n\tnsccue: '\\u22E1',\n\tnsce: '\\u2AB0\\u0338',\n\tNscr: '\\uD835\\uDCA9',\n\tnscr: '\\uD835\\uDCC3',\n\tnshortmid: '\\u2224',\n\tnshortparallel: '\\u2226',\n\tnsim: '\\u2241',\n\tnsime: '\\u2244',\n\tnsimeq: '\\u2244',\n\tnsmid: '\\u2224',\n\tnspar: '\\u2226',\n\tnsqsube: '\\u22E2',\n\tnsqsupe: '\\u22E3',\n\tnsub: '\\u2284',\n\tnsubE: '\\u2AC5\\u0338',\n\tnsube: '\\u2288',\n\tnsubset: '\\u2282\\u20D2',\n\tnsubseteq: '\\u2288',\n\tnsubseteqq: '\\u2AC5\\u0338',\n\tnsucc: '\\u2281',\n\tnsucceq: '\\u2AB0\\u0338',\n\tnsup: '\\u2285',\n\tnsupE: '\\u2AC6\\u0338',\n\tnsupe: '\\u2289',\n\tnsupset: '\\u2283\\u20D2',\n\tnsupseteq: '\\u2289',\n\tnsupseteqq: '\\u2AC6\\u0338',\n\tntgl: '\\u2279',\n\tNtilde: '\\u00D1',\n\tntilde: '\\u00F1',\n\tntlg: '\\u2278',\n\tntriangleleft: '\\u22EA',\n\tntrianglelefteq: '\\u22EC',\n\tntriangleright: '\\u22EB',\n\tntrianglerighteq: '\\u22ED',\n\tNu: '\\u039D',\n\tnu: '\\u03BD',\n\tnum: '\\u0023',\n\tnumero: '\\u2116',\n\tnumsp: '\\u2007',\n\tnvap: '\\u224D\\u20D2',\n\tnVDash: '\\u22AF',\n\tnVdash: '\\u22AE',\n\tnvDash: '\\u22AD',\n\tnvdash: '\\u22AC',\n\tnvge: '\\u2265\\u20D2',\n\tnvgt: '\\u003E\\u20D2',\n\tnvHarr: '\\u2904',\n\tnvinfin: '\\u29DE',\n\tnvlArr: '\\u2902',\n\tnvle: '\\u2264\\u20D2',\n\tnvlt: '\\u003C\\u20D2',\n\tnvltrie: '\\u22B4\\u20D2',\n\tnvrArr: '\\u2903',\n\tnvrtrie: '\\u22B5\\u20D2',\n\tnvsim: '\\u223C\\u20D2',\n\tnwarhk: '\\u2923',\n\tnwArr: '\\u21D6',\n\tnwarr: '\\u2196',\n\tnwarrow: '\\u2196',\n\tnwnear: '\\u2927',\n\tOacute: '\\u00D3',\n\toacute: '\\u00F3',\n\toast: '\\u229B',\n\tocir: '\\u229A',\n\tOcirc: '\\u00D4',\n\tocirc: '\\u00F4',\n\tOcy: '\\u041E',\n\tocy: '\\u043E',\n\todash: '\\u229D',\n\tOdblac: '\\u0150',\n\todblac: '\\u0151',\n\todiv: '\\u2A38',\n\todot: '\\u2299',\n\todsold: '\\u29BC',\n\tOElig: '\\u0152',\n\toelig: '\\u0153',\n\tofcir: '\\u29BF',\n\tOfr: '\\uD835\\uDD12',\n\tofr: '\\uD835\\uDD2C',\n\togon: '\\u02DB',\n\tOgrave: '\\u00D2',\n\tograve: '\\u00F2',\n\togt: '\\u29C1',\n\tohbar: '\\u29B5',\n\tohm: '\\u03A9',\n\toint: '\\u222E',\n\tolarr: '\\u21BA',\n\tolcir: '\\u29BE',\n\tolcross: '\\u29BB',\n\toline: '\\u203E',\n\tolt: '\\u29C0',\n\tOmacr: '\\u014C',\n\tomacr: '\\u014D',\n\tOmega: '\\u03A9',\n\tomega: '\\u03C9',\n\tOmicron: '\\u039F',\n\tomicron: '\\u03BF',\n\tomid: '\\u29B6',\n\tominus: '\\u2296',\n\tOopf: '\\uD835\\uDD46',\n\toopf: '\\uD835\\uDD60',\n\topar: '\\u29B7',\n\tOpenCurlyDoubleQuote: '\\u201C',\n\tOpenCurlyQuote: '\\u2018',\n\toperp: '\\u29B9',\n\toplus: '\\u2295',\n\tOr: '\\u2A54',\n\tor: '\\u2228',\n\torarr: '\\u21BB',\n\tord: '\\u2A5D',\n\torder: '\\u2134',\n\torderof: '\\u2134',\n\tordf: '\\u00AA',\n\tordm: '\\u00BA',\n\torigof: '\\u22B6',\n\toror: '\\u2A56',\n\torslope: '\\u2A57',\n\torv: '\\u2A5B',\n\toS: '\\u24C8',\n\tOscr: '\\uD835\\uDCAA',\n\toscr: '\\u2134',\n\tOslash: '\\u00D8',\n\toslash: '\\u00F8',\n\tosol: '\\u2298',\n\tOtilde: '\\u00D5',\n\totilde: '\\u00F5',\n\tOtimes: '\\u2A37',\n\totimes: '\\u2297',\n\totimesas: '\\u2A36',\n\tOuml: '\\u00D6',\n\touml: '\\u00F6',\n\tovbar: '\\u233D',\n\tOverBar: '\\u203E',\n\tOverBrace: '\\u23DE',\n\tOverBracket: '\\u23B4',\n\tOverParenthesis: '\\u23DC',\n\tpar: '\\u2225',\n\tpara: '\\u00B6',\n\tparallel: '\\u2225',\n\tparsim: '\\u2AF3',\n\tparsl: '\\u2AFD',\n\tpart: '\\u2202',\n\tPartialD: '\\u2202',\n\tPcy: '\\u041F',\n\tpcy: '\\u043F',\n\tpercnt: '\\u0025',\n\tperiod: '\\u002E',\n\tpermil: '\\u2030',\n\tperp: '\\u22A5',\n\tpertenk: '\\u2031',\n\tPfr: '\\uD835\\uDD13',\n\tpfr: '\\uD835\\uDD2D',\n\tPhi: '\\u03A6',\n\tphi: '\\u03C6',\n\tphiv: '\\u03D5',\n\tphmmat: '\\u2133',\n\tphone: '\\u260E',\n\tPi: '\\u03A0',\n\tpi: '\\u03C0',\n\tpitchfork: '\\u22D4',\n\tpiv: '\\u03D6',\n\tplanck: '\\u210F',\n\tplanckh: '\\u210E',\n\tplankv: '\\u210F',\n\tplus: '\\u002B',\n\tplusacir: '\\u2A23',\n\tplusb: '\\u229E',\n\tpluscir: '\\u2A22',\n\tplusdo: '\\u2214',\n\tplusdu: '\\u2A25',\n\tpluse: '\\u2A72',\n\tPlusMinus: '\\u00B1',\n\tplusmn: '\\u00B1',\n\tplussim: '\\u2A26',\n\tplustwo: '\\u2A27',\n\tpm: '\\u00B1',\n\tPoincareplane: '\\u210C',\n\tpointint: '\\u2A15',\n\tPopf: '\\u2119',\n\tpopf: '\\uD835\\uDD61',\n\tpound: '\\u00A3',\n\tPr: '\\u2ABB',\n\tpr: '\\u227A',\n\tprap: '\\u2AB7',\n\tprcue: '\\u227C',\n\tprE: '\\u2AB3',\n\tpre: '\\u2AAF',\n\tprec: '\\u227A',\n\tprecapprox: '\\u2AB7',\n\tpreccurlyeq: '\\u227C',\n\tPrecedes: '\\u227A',\n\tPrecedesEqual: '\\u2AAF',\n\tPrecedesSlantEqual: '\\u227C',\n\tPrecedesTilde: '\\u227E',\n\tpreceq: '\\u2AAF',\n\tprecnapprox: '\\u2AB9',\n\tprecneqq: '\\u2AB5',\n\tprecnsim: '\\u22E8',\n\tprecsim: '\\u227E',\n\tPrime: '\\u2033',\n\tprime: '\\u2032',\n\tprimes: '\\u2119',\n\tprnap: '\\u2AB9',\n\tprnE: '\\u2AB5',\n\tprnsim: '\\u22E8',\n\tprod: '\\u220F',\n\tProduct: '\\u220F',\n\tprofalar: '\\u232E',\n\tprofline: '\\u2312',\n\tprofsurf: '\\u2313',\n\tprop: '\\u221D',\n\tProportion: '\\u2237',\n\tProportional: '\\u221D',\n\tpropto: '\\u221D',\n\tprsim: '\\u227E',\n\tprurel: '\\u22B0',\n\tPscr: '\\uD835\\uDCAB',\n\tpscr: '\\uD835\\uDCC5',\n\tPsi: '\\u03A8',\n\tpsi: '\\u03C8',\n\tpuncsp: '\\u2008',\n\tQfr: '\\uD835\\uDD14',\n\tqfr: '\\uD835\\uDD2E',\n\tqint: '\\u2A0C',\n\tQopf: '\\u211A',\n\tqopf: '\\uD835\\uDD62',\n\tqprime: '\\u2057',\n\tQscr: '\\uD835\\uDCAC',\n\tqscr: '\\uD835\\uDCC6',\n\tquaternions: '\\u210D',\n\tquatint: '\\u2A16',\n\tquest: '\\u003F',\n\tquesteq: '\\u225F',\n\tQUOT: '\\u0022',\n\tquot: '\\u0022',\n\trAarr: '\\u21DB',\n\trace: '\\u223D\\u0331',\n\tRacute: '\\u0154',\n\tracute: '\\u0155',\n\tradic: '\\u221A',\n\traemptyv: '\\u29B3',\n\tRang: '\\u27EB',\n\trang: '\\u27E9',\n\trangd: '\\u2992',\n\trange: '\\u29A5',\n\trangle: '\\u27E9',\n\traquo: '\\u00BB',\n\tRarr: '\\u21A0',\n\trArr: '\\u21D2',\n\trarr: '\\u2192',\n\trarrap: '\\u2975',\n\trarrb: '\\u21E5',\n\trarrbfs: '\\u2920',\n\trarrc: '\\u2933',\n\trarrfs: '\\u291E',\n\trarrhk: '\\u21AA',\n\trarrlp: '\\u21AC',\n\trarrpl: '\\u2945',\n\trarrsim: '\\u2974',\n\tRarrtl: '\\u2916',\n\trarrtl: '\\u21A3',\n\trarrw: '\\u219D',\n\trAtail: '\\u291C',\n\tratail: '\\u291A',\n\tratio: '\\u2236',\n\trationals: '\\u211A',\n\tRBarr: '\\u2910',\n\trBarr: '\\u290F',\n\trbarr: '\\u290D',\n\trbbrk: '\\u2773',\n\trbrace: '\\u007D',\n\trbrack: '\\u005D',\n\trbrke: '\\u298C',\n\trbrksld: '\\u298E',\n\trbrkslu: '\\u2990',\n\tRcaron: '\\u0158',\n\trcaron: '\\u0159',\n\tRcedil: '\\u0156',\n\trcedil: '\\u0157',\n\trceil: '\\u2309',\n\trcub: '\\u007D',\n\tRcy: '\\u0420',\n\trcy: '\\u0440',\n\trdca: '\\u2937',\n\trdldhar: '\\u2969',\n\trdquo: '\\u201D',\n\trdquor: '\\u201D',\n\trdsh: '\\u21B3',\n\tRe: '\\u211C',\n\treal: '\\u211C',\n\trealine: '\\u211B',\n\trealpart: '\\u211C',\n\treals: '\\u211D',\n\trect: '\\u25AD',\n\tREG: '\\u00AE',\n\treg: '\\u00AE',\n\tReverseElement: '\\u220B',\n\tReverseEquilibrium: '\\u21CB',\n\tReverseUpEquilibrium: '\\u296F',\n\trfisht: '\\u297D',\n\trfloor: '\\u230B',\n\tRfr: '\\u211C',\n\trfr: '\\uD835\\uDD2F',\n\trHar: '\\u2964',\n\trhard: '\\u21C1',\n\trharu: '\\u21C0',\n\trharul: '\\u296C',\n\tRho: '\\u03A1',\n\trho: '\\u03C1',\n\trhov: '\\u03F1',\n\tRightAngleBracket: '\\u27E9',\n\tRightArrow: '\\u2192',\n\tRightarrow: '\\u21D2',\n\trightarrow: '\\u2192',\n\tRightArrowBar: '\\u21E5',\n\tRightArrowLeftArrow: '\\u21C4',\n\trightarrowtail: '\\u21A3',\n\tRightCeiling: '\\u2309',\n\tRightDoubleBracket: '\\u27E7',\n\tRightDownTeeVector: '\\u295D',\n\tRightDownVector: '\\u21C2',\n\tRightDownVectorBar: '\\u2955',\n\tRightFloor: '\\u230B',\n\trightharpoondown: '\\u21C1',\n\trightharpoonup: '\\u21C0',\n\trightleftarrows: '\\u21C4',\n\trightleftharpoons: '\\u21CC',\n\trightrightarrows: '\\u21C9',\n\trightsquigarrow: '\\u219D',\n\tRightTee: '\\u22A2',\n\tRightTeeArrow: '\\u21A6',\n\tRightTeeVector: '\\u295B',\n\trightthreetimes: '\\u22CC',\n\tRightTriangle: '\\u22B3',\n\tRightTriangleBar: '\\u29D0',\n\tRightTriangleEqual: '\\u22B5',\n\tRightUpDownVector: '\\u294F',\n\tRightUpTeeVector: '\\u295C',\n\tRightUpVector: '\\u21BE',\n\tRightUpVectorBar: '\\u2954',\n\tRightVector: '\\u21C0',\n\tRightVectorBar: '\\u2953',\n\tring: '\\u02DA',\n\trisingdotseq: '\\u2253',\n\trlarr: '\\u21C4',\n\trlhar: '\\u21CC',\n\trlm: '\\u200F',\n\trmoust: '\\u23B1',\n\trmoustache: '\\u23B1',\n\trnmid: '\\u2AEE',\n\troang: '\\u27ED',\n\troarr: '\\u21FE',\n\trobrk: '\\u27E7',\n\tropar: '\\u2986',\n\tRopf: '\\u211D',\n\tropf: '\\uD835\\uDD63',\n\troplus: '\\u2A2E',\n\trotimes: '\\u2A35',\n\tRoundImplies: '\\u2970',\n\trpar: '\\u0029',\n\trpargt: '\\u2994',\n\trppolint: '\\u2A12',\n\trrarr: '\\u21C9',\n\tRrightarrow: '\\u21DB',\n\trsaquo: '\\u203A',\n\tRscr: '\\u211B',\n\trscr: '\\uD835\\uDCC7',\n\tRsh: '\\u21B1',\n\trsh: '\\u21B1',\n\trsqb: '\\u005D',\n\trsquo: '\\u2019',\n\trsquor: '\\u2019',\n\trthree: '\\u22CC',\n\trtimes: '\\u22CA',\n\trtri: '\\u25B9',\n\trtrie: '\\u22B5',\n\trtrif: '\\u25B8',\n\trtriltri: '\\u29CE',\n\tRuleDelayed: '\\u29F4',\n\truluhar: '\\u2968',\n\trx: '\\u211E',\n\tSacute: '\\u015A',\n\tsacute: '\\u015B',\n\tsbquo: '\\u201A',\n\tSc: '\\u2ABC',\n\tsc: '\\u227B',\n\tscap: '\\u2AB8',\n\tScaron: '\\u0160',\n\tscaron: '\\u0161',\n\tsccue: '\\u227D',\n\tscE: '\\u2AB4',\n\tsce: '\\u2AB0',\n\tScedil: '\\u015E',\n\tscedil: '\\u015F',\n\tScirc: '\\u015C',\n\tscirc: '\\u015D',\n\tscnap: '\\u2ABA',\n\tscnE: '\\u2AB6',\n\tscnsim: '\\u22E9',\n\tscpolint: '\\u2A13',\n\tscsim: '\\u227F',\n\tScy: '\\u0421',\n\tscy: '\\u0441',\n\tsdot: '\\u22C5',\n\tsdotb: '\\u22A1',\n\tsdote: '\\u2A66',\n\tsearhk: '\\u2925',\n\tseArr: '\\u21D8',\n\tsearr: '\\u2198',\n\tsearrow: '\\u2198',\n\tsect: '\\u00A7',\n\tsemi: '\\u003B',\n\tseswar: '\\u2929',\n\tsetminus: '\\u2216',\n\tsetmn: '\\u2216',\n\tsext: '\\u2736',\n\tSfr: '\\uD835\\uDD16',\n\tsfr: '\\uD835\\uDD30',\n\tsfrown: '\\u2322',\n\tsharp: '\\u266F',\n\tSHCHcy: '\\u0429',\n\tshchcy: '\\u0449',\n\tSHcy: '\\u0428',\n\tshcy: '\\u0448',\n\tShortDownArrow: '\\u2193',\n\tShortLeftArrow: '\\u2190',\n\tshortmid: '\\u2223',\n\tshortparallel: '\\u2225',\n\tShortRightArrow: '\\u2192',\n\tShortUpArrow: '\\u2191',\n\tshy: '\\u00AD',\n\tSigma: '\\u03A3',\n\tsigma: '\\u03C3',\n\tsigmaf: '\\u03C2',\n\tsigmav: '\\u03C2',\n\tsim: '\\u223C',\n\tsimdot: '\\u2A6A',\n\tsime: '\\u2243',\n\tsimeq: '\\u2243',\n\tsimg: '\\u2A9E',\n\tsimgE: '\\u2AA0',\n\tsiml: '\\u2A9D',\n\tsimlE: '\\u2A9F',\n\tsimne: '\\u2246',\n\tsimplus: '\\u2A24',\n\tsimrarr: '\\u2972',\n\tslarr: '\\u2190',\n\tSmallCircle: '\\u2218',\n\tsmallsetminus: '\\u2216',\n\tsmashp: '\\u2A33',\n\tsmeparsl: '\\u29E4',\n\tsmid: '\\u2223',\n\tsmile: '\\u2323',\n\tsmt: '\\u2AAA',\n\tsmte: '\\u2AAC',\n\tsmtes: '\\u2AAC\\uFE00',\n\tSOFTcy: '\\u042C',\n\tsoftcy: '\\u044C',\n\tsol: '\\u002F',\n\tsolb: '\\u29C4',\n\tsolbar: '\\u233F',\n\tSopf: '\\uD835\\uDD4A',\n\tsopf: '\\uD835\\uDD64',\n\tspades: '\\u2660',\n\tspadesuit: '\\u2660',\n\tspar: '\\u2225',\n\tsqcap: '\\u2293',\n\tsqcaps: '\\u2293\\uFE00',\n\tsqcup: '\\u2294',\n\tsqcups: '\\u2294\\uFE00',\n\tSqrt: '\\u221A',\n\tsqsub: '\\u228F',\n\tsqsube: '\\u2291',\n\tsqsubset: '\\u228F',\n\tsqsubseteq: '\\u2291',\n\tsqsup: '\\u2290',\n\tsqsupe: '\\u2292',\n\tsqsupset: '\\u2290',\n\tsqsupseteq: '\\u2292',\n\tsqu: '\\u25A1',\n\tSquare: '\\u25A1',\n\tsquare: '\\u25A1',\n\tSquareIntersection: '\\u2293',\n\tSquareSubset: '\\u228F',\n\tSquareSubsetEqual: '\\u2291',\n\tSquareSuperset: '\\u2290',\n\tSquareSupersetEqual: '\\u2292',\n\tSquareUnion: '\\u2294',\n\tsquarf: '\\u25AA',\n\tsquf: '\\u25AA',\n\tsrarr: '\\u2192',\n\tSscr: '\\uD835\\uDCAE',\n\tsscr: '\\uD835\\uDCC8',\n\tssetmn: '\\u2216',\n\tssmile: '\\u2323',\n\tsstarf: '\\u22C6',\n\tStar: '\\u22C6',\n\tstar: '\\u2606',\n\tstarf: '\\u2605',\n\tstraightepsilon: '\\u03F5',\n\tstraightphi: '\\u03D5',\n\tstrns: '\\u00AF',\n\tSub: '\\u22D0',\n\tsub: '\\u2282',\n\tsubdot: '\\u2ABD',\n\tsubE: '\\u2AC5',\n\tsube: '\\u2286',\n\tsubedot: '\\u2AC3',\n\tsubmult: '\\u2AC1',\n\tsubnE: '\\u2ACB',\n\tsubne: '\\u228A',\n\tsubplus: '\\u2ABF',\n\tsubrarr: '\\u2979',\n\tSubset: '\\u22D0',\n\tsubset: '\\u2282',\n\tsubseteq: '\\u2286',\n\tsubseteqq: '\\u2AC5',\n\tSubsetEqual: '\\u2286',\n\tsubsetneq: '\\u228A',\n\tsubsetneqq: '\\u2ACB',\n\tsubsim: '\\u2AC7',\n\tsubsub: '\\u2AD5',\n\tsubsup: '\\u2AD3',\n\tsucc: '\\u227B',\n\tsuccapprox: '\\u2AB8',\n\tsucccurlyeq: '\\u227D',\n\tSucceeds: '\\u227B',\n\tSucceedsEqual: '\\u2AB0',\n\tSucceedsSlantEqual: '\\u227D',\n\tSucceedsTilde: '\\u227F',\n\tsucceq: '\\u2AB0',\n\tsuccnapprox: '\\u2ABA',\n\tsuccneqq: '\\u2AB6',\n\tsuccnsim: '\\u22E9',\n\tsuccsim: '\\u227F',\n\tSuchThat: '\\u220B',\n\tSum: '\\u2211',\n\tsum: '\\u2211',\n\tsung: '\\u266A',\n\tSup: '\\u22D1',\n\tsup: '\\u2283',\n\tsup1: '\\u00B9',\n\tsup2: '\\u00B2',\n\tsup3: '\\u00B3',\n\tsupdot: '\\u2ABE',\n\tsupdsub: '\\u2AD8',\n\tsupE: '\\u2AC6',\n\tsupe: '\\u2287',\n\tsupedot: '\\u2AC4',\n\tSuperset: '\\u2283',\n\tSupersetEqual: '\\u2287',\n\tsuphsol: '\\u27C9',\n\tsuphsub: '\\u2AD7',\n\tsuplarr: '\\u297B',\n\tsupmult: '\\u2AC2',\n\tsupnE: '\\u2ACC',\n\tsupne: '\\u228B',\n\tsupplus: '\\u2AC0',\n\tSupset: '\\u22D1',\n\tsupset: '\\u2283',\n\tsupseteq: '\\u2287',\n\tsupseteqq: '\\u2AC6',\n\tsupsetneq: '\\u228B',\n\tsupsetneqq: '\\u2ACC',\n\tsupsim: '\\u2AC8',\n\tsupsub: '\\u2AD4',\n\tsupsup: '\\u2AD6',\n\tswarhk: '\\u2926',\n\tswArr: '\\u21D9',\n\tswarr: '\\u2199',\n\tswarrow: '\\u2199',\n\tswnwar: '\\u292A',\n\tszlig: '\\u00DF',\n\tTab: '\\u0009',\n\ttarget: '\\u2316',\n\tTau: '\\u03A4',\n\ttau: '\\u03C4',\n\ttbrk: '\\u23B4',\n\tTcaron: '\\u0164',\n\ttcaron: '\\u0165',\n\tTcedil: '\\u0162',\n\ttcedil: '\\u0163',\n\tTcy: '\\u0422',\n\ttcy: '\\u0442',\n\ttdot: '\\u20DB',\n\ttelrec: '\\u2315',\n\tTfr: '\\uD835\\uDD17',\n\ttfr: '\\uD835\\uDD31',\n\tthere4: '\\u2234',\n\tTherefore: '\\u2234',\n\ttherefore: '\\u2234',\n\tTheta: '\\u0398',\n\ttheta: '\\u03B8',\n\tthetasym: '\\u03D1',\n\tthetav: '\\u03D1',\n\tthickapprox: '\\u2248',\n\tthicksim: '\\u223C',\n\tThickSpace: '\\u205F\\u200A',\n\tthinsp: '\\u2009',\n\tThinSpace: '\\u2009',\n\tthkap: '\\u2248',\n\tthksim: '\\u223C',\n\tTHORN: '\\u00DE',\n\tthorn: '\\u00FE',\n\tTilde: '\\u223C',\n\ttilde: '\\u02DC',\n\tTildeEqual: '\\u2243',\n\tTildeFullEqual: '\\u2245',\n\tTildeTilde: '\\u2248',\n\ttimes: '\\u00D7',\n\ttimesb: '\\u22A0',\n\ttimesbar: '\\u2A31',\n\ttimesd: '\\u2A30',\n\ttint: '\\u222D',\n\ttoea: '\\u2928',\n\ttop: '\\u22A4',\n\ttopbot: '\\u2336',\n\ttopcir: '\\u2AF1',\n\tTopf: '\\uD835\\uDD4B',\n\ttopf: '\\uD835\\uDD65',\n\ttopfork: '\\u2ADA',\n\ttosa: '\\u2929',\n\ttprime: '\\u2034',\n\tTRADE: '\\u2122',\n\ttrade: '\\u2122',\n\ttriangle: '\\u25B5',\n\ttriangledown: '\\u25BF',\n\ttriangleleft: '\\u25C3',\n\ttrianglelefteq: '\\u22B4',\n\ttriangleq: '\\u225C',\n\ttriangleright: '\\u25B9',\n\ttrianglerighteq: '\\u22B5',\n\ttridot: '\\u25EC',\n\ttrie: '\\u225C',\n\ttriminus: '\\u2A3A',\n\tTripleDot: '\\u20DB',\n\ttriplus: '\\u2A39',\n\ttrisb: '\\u29CD',\n\ttritime: '\\u2A3B',\n\ttrpezium: '\\u23E2',\n\tTscr: '\\uD835\\uDCAF',\n\ttscr: '\\uD835\\uDCC9',\n\tTScy: '\\u0426',\n\ttscy: '\\u0446',\n\tTSHcy: '\\u040B',\n\ttshcy: '\\u045B',\n\tTstrok: '\\u0166',\n\ttstrok: '\\u0167',\n\ttwixt: '\\u226C',\n\ttwoheadleftarrow: '\\u219E',\n\ttwoheadrightarrow: '\\u21A0',\n\tUacute: '\\u00DA',\n\tuacute: '\\u00FA',\n\tUarr: '\\u219F',\n\tuArr: '\\u21D1',\n\tuarr: '\\u2191',\n\tUarrocir: '\\u2949',\n\tUbrcy: '\\u040E',\n\tubrcy: '\\u045E',\n\tUbreve: '\\u016C',\n\tubreve: '\\u016D',\n\tUcirc: '\\u00DB',\n\tucirc: '\\u00FB',\n\tUcy: '\\u0423',\n\tucy: '\\u0443',\n\tudarr: '\\u21C5',\n\tUdblac: '\\u0170',\n\tudblac: '\\u0171',\n\tudhar: '\\u296E',\n\tufisht: '\\u297E',\n\tUfr: '\\uD835\\uDD18',\n\tufr: '\\uD835\\uDD32',\n\tUgrave: '\\u00D9',\n\tugrave: '\\u00F9',\n\tuHar: '\\u2963',\n\tuharl: '\\u21BF',\n\tuharr: '\\u21BE',\n\tuhblk: '\\u2580',\n\tulcorn: '\\u231C',\n\tulcorner: '\\u231C',\n\tulcrop: '\\u230F',\n\tultri: '\\u25F8',\n\tUmacr: '\\u016A',\n\tumacr: '\\u016B',\n\tuml: '\\u00A8',\n\tUnderBar: '\\u005F',\n\tUnderBrace: '\\u23DF',\n\tUnderBracket: '\\u23B5',\n\tUnderParenthesis: '\\u23DD',\n\tUnion: '\\u22C3',\n\tUnionPlus: '\\u228E',\n\tUogon: '\\u0172',\n\tuogon: '\\u0173',\n\tUopf: '\\uD835\\uDD4C',\n\tuopf: '\\uD835\\uDD66',\n\tUpArrow: '\\u2191',\n\tUparrow: '\\u21D1',\n\tuparrow: '\\u2191',\n\tUpArrowBar: '\\u2912',\n\tUpArrowDownArrow: '\\u21C5',\n\tUpDownArrow: '\\u2195',\n\tUpdownarrow: '\\u21D5',\n\tupdownarrow: '\\u2195',\n\tUpEquilibrium: '\\u296E',\n\tupharpoonleft: '\\u21BF',\n\tupharpoonright: '\\u21BE',\n\tuplus: '\\u228E',\n\tUpperLeftArrow: '\\u2196',\n\tUpperRightArrow: '\\u2197',\n\tUpsi: '\\u03D2',\n\tupsi: '\\u03C5',\n\tupsih: '\\u03D2',\n\tUpsilon: '\\u03A5',\n\tupsilon: '\\u03C5',\n\tUpTee: '\\u22A5',\n\tUpTeeArrow: '\\u21A5',\n\tupuparrows: '\\u21C8',\n\turcorn: '\\u231D',\n\turcorner: '\\u231D',\n\turcrop: '\\u230E',\n\tUring: '\\u016E',\n\turing: '\\u016F',\n\turtri: '\\u25F9',\n\tUscr: '\\uD835\\uDCB0',\n\tuscr: '\\uD835\\uDCCA',\n\tutdot: '\\u22F0',\n\tUtilde: '\\u0168',\n\tutilde: '\\u0169',\n\tutri: '\\u25B5',\n\tutrif: '\\u25B4',\n\tuuarr: '\\u21C8',\n\tUuml: '\\u00DC',\n\tuuml: '\\u00FC',\n\tuwangle: '\\u29A7',\n\tvangrt: '\\u299C',\n\tvarepsilon: '\\u03F5',\n\tvarkappa: '\\u03F0',\n\tvarnothing: '\\u2205',\n\tvarphi: '\\u03D5',\n\tvarpi: '\\u03D6',\n\tvarpropto: '\\u221D',\n\tvArr: '\\u21D5',\n\tvarr: '\\u2195',\n\tvarrho: '\\u03F1',\n\tvarsigma: '\\u03C2',\n\tvarsubsetneq: '\\u228A\\uFE00',\n\tvarsubsetneqq: '\\u2ACB\\uFE00',\n\tvarsupsetneq: '\\u228B\\uFE00',\n\tvarsupsetneqq: '\\u2ACC\\uFE00',\n\tvartheta: '\\u03D1',\n\tvartriangleleft: '\\u22B2',\n\tvartriangleright: '\\u22B3',\n\tVbar: '\\u2AEB',\n\tvBar: '\\u2AE8',\n\tvBarv: '\\u2AE9',\n\tVcy: '\\u0412',\n\tvcy: '\\u0432',\n\tVDash: '\\u22AB',\n\tVdash: '\\u22A9',\n\tvDash: '\\u22A8',\n\tvdash: '\\u22A2',\n\tVdashl: '\\u2AE6',\n\tVee: '\\u22C1',\n\tvee: '\\u2228',\n\tveebar: '\\u22BB',\n\tveeeq: '\\u225A',\n\tvellip: '\\u22EE',\n\tVerbar: '\\u2016',\n\tverbar: '\\u007C',\n\tVert: '\\u2016',\n\tvert: '\\u007C',\n\tVerticalBar: '\\u2223',\n\tVerticalLine: '\\u007C',\n\tVerticalSeparator: '\\u2758',\n\tVerticalTilde: '\\u2240',\n\tVeryThinSpace: '\\u200A',\n\tVfr: '\\uD835\\uDD19',\n\tvfr: '\\uD835\\uDD33',\n\tvltri: '\\u22B2',\n\tvnsub: '\\u2282\\u20D2',\n\tvnsup: '\\u2283\\u20D2',\n\tVopf: '\\uD835\\uDD4D',\n\tvopf: '\\uD835\\uDD67',\n\tvprop: '\\u221D',\n\tvrtri: '\\u22B3',\n\tVscr: '\\uD835\\uDCB1',\n\tvscr: '\\uD835\\uDCCB',\n\tvsubnE: '\\u2ACB\\uFE00',\n\tvsubne: '\\u228A\\uFE00',\n\tvsupnE: '\\u2ACC\\uFE00',\n\tvsupne: '\\u228B\\uFE00',\n\tVvdash: '\\u22AA',\n\tvzigzag: '\\u299A',\n\tWcirc: '\\u0174',\n\twcirc: '\\u0175',\n\twedbar: '\\u2A5F',\n\tWedge: '\\u22C0',\n\twedge: '\\u2227',\n\twedgeq: '\\u2259',\n\tweierp: '\\u2118',\n\tWfr: '\\uD835\\uDD1A',\n\twfr: '\\uD835\\uDD34',\n\tWopf: '\\uD835\\uDD4E',\n\twopf: '\\uD835\\uDD68',\n\twp: '\\u2118',\n\twr: '\\u2240',\n\twreath: '\\u2240',\n\tWscr: '\\uD835\\uDCB2',\n\twscr: '\\uD835\\uDCCC',\n\txcap: '\\u22C2',\n\txcirc: '\\u25EF',\n\txcup: '\\u22C3',\n\txdtri: '\\u25BD',\n\tXfr: '\\uD835\\uDD1B',\n\txfr: '\\uD835\\uDD35',\n\txhArr: '\\u27FA',\n\txharr: '\\u27F7',\n\tXi: '\\u039E',\n\txi: '\\u03BE',\n\txlArr: '\\u27F8',\n\txlarr: '\\u27F5',\n\txmap: '\\u27FC',\n\txnis: '\\u22FB',\n\txodot: '\\u2A00',\n\tXopf: '\\uD835\\uDD4F',\n\txopf: '\\uD835\\uDD69',\n\txoplus: '\\u2A01',\n\txotime: '\\u2A02',\n\txrArr: '\\u27F9',\n\txrarr: '\\u27F6',\n\tXscr: '\\uD835\\uDCB3',\n\txscr: '\\uD835\\uDCCD',\n\txsqcup: '\\u2A06',\n\txuplus: '\\u2A04',\n\txutri: '\\u25B3',\n\txvee: '\\u22C1',\n\txwedge: '\\u22C0',\n\tYacute: '\\u00DD',\n\tyacute: '\\u00FD',\n\tYAcy: '\\u042F',\n\tyacy: '\\u044F',\n\tYcirc: '\\u0176',\n\tycirc: '\\u0177',\n\tYcy: '\\u042B',\n\tycy: '\\u044B',\n\tyen: '\\u00A5',\n\tYfr: '\\uD835\\uDD1C',\n\tyfr: '\\uD835\\uDD36',\n\tYIcy: '\\u0407',\n\tyicy: '\\u0457',\n\tYopf: '\\uD835\\uDD50',\n\tyopf: '\\uD835\\uDD6A',\n\tYscr: '\\uD835\\uDCB4',\n\tyscr: '\\uD835\\uDCCE',\n\tYUcy: '\\u042E',\n\tyucy: '\\u044E',\n\tYuml: '\\u0178',\n\tyuml: '\\u00FF',\n\tZacute: '\\u0179',\n\tzacute: '\\u017A',\n\tZcaron: '\\u017D',\n\tzcaron: '\\u017E',\n\tZcy: '\\u0417',\n\tzcy: '\\u0437',\n\tZdot: '\\u017B',\n\tzdot: '\\u017C',\n\tzeetrf: '\\u2128',\n\tZeroWidthSpace: '\\u200B',\n\tZeta: '\\u0396',\n\tzeta: '\\u03B6',\n\tZfr: '\\u2128',\n\tzfr: '\\uD835\\uDD37',\n\tZHcy: '\\u0416',\n\tzhcy: '\\u0436',\n\tzigrarr: '\\u21DD',\n\tZopf: '\\u2124',\n\tzopf: '\\uD835\\uDD6B',\n\tZscr: '\\uD835\\uDCB5',\n\tzscr: '\\uD835\\uDCCF',\n\tzwj: '\\u200D',\n\tzwnj: '\\u200C',\n});\n\n/**\n * @deprecated use `HTML_ENTITIES` instead\n * @see HTML_ENTITIES\n */\nexports.entityMap = exports.HTML_ENTITIES;\n","var NAMESPACE = require(\"./conventions\").NAMESPACE;\n\n//[4] \tNameStartChar\t ::= \t\":\" | [A-Z] | \"_\" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]\n//[4a] \tNameChar\t ::= \tNameStartChar | \"-\" | \".\" | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040]\n//[5] \tName\t ::= \tNameStartChar (NameChar)*\nvar nameStartChar = /[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]///\\u10000-\\uEFFFF\nvar nameChar = new RegExp(\"[\\\\-\\\\.0-9\"+nameStartChar.source.slice(1,-1)+\"\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]\");\nvar tagNamePattern = new RegExp('^'+nameStartChar.source+nameChar.source+'*(?:\\:'+nameStartChar.source+nameChar.source+'*)?$');\n//var tagNamePattern = /^[a-zA-Z_][\\w\\-\\.]*(?:\\:[a-zA-Z_][\\w\\-\\.]*)?$/\n//var handlers = 'resolveEntity,getExternalSubset,characters,endDocument,endElement,endPrefixMapping,ignorableWhitespace,processingInstruction,setDocumentLocator,skippedEntity,startDocument,startElement,startPrefixMapping,notationDecl,unparsedEntityDecl,error,fatalError,warning,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,comment,endCDATA,endDTD,endEntity,startCDATA,startDTD,startEntity'.split(',')\n\n//S_TAG,\tS_ATTR,\tS_EQ,\tS_ATTR_NOQUOT_VALUE\n//S_ATTR_SPACE,\tS_ATTR_END,\tS_TAG_SPACE, S_TAG_CLOSE\nvar S_TAG = 0;//tag name offerring\nvar S_ATTR = 1;//attr name offerring\nvar S_ATTR_SPACE=2;//attr name end and space offer\nvar S_EQ = 3;//=space?\nvar S_ATTR_NOQUOT_VALUE = 4;//attr value(no quot value only)\nvar S_ATTR_END = 5;//attr value end and no space(quot end)\nvar S_TAG_SPACE = 6;//(attr value end || tag end ) && (space offer)\nvar S_TAG_CLOSE = 7;//closed el<el />\n\n/**\n * Creates an error that will not be caught by XMLReader aka the SAX parser.\n *\n * @param {string} message\n * @param {any?} locator Optional, can provide details about the location in the source\n * @constructor\n */\nfunction ParseError(message, locator) {\n\tthis.message = message\n\tthis.locator = locator\n\tif(Error.captureStackTrace) Error.captureStackTrace(this, ParseError);\n}\nParseError.prototype = new Error();\nParseError.prototype.name = ParseError.name\n\nfunction XMLReader(){\n\n}\n\nXMLReader.prototype = {\n\tparse:function(source,defaultNSMap,entityMap){\n\t\tvar domBuilder = this.domBuilder;\n\t\tdomBuilder.startDocument();\n\t\t_copy(defaultNSMap ,defaultNSMap = {})\n\t\tparse(source,defaultNSMap,entityMap,\n\t\t\t\tdomBuilder,this.errorHandler);\n\t\tdomBuilder.endDocument();\n\t}\n}\nfunction parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){\n\tfunction fixedFromCharCode(code) {\n\t\t// String.prototype.fromCharCode does not supports\n\t\t// > 2 bytes unicode chars directly\n\t\tif (code > 0xffff) {\n\t\t\tcode -= 0x10000;\n\t\t\tvar surrogate1 = 0xd800 + (code >> 10)\n\t\t\t\t, surrogate2 = 0xdc00 + (code & 0x3ff);\n\n\t\t\treturn String.fromCharCode(surrogate1, surrogate2);\n\t\t} else {\n\t\t\treturn String.fromCharCode(code);\n\t\t}\n\t}\n\tfunction entityReplacer(a){\n\t\tvar k = a.slice(1,-1);\n\t\tif (Object.hasOwnProperty.call(entityMap, k)) {\n\t\t\treturn entityMap[k];\n\t\t}else if(k.charAt(0) === '#'){\n\t\t\treturn fixedFromCharCode(parseInt(k.substr(1).replace('x','0x')))\n\t\t}else{\n\t\t\terrorHandler.error('entity not found:'+a);\n\t\t\treturn a;\n\t\t}\n\t}\n\tfunction appendText(end){//has some bugs\n\t\tif(end>start){\n\t\t\tvar xt = source.substring(start,end).replace(/&#?\\w+;/g,entityReplacer);\n\t\t\tlocator&&position(start);\n\t\t\tdomBuilder.characters(xt,0,end-start);\n\t\t\tstart = end\n\t\t}\n\t}\n\tfunction position(p,m){\n\t\twhile(p>=lineEnd && (m = linePattern.exec(source))){\n\t\t\tlineStart = m.index;\n\t\t\tlineEnd = lineStart + m[0].length;\n\t\t\tlocator.lineNumber++;\n\t\t\t//console.log('line++:',locator,startPos,endPos)\n\t\t}\n\t\tlocator.columnNumber = p-lineStart+1;\n\t}\n\tvar lineStart = 0;\n\tvar lineEnd = 0;\n\tvar linePattern = /.*(?:\\r\\n?|\\n)|.*$/g\n\tvar locator = domBuilder.locator;\n\n\tvar parseStack = [{currentNSMap:defaultNSMapCopy}]\n\tvar closeMap = {};\n\tvar start = 0;\n\twhile(true){\n\t\ttry{\n\t\t\tvar tagStart = source.indexOf('<',start);\n\t\t\tif(tagStart<0){\n\t\t\t\tif(!source.substr(start).match(/^\\s*$/)){\n\t\t\t\t\tvar doc = domBuilder.doc;\n\t \t\t\tvar text = doc.createTextNode(source.substr(start));\n\t \t\t\tdoc.appendChild(text);\n\t \t\t\tdomBuilder.currentElement = text;\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif(tagStart>start){\n\t\t\t\tappendText(tagStart);\n\t\t\t}\n\t\t\tswitch(source.charAt(tagStart+1)){\n\t\t\tcase '/':\n\t\t\t\tvar end = source.indexOf('>',tagStart+3);\n\t\t\t\tvar tagName = source.substring(tagStart + 2, end).replace(/[ \\t\\n\\r]+$/g, '');\n\t\t\t\tvar config = parseStack.pop();\n\t\t\t\tif(end<0){\n\n\t \t\ttagName = source.substring(tagStart+2).replace(/[\\s<].*/,'');\n\t \t\terrorHandler.error(\"end tag name: \"+tagName+' is not complete:'+config.tagName);\n\t \t\tend = tagStart+1+tagName.length;\n\t \t}else if(tagName.match(/\\s</)){\n\t \t\ttagName = tagName.replace(/[\\s<].*/,'');\n\t \t\terrorHandler.error(\"end tag name: \"+tagName+' maybe not complete');\n\t \t\tend = tagStart+1+tagName.length;\n\t\t\t\t}\n\t\t\t\tvar localNSMap = config.localNSMap;\n\t\t\t\tvar endMatch = config.tagName == tagName;\n\t\t\t\tvar endIgnoreCaseMach = endMatch || config.tagName&&config.tagName.toLowerCase() == tagName.toLowerCase()\n\t\t if(endIgnoreCaseMach){\n\t\t \tdomBuilder.endElement(config.uri,config.localName,tagName);\n\t\t\t\t\tif(localNSMap){\n\t\t\t\t\t\tfor (var prefix in localNSMap) {\n\t\t\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(localNSMap, prefix)) {\n\t\t\t\t\t\t\t\tdomBuilder.endPrefixMapping(prefix);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(!endMatch){\n\t\t \terrorHandler.fatalError(\"end tag name: \"+tagName+' is not match the current start tagName:'+config.tagName ); // No known test case\n\t\t\t\t\t}\n\t\t }else{\n\t\t \tparseStack.push(config)\n\t\t }\n\n\t\t\t\tend++;\n\t\t\t\tbreak;\n\t\t\t\t// end elment\n\t\t\tcase '?':// <?...?>\n\t\t\t\tlocator&&position(tagStart);\n\t\t\t\tend = parseInstruction(source,tagStart,domBuilder);\n\t\t\t\tbreak;\n\t\t\tcase '!':// <!doctype,<![CDATA,<!--\n\t\t\t\tlocator&&position(tagStart);\n\t\t\t\tend = parseDCC(source,tagStart,domBuilder,errorHandler);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tlocator&&position(tagStart);\n\t\t\t\tvar el = new ElementAttributes();\n\t\t\t\tvar currentNSMap = parseStack[parseStack.length-1].currentNSMap;\n\t\t\t\t//elStartEnd\n\t\t\t\tvar end = parseElementStartPart(source,tagStart,el,currentNSMap,entityReplacer,errorHandler);\n\t\t\t\tvar len = el.length;\n\n\n\t\t\t\tif(!el.closed && fixSelfClosed(source,end,el.tagName,closeMap)){\n\t\t\t\t\tel.closed = true;\n\t\t\t\t\tif(!entityMap.nbsp){\n\t\t\t\t\t\terrorHandler.warning('unclosed xml attribute');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(locator && len){\n\t\t\t\t\tvar locator2 = copyLocator(locator,{});\n\t\t\t\t\t//try{//attribute position fixed\n\t\t\t\t\tfor(var i = 0;i<len;i++){\n\t\t\t\t\t\tvar a = el[i];\n\t\t\t\t\t\tposition(a.offset);\n\t\t\t\t\t\ta.locator = copyLocator(locator,{});\n\t\t\t\t\t}\n\t\t\t\t\tdomBuilder.locator = locator2\n\t\t\t\t\tif(appendElement(el,domBuilder,currentNSMap)){\n\t\t\t\t\t\tparseStack.push(el)\n\t\t\t\t\t}\n\t\t\t\t\tdomBuilder.locator = locator;\n\t\t\t\t}else{\n\t\t\t\t\tif(appendElement(el,domBuilder,currentNSMap)){\n\t\t\t\t\t\tparseStack.push(el)\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (NAMESPACE.isHTML(el.uri) && !el.closed) {\n\t\t\t\t\tend = parseHtmlSpecialContent(source,end,el.tagName,entityReplacer,domBuilder)\n\t\t\t\t} else {\n\t\t\t\t\tend++;\n\t\t\t\t}\n\t\t\t}\n\t\t}catch(e){\n\t\t\tif (e instanceof ParseError) {\n\t\t\t\tthrow e;\n\t\t\t}\n\t\t\terrorHandler.error('element parse error: '+e)\n\t\t\tend = -1;\n\t\t}\n\t\tif(end>start){\n\t\t\tstart = end;\n\t\t}else{\n\t\t\t//TODO: 这里有可能sax回退,有位置错误风险\n\t\t\tappendText(Math.max(tagStart,start)+1);\n\t\t}\n\t}\n}\nfunction copyLocator(f,t){\n\tt.lineNumber = f.lineNumber;\n\tt.columnNumber = f.columnNumber;\n\treturn t;\n}\n\n/**\n * @see #appendElement(source,elStartEnd,el,selfClosed,entityReplacer,domBuilder,parseStack);\n * @return end of the elementStartPart(end of elementEndPart for selfClosed el)\n */\nfunction parseElementStartPart(source,start,el,currentNSMap,entityReplacer,errorHandler){\n\n\t/**\n\t * @param {string} qname\n\t * @param {string} value\n\t * @param {number} startIndex\n\t */\n\tfunction addAttribute(qname, value, startIndex) {\n\t\tif (el.attributeNames.hasOwnProperty(qname)) {\n\t\t\terrorHandler.fatalError('Attribute ' + qname + ' redefined')\n\t\t}\n\t\tel.addValue(\n\t\t\tqname,\n\t\t\t// @see https://www.w3.org/TR/xml/#AVNormalize\n\t\t\t// since the xmldom sax parser does not \"interpret\" DTD the following is not implemented:\n\t\t\t// - recursive replacement of (DTD) entity references\n\t\t\t// - trimming and collapsing multiple spaces into a single one for attributes that are not of type CDATA\n\t\t\tvalue.replace(/[\\t\\n\\r]/g, ' ').replace(/&#?\\w+;/g, entityReplacer),\n\t\t\tstartIndex\n\t\t)\n\t}\n\tvar attrName;\n\tvar value;\n\tvar p = ++start;\n\tvar s = S_TAG;//status\n\twhile(true){\n\t\tvar c = source.charAt(p);\n\t\tswitch(c){\n\t\tcase '=':\n\t\t\tif(s === S_ATTR){//attrName\n\t\t\t\tattrName = source.slice(start,p);\n\t\t\t\ts = S_EQ;\n\t\t\t}else if(s === S_ATTR_SPACE){\n\t\t\t\ts = S_EQ;\n\t\t\t}else{\n\t\t\t\t//fatalError: equal must after attrName or space after attrName\n\t\t\t\tthrow new Error('attribute equal must after attrName'); // No known test case\n\t\t\t}\n\t\t\tbreak;\n\t\tcase '\\'':\n\t\tcase '\"':\n\t\t\tif(s === S_EQ || s === S_ATTR //|| s == S_ATTR_SPACE\n\t\t\t\t){//equal\n\t\t\t\tif(s === S_ATTR){\n\t\t\t\t\terrorHandler.warning('attribute value must after \"=\"')\n\t\t\t\t\tattrName = source.slice(start,p)\n\t\t\t\t}\n\t\t\t\tstart = p+1;\n\t\t\t\tp = source.indexOf(c,start)\n\t\t\t\tif(p>0){\n\t\t\t\t\tvalue = source.slice(start, p);\n\t\t\t\t\taddAttribute(attrName, value, start-1);\n\t\t\t\t\ts = S_ATTR_END;\n\t\t\t\t}else{\n\t\t\t\t\t//fatalError: no end quot match\n\t\t\t\t\tthrow new Error('attribute value no end \\''+c+'\\' match');\n\t\t\t\t}\n\t\t\t}else if(s == S_ATTR_NOQUOT_VALUE){\n\t\t\t\tvalue = source.slice(start, p);\n\t\t\t\taddAttribute(attrName, value, start);\n\t\t\t\terrorHandler.warning('attribute \"'+attrName+'\" missed start quot('+c+')!!');\n\t\t\t\tstart = p+1;\n\t\t\t\ts = S_ATTR_END\n\t\t\t}else{\n\t\t\t\t//fatalError: no equal before\n\t\t\t\tthrow new Error('attribute value must after \"=\"'); // No known test case\n\t\t\t}\n\t\t\tbreak;\n\t\tcase '/':\n\t\t\tswitch(s){\n\t\t\tcase S_TAG:\n\t\t\t\tel.setTagName(source.slice(start,p));\n\t\t\tcase S_ATTR_END:\n\t\t\tcase S_TAG_SPACE:\n\t\t\tcase S_TAG_CLOSE:\n\t\t\t\ts =S_TAG_CLOSE;\n\t\t\t\tel.closed = true;\n\t\t\tcase S_ATTR_NOQUOT_VALUE:\n\t\t\tcase S_ATTR:\n\t\t\t\tbreak;\n\t\t\t\tcase S_ATTR_SPACE:\n\t\t\t\t\tel.closed = true;\n\t\t\t\tbreak;\n\t\t\t//case S_EQ:\n\t\t\tdefault:\n\t\t\t\tthrow new Error(\"attribute invalid close char('/')\") // No known test case\n\t\t\t}\n\t\t\tbreak;\n\t\tcase ''://end document\n\t\t\terrorHandler.error('unexpected end of input');\n\t\t\tif(s == S_TAG){\n\t\t\t\tel.setTagName(source.slice(start,p));\n\t\t\t}\n\t\t\treturn p;\n\t\tcase '>':\n\t\t\tswitch(s){\n\t\t\tcase S_TAG:\n\t\t\t\tel.setTagName(source.slice(start,p));\n\t\t\tcase S_ATTR_END:\n\t\t\tcase S_TAG_SPACE:\n\t\t\tcase S_TAG_CLOSE:\n\t\t\t\tbreak;//normal\n\t\t\tcase S_ATTR_NOQUOT_VALUE://Compatible state\n\t\t\tcase S_ATTR:\n\t\t\t\tvalue = source.slice(start,p);\n\t\t\t\tif(value.slice(-1) === '/'){\n\t\t\t\t\tel.closed = true;\n\t\t\t\t\tvalue = value.slice(0,-1)\n\t\t\t\t}\n\t\t\tcase S_ATTR_SPACE:\n\t\t\t\tif(s === S_ATTR_SPACE){\n\t\t\t\t\tvalue = attrName;\n\t\t\t\t}\n\t\t\t\tif(s == S_ATTR_NOQUOT_VALUE){\n\t\t\t\t\terrorHandler.warning('attribute \"'+value+'\" missed quot(\")!');\n\t\t\t\t\taddAttribute(attrName, value, start)\n\t\t\t\t}else{\n\t\t\t\t\tif(!NAMESPACE.isHTML(currentNSMap['']) || !value.match(/^(?:disabled|checked|selected)$/i)){\n\t\t\t\t\t\terrorHandler.warning('attribute \"'+value+'\" missed value!! \"'+value+'\" instead!!')\n\t\t\t\t\t}\n\t\t\t\t\taddAttribute(value, value, start)\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase S_EQ:\n\t\t\t\tthrow new Error('attribute value missed!!');\n\t\t\t}\n//\t\t\tconsole.log(tagName,tagNamePattern,tagNamePattern.test(tagName))\n\t\t\treturn p;\n\t\t/*xml space '\\x20' | #x9 | #xD | #xA; */\n\t\tcase '\\u0080':\n\t\t\tc = ' ';\n\t\tdefault:\n\t\t\tif(c<= ' '){//space\n\t\t\t\tswitch(s){\n\t\t\t\tcase S_TAG:\n\t\t\t\t\tel.setTagName(source.slice(start,p));//tagName\n\t\t\t\t\ts = S_TAG_SPACE;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_ATTR:\n\t\t\t\t\tattrName = source.slice(start,p)\n\t\t\t\t\ts = S_ATTR_SPACE;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_ATTR_NOQUOT_VALUE:\n\t\t\t\t\tvar value = source.slice(start, p);\n\t\t\t\t\terrorHandler.warning('attribute \"'+value+'\" missed quot(\")!!');\n\t\t\t\t\taddAttribute(attrName, value, start)\n\t\t\t\tcase S_ATTR_END:\n\t\t\t\t\ts = S_TAG_SPACE;\n\t\t\t\t\tbreak;\n\t\t\t\t//case S_TAG_SPACE:\n\t\t\t\t//case S_EQ:\n\t\t\t\t//case S_ATTR_SPACE:\n\t\t\t\t//\tvoid();break;\n\t\t\t\t//case S_TAG_CLOSE:\n\t\t\t\t\t//ignore warning\n\t\t\t\t}\n\t\t\t}else{//not space\n//S_TAG,\tS_ATTR,\tS_EQ,\tS_ATTR_NOQUOT_VALUE\n//S_ATTR_SPACE,\tS_ATTR_END,\tS_TAG_SPACE, S_TAG_CLOSE\n\t\t\t\tswitch(s){\n\t\t\t\t//case S_TAG:void();break;\n\t\t\t\t//case S_ATTR:void();break;\n\t\t\t\t//case S_ATTR_NOQUOT_VALUE:void();break;\n\t\t\t\tcase S_ATTR_SPACE:\n\t\t\t\t\tvar tagName = el.tagName;\n\t\t\t\t\tif (!NAMESPACE.isHTML(currentNSMap['']) || !attrName.match(/^(?:disabled|checked|selected)$/i)) {\n\t\t\t\t\t\terrorHandler.warning('attribute \"'+attrName+'\" missed value!! \"'+attrName+'\" instead2!!')\n\t\t\t\t\t}\n\t\t\t\t\taddAttribute(attrName, attrName, start);\n\t\t\t\t\tstart = p;\n\t\t\t\t\ts = S_ATTR;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_ATTR_END:\n\t\t\t\t\terrorHandler.warning('attribute space is required\"'+attrName+'\"!!')\n\t\t\t\tcase S_TAG_SPACE:\n\t\t\t\t\ts = S_ATTR;\n\t\t\t\t\tstart = p;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_EQ:\n\t\t\t\t\ts = S_ATTR_NOQUOT_VALUE;\n\t\t\t\t\tstart = p;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_TAG_CLOSE:\n\t\t\t\t\tthrow new Error(\"elements closed character '/' and '>' must be connected to\");\n\t\t\t\t}\n\t\t\t}\n\t\t}//end outer switch\n\t\t//console.log('p++',p)\n\t\tp++;\n\t}\n}\n/**\n * @return true if has new namespace define\n */\nfunction appendElement(el,domBuilder,currentNSMap){\n\tvar tagName = el.tagName;\n\tvar localNSMap = null;\n\t//var currentNSMap = parseStack[parseStack.length-1].currentNSMap;\n\tvar i = el.length;\n\twhile(i--){\n\t\tvar a = el[i];\n\t\tvar qName = a.qName;\n\t\tvar value = a.value;\n\t\tvar nsp = qName.indexOf(':');\n\t\tif(nsp>0){\n\t\t\tvar prefix = a.prefix = qName.slice(0,nsp);\n\t\t\tvar localName = qName.slice(nsp+1);\n\t\t\tvar nsPrefix = prefix === 'xmlns' && localName\n\t\t}else{\n\t\t\tlocalName = qName;\n\t\t\tprefix = null\n\t\t\tnsPrefix = qName === 'xmlns' && ''\n\t\t}\n\t\t//can not set prefix,because prefix !== ''\n\t\ta.localName = localName ;\n\t\t//prefix == null for no ns prefix attribute\n\t\tif(nsPrefix !== false){//hack!!\n\t\t\tif(localNSMap == null){\n\t\t\t\tlocalNSMap = {}\n\t\t\t\t//console.log(currentNSMap,0)\n\t\t\t\t_copy(currentNSMap,currentNSMap={})\n\t\t\t\t//console.log(currentNSMap,1)\n\t\t\t}\n\t\t\tcurrentNSMap[nsPrefix] = localNSMap[nsPrefix] = value;\n\t\t\ta.uri = NAMESPACE.XMLNS\n\t\t\tdomBuilder.startPrefixMapping(nsPrefix, value)\n\t\t}\n\t}\n\tvar i = el.length;\n\twhile(i--){\n\t\ta = el[i];\n\t\tvar prefix = a.prefix;\n\t\tif(prefix){//no prefix attribute has no namespace\n\t\t\tif(prefix === 'xml'){\n\t\t\t\ta.uri = NAMESPACE.XML;\n\t\t\t}if(prefix !== 'xmlns'){\n\t\t\t\ta.uri = currentNSMap[prefix || '']\n\n\t\t\t\t//{console.log('###'+a.qName,domBuilder.locator.systemId+'',currentNSMap,a.uri)}\n\t\t\t}\n\t\t}\n\t}\n\tvar nsp = tagName.indexOf(':');\n\tif(nsp>0){\n\t\tprefix = el.prefix = tagName.slice(0,nsp);\n\t\tlocalName = el.localName = tagName.slice(nsp+1);\n\t}else{\n\t\tprefix = null;//important!!\n\t\tlocalName = el.localName = tagName;\n\t}\n\t//no prefix element has default namespace\n\tvar ns = el.uri = currentNSMap[prefix || ''];\n\tdomBuilder.startElement(ns,localName,tagName,el);\n\t//endPrefixMapping and startPrefixMapping have not any help for dom builder\n\t//localNSMap = null\n\tif(el.closed){\n\t\tdomBuilder.endElement(ns,localName,tagName);\n\t\tif(localNSMap){\n\t\t\tfor (prefix in localNSMap) {\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(localNSMap, prefix)) {\n\t\t\t\t\tdomBuilder.endPrefixMapping(prefix);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}else{\n\t\tel.currentNSMap = currentNSMap;\n\t\tel.localNSMap = localNSMap;\n\t\t//parseStack.push(el);\n\t\treturn true;\n\t}\n}\nfunction parseHtmlSpecialContent(source,elStartEnd,tagName,entityReplacer,domBuilder){\n\tif(/^(?:script|textarea)$/i.test(tagName)){\n\t\tvar elEndStart = source.indexOf('</'+tagName+'>',elStartEnd);\n\t\tvar text = source.substring(elStartEnd+1,elEndStart);\n\t\tif(/[&<]/.test(text)){\n\t\t\tif(/^script$/i.test(tagName)){\n\t\t\t\t//if(!/\\]\\]>/.test(text)){\n\t\t\t\t\t//lexHandler.startCDATA();\n\t\t\t\t\tdomBuilder.characters(text,0,text.length);\n\t\t\t\t\t//lexHandler.endCDATA();\n\t\t\t\t\treturn elEndStart;\n\t\t\t\t//}\n\t\t\t}//}else{//text area\n\t\t\t\ttext = text.replace(/&#?\\w+;/g,entityReplacer);\n\t\t\t\tdomBuilder.characters(text,0,text.length);\n\t\t\t\treturn elEndStart;\n\t\t\t//}\n\n\t\t}\n\t}\n\treturn elStartEnd+1;\n}\nfunction fixSelfClosed(source,elStartEnd,tagName,closeMap){\n\t//if(tagName in closeMap){\n\tvar pos = closeMap[tagName];\n\tif(pos == null){\n\t\t//console.log(tagName)\n\t\tpos = source.lastIndexOf('</'+tagName+'>')\n\t\tif(pos<elStartEnd){//忘记闭合\n\t\t\tpos = source.lastIndexOf('</'+tagName)\n\t\t}\n\t\tcloseMap[tagName] =pos\n\t}\n\treturn pos<elStartEnd;\n\t//}\n}\n\nfunction _copy (source, target) {\n\tfor (var n in source) {\n\t\tif (Object.prototype.hasOwnProperty.call(source, n)) {\n\t\t\ttarget[n] = source[n];\n\t\t}\n\t}\n}\n\nfunction parseDCC(source,start,domBuilder,errorHandler){//sure start with '<!'\n\tvar next= source.charAt(start+2)\n\tswitch(next){\n\tcase '-':\n\t\tif(source.charAt(start + 3) === '-'){\n\t\t\tvar end = source.indexOf('-->',start+4);\n\t\t\t//append comment source.substring(4,end)//<!--\n\t\t\tif(end>start){\n\t\t\t\tdomBuilder.comment(source,start+4,end-start-4);\n\t\t\t\treturn end+3;\n\t\t\t}else{\n\t\t\t\terrorHandler.error(\"Unclosed comment\");\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}else{\n\t\t\t//error\n\t\t\treturn -1;\n\t\t}\n\tdefault:\n\t\tif(source.substr(start+3,6) == 'CDATA['){\n\t\t\tvar end = source.indexOf(']]>',start+9);\n\t\t\tdomBuilder.startCDATA();\n\t\t\tdomBuilder.characters(source,start+9,end-start-9);\n\t\t\tdomBuilder.endCDATA()\n\t\t\treturn end+3;\n\t\t}\n\t\t//<!DOCTYPE\n\t\t//startDTD(java.lang.String name, java.lang.String publicId, java.lang.String systemId)\n\t\tvar matchs = split(source,start);\n\t\tvar len = matchs.length;\n\t\tif(len>1 && /!doctype/i.test(matchs[0][0])){\n\t\t\tvar name = matchs[1][0];\n\t\t\tvar pubid = false;\n\t\t\tvar sysid = false;\n\t\t\tif(len>3){\n\t\t\t\tif(/^public$/i.test(matchs[2][0])){\n\t\t\t\t\tpubid = matchs[3][0];\n\t\t\t\t\tsysid = len>4 && matchs[4][0];\n\t\t\t\t}else if(/^system$/i.test(matchs[2][0])){\n\t\t\t\t\tsysid = matchs[3][0];\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar lastMatch = matchs[len-1]\n\t\t\tdomBuilder.startDTD(name, pubid, sysid);\n\t\t\tdomBuilder.endDTD();\n\n\t\t\treturn lastMatch.index+lastMatch[0].length\n\t\t}\n\t}\n\treturn -1;\n}\n\n\n\nfunction parseInstruction(source,start,domBuilder){\n\tvar end = source.indexOf('?>',start);\n\tif(end){\n\t\tvar match = source.substring(start,end).match(/^<\\?(\\S*)\\s*([\\s\\S]*?)\\s*$/);\n\t\tif(match){\n\t\t\tvar len = match[0].length;\n\t\t\tdomBuilder.processingInstruction(match[1], match[2]) ;\n\t\t\treturn end+2;\n\t\t}else{//error\n\t\t\treturn -1;\n\t\t}\n\t}\n\treturn -1;\n}\n\nfunction ElementAttributes(){\n\tthis.attributeNames = {}\n}\nElementAttributes.prototype = {\n\tsetTagName:function(tagName){\n\t\tif(!tagNamePattern.test(tagName)){\n\t\t\tthrow new Error('invalid tagName:'+tagName)\n\t\t}\n\t\tthis.tagName = tagName\n\t},\n\taddValue:function(qName, value, offset) {\n\t\tif(!tagNamePattern.test(qName)){\n\t\t\tthrow new Error('invalid attribute:'+qName)\n\t\t}\n\t\tthis.attributeNames[qName] = this.length;\n\t\tthis[this.length++] = {qName:qName,value:value,offset:offset}\n\t},\n\tlength:0,\n\tgetLocalName:function(i){return this[i].localName},\n\tgetLocator:function(i){return this[i].locator},\n\tgetQName:function(i){return this[i].qName},\n\tgetURI:function(i){return this[i].uri},\n\tgetValue:function(i){return this[i].value}\n//\t,getIndex:function(uri, localName)){\n//\t\tif(localName){\n//\n//\t\t}else{\n//\t\t\tvar qName = uri\n//\t\t}\n//\t},\n//\tgetValue:function(){return this.getValue(this.getIndex.apply(this,arguments))},\n//\tgetType:function(uri,localName){}\n//\tgetType:function(i){},\n}\n\n\n\nfunction split(source,start){\n\tvar match;\n\tvar buf = [];\n\tvar reg = /'[^']+'|\"[^\"]+\"|[^\\s<>\\/=]+=?|(\\/?\\s*>|<)/g;\n\treg.lastIndex = start;\n\treg.exec(source);//skip <\n\twhile(match = reg.exec(source)){\n\t\tbuf.push(match);\n\t\tif(match[1])return buf;\n\t}\n}\n\nexports.XMLReader = XMLReader;\nexports.ParseError = ParseError;\n","var conventions = require(\"./conventions\");\nvar dom = require('./dom')\nvar entities = require('./entities');\nvar sax = require('./sax');\n\nvar DOMImplementation = dom.DOMImplementation;\n\nvar NAMESPACE = conventions.NAMESPACE;\n\nvar ParseError = sax.ParseError;\nvar XMLReader = sax.XMLReader;\n\n/**\n * Normalizes line ending according to https://www.w3.org/TR/xml11/#sec-line-ends:\n *\n * > XML parsed entities are often stored in computer files which,\n * > for editing convenience, are organized into lines.\n * > These lines are typically separated by some combination\n * > of the characters CARRIAGE RETURN (#xD) and LINE FEED (#xA).\n * >\n * > To simplify the tasks of applications, the XML processor must behave\n * > as if it normalized all line breaks in external parsed entities (including the document entity)\n * > on input, before parsing, by translating all of the following to a single #xA character:\n * >\n * > 1. the two-character sequence #xD #xA\n * > 2. the two-character sequence #xD #x85\n * > 3. the single character #x85\n * > 4. the single character #x2028\n * > 5. any #xD character that is not immediately followed by #xA or #x85.\n *\n * @param {string} input\n * @returns {string}\n */\nfunction normalizeLineEndings(input) {\n\treturn input\n\t\t.replace(/\\r[\\n\\u0085]/g, '\\n')\n\t\t.replace(/[\\r\\u0085\\u2028]/g, '\\n')\n}\n\n/**\n * @typedef Locator\n * @property {number} [columnNumber]\n * @property {number} [lineNumber]\n */\n\n/**\n * @typedef DOMParserOptions\n * @property {DOMHandler} [domBuilder]\n * @property {Function} [errorHandler]\n * @property {(string) => string} [normalizeLineEndings] used to replace line endings before parsing\n * \t\t\t\t\t\tdefaults to `normalizeLineEndings`\n * @property {Locator} [locator]\n * @property {Record<string, string>} [xmlns]\n *\n * @see normalizeLineEndings\n */\n\n/**\n * The DOMParser interface provides the ability to parse XML or HTML source code\n * from a string into a DOM `Document`.\n *\n * _xmldom is different from the spec in that it allows an `options` parameter,\n * to override the default behavior._\n *\n * @param {DOMParserOptions} [options]\n * @constructor\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMParser\n * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-parsing-and-serialization\n */\nfunction DOMParser(options){\n\tthis.options = options ||{locator:{}};\n}\n\nDOMParser.prototype.parseFromString = function(source,mimeType){\n\tvar options = this.options;\n\tvar sax = new XMLReader();\n\tvar domBuilder = options.domBuilder || new DOMHandler();//contentHandler and LexicalHandler\n\tvar errorHandler = options.errorHandler;\n\tvar locator = options.locator;\n\tvar defaultNSMap = options.xmlns||{};\n\tvar isHTML = /\\/x?html?$/.test(mimeType);//mimeType.toLowerCase().indexOf('html') > -1;\n \tvar entityMap = isHTML ? entities.HTML_ENTITIES : entities.XML_ENTITIES;\n\tif(locator){\n\t\tdomBuilder.setDocumentLocator(locator)\n\t}\n\n\tsax.errorHandler = buildErrorHandler(errorHandler,domBuilder,locator);\n\tsax.domBuilder = options.domBuilder || domBuilder;\n\tif(isHTML){\n\t\tdefaultNSMap[''] = NAMESPACE.HTML;\n\t}\n\tdefaultNSMap.xml = defaultNSMap.xml || NAMESPACE.XML;\n\tvar normalize = options.normalizeLineEndings || normalizeLineEndings;\n\tif (source && typeof source === 'string') {\n\t\tsax.parse(\n\t\t\tnormalize(source),\n\t\t\tdefaultNSMap,\n\t\t\tentityMap\n\t\t)\n\t} else {\n\t\tsax.errorHandler.error('invalid doc source')\n\t}\n\treturn domBuilder.doc;\n}\nfunction buildErrorHandler(errorImpl,domBuilder,locator){\n\tif(!errorImpl){\n\t\tif(domBuilder instanceof DOMHandler){\n\t\t\treturn domBuilder;\n\t\t}\n\t\terrorImpl = domBuilder ;\n\t}\n\tvar errorHandler = {}\n\tvar isCallback = errorImpl instanceof Function;\n\tlocator = locator||{}\n\tfunction build(key){\n\t\tvar fn = errorImpl[key];\n\t\tif(!fn && isCallback){\n\t\t\tfn = errorImpl.length == 2?function(msg){errorImpl(key,msg)}:errorImpl;\n\t\t}\n\t\terrorHandler[key] = fn && function(msg){\n\t\t\tfn('[xmldom '+key+']\\t'+msg+_locator(locator));\n\t\t}||function(){};\n\t}\n\tbuild('warning');\n\tbuild('error');\n\tbuild('fatalError');\n\treturn errorHandler;\n}\n\n//console.log('#\\n\\n\\n\\n\\n\\n\\n####')\n/**\n * +ContentHandler+ErrorHandler\n * +LexicalHandler+EntityResolver2\n * -DeclHandler-DTDHandler\n *\n * DefaultHandler:EntityResolver, DTDHandler, ContentHandler, ErrorHandler\n * DefaultHandler2:DefaultHandler,LexicalHandler, DeclHandler, EntityResolver2\n * @link http://www.saxproject.org/apidoc/org/xml/sax/helpers/DefaultHandler.html\n */\nfunction DOMHandler() {\n this.cdata = false;\n}\nfunction position(locator,node){\n\tnode.lineNumber = locator.lineNumber;\n\tnode.columnNumber = locator.columnNumber;\n}\n/**\n * @see org.xml.sax.ContentHandler#startDocument\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ContentHandler.html\n */\nDOMHandler.prototype = {\n\tstartDocument : function() {\n \tthis.doc = new DOMImplementation().createDocument(null, null, null);\n \tif (this.locator) {\n \tthis.doc.documentURI = this.locator.systemId;\n \t}\n\t},\n\tstartElement:function(namespaceURI, localName, qName, attrs) {\n\t\tvar doc = this.doc;\n\t var el = doc.createElementNS(namespaceURI, qName||localName);\n\t var len = attrs.length;\n\t appendElement(this, el);\n\t this.currentElement = el;\n\n\t\tthis.locator && position(this.locator,el)\n\t for (var i = 0 ; i < len; i++) {\n\t var namespaceURI = attrs.getURI(i);\n\t var value = attrs.getValue(i);\n\t var qName = attrs.getQName(i);\n\t\t\tvar attr = doc.createAttributeNS(namespaceURI, qName);\n\t\t\tthis.locator &&position(attrs.getLocator(i),attr);\n\t\t\tattr.value = attr.nodeValue = value;\n\t\t\tel.setAttributeNode(attr)\n\t }\n\t},\n\tendElement:function(namespaceURI, localName, qName) {\n\t\tvar current = this.currentElement\n\t\tvar tagName = current.tagName;\n\t\tthis.currentElement = current.parentNode;\n\t},\n\tstartPrefixMapping:function(prefix, uri) {\n\t},\n\tendPrefixMapping:function(prefix) {\n\t},\n\tprocessingInstruction:function(target, data) {\n\t var ins = this.doc.createProcessingInstruction(target, data);\n\t this.locator && position(this.locator,ins)\n\t appendElement(this, ins);\n\t},\n\tignorableWhitespace:function(ch, start, length) {\n\t},\n\tcharacters:function(chars, start, length) {\n\t\tchars = _toString.apply(this,arguments)\n\t\t//console.log(chars)\n\t\tif(chars){\n\t\t\tif (this.cdata) {\n\t\t\t\tvar charNode = this.doc.createCDATASection(chars);\n\t\t\t} else {\n\t\t\t\tvar charNode = this.doc.createTextNode(chars);\n\t\t\t}\n\t\t\tif(this.currentElement){\n\t\t\t\tthis.currentElement.appendChild(charNode);\n\t\t\t}else if(/^\\s*$/.test(chars)){\n\t\t\t\tthis.doc.appendChild(charNode);\n\t\t\t\t//process xml\n\t\t\t}\n\t\t\tthis.locator && position(this.locator,charNode)\n\t\t}\n\t},\n\tskippedEntity:function(name) {\n\t},\n\tendDocument:function() {\n\t\tthis.doc.normalize();\n\t},\n\tsetDocumentLocator:function (locator) {\n\t if(this.locator = locator){// && !('lineNumber' in locator)){\n\t \tlocator.lineNumber = 0;\n\t }\n\t},\n\t//LexicalHandler\n\tcomment:function(chars, start, length) {\n\t\tchars = _toString.apply(this,arguments)\n\t var comm = this.doc.createComment(chars);\n\t this.locator && position(this.locator,comm)\n\t appendElement(this, comm);\n\t},\n\n\tstartCDATA:function() {\n\t //used in characters() methods\n\t this.cdata = true;\n\t},\n\tendCDATA:function() {\n\t this.cdata = false;\n\t},\n\n\tstartDTD:function(name, publicId, systemId) {\n\t\tvar impl = this.doc.implementation;\n\t if (impl && impl.createDocumentType) {\n\t var dt = impl.createDocumentType(name, publicId, systemId);\n\t this.locator && position(this.locator,dt)\n\t appendElement(this, dt);\n\t\t\t\t\tthis.doc.doctype = dt;\n\t }\n\t},\n\t/**\n\t * @see org.xml.sax.ErrorHandler\n\t * @link http://www.saxproject.org/apidoc/org/xml/sax/ErrorHandler.html\n\t */\n\twarning:function(error) {\n\t\tconsole.warn('[xmldom warning]\\t'+error,_locator(this.locator));\n\t},\n\terror:function(error) {\n\t\tconsole.error('[xmldom error]\\t'+error,_locator(this.locator));\n\t},\n\tfatalError:function(error) {\n\t\tthrow new ParseError(error, this.locator);\n\t}\n}\nfunction _locator(l){\n\tif(l){\n\t\treturn '\\n@'+(l.systemId ||'')+'#[line:'+l.lineNumber+',col:'+l.columnNumber+']'\n\t}\n}\nfunction _toString(chars,start,length){\n\tif(typeof chars == 'string'){\n\t\treturn chars.substr(start,length)\n\t}else{//java sax connect width xmldom on rhino(what about: \"? && !(chars instanceof String)\")\n\t\tif(chars.length >= start+length || start){\n\t\t\treturn new java.lang.String(chars,start,length)+'';\n\t\t}\n\t\treturn chars;\n\t}\n}\n\n/*\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/LexicalHandler.html\n * used method of org.xml.sax.ext.LexicalHandler:\n * #comment(chars, start, length)\n * #startCDATA()\n * #endCDATA()\n * #startDTD(name, publicId, systemId)\n *\n *\n * IGNORED method of org.xml.sax.ext.LexicalHandler:\n * #endDTD()\n * #startEntity(name)\n * #endEntity(name)\n *\n *\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/DeclHandler.html\n * IGNORED method of org.xml.sax.ext.DeclHandler\n * \t#attributeDecl(eName, aName, type, mode, value)\n * #elementDecl(name, model)\n * #externalEntityDecl(name, publicId, systemId)\n * #internalEntityDecl(name, value)\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/EntityResolver2.html\n * IGNORED method of org.xml.sax.EntityResolver2\n * #resolveEntity(String name,String publicId,String baseURI,String systemId)\n * #resolveEntity(publicId, systemId)\n * #getExternalSubset(name, baseURI)\n * @link http://www.saxproject.org/apidoc/org/xml/sax/DTDHandler.html\n * IGNORED method of org.xml.sax.DTDHandler\n * #notationDecl(name, publicId, systemId) {};\n * #unparsedEntityDecl(name, publicId, systemId, notationName) {};\n */\n\"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl\".replace(/\\w+/g,function(key){\n\tDOMHandler.prototype[key] = function(){return null}\n})\n\n/* Private static helpers treated below as private instance methods, so don't need to add these to the public API; we might use a Relator to also get rid of non-standard public properties */\nfunction appendElement (hander,node) {\n if (!hander.currentElement) {\n hander.doc.appendChild(node);\n } else {\n hander.currentElement.appendChild(node);\n }\n}//appendChild and setAttributeNS are preformance key\n\nexports.__DOMHandler = DOMHandler;\nexports.normalizeLineEndings = normalizeLineEndings;\nexports.DOMParser = DOMParser;\n","var dom = require('./dom')\nexports.DOMImplementation = dom.DOMImplementation\nexports.XMLSerializer = dom.XMLSerializer\nexports.DOMParser = require('./dom-parser').DOMParser\n"],"names":["e","arguments","length","id","adId","sequence","apiFramework","universalAdIds","creativeExtensions","t","r","a","n","s","ERRORCODE","isCustomCode","test","CACHEBUSTING","d","Math","round","random","TIMESTAMP","Date","toISOString","RANDOM","c","push","i","match","filter","indexOf","reduce","replace","RegExp","concat","Array","isArray","map","hasOwnProperty","url","o","l","Object","getOwnPropertyNames","encodeURIComponent","charCodeAt","toString","padStart","u","track","forEach","window","Image","src","resolveURLTemplates","extractURLsFromTemplates","filterUrlTemplates","validUrls","invalidUrls","containsTemplateObject","isTemplateObjectEqual","encodeURIComponentRFC3986","replaceUrlMacros","isNumeric","isNaN","parseFloat","isFinite","flatten","joinArrayOfUniqueTemplateObjs","isValidTimeValue","Number","addLeadingZeros","isValidUrl","isBrowserEnvironment","formatMacrosValues","JSON","stringify","h","includes","m","childByName","from","childNodes","find","nodeName","childrenByName","resolveVastAdTagURI","startsWith","protocol","location","slice","lastIndexOf","parseBoolean","parseNodeText","textContent","text","trim","copyNodeAttribute","getAttribute","setAttribute","parseAttributes","attributes","nodeValue","parseDuration","parseInt","split","getStandAloneAds","getSortedAdPods","sort","assignAttributes","mergeWrapperAdData","errorURLTemplates","impressionURLTemplates","extensions","viewableImpression","followAdditionalWrappers","allowMultipleAds","fallbackOnNoAd","creatives","type","variations","companionClickTrackingURLTemplates","videoClickTrackingURLTemplates","videoCustomClickURLTemplates","trackingEvents","videoClickThroughURLTemplate","adVerifications","blockedAdCategories","icons","mediaFiles","g","required","adType","width","height","assetWidth","assetHeight","expandedWidth","expandedHeight","adSlotId","pxratio","renderingMode","staticResources","htmlResources","iframeResources","adParameters","altText","companionClickThroughURLTemplate","creativeType","value","xmlEncoded","v","duration","skipDelay","mezzanine","interactiveCreativeFile","closedCaptionFiles","charAt","fileURL","fileSize","deliveryType","mimeType","mediaType","codec","bitrate","minBitrate","maxBitrate","scalable","maintainAspectRatio","variableDuration","language","delivery","program","xPosition","yPosition","offset","staticResource","htmlResource","iframeResource","iconClickThroughURLTemplate","iconClickTrackingURLTemplates","iconViewTrackingURLTemplate","iconClickFallbackImages","hoverText","f","minSuggestedDuration","nonlinearClickThroughURLTemplate","nonlinearClickTrackingURLTemplates","T","A","name","children","keys","R","k","Wrapper","subElements","BlockedAdCategories","InLine","Category","Pricing","Verification","oneOfinLineResources","UniversalAdId","JavaScriptResource","ExecutableResource","Tracking","Creatives","Creative","Linear","MediaFiles","MediaFile","Mezzanine","NonLinear","Companion","StaticResource","Icons","Icon","y","N","parentName","parentNode","E","some","oneOfResources","b","join","message","parentElement","specVersion","w","L","toLowerCase","ad","I","C","wrongNode","U","adServingId","categories","expires","system","title","description","advertiser","pricing","survey","idRegistry","x","version","authority","viewable","notViewable","viewUndetermined","model","currency","nextWrapperURL","resource","vendor","browserOptional","parameters","S","constructor","this","_handlers","on","TypeError","event","handler","once","fired","wrapFn","off","bind","emit","removeAllListeners","listenerCount","listeners","eventNames","V","D","O","F","P","B","fetcher","super","maxWrapperDepth","rootErrorURLTemplates","remainingAds","parsingOptions","keepFailedAdPod","trackVastError","assign","getErrorURLTemplates","getEstimatedBitrate","initParsingStatus","wrapperLimit","rootURL","resetParsingStatus","byteLength","requestDuration","vastVersion","getRemainingAds","Promise","reject","Error","shift","resolveAds","wrapperDepth","then","buildVASTResponse","parseVAST","isRootVAST","parse","ads","completeWrapperResolving","parseVastXml","documentElement","adIndex","resolveAll","wrapperSequence","previousUrl","resolveWrappers","all","VASTAdTagURI","errorCode","fetchVAST","emitter","catch","errorMessage","ERRORMESSAGE","hasFailed","splice","M","W","data","getItem","setItem","removeItem","clear","j","storage","initStorage","localStorage","sessionStorage","isStorageDisabled","q","K","get","async","AbortController","setTimeout","abort","timeout","fetch","signal","credentials","withCredentials","finally","clearTimeout","status","ok","statusText","error","statusCode","DOMParser","resolve","index$1","xml","parseFromString","details","rawXml","H","URLTemplateFilters","setOptions","urlHandler","urlhandler","fetchingOptions","fetchOptions","Boolean","addURLTemplateFilter","removeLastURLTemplateFilter","pop","countURLTemplateFilters","clearURLTemplateFilters","wrapperAd","now","_","cappingFreeLunch","cappingMinimumTimeInterval","vastParser","lastSuccessfulAd","totalCalls","totalCallsTimeout","getParser","hasRemainingAds","getNextAds","z","creative","variation","muted","impressed","skippable","trackedProgressEvents","lastPercentage","_alreadyTriggeredQuartiles","emitAlwaysEvents","viewableImpressionTrackers","entries","_initLinearTracking","_initVariationTracking","linear","setDuration","clickThroughURLTemplate","clickTrackingURLTemplates","assetDuration","quartiles","firstQuartile","midpoint","thirdQuartile","setProgress","isQuartileReached","macros","progress","setMuted","setPaused","paused","setFullscreen","fullscreen","setExpand","expanded","setSkipDelay","trackImpression","trackURLs","trackViewableImpression","trackNotViewableImpression","trackUndeterminedImpression","errorWithCode","console","log","complete","notUsed","otherAdInteraction","acceptInvitation","adExpand","adCollapse","minimize","verificationNotExecuted","trackingURLTemplates","overlayViewDuration","ADPLAYHEAD","close","skip","load","click","progressFormatted","trackProgressEvents","time","urls","endsWith","ASSETURI","UNIVERSALADID","PODSEQUENCE","ADTYPE","ADSERVINGID","ADCATEGORIES","BLOCKEDADCATEGORIES","convertToTimecode","floor","enumerable","configurable","writable","defineProperty","key","prototype","followRedirects","vastAdData","adTagURI","customData","localName","templateType","uri","firstChild","nodeType","nextSibling","substring","global","timeOffset","breakType","breakId","repeatAfter","adSource","tracker","adBreaks","PluginBus","bus","cb","AdsPlugin","config","Set","sources","cfg","list","normalizeSources","breaks","hasExplicitPreroll","at","source","hasSourceVastOrVmap","allowNativeControls","resumeContent","preferredMediaTypes","debug","breakTolerance","interceptPlayForPreroll","autoPlayOnReady","mountEl","mountSelector","nonLinearContainer","nonLinearSelector","companionContainer","companionSelector","adSourcesMode","setup","ctx","events","vastClient","VASTClient","overlay","document","createElement","className","style","display","globalUnsubs","playedBreaks","startingBreak","clearSession","active","contentMedia","undefined","contentHadControls","leases","release","getOverlayManager","core","deactivate","overlayId","userPlayIntent","pendingPercentBreaks","vmapLoadPromise","vmapPending","pendingVmapSrc","rebuildSchedule","bindBreakScheduler","bindPrerollInterceptors","forcedMuteUntilInteraction","adVideo","volume","playAds","vastUrl","sourceType","inferSourceTypeForUrl","playBreakFromVast","kind","playAdsFromXml","vastXml","getDueMidrollBreaks","currentTime","media","toAdd","pb","atSec","percent","resolvedBreaks","due","getVastInputFromBreak","input","getBreakId","has","getDueMidrollBreak","destroy","finish","resume","remove","exact","every","resolveContainer","el","selector","found","querySelector","HTMLElement","getNonLinearContainer","resolvedNonLinearContainer","getCompanionContainer","resolvedCompanionContainer","getSource","getPrimaryVastLikeSource","isXmlString","getVastXmlText","XMLSerializer","serializeToString","String","res","buildParsedForNonLinearFromXml","xmlText","toXmlDocument","setSafeHTML","html","tpl","innerHTML","blockedTags","walker","createTreeWalker","content","NodeFilter","SHOW_ELEMENT","toRemove","nextNode","node","currentNode","tagName","attr","removeAttribute","isJs","isData","isHttp","isSafeDataImage","replaceChildren","cloneNode","args","warn","combined","vastLikeSources","vmap","preload","loadVmapAndMerge","normalizeVmapAdSource","extractVastTagUri","URI","existing","vmapSrc","xmlDoc","VMAP","vmapBreaks","prevPendingCount","rawAdBreakCount","ns","getElementsByTagNameNS","getElementsByTagName","rawOffset","pendingPercent","parseVmapTimeOffset","vastInline","vastTag","vast","libBreakCount","byTag","root","adBreakEls","adSrc","uriEls","dataEls","err","reason","resolveMount","closest","body","p","exec","hh","mm","ss","firstSource","getPostrollBreak","getPrerollBreak","hasExplicitPrerolls","primary","shouldInterceptPreroll","pre","state","current","maybeStartDeferredVmap","vmapWasPending","shouldInterceptNow","pause","userInteracted","guard","startBreak","onNativePlayCapture","addEventListener","capture","removeEventListener","onTime","earliestBreak","earliestAt","vmapOffset","tol","group","abs","max","startBreakGroup","onEnded","post","break","opts","waterfallSources","add","isLastWaterfall","suppressResumeOnError","suppressResumeOnSuccess","suppressResume","startedMain","playable","isBumper","isLast","extractAdsFromParsed","parsed","direct","vastResponse","adPods","adpods","flattened","pod","Ads","singlePod","adPod","adpod","singleAds","collectPodAds","out","seqRaw","seq","cidx","mediafiles","mf","pickBestMediaFile","skipOffset","extractSkipOffsetFromCreative","companions","companionAds","nonLinears","nonLinearAds","mediaFile","creativeIndex","as","MAX_SAFE_INTEGER","bs","collectPodAdsFromXml","doc","adEl","seqAttr","cEl","linearEl","mediaFilesEl","bitRate","rawEl","clearAdTracks","adTrackEls","buildCaptionsFromVastMediaFileRaw","mediaFileRaw","extractClosedCaptions","lang","srclang","label","toUpperCase","ensureRawCaptions","captions","attachAdCaptionTracks","vtt","created","default","appendChild","captionsSignature","listCaptionTracks","textTracks","item","captureActiveCaptionTrack","prevActiveCaptionSig","mode","restoreActiveTextTrack","sig","tracks","cc","ClosedCaptionFiles","closedCaptionFile","ClosedCaptionFile","mime_type","removeAdCaptions","normalized","raw","candidates","skipdelay","skipoffset","normalize","obj","parseTimecodeToSeconds","computeSkipAtSeconds","tc","ensureSkipDom","skipWrap","skipBtn","wrap","btn","onClick","onSkip","preventDefault","stopPropagation","EVENT_OPTIONS","sessionUnsubs","hideSkipUi","skipOffsetRaw","skipAtSeconds","setupSkipUIForPodItem","update","dur","skipAt","cur","remaining","ceil","pointerEvents","requestSkip","trackSkip","brk","currentBreakMeta","dispatchEvent","Event","clearAdOverlays","companionWrap","nonLinearWrap","mountCompanions","container","zIndex","flexDirection","gap","maxWidth","renderCompanion","childElementCount","companion","companionClickThrough","clickThrough","position","cursor","staticRes","StaticResources","iframeRes","iFrameResource","IFrameResource","iFrameResources","IFrameResources","htmlRes","HTMLResource","HTMLResources","img","ifr","border","div","safeWindowOpen","trackClick","trackClickThrough","collectNonLinearCreatives","nonLinear","NonLinearAds","NonLinears","nl","collectNonLinearFromXml","byLocalName","els","arr","firstChildText","compEls","nlEls","nonLinearClickThrough","playNonLinearOnlyBreakFromXml","items","meta","ensureOverlayMounted","maxDuration","it","ensureNonLinearDom","renderNonLinear","nonLinearSuggestedDurationSeconds","index","start","tick","elapsed","dismiss","left","right","bottom","justifyContent","nonLinearClickThroughURLTemplate","pickFirst","target","mountNonLinear","minSuggestedDurationSeconds","playNonLinearOnlyBreak","VASTTracker","_lastCreative","companionCreative","trackCreativeView","mountAdVideo","playsInline","contentPreload","forceMutedForPolicy","autoplay","controls","desiredMuted","desiredVolume","defaultMuted","min","adEndPromise","done","cleanupTakeover","onError","onVisibility","visibilityState","ended","play","overlayMgr","activate","priority","canSeek","fullscreenEl","fullscreenVideoEl","updateOverlay","bindAdSurfaceCommands","wantsAutoplayPath","vol","syncingVolume","bindTrackerAndTelemetry","started","lastMuted","lastPaused","emitDuration","q25","q50","q75","q100","emitQuartile","quartile","onPlaying","trackResume","trackStart","onPause","trackPause","remainingTime","pct","trackFirstQuartile","trackMidpoint","trackThirdQuartile","trackComplete","onVolume","trackMute","trackUnmute","ev","defaultPrevented","getClickThroughUrl","videoClicks","rawUrl","URL","href","open","mount","cs","getComputedStyle","inset","tryMountSimidLayer","simid","SIMID","simidLayer","urlsRaw","resources","simidUrls","iframe","requestPayload","resumeAfter","pauseAndAcquireLease","acquire","owner","rawDoc","loadRawDocBestEffort","XMLDocument","emitLoaded","count","nonLinearItems","xmlItems","endPromise","waitForAdEnd","startAdPlayback","tryPlay","p2","querySelectorAll","removeChild","shouldResume","OpenPlayerPlugins","factory","install","PlayerCtor","getOwnPropertyDescriptor","getPlugin","plugin","installAds","extend","player","extendAds","OpenPlayerJS","getCore","freeze","object","oc","MIME_TYPE","HTML","isHTML","XML_APPLICATION","XML_TEXT","XML_XHTML_APPLICATION","XML_SVG_IMAGE","NAMESPACE","SVG","XML","XMLNS","conventions","call","predicate","ac","require$$0","notEmptyString","orderedSetReducer","element","toOrderedSet","splitOnASCIIWhitespace","copy","dest","_extends","Class","Super","pt","NodeType","ELEMENT_NODE","ATTRIBUTE_NODE","TEXT_NODE","CDATA_SECTION_NODE","ENTITY_REFERENCE_NODE","ENTITY_NODE","PROCESSING_INSTRUCTION_NODE","COMMENT_NODE","DOCUMENT_NODE","DOCUMENT_TYPE_NODE","DOCUMENT_FRAGMENT_NODE","NOTATION_NODE","ExceptionCode","ExceptionMessage","INDEX_SIZE_ERR","DOMSTRING_SIZE_ERR","HIERARCHY_REQUEST_ERR","WRONG_DOCUMENT_ERR","INVALID_CHARACTER_ERR","NO_DATA_ALLOWED_ERR","NO_MODIFICATION_ALLOWED_ERR","NOT_FOUND_ERR","NOT_SUPPORTED_ERR","INUSE_ATTRIBUTE_ERR","DOMException","code","captureStackTrace","NodeList","LiveNodeList","refresh","_node","_refresh","_updateLiveList","inc","_inc","ownerDocument","ls","__set__","$$length","NamedNodeMap","_findNodeIndex","_addNamedNode","newAttr","oldAttr","ownerElement","_onRemoveAttribute","namespaceURI","_nsMap","prefix","_onAddAttribute","_removeNamedNode","lastIndex","DOMImplementation","Node","_xmlEncoder","_visitNode","callback","Document","_onUpdateChild","newChild","child","_removeChild","previous","previousSibling","next","lastChild","isDocTypeNode","isElementNode","isTextNode","isElementInsertionPossible","parentChildNodes","docTypeNode","isElementReplacementPossible","assertPreInsertionValidity1to5","parent","hasValidParentNodeType","hasInsertableNodeType","assertPreInsertionValidityInDocument","nodeChildNodes","nodeChildElements","parentElementChild","assertPreReplacementValidityInDocument","hasDoctypeChildThatIsNotChild","_insertBefore","_inDocumentAssertion","cp","newFirst","newLast","_updateOwnerDocument","newOwnerDocument","Element","Attr","CharacterData","Text","Comment","CDATASection","DocumentType","Notation","Entity","EntityReference","DocumentFragment","ProcessingInstruction","nodeSerializeToString","isHtml","nodeFilter","buf","refNode","lookupPrefix","visibleNamespaces","namespace","needNamespaceDefine","addSerializedAttribute","qualifiedName","attrs","len","prefixedNodeName","defaultNS","ai","nsi","pubid","publicId","sysid","systemId","sub","internalSubset","importNode","deep","node2","attrs2","_ownerElement","setAttributeNode","INVALID_STATE_ERR","SYNTAX_ERR","INVALID_MODIFICATION_ERR","NAMESPACE_ERR","INVALID_ACCESS_ERR","getNamedItem","setNamedItem","setNamedItemNS","getNamedItemNS","removeNamedItem","removeNamedItemNS","hasFeature","feature","createDocument","doctype","implementation","createElementNS","createDocumentType","insertBefore","refChild","replaceChild","oldChild","hasChildNodes","appendData","isSupported","hasAttributes","lookupNamespaceURI","isDefaultNamespace","importedNode","getElementById","rtv","getElementsByClassName","classNames","classNamesSet","base","nodeClassNames","matches","nodeClassNamesSet","createDocumentFragment","createTextNode","createComment","createCDATASection","createProcessingInstruction","createAttribute","specified","createEntityReference","pl","createAttributeNS","hasAttribute","getAttributeNode","removeAttributeNode","_appendSingleChild","setAttributeNodeNS","removeAttributeNS","old","getAttributeNodeNS","hasAttributeNS","getAttributeNS","setAttributeNS","substringData","insertData","replaceData","deleteData","splitText","newText","newNode","getTextContent","set","dom","exports","XML_ENTITIES","amp","apos","gt","lt","quot","HTML_ENTITIES","Aacute","aacute","Abreve","abreve","acd","acE","Acirc","acirc","acute","Acy","acy","AElig","aelig","af","Afr","afr","Agrave","agrave","alefsym","aleph","Alpha","alpha","Amacr","amacr","amalg","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","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","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","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","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","elinters","ell","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","fflig","ffllig","Ffr","ffr","filig","FilledSmallSquare","FilledVerySmallSquare","fjlig","flat","fllig","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","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","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","Igrave","igrave","ii","iiiint","iiint","iinfin","iiota","IJlig","ijlig","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","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","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","ltcc","ltcir","ltdot","lthree","ltimes","ltlarr","ltquest","ltri","ltrie","ltrif","ltrPar","lurdshar","luruhar","lvertneqq","lvnE","macr","male","malt","maltese","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","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","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","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","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","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","entityMap","nameStartChar","nameChar","tagNamePattern","ParseError","locator","XMLReader","copyLocator","lineNumber","columnNumber","parseElementStartPart","currentNSMap","entityReplacer","errorHandler","addAttribute","qname","startIndex","attributeNames","fatalError","addValue","attrName","warning","setTagName","closed","appendElement","domBuilder","localNSMap","qName","nsp","nsPrefix","_copy","startPrefixMapping","startElement","endElement","endPrefixMapping","parseHtmlSpecialContent","elStartEnd","elEndStart","characters","fixSelfClosed","closeMap","pos","parseDCC","end","comment","substr","startCDATA","endCDATA","matchs","lastMatch","startDTD","endDTD","parseInstruction","processingInstruction","ElementAttributes","defaultNSMap","startDocument","defaultNSMapCopy","fixedFromCharCode","surrogate1","surrogate2","fromCharCode","appendText","xt","lineEnd","linePattern","lineStart","parseStack","tagStart","currentElement","endMatch","locator2","endDocument","getLocalName","getLocator","getQName","getURI","getValue","sax","require$$1","entities","require$$2","require$$3","normalizeLineEndings","options","DOMHandler","cdata","_locator","_toString","chars","java","hander","xmlns","setDocumentLocator","errorImpl","isCallback","Function","build","fn","msg","buildErrorHandler","documentURI","ins","ignorableWhitespace","ch","apply","charNode","skippedEntity","comm","impl","dt","domParser","__DOMHandler","lib"],"mappings":"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","x_google_ignoreList":[0,1,4,5,6,7,8,9]}
|
|
1
|
+
{"version":3,"file":"openplayer-ads.js","sources":["../../../node_modules/.pnpm/@dailymotion+vast-client@6.4.2/node_modules/@dailymotion/vast-client/dist/vast-client.min.js","../../../node_modules/.pnpm/@dailymotion+vmap@3.3.3/node_modules/@dailymotion/vmap/dist/vmap-js.js","../src/umd.ts","../src/ads.ts","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/conventions.js","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/dom.js","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/entities.js","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/sax.js","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/dom-parser.js","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/index.js"],"sourcesContent":["function e(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{id:e.id||null,adId:e.adId||null,sequence:e.sequence||null,apiFramework:e.apiFramework||null,universalAdIds:[],creativeExtensions:[]}}const t=[\"ADCATEGORIES\",\"ADCOUNT\",\"ADPLAYHEAD\",\"ADSERVINGID\",\"ADTYPE\",\"APIFRAMEWORKS\",\"APPBUNDLE\",\"ASSETURI\",\"BLOCKEDADCATEGORIES\",\"BREAKMAXADLENGTH\",\"BREAKMAXADS\",\"BREAKMAXDURATION\",\"BREAKMINADLENGTH\",\"BREAKMINDURATION\",\"BREAKPOSITION\",\"CLICKPOS\",\"CLICKTYPE\",\"CLIENTUA\",\"CONTENTID\",\"CONTENTPLAYHEAD\",\"CONTENTURI\",\"DEVICEIP\",\"DEVICEUA\",\"DOMAIN\",\"EXTENSIONS\",\"GDPRCONSENT\",\"IFA\",\"IFATYPE\",\"INVENTORYSTATE\",\"LATLONG\",\"LIMITADTRACKING\",\"MEDIAMIME\",\"MEDIAPLAYHEAD\",\"OMIDPARTNER\",\"PAGEURL\",\"PLACEMENTTYPE\",\"PLAYERCAPABILITIES\",\"PLAYERSIZE\",\"PLAYERSTATE\",\"PODSEQUENCE\",\"REGULATIONS\",\"SERVERSIDE\",\"SERVERUA\",\"TRANSACTIONID\",\"UNIVERSALADID\",\"VASTVERSIONS\",\"VERIFICATIONVENDORS\"];function r(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a=[],n=s(e);!t.ERRORCODE||r.isCustomCode||/^[0-9]{3}$/.test(t.ERRORCODE)||(t.ERRORCODE=900),t.CACHEBUSTING=d(Math.round(1e8*Math.random())),t.TIMESTAMP=(new Date).toISOString(),t.RANDOM=t.random=t.CACHEBUSTING;for(const e in t)t[e]=c(t[e]);for(const e in n){const r=n[e];\"string\"==typeof r&&a.push(i(r,t))}return a}function i(e,r){const i=(e=a(e,r)).match(/[^[\\]]+(?=])/g);if(!i)return e;let s=i.filter((e=>t.indexOf(e)>-1));return 0===s.length?e:(s=s.reduce(((e,t)=>(e[t]=-1,e)),{}),a(e,s))}function a(e,t){let r=e;for(const e in t){const i=t[e];r=r.replace(new RegExp(\"(?:\\\\[|%%)(\".concat(e,\")(?:\\\\]|%%)\"),\"g\"),i)}return r}function s(e){return Array.isArray(e)?e.map((e=>e&&e.hasOwnProperty(\"url\")?e.url:e)):e}function n(e){return/^(https?:\\/\\/|\\/\\/)/.test(e)}function o(e,t){for(let r=0;r<t.length;r++)if(l(t[r],e))return!0;return!1}function l(e,t){if(e&&t){const r=Object.getOwnPropertyNames(e),i=Object.getOwnPropertyNames(t);return r.length===i.length&&(e.id===t.id&&e.url===t.url)}return!1}function c(e){return encodeURIComponent(e).replace(/[!'()*]/g,(e=>\"%\".concat(e.charCodeAt(0).toString(16))))}function d(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8;return e.toString().padStart(t,\"0\")}const u={track:function(e,t,i){r(e,t,i).forEach((e=>{if(\"undefined\"!=typeof window&&null!==window){(new Image).src=e}}))},resolveURLTemplates:r,extractURLsFromTemplates:s,filterUrlTemplates:function(e){return e.reduce(((e,t)=>{const r=t.url||t;return n(r)?e.validUrls.push(r):e.invalidUrls.push(r),e}),{validUrls:[],invalidUrls:[]})},containsTemplateObject:o,isTemplateObjectEqual:l,encodeURIComponentRFC3986:c,replaceUrlMacros:i,isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},flatten:function e(t){return t.reduce(((t,r)=>t.concat(Array.isArray(r)?e(r):r)),[])},joinArrayOfUniqueTemplateObjs:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];const r=Array.isArray(e)?e:[],i=Array.isArray(t)?t:[];return r.concat(i).reduce(((e,t)=>(o(t,e)||e.push(t),e)),[])},isValidTimeValue:function(e){return Number.isFinite(e)&&e>=-2},addLeadingZeros:d,isValidUrl:n,isBrowserEnvironment:function(){return\"undefined\"!=typeof window},formatMacrosValues:function(e){return\"object\"!=typeof e?e:JSON.stringify(e)}};function h(e){return[\"true\",\"TRUE\",\"True\",\"1\"].includes(e)}function p(e){if(null==e)return-1;if(u.isNumeric(e))return parseInt(e);const t=e.split(\":\");if(3!==t.length)return-1;const r=t[2].split(\".\");let i=parseInt(r[0]);2===r.length&&(i+=parseFloat(\"0.\".concat(r[1])));const a=parseInt(60*t[1]),s=parseInt(60*t[0]*60);return isNaN(s)||isNaN(a)||isNaN(i)||a>3600||i>60?-1:s+a+i}const m={childByName:function(e,t){return Array.from(e.childNodes).find((e=>e.nodeName===t))},childrenByName:function(e,t){return Array.from(e.childNodes).filter((e=>e.nodeName===t))},resolveVastAdTagURI:function(e,t){if(!t)return e;if(e.startsWith(\"//\")){const{protocol:t}=location;return\"\".concat(t).concat(e)}if(!e.includes(\"://\")){const r=t.slice(0,t.lastIndexOf(\"/\"));return\"\".concat(r,\"/\").concat(e)}return e},parseBoolean:h,parseNodeText:function(e){return e&&(e.textContent||e.text||\"\").trim()},copyNodeAttribute:function(e,t,r){const i=t.getAttribute(e);i&&r.setAttribute(e,i)},parseAttributes:function(e){return Array.from(e.attributes).reduce(((e,t)=>(e[t.nodeName]=t.nodeValue,e)),{})},parseDuration:p,getStandAloneAds:function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).filter((e=>!parseInt(e.sequence,10)))},getSortedAdPods:function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).filter((e=>parseInt(e.sequence,10))).sort(((e,t)=>e.sequence-t.sequence))},assignAttributes:function(e,t){e&&Array.from(e).forEach((e=>{let{nodeName:r,nodeValue:i}=e;if(r&&i&&t.hasOwnProperty(r)){let e=i;\"boolean\"==typeof t[r]&&(e=h(e)),t[r]=e}}))},mergeWrapperAdData:function(e,t){var r;e.errorURLTemplates=t.errorURLTemplates.concat(e.errorURLTemplates),e.impressionURLTemplates=t.impressionURLTemplates.concat(e.impressionURLTemplates),e.extensions=t.extensions.concat(e.extensions),t.viewableImpression.length>0&&(e.viewableImpression=[...e.viewableImpression,...t.viewableImpression]),e.followAdditionalWrappers=t.followAdditionalWrappers,e.allowMultipleAds=t.allowMultipleAds,e.fallbackOnNoAd=t.fallbackOnNoAd;const i=(t.creatives||[]).filter((e=>e&&\"companion\"===e.type)),a=i.reduce(((e,t)=>((t.variations||[]).forEach((t=>{(t.companionClickTrackingURLTemplates||[]).forEach((t=>{u.containsTemplateObject(t,e)||e.push(t)}))})),e)),[]);e.creatives=i.concat(e.creatives);const s=t.videoClickTrackingURLTemplates&&t.videoClickTrackingURLTemplates.length,n=t.videoCustomClickURLTemplates&&t.videoCustomClickURLTemplates.length;if(e.creatives.forEach((e=>{if(t.trackingEvents&&t.trackingEvents[e.type])for(const r in t.trackingEvents[e.type]){const i=t.trackingEvents[e.type][r];Array.isArray(e.trackingEvents[r])||(e.trackingEvents[r]=[]),e.trackingEvents[r]=e.trackingEvents[r].concat(i)}\"linear\"===e.type&&(s&&(e.videoClickTrackingURLTemplates=e.videoClickTrackingURLTemplates.concat(t.videoClickTrackingURLTemplates)),n&&(e.videoCustomClickURLTemplates=e.videoCustomClickURLTemplates.concat(t.videoCustomClickURLTemplates)),!t.videoClickThroughURLTemplate||null!==e.videoClickThroughURLTemplate&&void 0!==e.videoClickThroughURLTemplate||(e.videoClickThroughURLTemplate=t.videoClickThroughURLTemplate)),\"companion\"===e.type&&a.length&&(e.variations||[]).forEach((e=>{e.companionClickTrackingURLTemplates=u.joinArrayOfUniqueTemplateObjs(e.companionClickTrackingURLTemplates,a)}))})),t.adVerifications&&(e.adVerifications=e.adVerifications.concat(t.adVerifications)),t.blockedAdCategories&&(e.blockedAdCategories=e.blockedAdCategories.concat(t.blockedAdCategories)),null!==(r=t.creatives)&&void 0!==r&&r.length){const r=t.creatives.filter((e=>{var t;return(null===(t=e.icons)||void 0===t?void 0:t.length)&&!e.mediaFiles.length}));r.length&&(e.creatives=e.creatives.concat(r))}}};function g(t,r){const i=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{id:r,adId:i,sequence:a,apiFramework:s}=e(t);return{id:r,adId:i,sequence:a,apiFramework:s,type:\"companion\",required:null,variations:[]}}(r);return i.required=t.getAttribute(\"required\")||null,i.variations=m.childrenByName(t,\"Companion\").map((e=>{const t=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{id:e.id||null,adType:\"companionAd\",width:e.width||0,height:e.height||0,assetWidth:e.assetWidth||null,assetHeight:e.assetHeight||null,expandedWidth:e.expandedWidth||null,expandedHeight:e.expandedHeight||null,apiFramework:e.apiFramework||null,adSlotId:e.adSlotId||null,pxratio:e.pxratio||\"1\",renderingMode:e.renderingMode||\"default\",staticResources:[],htmlResources:[],iframeResources:[],adParameters:null,altText:null,companionClickThroughURLTemplate:null,companionClickTrackingURLTemplates:[],trackingEvents:{}}}(m.parseAttributes(e));t.htmlResources=m.childrenByName(e,\"HTMLResource\").reduce(((e,t)=>{const r=m.parseNodeText(t);return r?e.concat(r):e}),[]),t.iframeResources=m.childrenByName(e,\"IFrameResource\").reduce(((e,t)=>{const r=m.parseNodeText(t);return r?e.concat(r):e}),[]),t.staticResources=m.childrenByName(e,\"StaticResource\").reduce(((e,t)=>{const r=m.parseNodeText(t);return r?e.concat({url:r,creativeType:t.getAttribute(\"creativeType\")||null}):e}),[]),t.altText=m.parseNodeText(m.childByName(e,\"AltText\"))||null;const r=m.childByName(e,\"TrackingEvents\");r&&m.childrenByName(r,\"Tracking\").forEach((e=>{const r=e.getAttribute(\"event\"),i=m.parseNodeText(e);r&&i&&(Array.isArray(t.trackingEvents[r])||(t.trackingEvents[r]=[]),t.trackingEvents[r].push(i))})),t.companionClickTrackingURLTemplates=m.childrenByName(e,\"CompanionClickTracking\").map((e=>({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)}))),t.companionClickThroughURLTemplate=m.parseNodeText(m.childByName(e,\"CompanionClickThrough\"))||null;const i=m.childByName(e,\"AdParameters\");return i&&(t.adParameters={value:m.parseNodeText(i),xmlEncoded:i.getAttribute(\"xmlEncoded\")||null}),t})),i}function v(t,r){let i;const a=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{id:r,adId:i,sequence:a,apiFramework:s}=e(t);return{id:r,adId:i,sequence:a,apiFramework:s,type:\"linear\",duration:0,skipDelay:null,mediaFiles:[],mezzanine:null,interactiveCreativeFile:null,closedCaptionFiles:[],videoClickThroughURLTemplate:null,videoClickTrackingURLTemplates:[],videoCustomClickURLTemplates:[],adParameters:null,icons:[],trackingEvents:{}}}(r);a.duration=m.parseDuration(m.parseNodeText(m.childByName(t,\"Duration\")));const s=t.getAttribute(\"skipoffset\");if(null==s)a.skipDelay=null;else if(\"%\"===s.charAt(s.length-1)&&-1!==a.duration){const e=parseInt(s,10);a.skipDelay=a.duration*(e/100)}else a.skipDelay=m.parseDuration(s);const n=m.childByName(t,\"VideoClicks\");if(n){const e=m.childByName(n,\"ClickThrough\");a.videoClickThroughURLTemplate=e?{id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)}:null,m.childrenByName(n,\"ClickTracking\").forEach((e=>{a.videoClickTrackingURLTemplates.push({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)})})),m.childrenByName(n,\"CustomClick\").forEach((e=>{a.videoCustomClickURLTemplates.push({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)})}))}const o=m.childByName(t,\"AdParameters\");o&&(a.adParameters={value:m.parseNodeText(o),xmlEncoded:o.getAttribute(\"xmlEncoded\")||null}),m.childrenByName(t,\"TrackingEvents\").forEach((e=>{m.childrenByName(e,\"Tracking\").forEach((e=>{let t=e.getAttribute(\"event\");const r=m.parseNodeText(e);if(t&&r){if(\"progress\"===t){if(i=e.getAttribute(\"offset\"),!i)return;t=\"%\"===i.charAt(i.length-1)?\"progress-\".concat(i):\"progress-\".concat(m.parseDuration(i))}Array.isArray(a.trackingEvents[t])||(a.trackingEvents[t]=[]),a.trackingEvents[t].push(r)}}))})),m.childrenByName(t,\"MediaFiles\").forEach((e=>{m.childrenByName(e,\"MediaFile\").forEach((e=>{a.mediaFiles.push(function(e){const t={id:null,fileURL:null,fileSize:0,deliveryType:\"progressive\",mimeType:null,mediaType:null,codec:null,bitrate:0,minBitrate:0,maxBitrate:0,width:0,height:0,apiFramework:null,scalable:null,maintainAspectRatio:null};t.id=e.getAttribute(\"id\"),t.fileURL=m.parseNodeText(e),t.deliveryType=e.getAttribute(\"delivery\"),t.codec=e.getAttribute(\"codec\"),t.mimeType=e.getAttribute(\"type\"),t.mediaType=e.getAttribute(\"mediaType\")||\"2D\",t.apiFramework=e.getAttribute(\"apiFramework\"),t.fileSize=parseInt(e.getAttribute(\"fileSize\")||0),t.bitrate=parseInt(e.getAttribute(\"bitrate\")||0),t.minBitrate=parseInt(e.getAttribute(\"minBitrate\")||0),t.maxBitrate=parseInt(e.getAttribute(\"maxBitrate\")||0),t.width=parseInt(e.getAttribute(\"width\")||0),t.height=parseInt(e.getAttribute(\"height\")||0);const r=e.getAttribute(\"scalable\");r&&\"string\"==typeof r&&(t.scalable=m.parseBoolean(r));const i=e.getAttribute(\"maintainAspectRatio\");i&&\"string\"==typeof i&&(t.maintainAspectRatio=m.parseBoolean(i));return t}(e))}));const t=m.childByName(e,\"InteractiveCreativeFile\");t&&(a.interactiveCreativeFile=function(e){const t=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{type:e.type||null,apiFramework:e.apiFramework||null,variableDuration:m.parseBoolean(e.variableDuration),fileURL:null}}(m.parseAttributes(e));return t.fileURL=m.parseNodeText(e),t}(t));const r=m.childByName(e,\"ClosedCaptionFiles\");r&&m.childrenByName(r,\"ClosedCaptionFile\").forEach((e=>{const t=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{type:e.type||null,language:e.language||null,fileURL:null}}(m.parseAttributes(e));t.fileURL=m.parseNodeText(e),a.closedCaptionFiles.push(t)}));const i=m.childByName(e,\"Mezzanine\"),s=function(e,t){const r={};let i=!1;return t.forEach((t=>{e&&e.getAttribute(t)?r[t]=e.getAttribute(t):i=!0})),i?null:r}(i,[\"delivery\",\"type\",\"width\",\"height\"]);if(s){const e={id:null,fileURL:null,delivery:null,codec:null,type:null,width:0,height:0,fileSize:0,mediaType:\"2D\"};e.id=i.getAttribute(\"id\"),e.fileURL=m.parseNodeText(i),e.delivery=s.delivery,e.codec=i.getAttribute(\"codec\"),e.type=s.type,e.width=parseInt(s.width,10),e.height=parseInt(s.height,10),e.fileSize=parseInt(i.getAttribute(\"fileSize\"),10),e.mediaType=i.getAttribute(\"mediaType\")||\"2D\",a.mezzanine=e}}));const l=m.childByName(t,\"Icons\");return l&&m.childrenByName(l,\"Icon\").forEach((e=>{a.icons.push(function(e){const t={program:null,height:0,width:0,xPosition:0,yPosition:0,apiFramework:null,offset:null,duration:0,type:null,staticResource:null,htmlResource:null,iframeResource:null,pxratio:\"1\",iconClickThroughURLTemplate:null,iconClickTrackingURLTemplates:[],iconViewTrackingURLTemplate:null,iconClickFallbackImages:[],altText:null,hoverText:null};t.program=e.getAttribute(\"program\"),t.height=parseInt(e.getAttribute(\"height\")||0),t.width=parseInt(e.getAttribute(\"width\")||0),t.xPosition=function(e){if(-1!==[\"left\",\"right\"].indexOf(e))return e;return parseInt(e||0)}(e.getAttribute(\"xPosition\")),t.yPosition=function(e){if(-1!==[\"top\",\"bottom\"].indexOf(e))return e;return parseInt(e||0)}(e.getAttribute(\"yPosition\")),t.apiFramework=e.getAttribute(\"apiFramework\"),t.pxratio=e.getAttribute(\"pxratio\")||\"1\",t.offset=m.parseDuration(e.getAttribute(\"offset\")),t.duration=m.parseDuration(e.getAttribute(\"duration\")),t.altText=e.getAttribute(\"altText\"),t.hoverText=e.getAttribute(\"hoverText\"),m.childrenByName(e,\"HTMLResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||\"text/html\",t.htmlResource=m.parseNodeText(e)})),m.childrenByName(e,\"IFrameResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||0,t.iframeResource=m.parseNodeText(e)})),m.childrenByName(e,\"StaticResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||0,t.staticResource=m.parseNodeText(e)}));const r=m.childByName(e,\"IconClicks\");if(r){t.iconClickThroughURLTemplate=m.parseNodeText(m.childByName(r,\"IconClickThrough\")),m.childrenByName(r,\"IconClickTracking\").forEach((e=>{t.iconClickTrackingURLTemplates.push({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)})}));const e=m.childByName(r,\"IconClickFallbackImages\");e&&m.childrenByName(e,\"IconClickFallbackImage\").forEach((e=>{t.iconClickFallbackImages.push({url:m.parseNodeText(e)||null,width:e.getAttribute(\"width\")||null,height:e.getAttribute(\"height\")||null})}))}return t.iconViewTrackingURLTemplate=m.parseNodeText(m.childByName(e,\"IconViewTracking\")),t}(e))})),a}function f(t,r){const i=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{id:r,adId:i,sequence:a,apiFramework:s}=e(t);return{id:r,adId:i,sequence:a,apiFramework:s,type:\"nonlinear\",variations:[],trackingEvents:{}}}(r);return m.childrenByName(t,\"TrackingEvents\").forEach((e=>{let t,r;m.childrenByName(e,\"Tracking\").forEach((e=>{t=e.getAttribute(\"event\"),r=m.parseNodeText(e),t&&r&&(Array.isArray(i.trackingEvents[t])||(i.trackingEvents[t]=[]),i.trackingEvents[t].push(r))}))})),m.childrenByName(t,\"NonLinear\").forEach((e=>{const t={id:null,width:0,height:0,expandedWidth:0,expandedHeight:0,scalable:!0,maintainAspectRatio:!0,minSuggestedDuration:0,apiFramework:\"static\",adType:\"nonLinearAd\",type:null,staticResource:null,htmlResource:null,iframeResource:null,nonlinearClickThroughURLTemplate:null,nonlinearClickTrackingURLTemplates:[],adParameters:null};t.id=e.getAttribute(\"id\")||null,t.width=e.getAttribute(\"width\"),t.height=e.getAttribute(\"height\"),t.expandedWidth=e.getAttribute(\"expandedWidth\"),t.expandedHeight=e.getAttribute(\"expandedHeight\"),t.scalable=m.parseBoolean(e.getAttribute(\"scalable\")),t.maintainAspectRatio=m.parseBoolean(e.getAttribute(\"maintainAspectRatio\")),t.minSuggestedDuration=m.parseDuration(e.getAttribute(\"minSuggestedDuration\")),t.apiFramework=e.getAttribute(\"apiFramework\"),m.childrenByName(e,\"HTMLResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||\"text/html\",t.htmlResource=m.parseNodeText(e)})),m.childrenByName(e,\"IFrameResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||0,t.iframeResource=m.parseNodeText(e)})),m.childrenByName(e,\"StaticResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||0,t.staticResource=m.parseNodeText(e)}));const r=m.childByName(e,\"AdParameters\");r&&(t.adParameters={value:m.parseNodeText(r),xmlEncoded:r.getAttribute(\"xmlEncoded\")||null}),t.nonlinearClickThroughURLTemplate=m.parseNodeText(m.childByName(e,\"NonLinearClickThrough\")),m.childrenByName(e,\"NonLinearClickTracking\").forEach((e=>{t.nonlinearClickTrackingURLTemplates.push({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)})})),i.variations.push(t)})),i}function T(e){const t=[];return e.forEach((e=>{const r=A(e);r&&t.push(r)})),t}function A(e){if(\"#comment\"===e.nodeName)return null;const t={name:null,value:null,attributes:{},children:[]},r=e.attributes,i=e.childNodes;if(t.name=e.nodeName,e.attributes)for(const e in r)if(r.hasOwnProperty(e)){const i=r[e];i.nodeName&&i.nodeValue&&(t.attributes[i.nodeName]=i.nodeValue)}for(const e in i)if(i.hasOwnProperty(e)){const r=A(i[e]);r&&t.children.push(r)}if(0===t.children.length||1===t.children.length&&[\"#cdata-section\",\"#text\"].indexOf(t.children[0].name)>=0){const r=m.parseNodeText(e);\"\"!==r&&(t.value=r),t.children=[]}return null===(a=t).value&&0===Object.keys(a.attributes).length&&0===a.children.length?null:t;var a}function R(e){return e.getAttribute(\"AdID\")||e.getAttribute(\"adID\")||e.getAttribute(\"adId\")||null}const k={Wrapper:{subElements:[\"VASTAdTagURI\",\"Impression\"]},BlockedAdCategories:{attributes:[\"authority\"]},InLine:{subElements:[\"AdSystem\",\"AdTitle\",\"Impression\",\"AdServingId\",\"Creatives\"]},Category:{attributes:[\"authority\"]},Pricing:{attributes:[\"model\",\"currency\"]},Verification:{oneOfinLineResources:[\"JavaScriptResource\",\"ExecutableResource\"],attributes:[\"vendor\"]},UniversalAdId:{attributes:[\"idRegistry\"]},JavaScriptResource:{attributes:[\"apiFramework\",\"browserOptional\"]},ExecutableResource:{attributes:[\"apiFramework\",\"type\"]},Tracking:{attributes:[\"event\"]},Creatives:{subElements:[\"Creative\"]},Creative:{subElements:[\"UniversalAdId\"]},Linear:{subElements:[\"MediaFiles\",\"Duration\"]},MediaFiles:{subElements:[\"MediaFile\"]},MediaFile:{attributes:[\"delivery\",\"type\",\"width\",\"height\"]},Mezzanine:{attributes:[\"delivery\",\"type\",\"width\",\"height\"]},NonLinear:{oneOfinLineResources:[\"StaticResource\",\"IFrameResource\",\"HTMLResource\"],attributes:[\"width\",\"height\"]},Companion:{oneOfinLineResources:[\"StaticResource\",\"IFrameResource\",\"HTMLResource\"],attributes:[\"width\",\"height\"]},StaticResource:{attributes:[\"creativeType\"]},Icons:{subElements:[\"Icon\"]},Icon:{oneOfinLineResources:[\"StaticResource\",\"IFrameResource\",\"HTMLResource\"]}};function y(e,t){if(!k[e.nodeName]||!k[e.nodeName].attributes)return;const r=k[e.nodeName].attributes.filter((t=>!e.getAttribute(t)));r.length>0&&N({name:e.nodeName,parentName:e.parentNode.nodeName,attributes:r},t)}function E(e,t,r){const i=k[e.nodeName],a=!r&&\"Wrapper\"!==e.nodeName;if(!i||a)return;if(i.subElements){const r=i.subElements.filter((t=>!m.childByName(e,t)));r.length>0&&N({name:e.nodeName,parentName:e.parentNode.nodeName,subElements:r},t)}if(!r||!i.oneOfinLineResources)return;i.oneOfinLineResources.some((t=>m.childByName(e,t)))||N({name:e.nodeName,parentName:e.parentNode.nodeName,oneOfResources:i.oneOfinLineResources},t)}function b(e){return e.children&&0!==e.children.length}function N(e,t){let{name:r,parentName:i,attributes:a,subElements:s,oneOfResources:n}=e,o=\"Element '\".concat(r,\"'\");o+=a?\" missing required attribute(s) '\".concat(a.join(\", \"),\"' \"):s?\" missing required sub element(s) '\".concat(s.join(\", \"),\"' \"):n?\" must provide one of the following '\".concat(n.join(\", \"),\"' \"):\" is empty\",t(\"VAST-warning\",{message:o,parentElement:i,specVersion:4.1})}const w={verifyRequiredValues:function e(t,r,i){if(t&&t.nodeName)if(\"InLine\"===t.nodeName&&(i=!0),y(t,r),b(t)){E(t,r,i);for(let a=0;a<t.children.length;a++)e(t.children[a],r,i)}else 0===m.parseNodeText(t).length&&N({name:t.nodeName,parentName:t.parentNode.nodeName},r)},hasSubElements:b,emitMissingValueWarning:N,verifyRequiredAttributes:y,verifyRequiredSubElements:E};function L(e,t){let{allowMultipleAds:r,followAdditionalWrappers:i}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a=Array.from(e.childNodes).filter((e=>{const t=e.nodeName.toLowerCase();return\"inline\"===t||!1!==i&&\"wrapper\"===t}));for(const i of a){if(m.copyNodeAttribute(\"id\",e,i),m.copyNodeAttribute(\"sequence\",e,i),m.copyNodeAttribute(\"adType\",e,i),\"Wrapper\"===i.nodeName)return{ad:I(i,t),type:\"WRAPPER\"};if(\"InLine\"===i.nodeName)return{ad:C(i,t,{allowMultipleAds:r}),type:\"INLINE\"};const a=i.nodeName.toLowerCase();t(\"VAST-warning\",{message:\"<\".concat(i.nodeName,\"inline\"===a?\"> must be written <InLine>\":\"> must be written <Wrapper>\"),wrongNode:i})}}function C(e,t){let{allowMultipleAds:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return!1===r&&e.getAttribute(\"sequence\")?null:U(e,t)}function U(e,t){let r=[];t&&w.verifyRequiredValues(e,t);const i=Array.from(e.childNodes),a=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{id:e.id||null,sequence:e.sequence||null,adType:e.adType||null,adServingId:null,categories:[],expires:null,viewableImpression:[],system:null,title:null,description:null,advertiser:null,pricing:null,survey:null,errorURLTemplates:[],impressionURLTemplates:[],creatives:[],extensions:[],adVerifications:[],blockedAdCategories:[],followAdditionalWrappers:!0,allowMultipleAds:!1,fallbackOnNoAd:null}}(m.parseAttributes(e));return i.forEach((e=>{switch(e.nodeName){case\"Error\":a.errorURLTemplates.push(m.parseNodeText(e));break;case\"Impression\":a.impressionURLTemplates.push({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)});break;case\"Creatives\":a.creatives=function(e){const t=[];return e.forEach((e=>{const r={id:e.getAttribute(\"id\")||null,adId:R(e),sequence:e.getAttribute(\"sequence\")||null,apiFramework:e.getAttribute(\"apiFramework\")||null},i=[];let a;m.childrenByName(e,\"UniversalAdId\").forEach((e=>{const t={idRegistry:e.getAttribute(\"idRegistry\")||\"unknown\",value:m.parseNodeText(e)};i.push(t)}));const s=m.childByName(e,\"CreativeExtensions\");s&&(a=T(m.childrenByName(s,\"CreativeExtension\")));for(const s in e.childNodes){const n=e.childNodes[s];let o;switch(n.nodeName){case\"Linear\":o=v(n,r);break;case\"NonLinearAds\":o=f(n,r);break;case\"CompanionAds\":o=g(n,r)}o&&(i&&(o.universalAdIds=i),a&&(o.creativeExtensions=a),t.push(o))}})),t}(m.childrenByName(e,\"Creative\"));break;case\"Extensions\":{const t=m.childrenByName(e,\"Extension\");a.extensions=T(t),a.adVerifications.length||(r=function(e){let t=null,r=[];e.some((e=>t=m.childByName(e,\"AdVerifications\"))),t&&(r=x(m.childrenByName(t,\"Verification\")));return r}(t));break}case\"AdVerifications\":a.adVerifications=x(m.childrenByName(e,\"Verification\"));break;case\"AdSystem\":a.system={value:m.parseNodeText(e),version:e.getAttribute(\"version\")||null};break;case\"AdTitle\":a.title=m.parseNodeText(e);break;case\"AdServingId\":a.adServingId=m.parseNodeText(e);break;case\"Category\":a.categories.push({authority:e.getAttribute(\"authority\")||null,value:m.parseNodeText(e)});break;case\"Expires\":a.expires=parseInt(m.parseNodeText(e),10);break;case\"ViewableImpression\":a.viewableImpression.push(function(e){const t=(e,t)=>{const r=m.parseNodeText(t);return r&&e.push(r),e};return{id:e.getAttribute(\"id\")||null,viewable:m.childrenByName(e,\"Viewable\").reduce(t,[]),notViewable:m.childrenByName(e,\"NotViewable\").reduce(t,[]),viewUndetermined:m.childrenByName(e,\"ViewUndetermined\").reduce(t,[])}}(e));break;case\"Description\":a.description=m.parseNodeText(e);break;case\"Advertiser\":a.advertiser={id:e.getAttribute(\"id\")||null,value:m.parseNodeText(e)};break;case\"Pricing\":a.pricing={value:m.parseNodeText(e),model:e.getAttribute(\"model\")||null,currency:e.getAttribute(\"currency\")||null};break;case\"Survey\":a.survey={value:m.parseNodeText(e),type:e.getAttribute(\"type\")||null};break;case\"BlockedAdCategories\":a.blockedAdCategories.push({authority:e.getAttribute(\"authority\")||null,value:m.parseNodeText(e)})}})),r.length&&(a.adVerifications=a.adVerifications.concat(r)),a}function I(e,t){const r=U(e,t),i=e.getAttribute(\"followAdditionalWrappers\"),a=e.getAttribute(\"allowMultipleAds\"),s=e.getAttribute(\"fallbackOnNoAd\");r.followAdditionalWrappers=!i||m.parseBoolean(i),r.allowMultipleAds=!!a&&m.parseBoolean(a),r.fallbackOnNoAd=s?m.parseBoolean(s):null;let n=m.childByName(e,\"VASTAdTagURI\");if(n?r.nextWrapperURL=m.parseNodeText(n):(n=m.childByName(e,\"VASTAdTagURL\"),n&&(r.nextWrapperURL=m.parseNodeText(m.childByName(n,\"URL\")))),r.creatives.forEach((e=>{if([\"linear\",\"nonlinear\"].includes(e.type)){if(e.trackingEvents){r.trackingEvents||(r.trackingEvents={}),r.trackingEvents[e.type]||(r.trackingEvents[e.type]={});for(const t in e.trackingEvents){const i=e.trackingEvents[t];Array.isArray(r.trackingEvents[e.type][t])||(r.trackingEvents[e.type][t]=[]),i.forEach((i=>{r.trackingEvents[e.type][t].push(i)}))}}e.videoClickTrackingURLTemplates&&(Array.isArray(r.videoClickTrackingURLTemplates)||(r.videoClickTrackingURLTemplates=[]),e.videoClickTrackingURLTemplates.forEach((e=>{r.videoClickTrackingURLTemplates.push(e)}))),e.videoClickThroughURLTemplate&&(r.videoClickThroughURLTemplate=e.videoClickThroughURLTemplate),e.videoCustomClickURLTemplates&&(Array.isArray(r.videoCustomClickURLTemplates)||(r.videoCustomClickURLTemplates=[]),e.videoCustomClickURLTemplates.forEach((e=>{r.videoCustomClickURLTemplates.push(e)})))}})),r.nextWrapperURL)return r}function x(e){const t=[];return e.forEach((e=>{const r={resource:null,vendor:null,browserOptional:!1,apiFramework:null,type:null,parameters:null,trackingEvents:{}},i=Array.from(e.childNodes);m.assignAttributes(e.attributes,r),i.forEach((e=>{let{nodeName:t,textContent:i,attributes:a}=e;switch(t){case\"JavaScriptResource\":case\"ExecutableResource\":r.resource=i.trim(),m.assignAttributes(a,r);break;case\"VerificationParameters\":r.parameters=i.trim()}}));const a=m.childByName(e,\"TrackingEvents\");a&&m.childrenByName(a,\"Tracking\").forEach((e=>{const t=e.getAttribute(\"event\"),i=m.parseNodeText(e);t&&i&&(Array.isArray(r.trackingEvents[t])||(r.trackingEvents[t]=[]),r.trackingEvents[t].push(i))})),t.push(r)})),t}class S{constructor(){this._handlers=[]}on(e,t){if(\"function\"!=typeof t)throw new TypeError(\"The handler argument must be of type Function. Received type \".concat(typeof t));if(!e)throw new TypeError(\"The event argument must be of type String. Received type \".concat(typeof e));return this._handlers.push({event:e,handler:t}),this}once(e,t){return this.on(e,function(e,t,r){const i={fired:!1,wrapFn:void 0};function a(){i.fired||(e.off(t,i.wrapFn),i.fired=!0,r.bind(e)(...arguments))}return i.wrapFn=a,a}(this,e,t))}off(e,t){return this._handlers=this._handlers.filter((r=>r.event!==e||r.handler!==t)),this}emit(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];let a=!1;return this._handlers.forEach((t=>{\"*\"===t.event&&(a=!0,t.handler(e,...r)),t.event===e&&(a=!0,t.handler(...r))})),a}removeAllListeners(e){return e?(this._handlers=this._handlers.filter((t=>t.event!==e)),this):(this._handlers=[],this)}listenerCount(e){return this._handlers.filter((t=>t.event===e)).length}listeners(e){return this._handlers.reduce(((t,r)=>(r.event===e&&t.push(r.handler),t)),[])}eventNames(){return this._handlers.map((e=>e.event))}}let V=0,D=0;const O=(e,t)=>{if(!e||!t||e<=0||t<=0)return;D=(D*V+8*e/t)/++V},F={ERRORCODE:900,extensions:[]},P=\"VAST response version not supported\";class B extends S{constructor(){let{fetcher:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(),this.maxWrapperDepth=null,this.rootErrorURLTemplates=[],this.errorURLTemplates=[],this.remainingAds=[],this.parsingOptions={},this.fetcher=e||null,this.keepFailedAdPod=!1}trackVastError(e,t){for(var r=arguments.length,i=new Array(r>2?r-2:0),a=2;a<r;a++)i[a-2]=arguments[a];this.emit(\"VAST-error\",Object.assign({},F,t,...i)),u.track(e,t)}getErrorURLTemplates(){return this.rootErrorURLTemplates.concat(this.errorURLTemplates)}getEstimatedBitrate(){return D}initParsingStatus(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.maxWrapperDepth=e.wrapperLimit||10,this.parsingOptions={allowMultipleAds:e.allowMultipleAds},this.keepFailedAdPod=e.keepFailedAdPod||!1,this.rootURL=\"\",this.resetParsingStatus(),O(e.byteLength,e.requestDuration)}resetParsingStatus(){this.errorURLTemplates=[],this.rootErrorURLTemplates=[],this.vastVersion=null}getRemainingAds(e){if(0===this.remainingAds.length)return Promise.reject(new Error(\"No more ads are available for the given VAST\"));const t=e?this.remainingAds:[this.remainingAds.shift()];return this.errorURLTemplates=[],this.resolveAds(t,{wrapperDepth:0,url:this.rootURL}).then((e=>this.buildVASTResponse(e)))}parseVAST(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.initParsingStatus(t),t.isRootVAST=!0,this.parse(e,t).then((e=>this.buildVASTResponse(e)))}buildVASTResponse(e){const t=function(e){let{ads:t,errorURLTemplates:r,version:i}=e;return{ads:t||[],errorURLTemplates:r||[],version:i||null}}({ads:e,errorURLTemplates:this.getErrorURLTemplates(),version:this.vastVersion});return this.completeWrapperResolving(t),t}parseVastXml(e,t){let{isRootVAST:r=!1,url:i=null,wrapperDepth:a=0,allowMultipleAds:s,followAdditionalWrappers:n}=t;if(!e||!e.documentElement||\"VAST\"!==e.documentElement.nodeName){var o;this.emit(\"VAST-ad-parsed\",{type:\"ERROR\",url:i,wrapperDepth:a});const t=\"VideoAdServingTemplate\"===(null==e||null===(o=e.documentElement)||void 0===o?void 0:o.nodeName);throw new Error(t?P:\"Invalid VAST XMLDocument\")}const l=[],c=e.documentElement.childNodes,d=e.documentElement.getAttribute(\"version\");r&&d&&(this.vastVersion=d);for(const e in c){const t=c[e];if(\"Error\"===t.nodeName){const e=m.parseNodeText(t);r?this.rootErrorURLTemplates.push(e):this.errorURLTemplates.push(e)}else if(\"Ad\"===t.nodeName){if(this.vastVersion&&parseFloat(this.vastVersion)<3)s=!0;else if(!1===s&&l.length>1)break;const e=L(t,this.emit.bind(this),{allowMultipleAds:s,followAdditionalWrappers:n});e.ad?(l.push(e.ad),this.emit(\"VAST-ad-parsed\",{type:e.type,url:i,wrapperDepth:a,adIndex:l.length-1,vastVersion:d})):this.trackVastError(this.getErrorURLTemplates(),{ERRORCODE:101})}}return l}parse(e){let{url:t=null,resolveAll:r=!0,wrapperSequence:i=null,previousUrl:a=null,wrapperDepth:s=0,isRootVAST:n=!1,followAdditionalWrappers:o,allowMultipleAds:l}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},c=[];this.vastVersion&&parseFloat(this.vastVersion)<3&&n&&(l=!0);try{c=this.parseVastXml(e,{isRootVAST:n,url:t,wrapperDepth:s,allowMultipleAds:l,followAdditionalWrappers:o})}catch(e){return Promise.reject(e)}if(1===c.length&&null!=i&&(c[0].sequence=i),!1===r){const e=m.getSortedAdPods(c),t=m.getStandAloneAds(c);e.length?c=e:t.length&&(c=[t.shift()]),this.remainingAds=t}return this.resolveAds(c,{wrapperDepth:s,previousUrl:a,url:t})}resolveAds(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],{wrapperDepth:t,previousUrl:r,url:i}=arguments.length>1?arguments[1]:void 0;const a=[];return r=i,e.forEach((e=>{const i=this.resolveWrappers(e,t,r);a.push(i)})),Promise.all(a).then((e=>u.flatten(e)))}resolveWrappers(e,t,r){const i={...e};return new Promise((e=>{var a;if(t++,!i.nextWrapperURL)return delete i.nextWrapperURL,e(i);if(!this.fetcher)return i.VASTAdTagURI=i.nextWrapperURL,delete i.nextWrapperURL,e(i);if(t>=this.maxWrapperDepth)return i.errorCode=302,delete i.nextWrapperURL,e(i);i.nextWrapperURL=m.resolveVastAdTagURI(i.nextWrapperURL,r);const s=null!==(a=this.parsingOptions.allowMultipleAds)&&void 0!==a?a:i.allowMultipleAds,n=i.sequence;this.fetcher.fetchVAST({url:i.nextWrapperURL,emitter:this.emit.bind(this),maxWrapperDepth:this.maxWrapperDepth}).then((a=>this.parse(a,{url:i.nextWrapperURL,previousUrl:r,wrapperSequence:n,wrapperDepth:t,followAdditionalWrappers:i.followAdditionalWrappers,allowMultipleAds:s}).then((t=>{if(delete i.nextWrapperURL,0===t.length)return i.creatives=[],e(i);t.forEach((e=>{e&&m.mergeWrapperAdData(e,i)})),e(t)})))).catch((t=>{i.errorCode=t.message===P?102:301,i.errorMessage=t.message,e(i)}))}))}completeWrapperResolving(e){if(0===e.ads.length)this.trackVastError(e.errorURLTemplates,{ERRORCODE:303});else for(let t=e.ads.length-1;t>=0;t--){const r=e.ads[t],i=!r.creatives.some((e=>{var t,r;return(null===(t=e.mediaFiles)||void 0===t?void 0:t.length)>0||(null===(r=e.variations)||void 0===r?void 0:r.length)>0}));!r.errorCode&&!i||r.VASTAdTagURI||(this.trackVastError(r.errorURLTemplates.concat(e.errorURLTemplates),{ERRORCODE:r.errorCode||303},{ERRORMESSAGE:r.errorMessage||\"\"},{extensions:r.extensions},{system:r.system}),this.keepFailedAdPod&&r.sequence?r.hasFailed=!0:e.ads.splice(t,1))}}}let M=null;const W={data:{},length:0,getItem(e){return this.data[e]},setItem(e,t){this.data[e]=t,this.length=Object.keys(this.data).length},removeItem(e){delete this.data[e],this.length=Object.keys(this.data).length},clear(){this.data={},this.length=0}};class j{constructor(){this.storage=this.initStorage()}initStorage(){if(M)return M;try{M=\"undefined\"!=typeof window&&null!==window?window.localStorage||window.sessionStorage:null}catch(e){M=null}return M&&!this.isStorageDisabled(M)||(M=W,M.clear()),M}isStorageDisabled(e){const t=\"__VASTStorage__\";try{if(e.setItem(t,t),e.getItem(t)!==t)return e.removeItem(t),!0}catch(e){return!0}return e.removeItem(t),!1}getItem(e){return this.storage.getItem(e)}setItem(e,t){return this.storage.setItem(e,t)}removeItem(e){return this.storage.removeItem(e)}clear(){return this.storage.clear()}}const q=12e4;const K={get:async function(e,t){try{const r=new AbortController,i=setTimeout((()=>{throw r.abort(),new Error(\"URLHandler: Request timed out after \".concat(t.timeout||q,\" ms (408)\"))}),t.timeout||q),a=await fetch(e,{...t,signal:r.signal,credentials:t.withCredentials?\"include\":\"omit\"}).finally((()=>{clearTimeout(i)})),s=function(e){return u.isBrowserEnvironment()&&\"https:\"===window.location.protocol&&e.url.includes(\"http://\")?\"URLHandler: Cannot go from HTTPS to HTTP.\":200===e.status&&e.ok?null:\"URLHandler: \".concat(e.statusText,\" (\").concat(e.status,\")\")}(a);return s?{error:new Error(s),statusCode:a.status}:async function(e){const t=await e.text();let r;r=u.isBrowserEnvironment()?new DOMParser:new((await import(\"@xmldom/xmldom\")).DOMParser);return{xml:r.parseFromString(t,\"text/xml\"),details:{byteLength:t.length,statusCode:e.status,rawXml:t}}}(a)}catch(e){return{error:e,statusCode:\"AbortError\"===e.name?408:null}}}};class H{constructor(){this.URLTemplateFilters=[]}setOptions(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.urlHandler=e.urlHandler||e.urlhandler||K,this.fetchingOptions={...e.fetchOptions,timeout:e.timeout||q,withCredentials:Boolean(e.withCredentials)}}addURLTemplateFilter(e){\"function\"==typeof e&&this.URLTemplateFilters.push(e)}removeLastURLTemplateFilter(){this.URLTemplateFilters.pop()}countURLTemplateFilters(){return this.URLTemplateFilters.length}clearURLTemplateFilters(){this.URLTemplateFilters=[]}async fetchVAST(e){var t;let{url:r,maxWrapperDepth:i,emitter:a,wrapperDepth:s=0,previousUrl:n=null,wrapperAd:o=null}=e;const l=Date.now();this.URLTemplateFilters.forEach((e=>{r=e(r)})),a(\"VAST-resolving\",{url:r,previousUrl:n,wrapperDepth:s,maxWrapperDepth:i,timeout:this.fetchingOptions.timeout,wrapperAd:o});const c=await this.urlHandler.get(r,this.fetchingOptions),d=Math.round(Date.now()-l);if(a(\"VAST-resolved\",{url:r,previousUrl:n,wrapperDepth:s,error:(null==c?void 0:c.error)||null,duration:d,statusCode:(null==c?void 0:c.statusCode)||null,...null==c?void 0:c.details}),O(null==c||null===(t=c.details)||void 0===t?void 0:t.byteLength,d),c.error)throw new Error(c.error);return c.xml}}class _{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new j;this.cappingFreeLunch=e,this.cappingMinimumTimeInterval=t,this.fetcher=new H,this.vastParser=new B({fetcher:this.fetcher}),this.storage=r,void 0===this.lastSuccessfulAd&&(this.lastSuccessfulAd=0),void 0===this.totalCalls&&(this.totalCalls=0),void 0===this.totalCallsTimeout&&(this.totalCallsTimeout=0)}addURLTemplateFilter(e){this.fetcher.addURLTemplateFilter(e)}removeLastURLTemplateFilter(){this.fetcher.removeLastURLTemplateFilter()}countURLTemplateFilters(){return this.fetcher.countURLTemplateFilters()}clearURLTemplateFilters(){this.fetcher.clearURLTemplateFilters()}getParser(){return this.vastParser}get lastSuccessfulAd(){return this.storage.getItem(\"vast-client-last-successful-ad\")}set lastSuccessfulAd(e){this.storage.setItem(\"vast-client-last-successful-ad\",e)}get totalCalls(){return this.storage.getItem(\"vast-client-total-calls\")}set totalCalls(e){this.storage.setItem(\"vast-client-total-calls\",e)}get totalCallsTimeout(){return this.storage.getItem(\"vast-client-total-calls-timeout\")}set totalCallsTimeout(e){this.storage.setItem(\"vast-client-total-calls-timeout\",e)}hasRemainingAds(){return this.vastParser.remainingAds.length>0}getNextAds(e){return this.vastParser.getRemainingAds(e)}parseVAST(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.fetcher.setOptions(t),this.vastParser.parseVAST(e,t)}get(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=Date.now();return t.hasOwnProperty(\"resolveAll\")||(t.resolveAll=!1),this.totalCallsTimeout<r?(this.totalCalls=1,this.totalCallsTimeout=r+36e5):this.totalCalls++,new Promise(((i,a)=>{if(this.cappingFreeLunch>=this.totalCalls)return a(new Error(\"VAST call canceled – FreeLunch capping not reached yet \".concat(this.totalCalls,\"/\").concat(this.cappingFreeLunch)));const s=r-this.lastSuccessfulAd;if(s<0)this.lastSuccessfulAd=0;else if(s<this.cappingMinimumTimeInterval)return a(new Error(\"VAST call canceled – (\".concat(this.cappingMinimumTimeInterval,\")ms minimum interval reached\")));this.vastParser.initParsingStatus(t),this.fetcher.setOptions(t),this.vastParser.rootURL=e,this.fetcher.fetchVAST({url:e,emitter:this.vastParser.emit.bind(this.vastParser),maxWrapperDepth:this.vastParser.maxWrapperDepth}).then((r=>(t.previousUrl=e,t.isRootVAST=!0,t.url=e,this.vastParser.parse(r,t).then((e=>{const t=this.vastParser.buildVASTResponse(e);i(t)}))))).catch((e=>a(e)))}))}}class z extends S{constructor(e,t,r){var i;let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=arguments.length>4&&void 0!==arguments[4]&&arguments[4];super(),this.ad=t,this.creative=r,this.variation=a,this.muted=s,this.impressed=!1,this.skippable=!1,this.trackingEvents={},this.trackedProgressEvents=[],this.lastPercentage=0,this._alreadyTriggeredQuartiles={},this.emitAlwaysEvents=[\"creativeView\",\"start\",\"firstQuartile\",\"midpoint\",\"thirdQuartile\",\"complete\",\"resume\",\"pause\",\"rewind\",\"skip\",\"closeLinear\",\"close\"];for(const e in this.creative.trackingEvents){const t=this.creative.trackingEvents[e];this.trackingEvents[e]=t.slice(0)}this.viewableImpressionTrackers=(null===(i=this.ad.viewableImpression)||void 0===i?void 0:i.reduce(((e,t)=>(e.notViewable.push(...t.notViewable),e.viewUndetermined.push(...t.viewUndetermined),e.viewable.push(...t.viewable),e)),{notViewable:[],viewUndetermined:[],viewable:[]}))||{},Object.entries(this.viewableImpressionTrackers).forEach((e=>{let[t,r]=e;r.length&&(this.trackingEvents[t]=r)})),!function(e){return\"linear\"===e.type}(this.creative)?this._initVariationTracking():this._initLinearTracking(),e&&this.on(\"start\",(()=>{e.lastSuccessfulAd=Date.now()}))}_initLinearTracking(){this.linear=!0,this.skipDelay=this.creative.skipDelay,this.setDuration(this.creative.duration),this.clickThroughURLTemplate=this.creative.videoClickThroughURLTemplate,this.clickTrackingURLTemplates=this.creative.videoClickTrackingURLTemplates}_initVariationTracking(){if(this.linear=!1,this.skipDelay=-1,this.variation){for(const e in this.variation.trackingEvents){const t=this.variation.trackingEvents[e];this.trackingEvents[e]?this.trackingEvents[e]=this.trackingEvents[e].concat(t.slice(0)):this.trackingEvents[e]=t.slice(0)}\"nonLinearAd\"===this.variation.adType?(this.clickThroughURLTemplate=this.variation.nonlinearClickThroughURLTemplate,this.clickTrackingURLTemplates=this.variation.nonlinearClickTrackingURLTemplates,this.setDuration(this.variation.minSuggestedDuration)):function(e){return\"companionAd\"===e.adType}(this.variation)&&(this.clickThroughURLTemplate=this.variation.companionClickThroughURLTemplate,this.clickTrackingURLTemplates=this.variation.companionClickTrackingURLTemplates)}}setDuration(e){u.isValidTimeValue(e)?(this.assetDuration=e,this.quartiles={firstQuartile:Math.round(25*this.assetDuration)/100,midpoint:Math.round(50*this.assetDuration)/100,thirdQuartile:Math.round(75*this.assetDuration)/100}):this.emit(\"TRACKER-error\",{message:\"the duration provided is not valid. duration: \".concat(e)})}setProgress(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!u.isValidTimeValue(e)||\"object\"!=typeof t)return void this.emit(\"TRACKER-error\",{message:\"One given setProgress parameter has the wrong type. progress: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))});const i=this.skipDelay||-1;if(-1===i||this.skippable||(i>e?this.emit(\"skip-countdown\",i-e):(this.skippable=!0,this.emit(\"skip-countdown\",0))),this.assetDuration>0){const i=Math.round(e/this.assetDuration*100),a=[];if(e>0){a.push(\"start\");for(let e=this.lastPercentage;e<i;e++)a.push(\"progress-\".concat(e+1,\"%\"));a.push(\"progress-\".concat(e));for(const t in this.quartiles)this.isQuartileReached(t,this.quartiles[t],e)&&(a.push(t),this._alreadyTriggeredQuartiles[t]=!0);this.lastPercentage=i}a.forEach((e=>{this.track(e,{macros:t,once:r})})),e<this.progress&&(this.track(\"rewind\",{macros:t}),this.trackedProgressEvents&&this.trackedProgressEvents.splice(0))}this.progress=e}isQuartileReached(e,t,r){let i=!1;return t<=r&&!this._alreadyTriggeredQuartiles[e]&&(i=!0),i}setMuted(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"boolean\"==typeof e&&\"object\"==typeof t?(this.muted!==e&&this.track(e?\"mute\":\"unmute\",{macros:t}),this.muted=e):this.emit(\"TRACKER-error\",{message:\"One given setMuted parameter has the wrong type. muted: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))})}setPaused(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"boolean\"==typeof e&&\"object\"==typeof t?(this.paused!==e&&this.track(e?\"pause\":\"resume\",{macros:t}),this.paused=e):this.emit(\"TRACKER-error\",{message:\"One given setPaused parameter has the wrong type. paused: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))})}setFullscreen(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"boolean\"==typeof e&&\"object\"==typeof t?(this.fullscreen!==e&&this.track(e?\"fullscreen\":\"exitFullscreen\",{macros:t}),this.fullscreen=e):this.emit(\"TRACKER-error\",{message:\"One given setFullScreen parameter has the wrong type. fullscreen: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))})}setExpand(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"boolean\"==typeof e&&\"object\"==typeof t?(this.expanded!==e&&(this.track(e?\"expand\":\"collapse\",{macros:t}),this.track(e?\"playerExpand\":\"playerCollapse\",{macros:t})),this.expanded=e):this.emit(\"TRACKER-error\",{message:\"One given setExpand parameter has the wrong type. expanded: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))})}setSkipDelay(e){u.isValidTimeValue(e)?this.skipDelay=e:this.emit(\"TRACKER-error\",{message:\"setSkipDelay parameter does not have a valid value. duration: \".concat(e)})}trackImpression(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.impressed||(this.impressed=!0,this.trackURLs(this.ad.impressionURLTemplates,e),this.track(\"creativeView\",{macros:e})):this.emit(\"TRACKER-error\",{message:\"trackImpression parameter has the wrong type. macros: \".concat(e)})}trackViewableImpression(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];\"object\"==typeof e?this.track(\"viewable\",{macros:e,once:t}):this.emit(\"TRACKER-error\",{message:\"trackViewableImpression given macros has the wrong type. macros: \".concat(e)})}trackNotViewableImpression(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];\"object\"==typeof e?this.track(\"notViewable\",{macros:e,once:t}):this.emit(\"TRACKER-error\",{message:\"trackNotViewableImpression given macros has the wrong type. macros: \".concat(e)})}trackUndeterminedImpression(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];\"object\"==typeof e?this.track(\"viewUndetermined\",{macros:e,once:t}):this.emit(\"TRACKER-error\",{message:\"trackUndeterminedImpression given macros has the wrong type. macros: \".concat(e)})}error(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];\"object\"==typeof e&&\"boolean\"==typeof t?this.trackURLs(this.ad.errorURLTemplates,e,{isCustomCode:t}):this.emit(\"TRACKER-error\",{message:\"One given error parameter has the wrong type. macros: \".concat(u.formatMacrosValues(e),\", isCustomCode: \").concat(t)})}errorWithCode(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];\"string\"==typeof e&&\"boolean\"==typeof t?(this.error({ERRORCODE:e},t),console.log(\"The method errorWithCode is deprecated, please use vast tracker error method instead\")):this.emit(\"TRACKER-error\",{message:\"One given errorWithCode parameter has the wrong type. errorCode: \".concat(e,\", isCustomCode: \").concat(t)})}complete(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"complete\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"complete given macros has the wrong type. macros: \".concat(e)})}notUsed(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?(this.track(\"notUsed\",{macros:e}),this.trackingEvents=[]):this.emit(\"TRACKER-error\",{message:\"notUsed given macros has the wrong type. macros: \".concat(e)})}otherAdInteraction(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"otherAdInteraction\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"otherAdInteraction given macros has the wrong type. macros: \".concat(e)})}acceptInvitation(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"acceptInvitation\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"acceptInvitation given macros has the wrong type. macros: \".concat(e)})}adExpand(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"adExpand\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"adExpand given macros has the wrong type. macros: \".concat(e)})}adCollapse(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"adCollapse\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"adCollapse given macros has the wrong type. macros: \".concat(e)})}minimize(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"minimize\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"minimize given macros has the wrong type. macros: \".concat(e)})}verificationNotExecuted(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(\"string\"!=typeof e||\"object\"!=typeof t)return void this.emit(\"TRACKER-error\",{message:\"One given verificationNotExecuted parameter has to wrong type. vendor: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))});if(!this.ad||!this.ad.adVerifications||!this.ad.adVerifications.length)throw new Error(\"No adVerifications provided\");if(!e)throw new Error(\"No vendor provided, unable to find associated verificationNotExecuted\");const r=this.ad.adVerifications.find((t=>t.vendor===e));if(!r)throw new Error(\"No associated verification element found for vendor: \".concat(e));const i=r.trackingEvents;if(i&&i.verificationNotExecuted){const e=i.verificationNotExecuted;this.trackURLs(e,t),this.emit(\"verificationNotExecuted\",{trackingURLTemplates:e})}}overlayViewDuration(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"string\"==typeof e&&\"object\"==typeof t?(t.ADPLAYHEAD=e,this.track(\"overlayViewDuration\",{macros:t})):this.emit(\"TRACKER-error\",{message:\"One given overlayViewDuration parameters has the wrong type. formattedDuration: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))})}close(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(this.linear?\"closeLinear\":\"close\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"close given macros has the wrong type. macros: \".concat(e)})}skip(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"skip\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"skip given macros has the wrong type. macros: \".concat(e)})}load(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"loaded\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"load given macros has the wrong type. macros: \".concat(e)})}click(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(null!==e&&\"string\"!=typeof e||\"object\"!=typeof t)return void this.emit(\"TRACKER-error\",{message:\"One given click parameter has the wrong type. fallbackClickThroughURL: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))});this.clickTrackingURLTemplates&&this.clickTrackingURLTemplates.length&&this.trackURLs(this.clickTrackingURLTemplates,t);const r=this.clickThroughURLTemplate||e,i={...t};if(r){this.progress&&(i.ADPLAYHEAD=this.progressFormatted());const e=u.resolveURLTemplates([r],i)[0];this.emit(\"clickthrough\",e)}}trackProgressEvents(e,t,r){const i=parseFloat(e.split(\"-\")[1]);Object.entries(this.trackingEvents).filter((e=>{let[t]=e;return t.startsWith(\"progress-\")})).map((e=>{let[t,r]=e;return{name:t,time:parseFloat(t.split(\"-\")[1]),urls:r}})).filter((e=>{let{time:t}=e;return t<=i&&t>this.progress})).forEach((e=>{let{name:i,urls:a}=e;!r&&this.trackedProgressEvents.includes(i)||(this.emit(i,{trackingURLTemplates:a}),this.trackURLs(a,t),r?delete this.trackingEvents[i]:this.trackedProgressEvents.push(i))}))}track(e){let{macros:t={},once:r=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(\"object\"!=typeof t)return void this.emit(\"TRACKER-error\",{message:\"track given macros has the wrong type. macros: \".concat(t)});\"closeLinear\"===e&&!this.trackingEvents[e]&&this.trackingEvents.close&&(e=\"close\"),e.startsWith(\"progress-\")&&!e.endsWith(\"%\")&&this.trackProgressEvents(e,t,r);const i=this.trackingEvents[e],a=this.emitAlwaysEvents.indexOf(e)>-1;i?(this.emit(e,{trackingURLTemplates:i}),this.trackURLs(i,t)):a&&this.emit(e,null),r&&(delete this.trackingEvents[e],a&&this.emitAlwaysEvents.splice(this.emitAlwaysEvents.indexOf(e),1))}trackURLs(e){var t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{validUrls:a,invalidUrls:s}=u.filterUrlTemplates(e);s.length&&this.emit(\"TRACKER-error\",{message:\"Provided urls are malformed. url: \".concat(s)});const n={...r};this.linear&&(this.creative&&this.creative.mediaFiles&&this.creative.mediaFiles[0]&&this.creative.mediaFiles[0].fileURL&&(n.ASSETURI=this.creative.mediaFiles[0].fileURL),this.progress&&(n.ADPLAYHEAD=this.progressFormatted())),null!==(t=this.creative)&&void 0!==t&&null!==(t=t.universalAdIds)&&void 0!==t&&t.length&&(n.UNIVERSALADID=this.creative.universalAdIds.map((e=>e.idRegistry.concat(\" \",e.value))).join(\",\")),this.ad&&(this.ad.sequence&&(n.PODSEQUENCE=this.ad.sequence),this.ad.adType&&(n.ADTYPE=this.ad.adType),this.ad.adServingId&&(n.ADSERVINGID=this.ad.adServingId),this.ad.categories&&this.ad.categories.length&&(n.ADCATEGORIES=this.ad.categories.map((e=>e.value)).join(\",\")),this.ad.blockedAdCategories&&this.ad.blockedAdCategories.length&&(n.BLOCKEDADCATEGORIES=this.ad.blockedAdCategories.map((e=>e.value)).join(\",\"))),u.track(a,n,i)}convertToTimecode(e){if(!u.isValidTimeValue(e))return\"\";const t=1e3*e,r=Math.floor(t/36e5),i=Math.floor(t/6e4%60),a=Math.floor(t/1e3%60),s=Math.floor(t%1e3);return\"\".concat(u.addLeadingZeros(r,2),\":\").concat(u.addLeadingZeros(i,2),\":\").concat(u.addLeadingZeros(a,2),\".\").concat(u.addLeadingZeros(s,3))}progressFormatted(){return this.convertToTimecode(this.progress)}}export{_ as VASTClient,B as VASTParser,z as VASTTracker,p as parseDuration};\n","function t(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function e(t,e){for(var a=0;a<e.length;a++){var n=e[a];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function a(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),Object.defineProperty(t,\"prototype\",{writable:!1}),t}var n=a((function e(a){for(var n in t(this,e),this.id=a.getAttribute(\"id\"),this.allowMultipleAds=a.getAttribute(\"allowMultipleAds\"),this.followRedirects=a.getAttribute(\"followRedirects\"),this.vastAdData=null,this.adTagURI=null,this.customData=null,a.childNodes){var i=a.childNodes[n];switch(i.localName){case\"AdTagURI\":this.adTagURI={templateType:i.getAttribute(\"templateType\"),uri:(i.textContent||i.text||\"\").trim()};break;case\"VASTAdData\":for(this.vastAdData=i.firstChild;this.vastAdData&&1!==this.vastAdData.nodeType;)this.vastAdData=this.vastAdData.nextSibling;break;case\"CustomAdData\":this.customData=i}}}));function i(t,e){var a=[];for(var n in t.childNodes){var i=t.childNodes[n];i.nodeName!==e&&e!==\"vmap:\".concat(i.nodeName)&&i.nodeName!==\"vmap:\".concat(e)||a.push(i)}return a}function r(t){var e={attributes:{},children:{},value:{}};e.value=function(t){if(!t||!t.childNodes)return{};var e=t.childNodes,a=[];for(var n in e){var i=e[n];\"#cdata-section\"===i.nodeName&&a.push(i)}if(a&&a.length>0)try{return JSON.parse(a[0].data)}catch(t){}var r=\"\";for(var s in e){var o=e[s];switch(o.nodeName){case\"#text\":r+=o.textContent.trim();break;case\"#cdata-section\":r+=o.data}}return r}(t);var a=t.attributes;if(a)for(var n in a){var i=a[n];i.nodeName&&void 0!==i.nodeValue&&null!==i.nodeValue&&(e.attributes[i.nodeName]=i.nodeValue)}var s=t.childNodes;if(s)for(var o in s){var c=s[o];c.nodeName&&\"#\"!==c.nodeName.substring(0,1)&&(e.children[c.nodeName]=r(c))}return e}var s=function(){function e(a){for(var s in t(this,e),this.timeOffset=a.getAttribute(\"timeOffset\"),this.breakType=a.getAttribute(\"breakType\"),this.breakId=a.getAttribute(\"breakId\"),this.repeatAfter=a.getAttribute(\"repeatAfter\"),this.adSource=null,this.trackingEvents=[],this.extensions=[],a.childNodes){var o=a.childNodes[s];switch(o.localName){case\"AdSource\":this.adSource=new n(o);break;case\"TrackingEvents\":for(var c in o.childNodes){var d=o.childNodes[c];\"Tracking\"===d.localName&&this.trackingEvents.push({event:d.getAttribute(\"event\"),uri:(d.textContent||d.text||\"\").trim()})}break;case\"Extensions\":this.extensions=i(o,\"Extension\").map((function(t){return r(t)}))}}}return a(e,[{key:\"track\",value:function(t,e){for(var a in this.trackingEvents){var n=this.trackingEvents[a];if(n.event===t){var i=n.uri;\"error\"===n.event&&(i=i.replace(\"[ERRORCODE]\",e)),this.tracker(i)}}}},{key:\"tracker\",value:function(t){\"undefined\"!=typeof window&&null!==window&&((new Image).src=t)}}]),e}(),o=a((function e(a){if(t(this,e),!a||!a.documentElement||\"VMAP\"!==a.documentElement.localName)throw new Error(\"Not a VMAP document\");for(var n in this.version=a.documentElement.getAttribute(\"version\"),this.adBreaks=[],this.extensions=[],a.documentElement.childNodes){var o=a.documentElement.childNodes[n];switch(o.localName){case\"AdBreak\":this.adBreaks.push(new s(o));break;case\"Extensions\":this.extensions=i(o,\"Extension\").map((function(t){return r(t)}))}}}));export{o as default};\n",null,null,"'use strict'\n\n/**\n * Ponyfill for `Array.prototype.find` which is only available in ES6 runtimes.\n *\n * Works with anything that has a `length` property and index access properties, including NodeList.\n *\n * @template {unknown} T\n * @param {Array<T> | ({length:number, [number]: T})} list\n * @param {function (item: T, index: number, list:Array<T> | ({length:number, [number]: T})):boolean} predicate\n * @param {Partial<Pick<ArrayConstructor['prototype'], 'find'>>?} ac `Array.prototype` by default,\n * \t\t\t\tallows injecting a custom implementation in tests\n * @returns {T | undefined}\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find\n * @see https://tc39.es/ecma262/multipage/indexed-collections.html#sec-array.prototype.find\n */\nfunction find(list, predicate, ac) {\n\tif (ac === undefined) {\n\t\tac = Array.prototype;\n\t}\n\tif (list && typeof ac.find === 'function') {\n\t\treturn ac.find.call(list, predicate);\n\t}\n\tfor (var i = 0; i < list.length; i++) {\n\t\tif (Object.prototype.hasOwnProperty.call(list, i)) {\n\t\t\tvar item = list[i];\n\t\t\tif (predicate.call(undefined, item, i, list)) {\n\t\t\t\treturn item;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * \"Shallow freezes\" an object to render it immutable.\n * Uses `Object.freeze` if available,\n * otherwise the immutability is only in the type.\n *\n * Is used to create \"enum like\" objects.\n *\n * @template T\n * @param {T} object the object to freeze\n * @param {Pick<ObjectConstructor, 'freeze'> = Object} oc `Object` by default,\n * \t\t\t\tallows to inject custom object constructor for tests\n * @returns {Readonly<T>}\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze\n */\nfunction freeze(object, oc) {\n\tif (oc === undefined) {\n\t\toc = Object\n\t}\n\treturn oc && typeof oc.freeze === 'function' ? oc.freeze(object) : object\n}\n\n/**\n * Since we can not rely on `Object.assign` we provide a simplified version\n * that is sufficient for our needs.\n *\n * @param {Object} target\n * @param {Object | null | undefined} source\n *\n * @returns {Object} target\n * @throws TypeError if target is not an object\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n * @see https://tc39.es/ecma262/multipage/fundamental-objects.html#sec-object.assign\n */\nfunction assign(target, source) {\n\tif (target === null || typeof target !== 'object') {\n\t\tthrow new TypeError('target is not an object')\n\t}\n\tfor (var key in source) {\n\t\tif (Object.prototype.hasOwnProperty.call(source, key)) {\n\t\t\ttarget[key] = source[key]\n\t\t}\n\t}\n\treturn target\n}\n\n/**\n * All mime types that are allowed as input to `DOMParser.parseFromString`\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMParser/parseFromString#Argument02 MDN\n * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#domparsersupportedtype WHATWG HTML Spec\n * @see DOMParser.prototype.parseFromString\n */\nvar MIME_TYPE = freeze({\n\t/**\n\t * `text/html`, the only mime type that triggers treating an XML document as HTML.\n\t *\n\t * @see DOMParser.SupportedType.isHTML\n\t * @see https://www.iana.org/assignments/media-types/text/html IANA MimeType registration\n\t * @see https://en.wikipedia.org/wiki/HTML Wikipedia\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMParser/parseFromString MDN\n\t * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-domparser-parsefromstring WHATWG HTML Spec\n\t */\n\tHTML: 'text/html',\n\n\t/**\n\t * Helper method to check a mime type if it indicates an HTML document\n\t *\n\t * @param {string} [value]\n\t * @returns {boolean}\n\t *\n\t * @see https://www.iana.org/assignments/media-types/text/html IANA MimeType registration\n\t * @see https://en.wikipedia.org/wiki/HTML Wikipedia\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMParser/parseFromString MDN\n\t * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-domparser-parsefromstring \t */\n\tisHTML: function (value) {\n\t\treturn value === MIME_TYPE.HTML\n\t},\n\n\t/**\n\t * `application/xml`, the standard mime type for XML documents.\n\t *\n\t * @see https://www.iana.org/assignments/media-types/application/xml IANA MimeType registration\n\t * @see https://tools.ietf.org/html/rfc7303#section-9.1 RFC 7303\n\t * @see https://en.wikipedia.org/wiki/XML_and_MIME Wikipedia\n\t */\n\tXML_APPLICATION: 'application/xml',\n\n\t/**\n\t * `text/html`, an alias for `application/xml`.\n\t *\n\t * @see https://tools.ietf.org/html/rfc7303#section-9.2 RFC 7303\n\t * @see https://www.iana.org/assignments/media-types/text/xml IANA MimeType registration\n\t * @see https://en.wikipedia.org/wiki/XML_and_MIME Wikipedia\n\t */\n\tXML_TEXT: 'text/xml',\n\n\t/**\n\t * `application/xhtml+xml`, indicates an XML document that has the default HTML namespace,\n\t * but is parsed as an XML document.\n\t *\n\t * @see https://www.iana.org/assignments/media-types/application/xhtml+xml IANA MimeType registration\n\t * @see https://dom.spec.whatwg.org/#dom-domimplementation-createdocument WHATWG DOM Spec\n\t * @see https://en.wikipedia.org/wiki/XHTML Wikipedia\n\t */\n\tXML_XHTML_APPLICATION: 'application/xhtml+xml',\n\n\t/**\n\t * `image/svg+xml`,\n\t *\n\t * @see https://www.iana.org/assignments/media-types/image/svg+xml IANA MimeType registration\n\t * @see https://www.w3.org/TR/SVG11/ W3C SVG 1.1\n\t * @see https://en.wikipedia.org/wiki/Scalable_Vector_Graphics Wikipedia\n\t */\n\tXML_SVG_IMAGE: 'image/svg+xml',\n})\n\n/**\n * Namespaces that are used in this code base.\n *\n * @see http://www.w3.org/TR/REC-xml-names\n */\nvar NAMESPACE = freeze({\n\t/**\n\t * The XHTML namespace.\n\t *\n\t * @see http://www.w3.org/1999/xhtml\n\t */\n\tHTML: 'http://www.w3.org/1999/xhtml',\n\n\t/**\n\t * Checks if `uri` equals `NAMESPACE.HTML`.\n\t *\n\t * @param {string} [uri]\n\t *\n\t * @see NAMESPACE.HTML\n\t */\n\tisHTML: function (uri) {\n\t\treturn uri === NAMESPACE.HTML\n\t},\n\n\t/**\n\t * The SVG namespace.\n\t *\n\t * @see http://www.w3.org/2000/svg\n\t */\n\tSVG: 'http://www.w3.org/2000/svg',\n\n\t/**\n\t * The `xml:` namespace.\n\t *\n\t * @see http://www.w3.org/XML/1998/namespace\n\t */\n\tXML: 'http://www.w3.org/XML/1998/namespace',\n\n\t/**\n\t * The `xmlns:` namespace\n\t *\n\t * @see https://www.w3.org/2000/xmlns/\n\t */\n\tXMLNS: 'http://www.w3.org/2000/xmlns/',\n})\n\nexports.assign = assign;\nexports.find = find;\nexports.freeze = freeze;\nexports.MIME_TYPE = MIME_TYPE;\nexports.NAMESPACE = NAMESPACE;\n","var conventions = require(\"./conventions\");\n\nvar find = conventions.find;\nvar NAMESPACE = conventions.NAMESPACE;\n\n/**\n * A prerequisite for `[].filter`, to drop elements that are empty\n * @param {string} input\n * @returns {boolean}\n */\nfunction notEmptyString (input) {\n\treturn input !== ''\n}\n/**\n * @see https://infra.spec.whatwg.org/#split-on-ascii-whitespace\n * @see https://infra.spec.whatwg.org/#ascii-whitespace\n *\n * @param {string} input\n * @returns {string[]} (can be empty)\n */\nfunction splitOnASCIIWhitespace(input) {\n\t// U+0009 TAB, U+000A LF, U+000C FF, U+000D CR, U+0020 SPACE\n\treturn input ? input.split(/[\\t\\n\\f\\r ]+/).filter(notEmptyString) : []\n}\n\n/**\n * Adds element as a key to current if it is not already present.\n *\n * @param {Record<string, boolean | undefined>} current\n * @param {string} element\n * @returns {Record<string, boolean | undefined>}\n */\nfunction orderedSetReducer (current, element) {\n\tif (!current.hasOwnProperty(element)) {\n\t\tcurrent[element] = true;\n\t}\n\treturn current;\n}\n\n/**\n * @see https://infra.spec.whatwg.org/#ordered-set\n * @param {string} input\n * @returns {string[]}\n */\nfunction toOrderedSet(input) {\n\tif (!input) return [];\n\tvar list = splitOnASCIIWhitespace(input);\n\treturn Object.keys(list.reduce(orderedSetReducer, {}))\n}\n\n/**\n * Uses `list.indexOf` to implement something like `Array.prototype.includes`,\n * which we can not rely on being available.\n *\n * @param {any[]} list\n * @returns {function(any): boolean}\n */\nfunction arrayIncludes (list) {\n\treturn function(element) {\n\t\treturn list && list.indexOf(element) !== -1;\n\t}\n}\n\nfunction copy(src,dest){\n\tfor(var p in src){\n\t\tif (Object.prototype.hasOwnProperty.call(src, p)) {\n\t\t\tdest[p] = src[p];\n\t\t}\n\t}\n}\n\n/**\n^\\w+\\.prototype\\.([_\\w]+)\\s*=\\s*((?:.*\\{\\s*?[\\r\\n][\\s\\S]*?^})|\\S.*?(?=[;\\r\\n]));?\n^\\w+\\.prototype\\.([_\\w]+)\\s*=\\s*(\\S.*?(?=[;\\r\\n]));?\n */\nfunction _extends(Class,Super){\n\tvar pt = Class.prototype;\n\tif(!(pt instanceof Super)){\n\t\tfunction t(){};\n\t\tt.prototype = Super.prototype;\n\t\tt = new t();\n\t\tcopy(pt,t);\n\t\tClass.prototype = pt = t;\n\t}\n\tif(pt.constructor != Class){\n\t\tif(typeof Class != 'function'){\n\t\t\tconsole.error(\"unknown Class:\"+Class)\n\t\t}\n\t\tpt.constructor = Class\n\t}\n}\n\n// Node Types\nvar NodeType = {}\nvar ELEMENT_NODE = NodeType.ELEMENT_NODE = 1;\nvar ATTRIBUTE_NODE = NodeType.ATTRIBUTE_NODE = 2;\nvar TEXT_NODE = NodeType.TEXT_NODE = 3;\nvar CDATA_SECTION_NODE = NodeType.CDATA_SECTION_NODE = 4;\nvar ENTITY_REFERENCE_NODE = NodeType.ENTITY_REFERENCE_NODE = 5;\nvar ENTITY_NODE = NodeType.ENTITY_NODE = 6;\nvar PROCESSING_INSTRUCTION_NODE = NodeType.PROCESSING_INSTRUCTION_NODE = 7;\nvar COMMENT_NODE = NodeType.COMMENT_NODE = 8;\nvar DOCUMENT_NODE = NodeType.DOCUMENT_NODE = 9;\nvar DOCUMENT_TYPE_NODE = NodeType.DOCUMENT_TYPE_NODE = 10;\nvar DOCUMENT_FRAGMENT_NODE = NodeType.DOCUMENT_FRAGMENT_NODE = 11;\nvar NOTATION_NODE = NodeType.NOTATION_NODE = 12;\n\n// ExceptionCode\nvar ExceptionCode = {}\nvar ExceptionMessage = {};\nvar INDEX_SIZE_ERR = ExceptionCode.INDEX_SIZE_ERR = ((ExceptionMessage[1]=\"Index size error\"),1);\nvar DOMSTRING_SIZE_ERR = ExceptionCode.DOMSTRING_SIZE_ERR = ((ExceptionMessage[2]=\"DOMString size error\"),2);\nvar HIERARCHY_REQUEST_ERR = ExceptionCode.HIERARCHY_REQUEST_ERR = ((ExceptionMessage[3]=\"Hierarchy request error\"),3);\nvar WRONG_DOCUMENT_ERR = ExceptionCode.WRONG_DOCUMENT_ERR = ((ExceptionMessage[4]=\"Wrong document\"),4);\nvar INVALID_CHARACTER_ERR = ExceptionCode.INVALID_CHARACTER_ERR = ((ExceptionMessage[5]=\"Invalid character\"),5);\nvar NO_DATA_ALLOWED_ERR = ExceptionCode.NO_DATA_ALLOWED_ERR = ((ExceptionMessage[6]=\"No data allowed\"),6);\nvar NO_MODIFICATION_ALLOWED_ERR = ExceptionCode.NO_MODIFICATION_ALLOWED_ERR = ((ExceptionMessage[7]=\"No modification allowed\"),7);\nvar NOT_FOUND_ERR = ExceptionCode.NOT_FOUND_ERR = ((ExceptionMessage[8]=\"Not found\"),8);\nvar NOT_SUPPORTED_ERR = ExceptionCode.NOT_SUPPORTED_ERR = ((ExceptionMessage[9]=\"Not supported\"),9);\nvar INUSE_ATTRIBUTE_ERR = ExceptionCode.INUSE_ATTRIBUTE_ERR = ((ExceptionMessage[10]=\"Attribute in use\"),10);\n//level2\nvar INVALID_STATE_ERR \t= ExceptionCode.INVALID_STATE_ERR \t= ((ExceptionMessage[11]=\"Invalid state\"),11);\nvar SYNTAX_ERR \t= ExceptionCode.SYNTAX_ERR \t= ((ExceptionMessage[12]=\"Syntax error\"),12);\nvar INVALID_MODIFICATION_ERR \t= ExceptionCode.INVALID_MODIFICATION_ERR \t= ((ExceptionMessage[13]=\"Invalid modification\"),13);\nvar NAMESPACE_ERR \t= ExceptionCode.NAMESPACE_ERR \t= ((ExceptionMessage[14]=\"Invalid namespace\"),14);\nvar INVALID_ACCESS_ERR \t= ExceptionCode.INVALID_ACCESS_ERR \t= ((ExceptionMessage[15]=\"Invalid access\"),15);\n\n/**\n * DOM Level 2\n * Object DOMException\n * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html\n * @see http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html\n */\nfunction DOMException(code, message) {\n\tif(message instanceof Error){\n\t\tvar error = message;\n\t}else{\n\t\terror = this;\n\t\tError.call(this, ExceptionMessage[code]);\n\t\tthis.message = ExceptionMessage[code];\n\t\tif(Error.captureStackTrace) Error.captureStackTrace(this, DOMException);\n\t}\n\terror.code = code;\n\tif(message) this.message = this.message + \": \" + message;\n\treturn error;\n};\nDOMException.prototype = Error.prototype;\ncopy(ExceptionCode,DOMException)\n\n/**\n * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-536297177\n * The NodeList interface provides the abstraction of an ordered collection of nodes, without defining or constraining how this collection is implemented. NodeList objects in the DOM are live.\n * The items in the NodeList are accessible via an integral index, starting from 0.\n */\nfunction NodeList() {\n};\nNodeList.prototype = {\n\t/**\n\t * The number of nodes in the list. The range of valid child node indices is 0 to length-1 inclusive.\n\t * @standard level1\n\t */\n\tlength:0,\n\t/**\n\t * Returns the indexth item in the collection. If index is greater than or equal to the number of nodes in the list, this returns null.\n\t * @standard level1\n\t * @param index unsigned long\n\t * Index into the collection.\n\t * @return Node\n\t * \tThe node at the indexth position in the NodeList, or null if that is not a valid index.\n\t */\n\titem: function(index) {\n\t\treturn index >= 0 && index < this.length ? this[index] : null;\n\t},\n\ttoString:function(isHTML,nodeFilter){\n\t\tfor(var buf = [], i = 0;i<this.length;i++){\n\t\t\tserializeToString(this[i],buf,isHTML,nodeFilter);\n\t\t}\n\t\treturn buf.join('');\n\t},\n\t/**\n\t * @private\n\t * @param {function (Node):boolean} predicate\n\t * @returns {Node[]}\n\t */\n\tfilter: function (predicate) {\n\t\treturn Array.prototype.filter.call(this, predicate);\n\t},\n\t/**\n\t * @private\n\t * @param {Node} item\n\t * @returns {number}\n\t */\n\tindexOf: function (item) {\n\t\treturn Array.prototype.indexOf.call(this, item);\n\t},\n};\n\nfunction LiveNodeList(node,refresh){\n\tthis._node = node;\n\tthis._refresh = refresh\n\t_updateLiveList(this);\n}\nfunction _updateLiveList(list){\n\tvar inc = list._node._inc || list._node.ownerDocument._inc;\n\tif (list._inc !== inc) {\n\t\tvar ls = list._refresh(list._node);\n\t\t__set__(list,'length',ls.length);\n\t\tif (!list.$$length || ls.length < list.$$length) {\n\t\t\tfor (var i = ls.length; i in list; i++) {\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(list, i)) {\n\t\t\t\t\tdelete list[i];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tcopy(ls,list);\n\t\tlist._inc = inc;\n\t}\n}\nLiveNodeList.prototype.item = function(i){\n\t_updateLiveList(this);\n\treturn this[i] || null;\n}\n\n_extends(LiveNodeList,NodeList);\n\n/**\n * Objects implementing the NamedNodeMap interface are used\n * to represent collections of nodes that can be accessed by name.\n * Note that NamedNodeMap does not inherit from NodeList;\n * NamedNodeMaps are not maintained in any particular order.\n * Objects contained in an object implementing NamedNodeMap may also be accessed by an ordinal index,\n * but this is simply to allow convenient enumeration of the contents of a NamedNodeMap,\n * and does not imply that the DOM specifies an order to these Nodes.\n * NamedNodeMap objects in the DOM are live.\n * used for attributes or DocumentType entities\n */\nfunction NamedNodeMap() {\n};\n\nfunction _findNodeIndex(list,node){\n\tvar i = list.length;\n\twhile(i--){\n\t\tif(list[i] === node){return i}\n\t}\n}\n\nfunction _addNamedNode(el,list,newAttr,oldAttr){\n\tif(oldAttr){\n\t\tlist[_findNodeIndex(list,oldAttr)] = newAttr;\n\t}else{\n\t\tlist[list.length++] = newAttr;\n\t}\n\tif(el){\n\t\tnewAttr.ownerElement = el;\n\t\tvar doc = el.ownerDocument;\n\t\tif(doc){\n\t\t\toldAttr && _onRemoveAttribute(doc,el,oldAttr);\n\t\t\t_onAddAttribute(doc,el,newAttr);\n\t\t}\n\t}\n}\nfunction _removeNamedNode(el,list,attr){\n\t//console.log('remove attr:'+attr)\n\tvar i = _findNodeIndex(list,attr);\n\tif(i>=0){\n\t\tvar lastIndex = list.length-1\n\t\twhile(i<lastIndex){\n\t\t\tlist[i] = list[++i]\n\t\t}\n\t\tlist.length = lastIndex;\n\t\tif(el){\n\t\t\tvar doc = el.ownerDocument;\n\t\t\tif(doc){\n\t\t\t\t_onRemoveAttribute(doc,el,attr);\n\t\t\t\tattr.ownerElement = null;\n\t\t\t}\n\t\t}\n\t}else{\n\t\tthrow new DOMException(NOT_FOUND_ERR,new Error(el.tagName+'@'+attr))\n\t}\n}\nNamedNodeMap.prototype = {\n\tlength:0,\n\titem:NodeList.prototype.item,\n\tgetNamedItem: function(key) {\n//\t\tif(key.indexOf(':')>0 || key == 'xmlns'){\n//\t\t\treturn null;\n//\t\t}\n\t\t//console.log()\n\t\tvar i = this.length;\n\t\twhile(i--){\n\t\t\tvar attr = this[i];\n\t\t\t//console.log(attr.nodeName,key)\n\t\t\tif(attr.nodeName == key){\n\t\t\t\treturn attr;\n\t\t\t}\n\t\t}\n\t},\n\tsetNamedItem: function(attr) {\n\t\tvar el = attr.ownerElement;\n\t\tif(el && el!=this._ownerElement){\n\t\t\tthrow new DOMException(INUSE_ATTRIBUTE_ERR);\n\t\t}\n\t\tvar oldAttr = this.getNamedItem(attr.nodeName);\n\t\t_addNamedNode(this._ownerElement,this,attr,oldAttr);\n\t\treturn oldAttr;\n\t},\n\t/* returns Node */\n\tsetNamedItemNS: function(attr) {// raises: WRONG_DOCUMENT_ERR,NO_MODIFICATION_ALLOWED_ERR,INUSE_ATTRIBUTE_ERR\n\t\tvar el = attr.ownerElement, oldAttr;\n\t\tif(el && el!=this._ownerElement){\n\t\t\tthrow new DOMException(INUSE_ATTRIBUTE_ERR);\n\t\t}\n\t\toldAttr = this.getNamedItemNS(attr.namespaceURI,attr.localName);\n\t\t_addNamedNode(this._ownerElement,this,attr,oldAttr);\n\t\treturn oldAttr;\n\t},\n\n\t/* returns Node */\n\tremoveNamedItem: function(key) {\n\t\tvar attr = this.getNamedItem(key);\n\t\t_removeNamedNode(this._ownerElement,this,attr);\n\t\treturn attr;\n\n\n\t},// raises: NOT_FOUND_ERR,NO_MODIFICATION_ALLOWED_ERR\n\n\t//for level2\n\tremoveNamedItemNS:function(namespaceURI,localName){\n\t\tvar attr = this.getNamedItemNS(namespaceURI,localName);\n\t\t_removeNamedNode(this._ownerElement,this,attr);\n\t\treturn attr;\n\t},\n\tgetNamedItemNS: function(namespaceURI, localName) {\n\t\tvar i = this.length;\n\t\twhile(i--){\n\t\t\tvar node = this[i];\n\t\t\tif(node.localName == localName && node.namespaceURI == namespaceURI){\n\t\t\t\treturn node;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n};\n\n/**\n * The DOMImplementation interface represents an object providing methods\n * which are not dependent on any particular document.\n * Such an object is returned by the `Document.implementation` property.\n *\n * __The individual methods describe the differences compared to the specs.__\n *\n * @constructor\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation MDN\n * @see https://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-102161490 DOM Level 1 Core (Initial)\n * @see https://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-102161490 DOM Level 2 Core\n * @see https://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-102161490 DOM Level 3 Core\n * @see https://dom.spec.whatwg.org/#domimplementation DOM Living Standard\n */\nfunction DOMImplementation() {\n}\n\nDOMImplementation.prototype = {\n\t/**\n\t * The DOMImplementation.hasFeature() method returns a Boolean flag indicating if a given feature is supported.\n\t * The different implementations fairly diverged in what kind of features were reported.\n\t * The latest version of the spec settled to force this method to always return true, where the functionality was accurate and in use.\n\t *\n\t * @deprecated It is deprecated and modern browsers return true in all cases.\n\t *\n\t * @param {string} feature\n\t * @param {string} [version]\n\t * @returns {boolean} always true\n\t *\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation/hasFeature MDN\n\t * @see https://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-5CED94D7 DOM Level 1 Core\n\t * @see https://dom.spec.whatwg.org/#dom-domimplementation-hasfeature DOM Living Standard\n\t */\n\thasFeature: function(feature, version) {\n\t\t\treturn true;\n\t},\n\t/**\n\t * Creates an XML Document object of the specified type with its document element.\n\t *\n\t * __It behaves slightly different from the description in the living standard__:\n\t * - There is no interface/class `XMLDocument`, it returns a `Document` instance.\n\t * - `contentType`, `encoding`, `mode`, `origin`, `url` fields are currently not declared.\n\t * - this implementation is not validating names or qualified names\n\t * (when parsing XML strings, the SAX parser takes care of that)\n\t *\n\t * @param {string|null} namespaceURI\n\t * @param {string} qualifiedName\n\t * @param {DocumentType=null} doctype\n\t * @returns {Document}\n\t *\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation/createDocument MDN\n\t * @see https://www.w3.org/TR/DOM-Level-2-Core/core.html#Level-2-Core-DOM-createDocument DOM Level 2 Core (initial)\n\t * @see https://dom.spec.whatwg.org/#dom-domimplementation-createdocument DOM Level 2 Core\n\t *\n\t * @see https://dom.spec.whatwg.org/#validate-and-extract DOM: Validate and extract\n\t * @see https://www.w3.org/TR/xml/#NT-NameStartChar XML Spec: Names\n\t * @see https://www.w3.org/TR/xml-names/#ns-qualnames XML Namespaces: Qualified names\n\t */\n\tcreateDocument: function(namespaceURI, qualifiedName, doctype){\n\t\tvar doc = new Document();\n\t\tdoc.implementation = this;\n\t\tdoc.childNodes = new NodeList();\n\t\tdoc.doctype = doctype || null;\n\t\tif (doctype){\n\t\t\tdoc.appendChild(doctype);\n\t\t}\n\t\tif (qualifiedName){\n\t\t\tvar root = doc.createElementNS(namespaceURI, qualifiedName);\n\t\t\tdoc.appendChild(root);\n\t\t}\n\t\treturn doc;\n\t},\n\t/**\n\t * Returns a doctype, with the given `qualifiedName`, `publicId`, and `systemId`.\n\t *\n\t * __This behavior is slightly different from the in the specs__:\n\t * - this implementation is not validating names or qualified names\n\t * (when parsing XML strings, the SAX parser takes care of that)\n\t *\n\t * @param {string} qualifiedName\n\t * @param {string} [publicId]\n\t * @param {string} [systemId]\n\t * @returns {DocumentType} which can either be used with `DOMImplementation.createDocument` upon document creation\n\t * \t\t\t\t or can be put into the document via methods like `Node.insertBefore()` or `Node.replaceChild()`\n\t *\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation/createDocumentType MDN\n\t * @see https://www.w3.org/TR/DOM-Level-2-Core/core.html#Level-2-Core-DOM-createDocType DOM Level 2 Core\n\t * @see https://dom.spec.whatwg.org/#dom-domimplementation-createdocumenttype DOM Living Standard\n\t *\n\t * @see https://dom.spec.whatwg.org/#validate-and-extract DOM: Validate and extract\n\t * @see https://www.w3.org/TR/xml/#NT-NameStartChar XML Spec: Names\n\t * @see https://www.w3.org/TR/xml-names/#ns-qualnames XML Namespaces: Qualified names\n\t */\n\tcreateDocumentType: function(qualifiedName, publicId, systemId){\n\t\tvar node = new DocumentType();\n\t\tnode.name = qualifiedName;\n\t\tnode.nodeName = qualifiedName;\n\t\tnode.publicId = publicId || '';\n\t\tnode.systemId = systemId || '';\n\n\t\treturn node;\n\t}\n};\n\n\n/**\n * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1950641247\n */\n\nfunction Node() {\n};\n\nNode.prototype = {\n\tfirstChild : null,\n\tlastChild : null,\n\tpreviousSibling : null,\n\tnextSibling : null,\n\tattributes : null,\n\tparentNode : null,\n\tchildNodes : null,\n\townerDocument : null,\n\tnodeValue : null,\n\tnamespaceURI : null,\n\tprefix : null,\n\tlocalName : null,\n\t// Modified in DOM Level 2:\n\tinsertBefore:function(newChild, refChild){//raises\n\t\treturn _insertBefore(this,newChild,refChild);\n\t},\n\treplaceChild:function(newChild, oldChild){//raises\n\t\t_insertBefore(this, newChild,oldChild, assertPreReplacementValidityInDocument);\n\t\tif(oldChild){\n\t\t\tthis.removeChild(oldChild);\n\t\t}\n\t},\n\tremoveChild:function(oldChild){\n\t\treturn _removeChild(this,oldChild);\n\t},\n\tappendChild:function(newChild){\n\t\treturn this.insertBefore(newChild,null);\n\t},\n\thasChildNodes:function(){\n\t\treturn this.firstChild != null;\n\t},\n\tcloneNode:function(deep){\n\t\treturn cloneNode(this.ownerDocument||this,this,deep);\n\t},\n\t// Modified in DOM Level 2:\n\tnormalize:function(){\n\t\tvar child = this.firstChild;\n\t\twhile(child){\n\t\t\tvar next = child.nextSibling;\n\t\t\tif(next && next.nodeType == TEXT_NODE && child.nodeType == TEXT_NODE){\n\t\t\t\tthis.removeChild(next);\n\t\t\t\tchild.appendData(next.data);\n\t\t\t}else{\n\t\t\t\tchild.normalize();\n\t\t\t\tchild = next;\n\t\t\t}\n\t\t}\n\t},\n \t// Introduced in DOM Level 2:\n\tisSupported:function(feature, version){\n\t\treturn this.ownerDocument.implementation.hasFeature(feature,version);\n\t},\n // Introduced in DOM Level 2:\n hasAttributes:function(){\n \treturn this.attributes.length>0;\n },\n\t/**\n\t * Look up the prefix associated to the given namespace URI, starting from this node.\n\t * **The default namespace declarations are ignored by this method.**\n\t * See Namespace Prefix Lookup for details on the algorithm used by this method.\n\t *\n\t * _Note: The implementation seems to be incomplete when compared to the algorithm described in the specs._\n\t *\n\t * @param {string | null} namespaceURI\n\t * @returns {string | null}\n\t * @see https://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-lookupNamespacePrefix\n\t * @see https://www.w3.org/TR/DOM-Level-3-Core/namespaces-algorithms.html#lookupNamespacePrefixAlgo\n\t * @see https://dom.spec.whatwg.org/#dom-node-lookupprefix\n\t * @see https://github.com/xmldom/xmldom/issues/322\n\t */\n lookupPrefix:function(namespaceURI){\n \tvar el = this;\n \twhile(el){\n \t\tvar map = el._nsMap;\n \t\t//console.dir(map)\n \t\tif(map){\n \t\t\tfor(var n in map){\n\t\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(map, n) && map[n] === namespaceURI) {\n\t\t\t\t\t\t\treturn n;\n\t\t\t\t\t\t}\n \t\t\t}\n \t\t}\n \t\tel = el.nodeType == ATTRIBUTE_NODE?el.ownerDocument : el.parentNode;\n \t}\n \treturn null;\n },\n // Introduced in DOM Level 3:\n lookupNamespaceURI:function(prefix){\n \tvar el = this;\n \twhile(el){\n \t\tvar map = el._nsMap;\n \t\t//console.dir(map)\n \t\tif(map){\n \t\t\tif(Object.prototype.hasOwnProperty.call(map, prefix)){\n \t\t\t\treturn map[prefix] ;\n \t\t\t}\n \t\t}\n \t\tel = el.nodeType == ATTRIBUTE_NODE?el.ownerDocument : el.parentNode;\n \t}\n \treturn null;\n },\n // Introduced in DOM Level 3:\n isDefaultNamespace:function(namespaceURI){\n \tvar prefix = this.lookupPrefix(namespaceURI);\n \treturn prefix == null;\n }\n};\n\n\nfunction _xmlEncoder(c){\n\treturn c == '<' && '<' ||\n c == '>' && '>' ||\n c == '&' && '&' ||\n c == '\"' && '"' ||\n '&#'+c.charCodeAt()+';'\n}\n\n\ncopy(NodeType,Node);\ncopy(NodeType,Node.prototype);\n\n/**\n * @param callback return true for continue,false for break\n * @return boolean true: break visit;\n */\nfunction _visitNode(node,callback){\n\tif(callback(node)){\n\t\treturn true;\n\t}\n\tif(node = node.firstChild){\n\t\tdo{\n\t\t\tif(_visitNode(node,callback)){return true}\n }while(node=node.nextSibling)\n }\n}\n\n\n\nfunction Document(){\n\tthis.ownerDocument = this;\n}\n\nfunction _onAddAttribute(doc,el,newAttr){\n\tdoc && doc._inc++;\n\tvar ns = newAttr.namespaceURI ;\n\tif(ns === NAMESPACE.XMLNS){\n\t\t//update namespace\n\t\tel._nsMap[newAttr.prefix?newAttr.localName:''] = newAttr.value\n\t}\n}\n\nfunction _onRemoveAttribute(doc,el,newAttr,remove){\n\tdoc && doc._inc++;\n\tvar ns = newAttr.namespaceURI ;\n\tif(ns === NAMESPACE.XMLNS){\n\t\t//update namespace\n\t\tdelete el._nsMap[newAttr.prefix?newAttr.localName:'']\n\t}\n}\n\n/**\n * Updates `el.childNodes`, updating the indexed items and it's `length`.\n * Passing `newChild` means it will be appended.\n * Otherwise it's assumed that an item has been removed,\n * and `el.firstNode` and it's `.nextSibling` are used\n * to walk the current list of child nodes.\n *\n * @param {Document} doc\n * @param {Node} el\n * @param {Node} [newChild]\n * @private\n */\nfunction _onUpdateChild (doc, el, newChild) {\n\tif(doc && doc._inc){\n\t\tdoc._inc++;\n\t\t//update childNodes\n\t\tvar cs = el.childNodes;\n\t\tif (newChild) {\n\t\t\tcs[cs.length++] = newChild;\n\t\t} else {\n\t\t\tvar child = el.firstChild;\n\t\t\tvar i = 0;\n\t\t\twhile (child) {\n\t\t\t\tcs[i++] = child;\n\t\t\t\tchild = child.nextSibling;\n\t\t\t}\n\t\t\tcs.length = i;\n\t\t\tdelete cs[cs.length];\n\t\t}\n\t}\n}\n\n/**\n * Removes the connections between `parentNode` and `child`\n * and any existing `child.previousSibling` or `child.nextSibling`.\n *\n * @see https://github.com/xmldom/xmldom/issues/135\n * @see https://github.com/xmldom/xmldom/issues/145\n *\n * @param {Node} parentNode\n * @param {Node} child\n * @returns {Node} the child that was removed.\n * @private\n */\nfunction _removeChild (parentNode, child) {\n\tvar previous = child.previousSibling;\n\tvar next = child.nextSibling;\n\tif (previous) {\n\t\tprevious.nextSibling = next;\n\t} else {\n\t\tparentNode.firstChild = next;\n\t}\n\tif (next) {\n\t\tnext.previousSibling = previous;\n\t} else {\n\t\tparentNode.lastChild = previous;\n\t}\n\tchild.parentNode = null;\n\tchild.previousSibling = null;\n\tchild.nextSibling = null;\n\t_onUpdateChild(parentNode.ownerDocument, parentNode);\n\treturn child;\n}\n\n/**\n * Returns `true` if `node` can be a parent for insertion.\n * @param {Node} node\n * @returns {boolean}\n */\nfunction hasValidParentNodeType(node) {\n\treturn (\n\t\tnode &&\n\t\t(node.nodeType === Node.DOCUMENT_NODE || node.nodeType === Node.DOCUMENT_FRAGMENT_NODE || node.nodeType === Node.ELEMENT_NODE)\n\t);\n}\n\n/**\n * Returns `true` if `node` can be inserted according to it's `nodeType`.\n * @param {Node} node\n * @returns {boolean}\n */\nfunction hasInsertableNodeType(node) {\n\treturn (\n\t\tnode &&\n\t\t(isElementNode(node) ||\n\t\t\tisTextNode(node) ||\n\t\t\tisDocTypeNode(node) ||\n\t\t\tnode.nodeType === Node.DOCUMENT_FRAGMENT_NODE ||\n\t\t\tnode.nodeType === Node.COMMENT_NODE ||\n\t\t\tnode.nodeType === Node.PROCESSING_INSTRUCTION_NODE)\n\t);\n}\n\n/**\n * Returns true if `node` is a DOCTYPE node\n * @param {Node} node\n * @returns {boolean}\n */\nfunction isDocTypeNode(node) {\n\treturn node && node.nodeType === Node.DOCUMENT_TYPE_NODE;\n}\n\n/**\n * Returns true if the node is an element\n * @param {Node} node\n * @returns {boolean}\n */\nfunction isElementNode(node) {\n\treturn node && node.nodeType === Node.ELEMENT_NODE;\n}\n/**\n * Returns true if `node` is a text node\n * @param {Node} node\n * @returns {boolean}\n */\nfunction isTextNode(node) {\n\treturn node && node.nodeType === Node.TEXT_NODE;\n}\n\n/**\n * Check if en element node can be inserted before `child`, or at the end if child is falsy,\n * according to the presence and position of a doctype node on the same level.\n *\n * @param {Document} doc The document node\n * @param {Node} child the node that would become the nextSibling if the element would be inserted\n * @returns {boolean} `true` if an element can be inserted before child\n * @private\n * https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n */\nfunction isElementInsertionPossible(doc, child) {\n\tvar parentChildNodes = doc.childNodes || [];\n\tif (find(parentChildNodes, isElementNode) || isDocTypeNode(child)) {\n\t\treturn false;\n\t}\n\tvar docTypeNode = find(parentChildNodes, isDocTypeNode);\n\treturn !(child && docTypeNode && parentChildNodes.indexOf(docTypeNode) > parentChildNodes.indexOf(child));\n}\n\n/**\n * Check if en element node can be inserted before `child`, or at the end if child is falsy,\n * according to the presence and position of a doctype node on the same level.\n *\n * @param {Node} doc The document node\n * @param {Node} child the node that would become the nextSibling if the element would be inserted\n * @returns {boolean} `true` if an element can be inserted before child\n * @private\n * https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n */\nfunction isElementReplacementPossible(doc, child) {\n\tvar parentChildNodes = doc.childNodes || [];\n\n\tfunction hasElementChildThatIsNotChild(node) {\n\t\treturn isElementNode(node) && node !== child;\n\t}\n\n\tif (find(parentChildNodes, hasElementChildThatIsNotChild)) {\n\t\treturn false;\n\t}\n\tvar docTypeNode = find(parentChildNodes, isDocTypeNode);\n\treturn !(child && docTypeNode && parentChildNodes.indexOf(docTypeNode) > parentChildNodes.indexOf(child));\n}\n\n/**\n * @private\n * Steps 1-5 of the checks before inserting and before replacing a child are the same.\n *\n * @param {Node} parent the parent node to insert `node` into\n * @param {Node} node the node to insert\n * @param {Node=} child the node that should become the `nextSibling` of `node`\n * @returns {Node}\n * @throws DOMException for several node combinations that would create a DOM that is not well-formed.\n * @throws DOMException if `child` is provided but is not a child of `parent`.\n * @see https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n * @see https://dom.spec.whatwg.org/#concept-node-replace\n */\nfunction assertPreInsertionValidity1to5(parent, node, child) {\n\t// 1. If `parent` is not a Document, DocumentFragment, or Element node, then throw a \"HierarchyRequestError\" DOMException.\n\tif (!hasValidParentNodeType(parent)) {\n\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Unexpected parent node type ' + parent.nodeType);\n\t}\n\t// 2. If `node` is a host-including inclusive ancestor of `parent`, then throw a \"HierarchyRequestError\" DOMException.\n\t// not implemented!\n\t// 3. If `child` is non-null and its parent is not `parent`, then throw a \"NotFoundError\" DOMException.\n\tif (child && child.parentNode !== parent) {\n\t\tthrow new DOMException(NOT_FOUND_ERR, 'child not in parent');\n\t}\n\tif (\n\t\t// 4. If `node` is not a DocumentFragment, DocumentType, Element, or CharacterData node, then throw a \"HierarchyRequestError\" DOMException.\n\t\t!hasInsertableNodeType(node) ||\n\t\t// 5. If either `node` is a Text node and `parent` is a document,\n\t\t// the sax parser currently adds top level text nodes, this will be fixed in 0.9.0\n\t\t// || (node.nodeType === Node.TEXT_NODE && parent.nodeType === Node.DOCUMENT_NODE)\n\t\t// or `node` is a doctype and `parent` is not a document, then throw a \"HierarchyRequestError\" DOMException.\n\t\t(isDocTypeNode(node) && parent.nodeType !== Node.DOCUMENT_NODE)\n\t) {\n\t\tthrow new DOMException(\n\t\t\tHIERARCHY_REQUEST_ERR,\n\t\t\t'Unexpected node type ' + node.nodeType + ' for parent node type ' + parent.nodeType\n\t\t);\n\t}\n}\n\n/**\n * @private\n * Step 6 of the checks before inserting and before replacing a child are different.\n *\n * @param {Document} parent the parent node to insert `node` into\n * @param {Node} node the node to insert\n * @param {Node | undefined} child the node that should become the `nextSibling` of `node`\n * @returns {Node}\n * @throws DOMException for several node combinations that would create a DOM that is not well-formed.\n * @throws DOMException if `child` is provided but is not a child of `parent`.\n * @see https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n * @see https://dom.spec.whatwg.org/#concept-node-replace\n */\nfunction assertPreInsertionValidityInDocument(parent, node, child) {\n\tvar parentChildNodes = parent.childNodes || [];\n\tvar nodeChildNodes = node.childNodes || [];\n\n\t// DocumentFragment\n\tif (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n\t\tvar nodeChildElements = nodeChildNodes.filter(isElementNode);\n\t\t// If node has more than one element child or has a Text node child.\n\t\tif (nodeChildElements.length > 1 || find(nodeChildNodes, isTextNode)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'More than one element or text in fragment');\n\t\t}\n\t\t// Otherwise, if `node` has one element child and either `parent` has an element child,\n\t\t// `child` is a doctype, or `child` is non-null and a doctype is following `child`.\n\t\tif (nodeChildElements.length === 1 && !isElementInsertionPossible(parent, child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Element in fragment can not be inserted before doctype');\n\t\t}\n\t}\n\t// Element\n\tif (isElementNode(node)) {\n\t\t// `parent` has an element child, `child` is a doctype,\n\t\t// or `child` is non-null and a doctype is following `child`.\n\t\tif (!isElementInsertionPossible(parent, child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Only one element can be added and only after doctype');\n\t\t}\n\t}\n\t// DocumentType\n\tif (isDocTypeNode(node)) {\n\t\t// `parent` has a doctype child,\n\t\tif (find(parentChildNodes, isDocTypeNode)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Only one doctype is allowed');\n\t\t}\n\t\tvar parentElementChild = find(parentChildNodes, isElementNode);\n\t\t// `child` is non-null and an element is preceding `child`,\n\t\tif (child && parentChildNodes.indexOf(parentElementChild) < parentChildNodes.indexOf(child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Doctype can only be inserted before an element');\n\t\t}\n\t\t// or `child` is null and `parent` has an element child.\n\t\tif (!child && parentElementChild) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Doctype can not be appended since element is present');\n\t\t}\n\t}\n}\n\n/**\n * @private\n * Step 6 of the checks before inserting and before replacing a child are different.\n *\n * @param {Document} parent the parent node to insert `node` into\n * @param {Node} node the node to insert\n * @param {Node | undefined} child the node that should become the `nextSibling` of `node`\n * @returns {Node}\n * @throws DOMException for several node combinations that would create a DOM that is not well-formed.\n * @throws DOMException if `child` is provided but is not a child of `parent`.\n * @see https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n * @see https://dom.spec.whatwg.org/#concept-node-replace\n */\nfunction assertPreReplacementValidityInDocument(parent, node, child) {\n\tvar parentChildNodes = parent.childNodes || [];\n\tvar nodeChildNodes = node.childNodes || [];\n\n\t// DocumentFragment\n\tif (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n\t\tvar nodeChildElements = nodeChildNodes.filter(isElementNode);\n\t\t// If `node` has more than one element child or has a Text node child.\n\t\tif (nodeChildElements.length > 1 || find(nodeChildNodes, isTextNode)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'More than one element or text in fragment');\n\t\t}\n\t\t// Otherwise, if `node` has one element child and either `parent` has an element child that is not `child` or a doctype is following `child`.\n\t\tif (nodeChildElements.length === 1 && !isElementReplacementPossible(parent, child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Element in fragment can not be inserted before doctype');\n\t\t}\n\t}\n\t// Element\n\tif (isElementNode(node)) {\n\t\t// `parent` has an element child that is not `child` or a doctype is following `child`.\n\t\tif (!isElementReplacementPossible(parent, child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Only one element can be added and only after doctype');\n\t\t}\n\t}\n\t// DocumentType\n\tif (isDocTypeNode(node)) {\n\t\tfunction hasDoctypeChildThatIsNotChild(node) {\n\t\t\treturn isDocTypeNode(node) && node !== child;\n\t\t}\n\n\t\t// `parent` has a doctype child that is not `child`,\n\t\tif (find(parentChildNodes, hasDoctypeChildThatIsNotChild)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Only one doctype is allowed');\n\t\t}\n\t\tvar parentElementChild = find(parentChildNodes, isElementNode);\n\t\t// or an element is preceding `child`.\n\t\tif (child && parentChildNodes.indexOf(parentElementChild) < parentChildNodes.indexOf(child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Doctype can only be inserted before an element');\n\t\t}\n\t}\n}\n\n/**\n * @private\n * @param {Node} parent the parent node to insert `node` into\n * @param {Node} node the node to insert\n * @param {Node=} child the node that should become the `nextSibling` of `node`\n * @returns {Node}\n * @throws DOMException for several node combinations that would create a DOM that is not well-formed.\n * @throws DOMException if `child` is provided but is not a child of `parent`.\n * @see https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n */\nfunction _insertBefore(parent, node, child, _inDocumentAssertion) {\n\t// To ensure pre-insertion validity of a node into a parent before a child, run these steps:\n\tassertPreInsertionValidity1to5(parent, node, child);\n\n\t// If parent is a document, and any of the statements below, switched on the interface node implements,\n\t// are true, then throw a \"HierarchyRequestError\" DOMException.\n\tif (parent.nodeType === Node.DOCUMENT_NODE) {\n\t\t(_inDocumentAssertion || assertPreInsertionValidityInDocument)(parent, node, child);\n\t}\n\n\tvar cp = node.parentNode;\n\tif(cp){\n\t\tcp.removeChild(node);//remove and update\n\t}\n\tif(node.nodeType === DOCUMENT_FRAGMENT_NODE){\n\t\tvar newFirst = node.firstChild;\n\t\tif (newFirst == null) {\n\t\t\treturn node;\n\t\t}\n\t\tvar newLast = node.lastChild;\n\t}else{\n\t\tnewFirst = newLast = node;\n\t}\n\tvar pre = child ? child.previousSibling : parent.lastChild;\n\n\tnewFirst.previousSibling = pre;\n\tnewLast.nextSibling = child;\n\n\n\tif(pre){\n\t\tpre.nextSibling = newFirst;\n\t}else{\n\t\tparent.firstChild = newFirst;\n\t}\n\tif(child == null){\n\t\tparent.lastChild = newLast;\n\t}else{\n\t\tchild.previousSibling = newLast;\n\t}\n\tdo{\n\t\tnewFirst.parentNode = parent;\n\t\t// Update ownerDocument for each node being inserted\n\t\tvar targetDoc = parent.ownerDocument || parent;\n\t\t_updateOwnerDocument(newFirst, targetDoc);\n\t}while(newFirst !== newLast && (newFirst= newFirst.nextSibling))\n\t_onUpdateChild(parent.ownerDocument||parent, parent);\n\t//console.log(parent.lastChild.nextSibling == null)\n\tif (node.nodeType == DOCUMENT_FRAGMENT_NODE) {\n\t\tnode.firstChild = node.lastChild = null;\n\t}\n\treturn node;\n}\n\n/**\n * Recursively updates the ownerDocument property for a node and all its descendants\n * @param {Node} node\n * @param {Document} newOwnerDocument\n * @private\n */\nfunction _updateOwnerDocument(node, newOwnerDocument) {\n\tif (node.ownerDocument === newOwnerDocument) {\n\t\treturn;\n\t}\n\t\n\tnode.ownerDocument = newOwnerDocument;\n\t\n\t// Update attributes if this is an element\n\tif (node.nodeType === ELEMENT_NODE && node.attributes) {\n\t\tfor (var i = 0; i < node.attributes.length; i++) {\n\t\t\tvar attr = node.attributes.item(i);\n\t\t\tif (attr) {\n\t\t\t\tattr.ownerDocument = newOwnerDocument;\n\t\t\t}\n\t\t}\n\t}\n\t\n\t// Recursively update child nodes\n\tvar child = node.firstChild;\n\twhile (child) {\n\t\t_updateOwnerDocument(child, newOwnerDocument);\n\t\tchild = child.nextSibling;\n\t}\n}\n\n/**\n * Appends `newChild` to `parentNode`.\n * If `newChild` is already connected to a `parentNode` it is first removed from it.\n *\n * @see https://github.com/xmldom/xmldom/issues/135\n * @see https://github.com/xmldom/xmldom/issues/145\n * @param {Node} parentNode\n * @param {Node} newChild\n * @returns {Node}\n * @private\n */\nfunction _appendSingleChild (parentNode, newChild) {\n\tif (newChild.parentNode) {\n\t\tnewChild.parentNode.removeChild(newChild);\n\t}\n\tnewChild.parentNode = parentNode;\n\tnewChild.previousSibling = parentNode.lastChild;\n\tnewChild.nextSibling = null;\n\tif (newChild.previousSibling) {\n\t\tnewChild.previousSibling.nextSibling = newChild;\n\t} else {\n\t\tparentNode.firstChild = newChild;\n\t}\n\tparentNode.lastChild = newChild;\n\t_onUpdateChild(parentNode.ownerDocument, parentNode, newChild);\n\t\n\t// Update ownerDocument for the new child and all its descendants\n\tvar targetDoc = parentNode.ownerDocument || parentNode;\n\t_updateOwnerDocument(newChild, targetDoc);\n\t\n\treturn newChild;\n}\n\nDocument.prototype = {\n\t//implementation : null,\n\tnodeName : '#document',\n\tnodeType : DOCUMENT_NODE,\n\t/**\n\t * The DocumentType node of the document.\n\t *\n\t * @readonly\n\t * @type DocumentType\n\t */\n\tdoctype : null,\n\tdocumentElement : null,\n\t_inc : 1,\n\n\tinsertBefore : function(newChild, refChild){//raises\n\t\tif(newChild.nodeType == DOCUMENT_FRAGMENT_NODE){\n\t\t\tvar child = newChild.firstChild;\n\t\t\twhile(child){\n\t\t\t\tvar next = child.nextSibling;\n\t\t\t\tthis.insertBefore(child,refChild);\n\t\t\t\tchild = next;\n\t\t\t}\n\t\t\treturn newChild;\n\t\t}\n\t\t_insertBefore(this, newChild, refChild);\n\t\t_updateOwnerDocument(newChild, this);\n\t\tif (this.documentElement === null && newChild.nodeType === ELEMENT_NODE) {\n\t\t\tthis.documentElement = newChild;\n\t\t}\n\n\t\treturn newChild;\n\t},\n\tremoveChild : function(oldChild){\n\t\tif(this.documentElement == oldChild){\n\t\t\tthis.documentElement = null;\n\t\t}\n\t\treturn _removeChild(this,oldChild);\n\t},\n\treplaceChild: function (newChild, oldChild) {\n\t\t//raises\n\t\t_insertBefore(this, newChild, oldChild, assertPreReplacementValidityInDocument);\n\t\t_updateOwnerDocument(newChild, this);\n\t\tif (oldChild) {\n\t\t\tthis.removeChild(oldChild);\n\t\t}\n\t\tif (isElementNode(newChild)) {\n\t\t\tthis.documentElement = newChild;\n\t\t}\n\t},\n\t// Introduced in DOM Level 2:\n\timportNode : function(importedNode,deep){\n\t\treturn importNode(this,importedNode,deep);\n\t},\n\t// Introduced in DOM Level 2:\n\tgetElementById :\tfunction(id){\n\t\tvar rtv = null;\n\t\t_visitNode(this.documentElement,function(node){\n\t\t\tif(node.nodeType == ELEMENT_NODE){\n\t\t\t\tif(node.getAttribute('id') == id){\n\t\t\t\t\trtv = node;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t\treturn rtv;\n\t},\n\n\t/**\n\t * The `getElementsByClassName` method of `Document` interface returns an array-like object\n\t * of all child elements which have **all** of the given class name(s).\n\t *\n\t * Returns an empty list if `classeNames` is an empty string or only contains HTML white space characters.\n\t *\n\t *\n\t * Warning: This is a live LiveNodeList.\n\t * Changes in the DOM will reflect in the array as the changes occur.\n\t * If an element selected by this array no longer qualifies for the selector,\n\t * it will automatically be removed. Be aware of this for iteration purposes.\n\t *\n\t * @param {string} classNames is a string representing the class name(s) to match; multiple class names are separated by (ASCII-)whitespace\n\t *\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByClassName\n\t * @see https://dom.spec.whatwg.org/#concept-getelementsbyclassname\n\t */\n\tgetElementsByClassName: function(classNames) {\n\t\tvar classNamesSet = toOrderedSet(classNames)\n\t\treturn new LiveNodeList(this, function(base) {\n\t\t\tvar ls = [];\n\t\t\tif (classNamesSet.length > 0) {\n\t\t\t\t_visitNode(base.documentElement, function(node) {\n\t\t\t\t\tif(node !== base && node.nodeType === ELEMENT_NODE) {\n\t\t\t\t\t\tvar nodeClassNames = node.getAttribute('class')\n\t\t\t\t\t\t// can be null if the attribute does not exist\n\t\t\t\t\t\tif (nodeClassNames) {\n\t\t\t\t\t\t\t// before splitting and iterating just compare them for the most common case\n\t\t\t\t\t\t\tvar matches = classNames === nodeClassNames;\n\t\t\t\t\t\t\tif (!matches) {\n\t\t\t\t\t\t\t\tvar nodeClassNamesSet = toOrderedSet(nodeClassNames)\n\t\t\t\t\t\t\t\tmatches = classNamesSet.every(arrayIncludes(nodeClassNamesSet))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif(matches) {\n\t\t\t\t\t\t\t\tls.push(node);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn ls;\n\t\t});\n\t},\n\n\t//document factory method:\n\tcreateElement :\tfunction(tagName){\n\t\tvar node = new Element();\n\t\tnode.ownerDocument = this;\n\t\tnode.nodeName = tagName;\n\t\tnode.tagName = tagName;\n\t\tnode.localName = tagName;\n\t\tnode.childNodes = new NodeList();\n\t\tvar attrs\t= node.attributes = new NamedNodeMap();\n\t\tattrs._ownerElement = node;\n\t\treturn node;\n\t},\n\tcreateDocumentFragment :\tfunction(){\n\t\tvar node = new DocumentFragment();\n\t\tnode.ownerDocument = this;\n\t\tnode.childNodes = new NodeList();\n\t\treturn node;\n\t},\n\tcreateTextNode :\tfunction(data){\n\t\tvar node = new Text();\n\t\tnode.ownerDocument = this;\n\t\tnode.appendData(data)\n\t\treturn node;\n\t},\n\tcreateComment :\tfunction(data){\n\t\tvar node = new Comment();\n\t\tnode.ownerDocument = this;\n\t\tnode.appendData(data)\n\t\treturn node;\n\t},\n\tcreateCDATASection :\tfunction(data){\n\t\tvar node = new CDATASection();\n\t\tnode.ownerDocument = this;\n\t\tnode.appendData(data)\n\t\treturn node;\n\t},\n\tcreateProcessingInstruction :\tfunction(target,data){\n\t\tvar node = new ProcessingInstruction();\n\t\tnode.ownerDocument = this;\n\t\tnode.tagName = node.nodeName = node.target = target;\n\t\tnode.nodeValue = node.data = data;\n\t\treturn node;\n\t},\n\tcreateAttribute :\tfunction(name){\n\t\tvar node = new Attr();\n\t\tnode.ownerDocument\t= this;\n\t\tnode.name = name;\n\t\tnode.nodeName\t= name;\n\t\tnode.localName = name;\n\t\tnode.specified = true;\n\t\treturn node;\n\t},\n\tcreateEntityReference :\tfunction(name){\n\t\tvar node = new EntityReference();\n\t\tnode.ownerDocument\t= this;\n\t\tnode.nodeName\t= name;\n\t\treturn node;\n\t},\n\t// Introduced in DOM Level 2:\n\tcreateElementNS :\tfunction(namespaceURI,qualifiedName){\n\t\tvar node = new Element();\n\t\tvar pl = qualifiedName.split(':');\n\t\tvar attrs\t= node.attributes = new NamedNodeMap();\n\t\tnode.childNodes = new NodeList();\n\t\tnode.ownerDocument = this;\n\t\tnode.nodeName = qualifiedName;\n\t\tnode.tagName = qualifiedName;\n\t\tnode.namespaceURI = namespaceURI;\n\t\tif(pl.length == 2){\n\t\t\tnode.prefix = pl[0];\n\t\t\tnode.localName = pl[1];\n\t\t}else{\n\t\t\t//el.prefix = null;\n\t\t\tnode.localName = qualifiedName;\n\t\t}\n\t\tattrs._ownerElement = node;\n\t\treturn node;\n\t},\n\t// Introduced in DOM Level 2:\n\tcreateAttributeNS :\tfunction(namespaceURI,qualifiedName){\n\t\tvar node = new Attr();\n\t\tvar pl = qualifiedName.split(':');\n\t\tnode.ownerDocument = this;\n\t\tnode.nodeName = qualifiedName;\n\t\tnode.name = qualifiedName;\n\t\tnode.namespaceURI = namespaceURI;\n\t\tnode.specified = true;\n\t\tif(pl.length == 2){\n\t\t\tnode.prefix = pl[0];\n\t\t\tnode.localName = pl[1];\n\t\t}else{\n\t\t\t//el.prefix = null;\n\t\t\tnode.localName = qualifiedName;\n\t\t}\n\t\treturn node;\n\t}\n};\n_extends(Document,Node);\n\n\nfunction Element() {\n\tthis._nsMap = {};\n};\nElement.prototype = {\n\tnodeType : ELEMENT_NODE,\n\thasAttribute : function(name){\n\t\treturn this.getAttributeNode(name)!=null;\n\t},\n\tgetAttribute : function(name){\n\t\tvar attr = this.getAttributeNode(name);\n\t\treturn attr && attr.value || '';\n\t},\n\tgetAttributeNode : function(name){\n\t\treturn this.attributes.getNamedItem(name);\n\t},\n\tsetAttribute : function(name, value){\n\t\tvar attr = this.ownerDocument.createAttribute(name);\n\t\tattr.value = attr.nodeValue = \"\" + value;\n\t\tthis.setAttributeNode(attr)\n\t},\n\tremoveAttribute : function(name){\n\t\tvar attr = this.getAttributeNode(name)\n\t\tattr && this.removeAttributeNode(attr);\n\t},\n\n\t//four real opeartion method\n\tappendChild:function(newChild){\n\t\tif(newChild.nodeType === DOCUMENT_FRAGMENT_NODE){\n\t\t\treturn this.insertBefore(newChild,null);\n\t\t}else{\n\t\t\treturn _appendSingleChild(this,newChild);\n\t\t}\n\t},\n\tsetAttributeNode : function(newAttr){\n\t\treturn this.attributes.setNamedItem(newAttr);\n\t},\n\tsetAttributeNodeNS : function(newAttr){\n\t\treturn this.attributes.setNamedItemNS(newAttr);\n\t},\n\tremoveAttributeNode : function(oldAttr){\n\t\t//console.log(this == oldAttr.ownerElement)\n\t\treturn this.attributes.removeNamedItem(oldAttr.nodeName);\n\t},\n\t//get real attribute name,and remove it by removeAttributeNode\n\tremoveAttributeNS : function(namespaceURI, localName){\n\t\tvar old = this.getAttributeNodeNS(namespaceURI, localName);\n\t\told && this.removeAttributeNode(old);\n\t},\n\n\thasAttributeNS : function(namespaceURI, localName){\n\t\treturn this.getAttributeNodeNS(namespaceURI, localName)!=null;\n\t},\n\tgetAttributeNS : function(namespaceURI, localName){\n\t\tvar attr = this.getAttributeNodeNS(namespaceURI, localName);\n\t\treturn attr && attr.value || '';\n\t},\n\tsetAttributeNS : function(namespaceURI, qualifiedName, value){\n\t\tvar attr = this.ownerDocument.createAttributeNS(namespaceURI, qualifiedName);\n\t\tattr.value = attr.nodeValue = \"\" + value;\n\t\tthis.setAttributeNode(attr)\n\t},\n\tgetAttributeNodeNS : function(namespaceURI, localName){\n\t\treturn this.attributes.getNamedItemNS(namespaceURI, localName);\n\t},\n\n\tgetElementsByTagName : function(tagName){\n\t\treturn new LiveNodeList(this,function(base){\n\t\t\tvar ls = [];\n\t\t\t_visitNode(base,function(node){\n\t\t\t\tif(node !== base && node.nodeType == ELEMENT_NODE && (tagName === '*' || node.tagName == tagName)){\n\t\t\t\t\tls.push(node);\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn ls;\n\t\t});\n\t},\n\tgetElementsByTagNameNS : function(namespaceURI, localName){\n\t\treturn new LiveNodeList(this,function(base){\n\t\t\tvar ls = [];\n\t\t\t_visitNode(base,function(node){\n\t\t\t\tif(node !== base && node.nodeType === ELEMENT_NODE && (namespaceURI === '*' || node.namespaceURI === namespaceURI) && (localName === '*' || node.localName == localName)){\n\t\t\t\t\tls.push(node);\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn ls;\n\n\t\t});\n\t}\n};\nDocument.prototype.getElementsByTagName = Element.prototype.getElementsByTagName;\nDocument.prototype.getElementsByTagNameNS = Element.prototype.getElementsByTagNameNS;\n\n\n_extends(Element,Node);\nfunction Attr() {\n};\nAttr.prototype.nodeType = ATTRIBUTE_NODE;\n_extends(Attr,Node);\n\n\nfunction CharacterData() {\n};\nCharacterData.prototype = {\n\tdata : '',\n\tsubstringData : function(offset, count) {\n\t\treturn this.data.substring(offset, offset+count);\n\t},\n\tappendData: function(text) {\n\t\ttext = this.data+text;\n\t\tthis.nodeValue = this.data = text;\n\t\tthis.length = text.length;\n\t},\n\tinsertData: function(offset,text) {\n\t\tthis.replaceData(offset,0,text);\n\n\t},\n\tappendChild:function(newChild){\n\t\tthrow new Error(ExceptionMessage[HIERARCHY_REQUEST_ERR])\n\t},\n\tdeleteData: function(offset, count) {\n\t\tthis.replaceData(offset,count,\"\");\n\t},\n\treplaceData: function(offset, count, text) {\n\t\tvar start = this.data.substring(0,offset);\n\t\tvar end = this.data.substring(offset+count);\n\t\ttext = start + text + end;\n\t\tthis.nodeValue = this.data = text;\n\t\tthis.length = text.length;\n\t}\n}\n_extends(CharacterData,Node);\nfunction Text() {\n};\nText.prototype = {\n\tnodeName : \"#text\",\n\tnodeType : TEXT_NODE,\n\tsplitText : function(offset) {\n\t\tvar text = this.data;\n\t\tvar newText = text.substring(offset);\n\t\ttext = text.substring(0, offset);\n\t\tthis.data = this.nodeValue = text;\n\t\tthis.length = text.length;\n\t\tvar newNode = this.ownerDocument.createTextNode(newText);\n\t\tif(this.parentNode){\n\t\t\tthis.parentNode.insertBefore(newNode, this.nextSibling);\n\t\t}\n\t\treturn newNode;\n\t}\n}\n_extends(Text,CharacterData);\nfunction Comment() {\n};\nComment.prototype = {\n\tnodeName : \"#comment\",\n\tnodeType : COMMENT_NODE\n}\n_extends(Comment,CharacterData);\n\nfunction CDATASection() {\n};\nCDATASection.prototype = {\n\tnodeName : \"#cdata-section\",\n\tnodeType : CDATA_SECTION_NODE\n}\n_extends(CDATASection,CharacterData);\n\n\nfunction DocumentType() {\n};\nDocumentType.prototype.nodeType = DOCUMENT_TYPE_NODE;\n_extends(DocumentType,Node);\n\nfunction Notation() {\n};\nNotation.prototype.nodeType = NOTATION_NODE;\n_extends(Notation,Node);\n\nfunction Entity() {\n};\nEntity.prototype.nodeType = ENTITY_NODE;\n_extends(Entity,Node);\n\nfunction EntityReference() {\n};\nEntityReference.prototype.nodeType = ENTITY_REFERENCE_NODE;\n_extends(EntityReference,Node);\n\nfunction DocumentFragment() {\n};\nDocumentFragment.prototype.nodeName =\t\"#document-fragment\";\nDocumentFragment.prototype.nodeType =\tDOCUMENT_FRAGMENT_NODE;\n_extends(DocumentFragment,Node);\n\n\nfunction ProcessingInstruction() {\n}\nProcessingInstruction.prototype.nodeType = PROCESSING_INSTRUCTION_NODE;\n_extends(ProcessingInstruction,Node);\nfunction XMLSerializer(){}\nXMLSerializer.prototype.serializeToString = function(node,isHtml,nodeFilter){\n\treturn nodeSerializeToString.call(node,isHtml,nodeFilter);\n}\nNode.prototype.toString = nodeSerializeToString;\nfunction nodeSerializeToString(isHtml,nodeFilter){\n\tvar buf = [];\n\tvar refNode = this.nodeType == 9 && this.documentElement || this;\n\tvar prefix = refNode.prefix;\n\tvar uri = refNode.namespaceURI;\n\n\tif(uri && prefix == null){\n\t\t//console.log(prefix)\n\t\tvar prefix = refNode.lookupPrefix(uri);\n\t\tif(prefix == null){\n\t\t\t//isHTML = true;\n\t\t\tvar visibleNamespaces=[\n\t\t\t{namespace:uri,prefix:null}\n\t\t\t//{namespace:uri,prefix:''}\n\t\t\t]\n\t\t}\n\t}\n\tserializeToString(this,buf,isHtml,nodeFilter,visibleNamespaces);\n\t//console.log('###',this.nodeType,uri,prefix,buf.join(''))\n\treturn buf.join('');\n}\n\nfunction needNamespaceDefine(node, isHTML, visibleNamespaces) {\n\tvar prefix = node.prefix || '';\n\tvar uri = node.namespaceURI;\n\t// According to [Namespaces in XML 1.0](https://www.w3.org/TR/REC-xml-names/#ns-using) ,\n\t// and more specifically https://www.w3.org/TR/REC-xml-names/#nsc-NoPrefixUndecl :\n\t// > In a namespace declaration for a prefix [...], the attribute value MUST NOT be empty.\n\t// in a similar manner [Namespaces in XML 1.1](https://www.w3.org/TR/xml-names11/#ns-using)\n\t// and more specifically https://www.w3.org/TR/xml-names11/#nsc-NSDeclared :\n\t// > [...] Furthermore, the attribute value [...] must not be an empty string.\n\t// so serializing empty namespace value like xmlns:ds=\"\" would produce an invalid XML document.\n\tif (!uri) {\n\t\treturn false;\n\t}\n\tif (prefix === \"xml\" && uri === NAMESPACE.XML || uri === NAMESPACE.XMLNS) {\n\t\treturn false;\n\t}\n\n\tvar i = visibleNamespaces.length\n\twhile (i--) {\n\t\tvar ns = visibleNamespaces[i];\n\t\t// get namespace prefix\n\t\tif (ns.prefix === prefix) {\n\t\t\treturn ns.namespace !== uri;\n\t\t}\n\t}\n\treturn true;\n}\n/**\n * Well-formed constraint: No < in Attribute Values\n * > The replacement text of any entity referred to directly or indirectly\n * > in an attribute value must not contain a <.\n * @see https://www.w3.org/TR/xml11/#CleanAttrVals\n * @see https://www.w3.org/TR/xml11/#NT-AttValue\n *\n * Literal whitespace other than space that appear in attribute values\n * are serialized as their entity references, so they will be preserved.\n * (In contrast to whitespace literals in the input which are normalized to spaces)\n * @see https://www.w3.org/TR/xml11/#AVNormalize\n * @see https://w3c.github.io/DOM-Parsing/#serializing-an-element-s-attributes\n */\nfunction addSerializedAttribute(buf, qualifiedName, value) {\n\tbuf.push(' ', qualifiedName, '=\"', value.replace(/[<>&\"\\t\\n\\r]/g, _xmlEncoder), '\"')\n}\n\nfunction serializeToString(node,buf,isHTML,nodeFilter,visibleNamespaces){\n\tif (!visibleNamespaces) {\n\t\tvisibleNamespaces = [];\n\t}\n\n\tif(nodeFilter){\n\t\tnode = nodeFilter(node);\n\t\tif(node){\n\t\t\tif(typeof node == 'string'){\n\t\t\t\tbuf.push(node);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}else{\n\t\t\treturn;\n\t\t}\n\t\t//buf.sort.apply(attrs, attributeSorter);\n\t}\n\n\tswitch(node.nodeType){\n\tcase ELEMENT_NODE:\n\t\tvar attrs = node.attributes;\n\t\tvar len = attrs.length;\n\t\tvar child = node.firstChild;\n\t\tvar nodeName = node.tagName;\n\n\t\tisHTML = NAMESPACE.isHTML(node.namespaceURI) || isHTML\n\n\t\tvar prefixedNodeName = nodeName\n\t\tif (!isHTML && !node.prefix && node.namespaceURI) {\n\t\t\tvar defaultNS\n\t\t\t// lookup current default ns from `xmlns` attribute\n\t\t\tfor (var ai = 0; ai < attrs.length; ai++) {\n\t\t\t\tif (attrs.item(ai).name === 'xmlns') {\n\t\t\t\t\tdefaultNS = attrs.item(ai).value\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!defaultNS) {\n\t\t\t\t// lookup current default ns in visibleNamespaces\n\t\t\t\tfor (var nsi = visibleNamespaces.length - 1; nsi >= 0; nsi--) {\n\t\t\t\t\tvar namespace = visibleNamespaces[nsi]\n\t\t\t\t\tif (namespace.prefix === '' && namespace.namespace === node.namespaceURI) {\n\t\t\t\t\t\tdefaultNS = namespace.namespace\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (defaultNS !== node.namespaceURI) {\n\t\t\t\tfor (var nsi = visibleNamespaces.length - 1; nsi >= 0; nsi--) {\n\t\t\t\t\tvar namespace = visibleNamespaces[nsi]\n\t\t\t\t\tif (namespace.namespace === node.namespaceURI) {\n\t\t\t\t\t\tif (namespace.prefix) {\n\t\t\t\t\t\t\tprefixedNodeName = namespace.prefix + ':' + nodeName\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tbuf.push('<', prefixedNodeName);\n\n\t\tfor(var i=0;i<len;i++){\n\t\t\t// add namespaces for attributes\n\t\t\tvar attr = attrs.item(i);\n\t\t\tif (attr.prefix == 'xmlns') {\n\t\t\t\tvisibleNamespaces.push({ prefix: attr.localName, namespace: attr.value });\n\t\t\t}else if(attr.nodeName == 'xmlns'){\n\t\t\t\tvisibleNamespaces.push({ prefix: '', namespace: attr.value });\n\t\t\t}\n\t\t}\n\n\t\tfor(var i=0;i<len;i++){\n\t\t\tvar attr = attrs.item(i);\n\t\t\tif (needNamespaceDefine(attr,isHTML, visibleNamespaces)) {\n\t\t\t\tvar prefix = attr.prefix||'';\n\t\t\t\tvar uri = attr.namespaceURI;\n\t\t\t\taddSerializedAttribute(buf, prefix ? 'xmlns:' + prefix : \"xmlns\", uri);\n\t\t\t\tvisibleNamespaces.push({ prefix: prefix, namespace:uri });\n\t\t\t}\n\t\t\tserializeToString(attr,buf,isHTML,nodeFilter,visibleNamespaces);\n\t\t}\n\n\t\t// add namespace for current node\n\t\tif (nodeName === prefixedNodeName && needNamespaceDefine(node, isHTML, visibleNamespaces)) {\n\t\t\tvar prefix = node.prefix||'';\n\t\t\tvar uri = node.namespaceURI;\n\t\t\taddSerializedAttribute(buf, prefix ? 'xmlns:' + prefix : \"xmlns\", uri);\n\t\t\tvisibleNamespaces.push({ prefix: prefix, namespace:uri });\n\t\t}\n\n\t\tif(child || isHTML && !/^(?:meta|link|img|br|hr|input)$/i.test(nodeName)){\n\t\t\tbuf.push('>');\n\t\t\t//if is cdata child node\n\t\t\tif(isHTML && /^script$/i.test(nodeName)){\n\t\t\t\twhile(child){\n\t\t\t\t\tif(child.data){\n\t\t\t\t\t\tbuf.push(child.data);\n\t\t\t\t\t}else{\n\t\t\t\t\t\tserializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces.slice());\n\t\t\t\t\t}\n\t\t\t\t\tchild = child.nextSibling;\n\t\t\t\t}\n\t\t\t}else\n\t\t\t{\n\t\t\t\twhile(child){\n\t\t\t\t\tserializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces.slice());\n\t\t\t\t\tchild = child.nextSibling;\n\t\t\t\t}\n\t\t\t}\n\t\t\tbuf.push('</',prefixedNodeName,'>');\n\t\t}else{\n\t\t\tbuf.push('/>');\n\t\t}\n\t\t// remove added visible namespaces\n\t\t//visibleNamespaces.length = startVisibleNamespaces;\n\t\treturn;\n\tcase DOCUMENT_NODE:\n\tcase DOCUMENT_FRAGMENT_NODE:\n\t\tvar child = node.firstChild;\n\t\twhile(child){\n\t\t\tserializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces.slice());\n\t\t\tchild = child.nextSibling;\n\t\t}\n\t\treturn;\n\tcase ATTRIBUTE_NODE:\n\t\treturn addSerializedAttribute(buf, node.name, node.value);\n\tcase TEXT_NODE:\n\t\t/**\n\t\t * The ampersand character (&) and the left angle bracket (<) must not appear in their literal form,\n\t\t * except when used as markup delimiters, or within a comment, a processing instruction, or a CDATA section.\n\t\t * If they are needed elsewhere, they must be escaped using either numeric character references or the strings\n\t\t * `&` and `<` respectively.\n\t\t * The right angle bracket (>) may be represented using the string \" > \", and must, for compatibility,\n\t\t * be escaped using either `>` or a character reference when it appears in the string `]]>` in content,\n\t\t * when that string is not marking the end of a CDATA section.\n\t\t *\n\t\t * In the content of elements, character data is any string of characters\n\t\t * which does not contain the start-delimiter of any markup\n\t\t * and does not include the CDATA-section-close delimiter, `]]>`.\n\t\t *\n\t\t * @see https://www.w3.org/TR/xml/#NT-CharData\n\t\t * @see https://w3c.github.io/DOM-Parsing/#xml-serializing-a-text-node\n\t\t */\n\t\treturn buf.push(node.data\n\t\t\t.replace(/[<&>]/g,_xmlEncoder)\n\t\t);\n\tcase CDATA_SECTION_NODE:\n\t\treturn buf.push( '<![CDATA[',node.data,']]>');\n\tcase COMMENT_NODE:\n\t\treturn buf.push( \"<!--\",node.data,\"-->\");\n\tcase DOCUMENT_TYPE_NODE:\n\t\tvar pubid = node.publicId;\n\t\tvar sysid = node.systemId;\n\t\tbuf.push('<!DOCTYPE ',node.name);\n\t\tif(pubid){\n\t\t\tbuf.push(' PUBLIC ', pubid);\n\t\t\tif (sysid && sysid!='.') {\n\t\t\t\tbuf.push(' ', sysid);\n\t\t\t}\n\t\t\tbuf.push('>');\n\t\t}else if(sysid && sysid!='.'){\n\t\t\tbuf.push(' SYSTEM ', sysid, '>');\n\t\t}else{\n\t\t\tvar sub = node.internalSubset;\n\t\t\tif(sub){\n\t\t\t\tbuf.push(\" [\",sub,\"]\");\n\t\t\t}\n\t\t\tbuf.push(\">\");\n\t\t}\n\t\treturn;\n\tcase PROCESSING_INSTRUCTION_NODE:\n\t\treturn buf.push( \"<?\",node.target,\" \",node.data,\"?>\");\n\tcase ENTITY_REFERENCE_NODE:\n\t\treturn buf.push( '&',node.nodeName,';');\n\t//case ENTITY_NODE:\n\t//case NOTATION_NODE:\n\tdefault:\n\t\tbuf.push('??',node.nodeName);\n\t}\n}\nfunction importNode(doc,node,deep){\n\tvar node2;\n\tswitch (node.nodeType) {\n\tcase ELEMENT_NODE:\n\t\tnode2 = node.cloneNode(false);\n\t\tnode2.ownerDocument = doc;\n\t\t//var attrs = node2.attributes;\n\t\t//var len = attrs.length;\n\t\t//for(var i=0;i<len;i++){\n\t\t\t//node2.setAttributeNodeNS(importNode(doc,attrs.item(i),deep));\n\t\t//}\n\tcase DOCUMENT_FRAGMENT_NODE:\n\t\tbreak;\n\tcase ATTRIBUTE_NODE:\n\t\tdeep = true;\n\t\tbreak;\n\t//case ENTITY_REFERENCE_NODE:\n\t//case PROCESSING_INSTRUCTION_NODE:\n\t////case TEXT_NODE:\n\t//case CDATA_SECTION_NODE:\n\t//case COMMENT_NODE:\n\t//\tdeep = false;\n\t//\tbreak;\n\t//case DOCUMENT_NODE:\n\t//case DOCUMENT_TYPE_NODE:\n\t//cannot be imported.\n\t//case ENTITY_NODE:\n\t//case NOTATION_NODE:\n\t//can not hit in level3\n\t//default:throw e;\n\t}\n\tif(!node2){\n\t\tnode2 = node.cloneNode(false);//false\n\t}\n\tnode2.ownerDocument = doc;\n\tnode2.parentNode = null;\n\tif(deep){\n\t\tvar child = node.firstChild;\n\t\twhile(child){\n\t\t\tnode2.appendChild(importNode(doc,child,deep));\n\t\t\tchild = child.nextSibling;\n\t\t}\n\t}\n\treturn node2;\n}\n//\n//var _relationMap = {firstChild:1,lastChild:1,previousSibling:1,nextSibling:1,\n//\t\t\t\t\tattributes:1,childNodes:1,parentNode:1,documentElement:1,doctype,};\nfunction cloneNode(doc,node,deep){\n\tvar node2 = new node.constructor();\n\tfor (var n in node) {\n\t\tif (Object.prototype.hasOwnProperty.call(node, n)) {\n\t\t\tvar v = node[n];\n\t\t\tif (typeof v != \"object\") {\n\t\t\t\tif (v != node2[n]) {\n\t\t\t\t\tnode2[n] = v;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tif(node.childNodes){\n\t\tnode2.childNodes = new NodeList();\n\t}\n\tnode2.ownerDocument = doc;\n\tswitch (node2.nodeType) {\n\tcase ELEMENT_NODE:\n\t\tvar attrs\t= node.attributes;\n\t\tvar attrs2\t= node2.attributes = new NamedNodeMap();\n\t\tvar len = attrs.length\n\t\tattrs2._ownerElement = node2;\n\t\tfor(var i=0;i<len;i++){\n\t\t\tnode2.setAttributeNode(cloneNode(doc,attrs.item(i),true));\n\t\t}\n\t\tbreak;;\n\tcase ATTRIBUTE_NODE:\n\t\tdeep = true;\n\t}\n\tif(deep){\n\t\tvar child = node.firstChild;\n\t\twhile(child){\n\t\t\tnode2.appendChild(cloneNode(doc,child,deep));\n\t\t\tchild = child.nextSibling;\n\t\t}\n\t}\n\treturn node2;\n}\n\nfunction __set__(object,key,value){\n\tobject[key] = value\n}\n//do dynamic\ntry{\n\tif(Object.defineProperty){\n\t\tObject.defineProperty(LiveNodeList.prototype,'length',{\n\t\t\tget:function(){\n\t\t\t\t_updateLiveList(this);\n\t\t\t\treturn this.$$length;\n\t\t\t}\n\t\t});\n\n\t\tObject.defineProperty(Node.prototype,'textContent',{\n\t\t\tget:function(){\n\t\t\t\treturn getTextContent(this);\n\t\t\t},\n\n\t\t\tset:function(data){\n\t\t\t\tswitch(this.nodeType){\n\t\t\t\tcase ELEMENT_NODE:\n\t\t\t\tcase DOCUMENT_FRAGMENT_NODE:\n\t\t\t\t\twhile(this.firstChild){\n\t\t\t\t\t\tthis.removeChild(this.firstChild);\n\t\t\t\t\t}\n\t\t\t\t\tif(data || String(data)){\n\t\t\t\t\t\tthis.appendChild(this.ownerDocument.createTextNode(data));\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\t\t\t\t\tthis.data = data;\n\t\t\t\t\tthis.value = data;\n\t\t\t\t\tthis.nodeValue = data;\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\tfunction getTextContent(node){\n\t\t\tswitch(node.nodeType){\n\t\t\tcase ELEMENT_NODE:\n\t\t\tcase DOCUMENT_FRAGMENT_NODE:\n\t\t\t\tvar buf = [];\n\t\t\t\tnode = node.firstChild;\n\t\t\t\twhile(node){\n\t\t\t\t\tif(node.nodeType!==7 && node.nodeType !==8){\n\t\t\t\t\t\tbuf.push(getTextContent(node));\n\t\t\t\t\t}\n\t\t\t\t\tnode = node.nextSibling;\n\t\t\t\t}\n\t\t\t\treturn buf.join('');\n\t\t\tdefault:\n\t\t\t\treturn node.nodeValue;\n\t\t\t}\n\t\t}\n\n\t\t__set__ = function(object,key,value){\n\t\t\t//console.log(value)\n\t\t\tobject['$$'+key] = value\n\t\t}\n\t}\n}catch(e){//ie8\n}\n\n//if(typeof require == 'function'){\n\texports.DocumentType = DocumentType;\n\texports.DOMException = DOMException;\n\texports.DOMImplementation = DOMImplementation;\n\texports.Element = Element;\n\texports.Node = Node;\n\texports.NodeList = NodeList;\n\texports.XMLSerializer = XMLSerializer;\n//}\n","'use strict';\n\nvar freeze = require('./conventions').freeze;\n\n/**\n * The entities that are predefined in every XML document.\n *\n * @see https://www.w3.org/TR/2006/REC-xml11-20060816/#sec-predefined-ent W3C XML 1.1\n * @see https://www.w3.org/TR/2008/REC-xml-20081126/#sec-predefined-ent W3C XML 1.0\n * @see https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Predefined_entities_in_XML Wikipedia\n */\nexports.XML_ENTITIES = freeze({\n\tamp: '&',\n\tapos: \"'\",\n\tgt: '>',\n\tlt: '<',\n\tquot: '\"',\n});\n\n/**\n * A map of all entities that are detected in an HTML document.\n * They contain all entries from `XML_ENTITIES`.\n *\n * @see XML_ENTITIES\n * @see DOMParser.parseFromString\n * @see DOMImplementation.prototype.createHTMLDocument\n * @see https://html.spec.whatwg.org/#named-character-references WHATWG HTML(5) Spec\n * @see https://html.spec.whatwg.org/entities.json JSON\n * @see https://www.w3.org/TR/xml-entity-names/ W3C XML Entity Names\n * @see https://www.w3.org/TR/html4/sgml/entities.html W3C HTML4/SGML\n * @see https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Character_entity_references_in_HTML Wikipedia (HTML)\n * @see https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Entities_representing_special_characters_in_XHTML Wikpedia (XHTML)\n */\nexports.HTML_ENTITIES = freeze({\n\tAacute: '\\u00C1',\n\taacute: '\\u00E1',\n\tAbreve: '\\u0102',\n\tabreve: '\\u0103',\n\tac: '\\u223E',\n\tacd: '\\u223F',\n\tacE: '\\u223E\\u0333',\n\tAcirc: '\\u00C2',\n\tacirc: '\\u00E2',\n\tacute: '\\u00B4',\n\tAcy: '\\u0410',\n\tacy: '\\u0430',\n\tAElig: '\\u00C6',\n\taelig: '\\u00E6',\n\taf: '\\u2061',\n\tAfr: '\\uD835\\uDD04',\n\tafr: '\\uD835\\uDD1E',\n\tAgrave: '\\u00C0',\n\tagrave: '\\u00E0',\n\talefsym: '\\u2135',\n\taleph: '\\u2135',\n\tAlpha: '\\u0391',\n\talpha: '\\u03B1',\n\tAmacr: '\\u0100',\n\tamacr: '\\u0101',\n\tamalg: '\\u2A3F',\n\tAMP: '\\u0026',\n\tamp: '\\u0026',\n\tAnd: '\\u2A53',\n\tand: '\\u2227',\n\tandand: '\\u2A55',\n\tandd: '\\u2A5C',\n\tandslope: '\\u2A58',\n\tandv: '\\u2A5A',\n\tang: '\\u2220',\n\tange: '\\u29A4',\n\tangle: '\\u2220',\n\tangmsd: '\\u2221',\n\tangmsdaa: '\\u29A8',\n\tangmsdab: '\\u29A9',\n\tangmsdac: '\\u29AA',\n\tangmsdad: '\\u29AB',\n\tangmsdae: '\\u29AC',\n\tangmsdaf: '\\u29AD',\n\tangmsdag: '\\u29AE',\n\tangmsdah: '\\u29AF',\n\tangrt: '\\u221F',\n\tangrtvb: '\\u22BE',\n\tangrtvbd: '\\u299D',\n\tangsph: '\\u2222',\n\tangst: '\\u00C5',\n\tangzarr: '\\u237C',\n\tAogon: '\\u0104',\n\taogon: '\\u0105',\n\tAopf: '\\uD835\\uDD38',\n\taopf: '\\uD835\\uDD52',\n\tap: '\\u2248',\n\tapacir: '\\u2A6F',\n\tapE: '\\u2A70',\n\tape: '\\u224A',\n\tapid: '\\u224B',\n\tapos: '\\u0027',\n\tApplyFunction: '\\u2061',\n\tapprox: '\\u2248',\n\tapproxeq: '\\u224A',\n\tAring: '\\u00C5',\n\taring: '\\u00E5',\n\tAscr: '\\uD835\\uDC9C',\n\tascr: '\\uD835\\uDCB6',\n\tAssign: '\\u2254',\n\tast: '\\u002A',\n\tasymp: '\\u2248',\n\tasympeq: '\\u224D',\n\tAtilde: '\\u00C3',\n\tatilde: '\\u00E3',\n\tAuml: '\\u00C4',\n\tauml: '\\u00E4',\n\tawconint: '\\u2233',\n\tawint: '\\u2A11',\n\tbackcong: '\\u224C',\n\tbackepsilon: '\\u03F6',\n\tbackprime: '\\u2035',\n\tbacksim: '\\u223D',\n\tbacksimeq: '\\u22CD',\n\tBackslash: '\\u2216',\n\tBarv: '\\u2AE7',\n\tbarvee: '\\u22BD',\n\tBarwed: '\\u2306',\n\tbarwed: '\\u2305',\n\tbarwedge: '\\u2305',\n\tbbrk: '\\u23B5',\n\tbbrktbrk: '\\u23B6',\n\tbcong: '\\u224C',\n\tBcy: '\\u0411',\n\tbcy: '\\u0431',\n\tbdquo: '\\u201E',\n\tbecaus: '\\u2235',\n\tBecause: '\\u2235',\n\tbecause: '\\u2235',\n\tbemptyv: '\\u29B0',\n\tbepsi: '\\u03F6',\n\tbernou: '\\u212C',\n\tBernoullis: '\\u212C',\n\tBeta: '\\u0392',\n\tbeta: '\\u03B2',\n\tbeth: '\\u2136',\n\tbetween: '\\u226C',\n\tBfr: '\\uD835\\uDD05',\n\tbfr: '\\uD835\\uDD1F',\n\tbigcap: '\\u22C2',\n\tbigcirc: '\\u25EF',\n\tbigcup: '\\u22C3',\n\tbigodot: '\\u2A00',\n\tbigoplus: '\\u2A01',\n\tbigotimes: '\\u2A02',\n\tbigsqcup: '\\u2A06',\n\tbigstar: '\\u2605',\n\tbigtriangledown: '\\u25BD',\n\tbigtriangleup: '\\u25B3',\n\tbiguplus: '\\u2A04',\n\tbigvee: '\\u22C1',\n\tbigwedge: '\\u22C0',\n\tbkarow: '\\u290D',\n\tblacklozenge: '\\u29EB',\n\tblacksquare: '\\u25AA',\n\tblacktriangle: '\\u25B4',\n\tblacktriangledown: '\\u25BE',\n\tblacktriangleleft: '\\u25C2',\n\tblacktriangleright: '\\u25B8',\n\tblank: '\\u2423',\n\tblk12: '\\u2592',\n\tblk14: '\\u2591',\n\tblk34: '\\u2593',\n\tblock: '\\u2588',\n\tbne: '\\u003D\\u20E5',\n\tbnequiv: '\\u2261\\u20E5',\n\tbNot: '\\u2AED',\n\tbnot: '\\u2310',\n\tBopf: '\\uD835\\uDD39',\n\tbopf: '\\uD835\\uDD53',\n\tbot: '\\u22A5',\n\tbottom: '\\u22A5',\n\tbowtie: '\\u22C8',\n\tboxbox: '\\u29C9',\n\tboxDL: '\\u2557',\n\tboxDl: '\\u2556',\n\tboxdL: '\\u2555',\n\tboxdl: '\\u2510',\n\tboxDR: '\\u2554',\n\tboxDr: '\\u2553',\n\tboxdR: '\\u2552',\n\tboxdr: '\\u250C',\n\tboxH: '\\u2550',\n\tboxh: '\\u2500',\n\tboxHD: '\\u2566',\n\tboxHd: '\\u2564',\n\tboxhD: '\\u2565',\n\tboxhd: '\\u252C',\n\tboxHU: '\\u2569',\n\tboxHu: '\\u2567',\n\tboxhU: '\\u2568',\n\tboxhu: '\\u2534',\n\tboxminus: '\\u229F',\n\tboxplus: '\\u229E',\n\tboxtimes: '\\u22A0',\n\tboxUL: '\\u255D',\n\tboxUl: '\\u255C',\n\tboxuL: '\\u255B',\n\tboxul: '\\u2518',\n\tboxUR: '\\u255A',\n\tboxUr: '\\u2559',\n\tboxuR: '\\u2558',\n\tboxur: '\\u2514',\n\tboxV: '\\u2551',\n\tboxv: '\\u2502',\n\tboxVH: '\\u256C',\n\tboxVh: '\\u256B',\n\tboxvH: '\\u256A',\n\tboxvh: '\\u253C',\n\tboxVL: '\\u2563',\n\tboxVl: '\\u2562',\n\tboxvL: '\\u2561',\n\tboxvl: '\\u2524',\n\tboxVR: '\\u2560',\n\tboxVr: '\\u255F',\n\tboxvR: '\\u255E',\n\tboxvr: '\\u251C',\n\tbprime: '\\u2035',\n\tBreve: '\\u02D8',\n\tbreve: '\\u02D8',\n\tbrvbar: '\\u00A6',\n\tBscr: '\\u212C',\n\tbscr: '\\uD835\\uDCB7',\n\tbsemi: '\\u204F',\n\tbsim: '\\u223D',\n\tbsime: '\\u22CD',\n\tbsol: '\\u005C',\n\tbsolb: '\\u29C5',\n\tbsolhsub: '\\u27C8',\n\tbull: '\\u2022',\n\tbullet: '\\u2022',\n\tbump: '\\u224E',\n\tbumpE: '\\u2AAE',\n\tbumpe: '\\u224F',\n\tBumpeq: '\\u224E',\n\tbumpeq: '\\u224F',\n\tCacute: '\\u0106',\n\tcacute: '\\u0107',\n\tCap: '\\u22D2',\n\tcap: '\\u2229',\n\tcapand: '\\u2A44',\n\tcapbrcup: '\\u2A49',\n\tcapcap: '\\u2A4B',\n\tcapcup: '\\u2A47',\n\tcapdot: '\\u2A40',\n\tCapitalDifferentialD: '\\u2145',\n\tcaps: '\\u2229\\uFE00',\n\tcaret: '\\u2041',\n\tcaron: '\\u02C7',\n\tCayleys: '\\u212D',\n\tccaps: '\\u2A4D',\n\tCcaron: '\\u010C',\n\tccaron: '\\u010D',\n\tCcedil: '\\u00C7',\n\tccedil: '\\u00E7',\n\tCcirc: '\\u0108',\n\tccirc: '\\u0109',\n\tCconint: '\\u2230',\n\tccups: '\\u2A4C',\n\tccupssm: '\\u2A50',\n\tCdot: '\\u010A',\n\tcdot: '\\u010B',\n\tcedil: '\\u00B8',\n\tCedilla: '\\u00B8',\n\tcemptyv: '\\u29B2',\n\tcent: '\\u00A2',\n\tCenterDot: '\\u00B7',\n\tcenterdot: '\\u00B7',\n\tCfr: '\\u212D',\n\tcfr: '\\uD835\\uDD20',\n\tCHcy: '\\u0427',\n\tchcy: '\\u0447',\n\tcheck: '\\u2713',\n\tcheckmark: '\\u2713',\n\tChi: '\\u03A7',\n\tchi: '\\u03C7',\n\tcir: '\\u25CB',\n\tcirc: '\\u02C6',\n\tcirceq: '\\u2257',\n\tcirclearrowleft: '\\u21BA',\n\tcirclearrowright: '\\u21BB',\n\tcircledast: '\\u229B',\n\tcircledcirc: '\\u229A',\n\tcircleddash: '\\u229D',\n\tCircleDot: '\\u2299',\n\tcircledR: '\\u00AE',\n\tcircledS: '\\u24C8',\n\tCircleMinus: '\\u2296',\n\tCirclePlus: '\\u2295',\n\tCircleTimes: '\\u2297',\n\tcirE: '\\u29C3',\n\tcire: '\\u2257',\n\tcirfnint: '\\u2A10',\n\tcirmid: '\\u2AEF',\n\tcirscir: '\\u29C2',\n\tClockwiseContourIntegral: '\\u2232',\n\tCloseCurlyDoubleQuote: '\\u201D',\n\tCloseCurlyQuote: '\\u2019',\n\tclubs: '\\u2663',\n\tclubsuit: '\\u2663',\n\tColon: '\\u2237',\n\tcolon: '\\u003A',\n\tColone: '\\u2A74',\n\tcolone: '\\u2254',\n\tcoloneq: '\\u2254',\n\tcomma: '\\u002C',\n\tcommat: '\\u0040',\n\tcomp: '\\u2201',\n\tcompfn: '\\u2218',\n\tcomplement: '\\u2201',\n\tcomplexes: '\\u2102',\n\tcong: '\\u2245',\n\tcongdot: '\\u2A6D',\n\tCongruent: '\\u2261',\n\tConint: '\\u222F',\n\tconint: '\\u222E',\n\tContourIntegral: '\\u222E',\n\tCopf: '\\u2102',\n\tcopf: '\\uD835\\uDD54',\n\tcoprod: '\\u2210',\n\tCoproduct: '\\u2210',\n\tCOPY: '\\u00A9',\n\tcopy: '\\u00A9',\n\tcopysr: '\\u2117',\n\tCounterClockwiseContourIntegral: '\\u2233',\n\tcrarr: '\\u21B5',\n\tCross: '\\u2A2F',\n\tcross: '\\u2717',\n\tCscr: '\\uD835\\uDC9E',\n\tcscr: '\\uD835\\uDCB8',\n\tcsub: '\\u2ACF',\n\tcsube: '\\u2AD1',\n\tcsup: '\\u2AD0',\n\tcsupe: '\\u2AD2',\n\tctdot: '\\u22EF',\n\tcudarrl: '\\u2938',\n\tcudarrr: '\\u2935',\n\tcuepr: '\\u22DE',\n\tcuesc: '\\u22DF',\n\tcularr: '\\u21B6',\n\tcularrp: '\\u293D',\n\tCup: '\\u22D3',\n\tcup: '\\u222A',\n\tcupbrcap: '\\u2A48',\n\tCupCap: '\\u224D',\n\tcupcap: '\\u2A46',\n\tcupcup: '\\u2A4A',\n\tcupdot: '\\u228D',\n\tcupor: '\\u2A45',\n\tcups: '\\u222A\\uFE00',\n\tcurarr: '\\u21B7',\n\tcurarrm: '\\u293C',\n\tcurlyeqprec: '\\u22DE',\n\tcurlyeqsucc: '\\u22DF',\n\tcurlyvee: '\\u22CE',\n\tcurlywedge: '\\u22CF',\n\tcurren: '\\u00A4',\n\tcurvearrowleft: '\\u21B6',\n\tcurvearrowright: '\\u21B7',\n\tcuvee: '\\u22CE',\n\tcuwed: '\\u22CF',\n\tcwconint: '\\u2232',\n\tcwint: '\\u2231',\n\tcylcty: '\\u232D',\n\tDagger: '\\u2021',\n\tdagger: '\\u2020',\n\tdaleth: '\\u2138',\n\tDarr: '\\u21A1',\n\tdArr: '\\u21D3',\n\tdarr: '\\u2193',\n\tdash: '\\u2010',\n\tDashv: '\\u2AE4',\n\tdashv: '\\u22A3',\n\tdbkarow: '\\u290F',\n\tdblac: '\\u02DD',\n\tDcaron: '\\u010E',\n\tdcaron: '\\u010F',\n\tDcy: '\\u0414',\n\tdcy: '\\u0434',\n\tDD: '\\u2145',\n\tdd: '\\u2146',\n\tddagger: '\\u2021',\n\tddarr: '\\u21CA',\n\tDDotrahd: '\\u2911',\n\tddotseq: '\\u2A77',\n\tdeg: '\\u00B0',\n\tDel: '\\u2207',\n\tDelta: '\\u0394',\n\tdelta: '\\u03B4',\n\tdemptyv: '\\u29B1',\n\tdfisht: '\\u297F',\n\tDfr: '\\uD835\\uDD07',\n\tdfr: '\\uD835\\uDD21',\n\tdHar: '\\u2965',\n\tdharl: '\\u21C3',\n\tdharr: '\\u21C2',\n\tDiacriticalAcute: '\\u00B4',\n\tDiacriticalDot: '\\u02D9',\n\tDiacriticalDoubleAcute: '\\u02DD',\n\tDiacriticalGrave: '\\u0060',\n\tDiacriticalTilde: '\\u02DC',\n\tdiam: '\\u22C4',\n\tDiamond: '\\u22C4',\n\tdiamond: '\\u22C4',\n\tdiamondsuit: '\\u2666',\n\tdiams: '\\u2666',\n\tdie: '\\u00A8',\n\tDifferentialD: '\\u2146',\n\tdigamma: '\\u03DD',\n\tdisin: '\\u22F2',\n\tdiv: '\\u00F7',\n\tdivide: '\\u00F7',\n\tdivideontimes: '\\u22C7',\n\tdivonx: '\\u22C7',\n\tDJcy: '\\u0402',\n\tdjcy: '\\u0452',\n\tdlcorn: '\\u231E',\n\tdlcrop: '\\u230D',\n\tdollar: '\\u0024',\n\tDopf: '\\uD835\\uDD3B',\n\tdopf: '\\uD835\\uDD55',\n\tDot: '\\u00A8',\n\tdot: '\\u02D9',\n\tDotDot: '\\u20DC',\n\tdoteq: '\\u2250',\n\tdoteqdot: '\\u2251',\n\tDotEqual: '\\u2250',\n\tdotminus: '\\u2238',\n\tdotplus: '\\u2214',\n\tdotsquare: '\\u22A1',\n\tdoublebarwedge: '\\u2306',\n\tDoubleContourIntegral: '\\u222F',\n\tDoubleDot: '\\u00A8',\n\tDoubleDownArrow: '\\u21D3',\n\tDoubleLeftArrow: '\\u21D0',\n\tDoubleLeftRightArrow: '\\u21D4',\n\tDoubleLeftTee: '\\u2AE4',\n\tDoubleLongLeftArrow: '\\u27F8',\n\tDoubleLongLeftRightArrow: '\\u27FA',\n\tDoubleLongRightArrow: '\\u27F9',\n\tDoubleRightArrow: '\\u21D2',\n\tDoubleRightTee: '\\u22A8',\n\tDoubleUpArrow: '\\u21D1',\n\tDoubleUpDownArrow: '\\u21D5',\n\tDoubleVerticalBar: '\\u2225',\n\tDownArrow: '\\u2193',\n\tDownarrow: '\\u21D3',\n\tdownarrow: '\\u2193',\n\tDownArrowBar: '\\u2913',\n\tDownArrowUpArrow: '\\u21F5',\n\tDownBreve: '\\u0311',\n\tdowndownarrows: '\\u21CA',\n\tdownharpoonleft: '\\u21C3',\n\tdownharpoonright: '\\u21C2',\n\tDownLeftRightVector: '\\u2950',\n\tDownLeftTeeVector: '\\u295E',\n\tDownLeftVector: '\\u21BD',\n\tDownLeftVectorBar: '\\u2956',\n\tDownRightTeeVector: '\\u295F',\n\tDownRightVector: '\\u21C1',\n\tDownRightVectorBar: '\\u2957',\n\tDownTee: '\\u22A4',\n\tDownTeeArrow: '\\u21A7',\n\tdrbkarow: '\\u2910',\n\tdrcorn: '\\u231F',\n\tdrcrop: '\\u230C',\n\tDscr: '\\uD835\\uDC9F',\n\tdscr: '\\uD835\\uDCB9',\n\tDScy: '\\u0405',\n\tdscy: '\\u0455',\n\tdsol: '\\u29F6',\n\tDstrok: '\\u0110',\n\tdstrok: '\\u0111',\n\tdtdot: '\\u22F1',\n\tdtri: '\\u25BF',\n\tdtrif: '\\u25BE',\n\tduarr: '\\u21F5',\n\tduhar: '\\u296F',\n\tdwangle: '\\u29A6',\n\tDZcy: '\\u040F',\n\tdzcy: '\\u045F',\n\tdzigrarr: '\\u27FF',\n\tEacute: '\\u00C9',\n\teacute: '\\u00E9',\n\teaster: '\\u2A6E',\n\tEcaron: '\\u011A',\n\tecaron: '\\u011B',\n\tecir: '\\u2256',\n\tEcirc: '\\u00CA',\n\tecirc: '\\u00EA',\n\tecolon: '\\u2255',\n\tEcy: '\\u042D',\n\tecy: '\\u044D',\n\teDDot: '\\u2A77',\n\tEdot: '\\u0116',\n\teDot: '\\u2251',\n\tedot: '\\u0117',\n\tee: '\\u2147',\n\tefDot: '\\u2252',\n\tEfr: '\\uD835\\uDD08',\n\tefr: '\\uD835\\uDD22',\n\teg: '\\u2A9A',\n\tEgrave: '\\u00C8',\n\tegrave: '\\u00E8',\n\tegs: '\\u2A96',\n\tegsdot: '\\u2A98',\n\tel: '\\u2A99',\n\tElement: '\\u2208',\n\telinters: '\\u23E7',\n\tell: '\\u2113',\n\tels: '\\u2A95',\n\telsdot: '\\u2A97',\n\tEmacr: '\\u0112',\n\temacr: '\\u0113',\n\tempty: '\\u2205',\n\temptyset: '\\u2205',\n\tEmptySmallSquare: '\\u25FB',\n\temptyv: '\\u2205',\n\tEmptyVerySmallSquare: '\\u25AB',\n\temsp: '\\u2003',\n\temsp13: '\\u2004',\n\temsp14: '\\u2005',\n\tENG: '\\u014A',\n\teng: '\\u014B',\n\tensp: '\\u2002',\n\tEogon: '\\u0118',\n\teogon: '\\u0119',\n\tEopf: '\\uD835\\uDD3C',\n\teopf: '\\uD835\\uDD56',\n\tepar: '\\u22D5',\n\teparsl: '\\u29E3',\n\teplus: '\\u2A71',\n\tepsi: '\\u03B5',\n\tEpsilon: '\\u0395',\n\tepsilon: '\\u03B5',\n\tepsiv: '\\u03F5',\n\teqcirc: '\\u2256',\n\teqcolon: '\\u2255',\n\teqsim: '\\u2242',\n\teqslantgtr: '\\u2A96',\n\teqslantless: '\\u2A95',\n\tEqual: '\\u2A75',\n\tequals: '\\u003D',\n\tEqualTilde: '\\u2242',\n\tequest: '\\u225F',\n\tEquilibrium: '\\u21CC',\n\tequiv: '\\u2261',\n\tequivDD: '\\u2A78',\n\teqvparsl: '\\u29E5',\n\terarr: '\\u2971',\n\terDot: '\\u2253',\n\tEscr: '\\u2130',\n\tescr: '\\u212F',\n\tesdot: '\\u2250',\n\tEsim: '\\u2A73',\n\tesim: '\\u2242',\n\tEta: '\\u0397',\n\teta: '\\u03B7',\n\tETH: '\\u00D0',\n\teth: '\\u00F0',\n\tEuml: '\\u00CB',\n\teuml: '\\u00EB',\n\teuro: '\\u20AC',\n\texcl: '\\u0021',\n\texist: '\\u2203',\n\tExists: '\\u2203',\n\texpectation: '\\u2130',\n\tExponentialE: '\\u2147',\n\texponentiale: '\\u2147',\n\tfallingdotseq: '\\u2252',\n\tFcy: '\\u0424',\n\tfcy: '\\u0444',\n\tfemale: '\\u2640',\n\tffilig: '\\uFB03',\n\tfflig: '\\uFB00',\n\tffllig: '\\uFB04',\n\tFfr: '\\uD835\\uDD09',\n\tffr: '\\uD835\\uDD23',\n\tfilig: '\\uFB01',\n\tFilledSmallSquare: '\\u25FC',\n\tFilledVerySmallSquare: '\\u25AA',\n\tfjlig: '\\u0066\\u006A',\n\tflat: '\\u266D',\n\tfllig: '\\uFB02',\n\tfltns: '\\u25B1',\n\tfnof: '\\u0192',\n\tFopf: '\\uD835\\uDD3D',\n\tfopf: '\\uD835\\uDD57',\n\tForAll: '\\u2200',\n\tforall: '\\u2200',\n\tfork: '\\u22D4',\n\tforkv: '\\u2AD9',\n\tFouriertrf: '\\u2131',\n\tfpartint: '\\u2A0D',\n\tfrac12: '\\u00BD',\n\tfrac13: '\\u2153',\n\tfrac14: '\\u00BC',\n\tfrac15: '\\u2155',\n\tfrac16: '\\u2159',\n\tfrac18: '\\u215B',\n\tfrac23: '\\u2154',\n\tfrac25: '\\u2156',\n\tfrac34: '\\u00BE',\n\tfrac35: '\\u2157',\n\tfrac38: '\\u215C',\n\tfrac45: '\\u2158',\n\tfrac56: '\\u215A',\n\tfrac58: '\\u215D',\n\tfrac78: '\\u215E',\n\tfrasl: '\\u2044',\n\tfrown: '\\u2322',\n\tFscr: '\\u2131',\n\tfscr: '\\uD835\\uDCBB',\n\tgacute: '\\u01F5',\n\tGamma: '\\u0393',\n\tgamma: '\\u03B3',\n\tGammad: '\\u03DC',\n\tgammad: '\\u03DD',\n\tgap: '\\u2A86',\n\tGbreve: '\\u011E',\n\tgbreve: '\\u011F',\n\tGcedil: '\\u0122',\n\tGcirc: '\\u011C',\n\tgcirc: '\\u011D',\n\tGcy: '\\u0413',\n\tgcy: '\\u0433',\n\tGdot: '\\u0120',\n\tgdot: '\\u0121',\n\tgE: '\\u2267',\n\tge: '\\u2265',\n\tgEl: '\\u2A8C',\n\tgel: '\\u22DB',\n\tgeq: '\\u2265',\n\tgeqq: '\\u2267',\n\tgeqslant: '\\u2A7E',\n\tges: '\\u2A7E',\n\tgescc: '\\u2AA9',\n\tgesdot: '\\u2A80',\n\tgesdoto: '\\u2A82',\n\tgesdotol: '\\u2A84',\n\tgesl: '\\u22DB\\uFE00',\n\tgesles: '\\u2A94',\n\tGfr: '\\uD835\\uDD0A',\n\tgfr: '\\uD835\\uDD24',\n\tGg: '\\u22D9',\n\tgg: '\\u226B',\n\tggg: '\\u22D9',\n\tgimel: '\\u2137',\n\tGJcy: '\\u0403',\n\tgjcy: '\\u0453',\n\tgl: '\\u2277',\n\tgla: '\\u2AA5',\n\tglE: '\\u2A92',\n\tglj: '\\u2AA4',\n\tgnap: '\\u2A8A',\n\tgnapprox: '\\u2A8A',\n\tgnE: '\\u2269',\n\tgne: '\\u2A88',\n\tgneq: '\\u2A88',\n\tgneqq: '\\u2269',\n\tgnsim: '\\u22E7',\n\tGopf: '\\uD835\\uDD3E',\n\tgopf: '\\uD835\\uDD58',\n\tgrave: '\\u0060',\n\tGreaterEqual: '\\u2265',\n\tGreaterEqualLess: '\\u22DB',\n\tGreaterFullEqual: '\\u2267',\n\tGreaterGreater: '\\u2AA2',\n\tGreaterLess: '\\u2277',\n\tGreaterSlantEqual: '\\u2A7E',\n\tGreaterTilde: '\\u2273',\n\tGscr: '\\uD835\\uDCA2',\n\tgscr: '\\u210A',\n\tgsim: '\\u2273',\n\tgsime: '\\u2A8E',\n\tgsiml: '\\u2A90',\n\tGt: '\\u226B',\n\tGT: '\\u003E',\n\tgt: '\\u003E',\n\tgtcc: '\\u2AA7',\n\tgtcir: '\\u2A7A',\n\tgtdot: '\\u22D7',\n\tgtlPar: '\\u2995',\n\tgtquest: '\\u2A7C',\n\tgtrapprox: '\\u2A86',\n\tgtrarr: '\\u2978',\n\tgtrdot: '\\u22D7',\n\tgtreqless: '\\u22DB',\n\tgtreqqless: '\\u2A8C',\n\tgtrless: '\\u2277',\n\tgtrsim: '\\u2273',\n\tgvertneqq: '\\u2269\\uFE00',\n\tgvnE: '\\u2269\\uFE00',\n\tHacek: '\\u02C7',\n\thairsp: '\\u200A',\n\thalf: '\\u00BD',\n\thamilt: '\\u210B',\n\tHARDcy: '\\u042A',\n\thardcy: '\\u044A',\n\thArr: '\\u21D4',\n\tharr: '\\u2194',\n\tharrcir: '\\u2948',\n\tharrw: '\\u21AD',\n\tHat: '\\u005E',\n\thbar: '\\u210F',\n\tHcirc: '\\u0124',\n\thcirc: '\\u0125',\n\thearts: '\\u2665',\n\theartsuit: '\\u2665',\n\thellip: '\\u2026',\n\thercon: '\\u22B9',\n\tHfr: '\\u210C',\n\thfr: '\\uD835\\uDD25',\n\tHilbertSpace: '\\u210B',\n\thksearow: '\\u2925',\n\thkswarow: '\\u2926',\n\thoarr: '\\u21FF',\n\thomtht: '\\u223B',\n\thookleftarrow: '\\u21A9',\n\thookrightarrow: '\\u21AA',\n\tHopf: '\\u210D',\n\thopf: '\\uD835\\uDD59',\n\thorbar: '\\u2015',\n\tHorizontalLine: '\\u2500',\n\tHscr: '\\u210B',\n\thscr: '\\uD835\\uDCBD',\n\thslash: '\\u210F',\n\tHstrok: '\\u0126',\n\thstrok: '\\u0127',\n\tHumpDownHump: '\\u224E',\n\tHumpEqual: '\\u224F',\n\thybull: '\\u2043',\n\thyphen: '\\u2010',\n\tIacute: '\\u00CD',\n\tiacute: '\\u00ED',\n\tic: '\\u2063',\n\tIcirc: '\\u00CE',\n\ticirc: '\\u00EE',\n\tIcy: '\\u0418',\n\ticy: '\\u0438',\n\tIdot: '\\u0130',\n\tIEcy: '\\u0415',\n\tiecy: '\\u0435',\n\tiexcl: '\\u00A1',\n\tiff: '\\u21D4',\n\tIfr: '\\u2111',\n\tifr: '\\uD835\\uDD26',\n\tIgrave: '\\u00CC',\n\tigrave: '\\u00EC',\n\tii: '\\u2148',\n\tiiiint: '\\u2A0C',\n\tiiint: '\\u222D',\n\tiinfin: '\\u29DC',\n\tiiota: '\\u2129',\n\tIJlig: '\\u0132',\n\tijlig: '\\u0133',\n\tIm: '\\u2111',\n\tImacr: '\\u012A',\n\timacr: '\\u012B',\n\timage: '\\u2111',\n\tImaginaryI: '\\u2148',\n\timagline: '\\u2110',\n\timagpart: '\\u2111',\n\timath: '\\u0131',\n\timof: '\\u22B7',\n\timped: '\\u01B5',\n\tImplies: '\\u21D2',\n\tin: '\\u2208',\n\tincare: '\\u2105',\n\tinfin: '\\u221E',\n\tinfintie: '\\u29DD',\n\tinodot: '\\u0131',\n\tInt: '\\u222C',\n\tint: '\\u222B',\n\tintcal: '\\u22BA',\n\tintegers: '\\u2124',\n\tIntegral: '\\u222B',\n\tintercal: '\\u22BA',\n\tIntersection: '\\u22C2',\n\tintlarhk: '\\u2A17',\n\tintprod: '\\u2A3C',\n\tInvisibleComma: '\\u2063',\n\tInvisibleTimes: '\\u2062',\n\tIOcy: '\\u0401',\n\tiocy: '\\u0451',\n\tIogon: '\\u012E',\n\tiogon: '\\u012F',\n\tIopf: '\\uD835\\uDD40',\n\tiopf: '\\uD835\\uDD5A',\n\tIota: '\\u0399',\n\tiota: '\\u03B9',\n\tiprod: '\\u2A3C',\n\tiquest: '\\u00BF',\n\tIscr: '\\u2110',\n\tiscr: '\\uD835\\uDCBE',\n\tisin: '\\u2208',\n\tisindot: '\\u22F5',\n\tisinE: '\\u22F9',\n\tisins: '\\u22F4',\n\tisinsv: '\\u22F3',\n\tisinv: '\\u2208',\n\tit: '\\u2062',\n\tItilde: '\\u0128',\n\titilde: '\\u0129',\n\tIukcy: '\\u0406',\n\tiukcy: '\\u0456',\n\tIuml: '\\u00CF',\n\tiuml: '\\u00EF',\n\tJcirc: '\\u0134',\n\tjcirc: '\\u0135',\n\tJcy: '\\u0419',\n\tjcy: '\\u0439',\n\tJfr: '\\uD835\\uDD0D',\n\tjfr: '\\uD835\\uDD27',\n\tjmath: '\\u0237',\n\tJopf: '\\uD835\\uDD41',\n\tjopf: '\\uD835\\uDD5B',\n\tJscr: '\\uD835\\uDCA5',\n\tjscr: '\\uD835\\uDCBF',\n\tJsercy: '\\u0408',\n\tjsercy: '\\u0458',\n\tJukcy: '\\u0404',\n\tjukcy: '\\u0454',\n\tKappa: '\\u039A',\n\tkappa: '\\u03BA',\n\tkappav: '\\u03F0',\n\tKcedil: '\\u0136',\n\tkcedil: '\\u0137',\n\tKcy: '\\u041A',\n\tkcy: '\\u043A',\n\tKfr: '\\uD835\\uDD0E',\n\tkfr: '\\uD835\\uDD28',\n\tkgreen: '\\u0138',\n\tKHcy: '\\u0425',\n\tkhcy: '\\u0445',\n\tKJcy: '\\u040C',\n\tkjcy: '\\u045C',\n\tKopf: '\\uD835\\uDD42',\n\tkopf: '\\uD835\\uDD5C',\n\tKscr: '\\uD835\\uDCA6',\n\tkscr: '\\uD835\\uDCC0',\n\tlAarr: '\\u21DA',\n\tLacute: '\\u0139',\n\tlacute: '\\u013A',\n\tlaemptyv: '\\u29B4',\n\tlagran: '\\u2112',\n\tLambda: '\\u039B',\n\tlambda: '\\u03BB',\n\tLang: '\\u27EA',\n\tlang: '\\u27E8',\n\tlangd: '\\u2991',\n\tlangle: '\\u27E8',\n\tlap: '\\u2A85',\n\tLaplacetrf: '\\u2112',\n\tlaquo: '\\u00AB',\n\tLarr: '\\u219E',\n\tlArr: '\\u21D0',\n\tlarr: '\\u2190',\n\tlarrb: '\\u21E4',\n\tlarrbfs: '\\u291F',\n\tlarrfs: '\\u291D',\n\tlarrhk: '\\u21A9',\n\tlarrlp: '\\u21AB',\n\tlarrpl: '\\u2939',\n\tlarrsim: '\\u2973',\n\tlarrtl: '\\u21A2',\n\tlat: '\\u2AAB',\n\tlAtail: '\\u291B',\n\tlatail: '\\u2919',\n\tlate: '\\u2AAD',\n\tlates: '\\u2AAD\\uFE00',\n\tlBarr: '\\u290E',\n\tlbarr: '\\u290C',\n\tlbbrk: '\\u2772',\n\tlbrace: '\\u007B',\n\tlbrack: '\\u005B',\n\tlbrke: '\\u298B',\n\tlbrksld: '\\u298F',\n\tlbrkslu: '\\u298D',\n\tLcaron: '\\u013D',\n\tlcaron: '\\u013E',\n\tLcedil: '\\u013B',\n\tlcedil: '\\u013C',\n\tlceil: '\\u2308',\n\tlcub: '\\u007B',\n\tLcy: '\\u041B',\n\tlcy: '\\u043B',\n\tldca: '\\u2936',\n\tldquo: '\\u201C',\n\tldquor: '\\u201E',\n\tldrdhar: '\\u2967',\n\tldrushar: '\\u294B',\n\tldsh: '\\u21B2',\n\tlE: '\\u2266',\n\tle: '\\u2264',\n\tLeftAngleBracket: '\\u27E8',\n\tLeftArrow: '\\u2190',\n\tLeftarrow: '\\u21D0',\n\tleftarrow: '\\u2190',\n\tLeftArrowBar: '\\u21E4',\n\tLeftArrowRightArrow: '\\u21C6',\n\tleftarrowtail: '\\u21A2',\n\tLeftCeiling: '\\u2308',\n\tLeftDoubleBracket: '\\u27E6',\n\tLeftDownTeeVector: '\\u2961',\n\tLeftDownVector: '\\u21C3',\n\tLeftDownVectorBar: '\\u2959',\n\tLeftFloor: '\\u230A',\n\tleftharpoondown: '\\u21BD',\n\tleftharpoonup: '\\u21BC',\n\tleftleftarrows: '\\u21C7',\n\tLeftRightArrow: '\\u2194',\n\tLeftrightarrow: '\\u21D4',\n\tleftrightarrow: '\\u2194',\n\tleftrightarrows: '\\u21C6',\n\tleftrightharpoons: '\\u21CB',\n\tleftrightsquigarrow: '\\u21AD',\n\tLeftRightVector: '\\u294E',\n\tLeftTee: '\\u22A3',\n\tLeftTeeArrow: '\\u21A4',\n\tLeftTeeVector: '\\u295A',\n\tleftthreetimes: '\\u22CB',\n\tLeftTriangle: '\\u22B2',\n\tLeftTriangleBar: '\\u29CF',\n\tLeftTriangleEqual: '\\u22B4',\n\tLeftUpDownVector: '\\u2951',\n\tLeftUpTeeVector: '\\u2960',\n\tLeftUpVector: '\\u21BF',\n\tLeftUpVectorBar: '\\u2958',\n\tLeftVector: '\\u21BC',\n\tLeftVectorBar: '\\u2952',\n\tlEg: '\\u2A8B',\n\tleg: '\\u22DA',\n\tleq: '\\u2264',\n\tleqq: '\\u2266',\n\tleqslant: '\\u2A7D',\n\tles: '\\u2A7D',\n\tlescc: '\\u2AA8',\n\tlesdot: '\\u2A7F',\n\tlesdoto: '\\u2A81',\n\tlesdotor: '\\u2A83',\n\tlesg: '\\u22DA\\uFE00',\n\tlesges: '\\u2A93',\n\tlessapprox: '\\u2A85',\n\tlessdot: '\\u22D6',\n\tlesseqgtr: '\\u22DA',\n\tlesseqqgtr: '\\u2A8B',\n\tLessEqualGreater: '\\u22DA',\n\tLessFullEqual: '\\u2266',\n\tLessGreater: '\\u2276',\n\tlessgtr: '\\u2276',\n\tLessLess: '\\u2AA1',\n\tlesssim: '\\u2272',\n\tLessSlantEqual: '\\u2A7D',\n\tLessTilde: '\\u2272',\n\tlfisht: '\\u297C',\n\tlfloor: '\\u230A',\n\tLfr: '\\uD835\\uDD0F',\n\tlfr: '\\uD835\\uDD29',\n\tlg: '\\u2276',\n\tlgE: '\\u2A91',\n\tlHar: '\\u2962',\n\tlhard: '\\u21BD',\n\tlharu: '\\u21BC',\n\tlharul: '\\u296A',\n\tlhblk: '\\u2584',\n\tLJcy: '\\u0409',\n\tljcy: '\\u0459',\n\tLl: '\\u22D8',\n\tll: '\\u226A',\n\tllarr: '\\u21C7',\n\tllcorner: '\\u231E',\n\tLleftarrow: '\\u21DA',\n\tllhard: '\\u296B',\n\tlltri: '\\u25FA',\n\tLmidot: '\\u013F',\n\tlmidot: '\\u0140',\n\tlmoust: '\\u23B0',\n\tlmoustache: '\\u23B0',\n\tlnap: '\\u2A89',\n\tlnapprox: '\\u2A89',\n\tlnE: '\\u2268',\n\tlne: '\\u2A87',\n\tlneq: '\\u2A87',\n\tlneqq: '\\u2268',\n\tlnsim: '\\u22E6',\n\tloang: '\\u27EC',\n\tloarr: '\\u21FD',\n\tlobrk: '\\u27E6',\n\tLongLeftArrow: '\\u27F5',\n\tLongleftarrow: '\\u27F8',\n\tlongleftarrow: '\\u27F5',\n\tLongLeftRightArrow: '\\u27F7',\n\tLongleftrightarrow: '\\u27FA',\n\tlongleftrightarrow: '\\u27F7',\n\tlongmapsto: '\\u27FC',\n\tLongRightArrow: '\\u27F6',\n\tLongrightarrow: '\\u27F9',\n\tlongrightarrow: '\\u27F6',\n\tlooparrowleft: '\\u21AB',\n\tlooparrowright: '\\u21AC',\n\tlopar: '\\u2985',\n\tLopf: '\\uD835\\uDD43',\n\tlopf: '\\uD835\\uDD5D',\n\tloplus: '\\u2A2D',\n\tlotimes: '\\u2A34',\n\tlowast: '\\u2217',\n\tlowbar: '\\u005F',\n\tLowerLeftArrow: '\\u2199',\n\tLowerRightArrow: '\\u2198',\n\tloz: '\\u25CA',\n\tlozenge: '\\u25CA',\n\tlozf: '\\u29EB',\n\tlpar: '\\u0028',\n\tlparlt: '\\u2993',\n\tlrarr: '\\u21C6',\n\tlrcorner: '\\u231F',\n\tlrhar: '\\u21CB',\n\tlrhard: '\\u296D',\n\tlrm: '\\u200E',\n\tlrtri: '\\u22BF',\n\tlsaquo: '\\u2039',\n\tLscr: '\\u2112',\n\tlscr: '\\uD835\\uDCC1',\n\tLsh: '\\u21B0',\n\tlsh: '\\u21B0',\n\tlsim: '\\u2272',\n\tlsime: '\\u2A8D',\n\tlsimg: '\\u2A8F',\n\tlsqb: '\\u005B',\n\tlsquo: '\\u2018',\n\tlsquor: '\\u201A',\n\tLstrok: '\\u0141',\n\tlstrok: '\\u0142',\n\tLt: '\\u226A',\n\tLT: '\\u003C',\n\tlt: '\\u003C',\n\tltcc: '\\u2AA6',\n\tltcir: '\\u2A79',\n\tltdot: '\\u22D6',\n\tlthree: '\\u22CB',\n\tltimes: '\\u22C9',\n\tltlarr: '\\u2976',\n\tltquest: '\\u2A7B',\n\tltri: '\\u25C3',\n\tltrie: '\\u22B4',\n\tltrif: '\\u25C2',\n\tltrPar: '\\u2996',\n\tlurdshar: '\\u294A',\n\tluruhar: '\\u2966',\n\tlvertneqq: '\\u2268\\uFE00',\n\tlvnE: '\\u2268\\uFE00',\n\tmacr: '\\u00AF',\n\tmale: '\\u2642',\n\tmalt: '\\u2720',\n\tmaltese: '\\u2720',\n\tMap: '\\u2905',\n\tmap: '\\u21A6',\n\tmapsto: '\\u21A6',\n\tmapstodown: '\\u21A7',\n\tmapstoleft: '\\u21A4',\n\tmapstoup: '\\u21A5',\n\tmarker: '\\u25AE',\n\tmcomma: '\\u2A29',\n\tMcy: '\\u041C',\n\tmcy: '\\u043C',\n\tmdash: '\\u2014',\n\tmDDot: '\\u223A',\n\tmeasuredangle: '\\u2221',\n\tMediumSpace: '\\u205F',\n\tMellintrf: '\\u2133',\n\tMfr: '\\uD835\\uDD10',\n\tmfr: '\\uD835\\uDD2A',\n\tmho: '\\u2127',\n\tmicro: '\\u00B5',\n\tmid: '\\u2223',\n\tmidast: '\\u002A',\n\tmidcir: '\\u2AF0',\n\tmiddot: '\\u00B7',\n\tminus: '\\u2212',\n\tminusb: '\\u229F',\n\tminusd: '\\u2238',\n\tminusdu: '\\u2A2A',\n\tMinusPlus: '\\u2213',\n\tmlcp: '\\u2ADB',\n\tmldr: '\\u2026',\n\tmnplus: '\\u2213',\n\tmodels: '\\u22A7',\n\tMopf: '\\uD835\\uDD44',\n\tmopf: '\\uD835\\uDD5E',\n\tmp: '\\u2213',\n\tMscr: '\\u2133',\n\tmscr: '\\uD835\\uDCC2',\n\tmstpos: '\\u223E',\n\tMu: '\\u039C',\n\tmu: '\\u03BC',\n\tmultimap: '\\u22B8',\n\tmumap: '\\u22B8',\n\tnabla: '\\u2207',\n\tNacute: '\\u0143',\n\tnacute: '\\u0144',\n\tnang: '\\u2220\\u20D2',\n\tnap: '\\u2249',\n\tnapE: '\\u2A70\\u0338',\n\tnapid: '\\u224B\\u0338',\n\tnapos: '\\u0149',\n\tnapprox: '\\u2249',\n\tnatur: '\\u266E',\n\tnatural: '\\u266E',\n\tnaturals: '\\u2115',\n\tnbsp: '\\u00A0',\n\tnbump: '\\u224E\\u0338',\n\tnbumpe: '\\u224F\\u0338',\n\tncap: '\\u2A43',\n\tNcaron: '\\u0147',\n\tncaron: '\\u0148',\n\tNcedil: '\\u0145',\n\tncedil: '\\u0146',\n\tncong: '\\u2247',\n\tncongdot: '\\u2A6D\\u0338',\n\tncup: '\\u2A42',\n\tNcy: '\\u041D',\n\tncy: '\\u043D',\n\tndash: '\\u2013',\n\tne: '\\u2260',\n\tnearhk: '\\u2924',\n\tneArr: '\\u21D7',\n\tnearr: '\\u2197',\n\tnearrow: '\\u2197',\n\tnedot: '\\u2250\\u0338',\n\tNegativeMediumSpace: '\\u200B',\n\tNegativeThickSpace: '\\u200B',\n\tNegativeThinSpace: '\\u200B',\n\tNegativeVeryThinSpace: '\\u200B',\n\tnequiv: '\\u2262',\n\tnesear: '\\u2928',\n\tnesim: '\\u2242\\u0338',\n\tNestedGreaterGreater: '\\u226B',\n\tNestedLessLess: '\\u226A',\n\tNewLine: '\\u000A',\n\tnexist: '\\u2204',\n\tnexists: '\\u2204',\n\tNfr: '\\uD835\\uDD11',\n\tnfr: '\\uD835\\uDD2B',\n\tngE: '\\u2267\\u0338',\n\tnge: '\\u2271',\n\tngeq: '\\u2271',\n\tngeqq: '\\u2267\\u0338',\n\tngeqslant: '\\u2A7E\\u0338',\n\tnges: '\\u2A7E\\u0338',\n\tnGg: '\\u22D9\\u0338',\n\tngsim: '\\u2275',\n\tnGt: '\\u226B\\u20D2',\n\tngt: '\\u226F',\n\tngtr: '\\u226F',\n\tnGtv: '\\u226B\\u0338',\n\tnhArr: '\\u21CE',\n\tnharr: '\\u21AE',\n\tnhpar: '\\u2AF2',\n\tni: '\\u220B',\n\tnis: '\\u22FC',\n\tnisd: '\\u22FA',\n\tniv: '\\u220B',\n\tNJcy: '\\u040A',\n\tnjcy: '\\u045A',\n\tnlArr: '\\u21CD',\n\tnlarr: '\\u219A',\n\tnldr: '\\u2025',\n\tnlE: '\\u2266\\u0338',\n\tnle: '\\u2270',\n\tnLeftarrow: '\\u21CD',\n\tnleftarrow: '\\u219A',\n\tnLeftrightarrow: '\\u21CE',\n\tnleftrightarrow: '\\u21AE',\n\tnleq: '\\u2270',\n\tnleqq: '\\u2266\\u0338',\n\tnleqslant: '\\u2A7D\\u0338',\n\tnles: '\\u2A7D\\u0338',\n\tnless: '\\u226E',\n\tnLl: '\\u22D8\\u0338',\n\tnlsim: '\\u2274',\n\tnLt: '\\u226A\\u20D2',\n\tnlt: '\\u226E',\n\tnltri: '\\u22EA',\n\tnltrie: '\\u22EC',\n\tnLtv: '\\u226A\\u0338',\n\tnmid: '\\u2224',\n\tNoBreak: '\\u2060',\n\tNonBreakingSpace: '\\u00A0',\n\tNopf: '\\u2115',\n\tnopf: '\\uD835\\uDD5F',\n\tNot: '\\u2AEC',\n\tnot: '\\u00AC',\n\tNotCongruent: '\\u2262',\n\tNotCupCap: '\\u226D',\n\tNotDoubleVerticalBar: '\\u2226',\n\tNotElement: '\\u2209',\n\tNotEqual: '\\u2260',\n\tNotEqualTilde: '\\u2242\\u0338',\n\tNotExists: '\\u2204',\n\tNotGreater: '\\u226F',\n\tNotGreaterEqual: '\\u2271',\n\tNotGreaterFullEqual: '\\u2267\\u0338',\n\tNotGreaterGreater: '\\u226B\\u0338',\n\tNotGreaterLess: '\\u2279',\n\tNotGreaterSlantEqual: '\\u2A7E\\u0338',\n\tNotGreaterTilde: '\\u2275',\n\tNotHumpDownHump: '\\u224E\\u0338',\n\tNotHumpEqual: '\\u224F\\u0338',\n\tnotin: '\\u2209',\n\tnotindot: '\\u22F5\\u0338',\n\tnotinE: '\\u22F9\\u0338',\n\tnotinva: '\\u2209',\n\tnotinvb: '\\u22F7',\n\tnotinvc: '\\u22F6',\n\tNotLeftTriangle: '\\u22EA',\n\tNotLeftTriangleBar: '\\u29CF\\u0338',\n\tNotLeftTriangleEqual: '\\u22EC',\n\tNotLess: '\\u226E',\n\tNotLessEqual: '\\u2270',\n\tNotLessGreater: '\\u2278',\n\tNotLessLess: '\\u226A\\u0338',\n\tNotLessSlantEqual: '\\u2A7D\\u0338',\n\tNotLessTilde: '\\u2274',\n\tNotNestedGreaterGreater: '\\u2AA2\\u0338',\n\tNotNestedLessLess: '\\u2AA1\\u0338',\n\tnotni: '\\u220C',\n\tnotniva: '\\u220C',\n\tnotnivb: '\\u22FE',\n\tnotnivc: '\\u22FD',\n\tNotPrecedes: '\\u2280',\n\tNotPrecedesEqual: '\\u2AAF\\u0338',\n\tNotPrecedesSlantEqual: '\\u22E0',\n\tNotReverseElement: '\\u220C',\n\tNotRightTriangle: '\\u22EB',\n\tNotRightTriangleBar: '\\u29D0\\u0338',\n\tNotRightTriangleEqual: '\\u22ED',\n\tNotSquareSubset: '\\u228F\\u0338',\n\tNotSquareSubsetEqual: '\\u22E2',\n\tNotSquareSuperset: '\\u2290\\u0338',\n\tNotSquareSupersetEqual: '\\u22E3',\n\tNotSubset: '\\u2282\\u20D2',\n\tNotSubsetEqual: '\\u2288',\n\tNotSucceeds: '\\u2281',\n\tNotSucceedsEqual: '\\u2AB0\\u0338',\n\tNotSucceedsSlantEqual: '\\u22E1',\n\tNotSucceedsTilde: '\\u227F\\u0338',\n\tNotSuperset: '\\u2283\\u20D2',\n\tNotSupersetEqual: '\\u2289',\n\tNotTilde: '\\u2241',\n\tNotTildeEqual: '\\u2244',\n\tNotTildeFullEqual: '\\u2247',\n\tNotTildeTilde: '\\u2249',\n\tNotVerticalBar: '\\u2224',\n\tnpar: '\\u2226',\n\tnparallel: '\\u2226',\n\tnparsl: '\\u2AFD\\u20E5',\n\tnpart: '\\u2202\\u0338',\n\tnpolint: '\\u2A14',\n\tnpr: '\\u2280',\n\tnprcue: '\\u22E0',\n\tnpre: '\\u2AAF\\u0338',\n\tnprec: '\\u2280',\n\tnpreceq: '\\u2AAF\\u0338',\n\tnrArr: '\\u21CF',\n\tnrarr: '\\u219B',\n\tnrarrc: '\\u2933\\u0338',\n\tnrarrw: '\\u219D\\u0338',\n\tnRightarrow: '\\u21CF',\n\tnrightarrow: '\\u219B',\n\tnrtri: '\\u22EB',\n\tnrtrie: '\\u22ED',\n\tnsc: '\\u2281',\n\tnsccue: '\\u22E1',\n\tnsce: '\\u2AB0\\u0338',\n\tNscr: '\\uD835\\uDCA9',\n\tnscr: '\\uD835\\uDCC3',\n\tnshortmid: '\\u2224',\n\tnshortparallel: '\\u2226',\n\tnsim: '\\u2241',\n\tnsime: '\\u2244',\n\tnsimeq: '\\u2244',\n\tnsmid: '\\u2224',\n\tnspar: '\\u2226',\n\tnsqsube: '\\u22E2',\n\tnsqsupe: '\\u22E3',\n\tnsub: '\\u2284',\n\tnsubE: '\\u2AC5\\u0338',\n\tnsube: '\\u2288',\n\tnsubset: '\\u2282\\u20D2',\n\tnsubseteq: '\\u2288',\n\tnsubseteqq: '\\u2AC5\\u0338',\n\tnsucc: '\\u2281',\n\tnsucceq: '\\u2AB0\\u0338',\n\tnsup: '\\u2285',\n\tnsupE: '\\u2AC6\\u0338',\n\tnsupe: '\\u2289',\n\tnsupset: '\\u2283\\u20D2',\n\tnsupseteq: '\\u2289',\n\tnsupseteqq: '\\u2AC6\\u0338',\n\tntgl: '\\u2279',\n\tNtilde: '\\u00D1',\n\tntilde: '\\u00F1',\n\tntlg: '\\u2278',\n\tntriangleleft: '\\u22EA',\n\tntrianglelefteq: '\\u22EC',\n\tntriangleright: '\\u22EB',\n\tntrianglerighteq: '\\u22ED',\n\tNu: '\\u039D',\n\tnu: '\\u03BD',\n\tnum: '\\u0023',\n\tnumero: '\\u2116',\n\tnumsp: '\\u2007',\n\tnvap: '\\u224D\\u20D2',\n\tnVDash: '\\u22AF',\n\tnVdash: '\\u22AE',\n\tnvDash: '\\u22AD',\n\tnvdash: '\\u22AC',\n\tnvge: '\\u2265\\u20D2',\n\tnvgt: '\\u003E\\u20D2',\n\tnvHarr: '\\u2904',\n\tnvinfin: '\\u29DE',\n\tnvlArr: '\\u2902',\n\tnvle: '\\u2264\\u20D2',\n\tnvlt: '\\u003C\\u20D2',\n\tnvltrie: '\\u22B4\\u20D2',\n\tnvrArr: '\\u2903',\n\tnvrtrie: '\\u22B5\\u20D2',\n\tnvsim: '\\u223C\\u20D2',\n\tnwarhk: '\\u2923',\n\tnwArr: '\\u21D6',\n\tnwarr: '\\u2196',\n\tnwarrow: '\\u2196',\n\tnwnear: '\\u2927',\n\tOacute: '\\u00D3',\n\toacute: '\\u00F3',\n\toast: '\\u229B',\n\tocir: '\\u229A',\n\tOcirc: '\\u00D4',\n\tocirc: '\\u00F4',\n\tOcy: '\\u041E',\n\tocy: '\\u043E',\n\todash: '\\u229D',\n\tOdblac: '\\u0150',\n\todblac: '\\u0151',\n\todiv: '\\u2A38',\n\todot: '\\u2299',\n\todsold: '\\u29BC',\n\tOElig: '\\u0152',\n\toelig: '\\u0153',\n\tofcir: '\\u29BF',\n\tOfr: '\\uD835\\uDD12',\n\tofr: '\\uD835\\uDD2C',\n\togon: '\\u02DB',\n\tOgrave: '\\u00D2',\n\tograve: '\\u00F2',\n\togt: '\\u29C1',\n\tohbar: '\\u29B5',\n\tohm: '\\u03A9',\n\toint: '\\u222E',\n\tolarr: '\\u21BA',\n\tolcir: '\\u29BE',\n\tolcross: '\\u29BB',\n\toline: '\\u203E',\n\tolt: '\\u29C0',\n\tOmacr: '\\u014C',\n\tomacr: '\\u014D',\n\tOmega: '\\u03A9',\n\tomega: '\\u03C9',\n\tOmicron: '\\u039F',\n\tomicron: '\\u03BF',\n\tomid: '\\u29B6',\n\tominus: '\\u2296',\n\tOopf: '\\uD835\\uDD46',\n\toopf: '\\uD835\\uDD60',\n\topar: '\\u29B7',\n\tOpenCurlyDoubleQuote: '\\u201C',\n\tOpenCurlyQuote: '\\u2018',\n\toperp: '\\u29B9',\n\toplus: '\\u2295',\n\tOr: '\\u2A54',\n\tor: '\\u2228',\n\torarr: '\\u21BB',\n\tord: '\\u2A5D',\n\torder: '\\u2134',\n\torderof: '\\u2134',\n\tordf: '\\u00AA',\n\tordm: '\\u00BA',\n\torigof: '\\u22B6',\n\toror: '\\u2A56',\n\torslope: '\\u2A57',\n\torv: '\\u2A5B',\n\toS: '\\u24C8',\n\tOscr: '\\uD835\\uDCAA',\n\toscr: '\\u2134',\n\tOslash: '\\u00D8',\n\toslash: '\\u00F8',\n\tosol: '\\u2298',\n\tOtilde: '\\u00D5',\n\totilde: '\\u00F5',\n\tOtimes: '\\u2A37',\n\totimes: '\\u2297',\n\totimesas: '\\u2A36',\n\tOuml: '\\u00D6',\n\touml: '\\u00F6',\n\tovbar: '\\u233D',\n\tOverBar: '\\u203E',\n\tOverBrace: '\\u23DE',\n\tOverBracket: '\\u23B4',\n\tOverParenthesis: '\\u23DC',\n\tpar: '\\u2225',\n\tpara: '\\u00B6',\n\tparallel: '\\u2225',\n\tparsim: '\\u2AF3',\n\tparsl: '\\u2AFD',\n\tpart: '\\u2202',\n\tPartialD: '\\u2202',\n\tPcy: '\\u041F',\n\tpcy: '\\u043F',\n\tpercnt: '\\u0025',\n\tperiod: '\\u002E',\n\tpermil: '\\u2030',\n\tperp: '\\u22A5',\n\tpertenk: '\\u2031',\n\tPfr: '\\uD835\\uDD13',\n\tpfr: '\\uD835\\uDD2D',\n\tPhi: '\\u03A6',\n\tphi: '\\u03C6',\n\tphiv: '\\u03D5',\n\tphmmat: '\\u2133',\n\tphone: '\\u260E',\n\tPi: '\\u03A0',\n\tpi: '\\u03C0',\n\tpitchfork: '\\u22D4',\n\tpiv: '\\u03D6',\n\tplanck: '\\u210F',\n\tplanckh: '\\u210E',\n\tplankv: '\\u210F',\n\tplus: '\\u002B',\n\tplusacir: '\\u2A23',\n\tplusb: '\\u229E',\n\tpluscir: '\\u2A22',\n\tplusdo: '\\u2214',\n\tplusdu: '\\u2A25',\n\tpluse: '\\u2A72',\n\tPlusMinus: '\\u00B1',\n\tplusmn: '\\u00B1',\n\tplussim: '\\u2A26',\n\tplustwo: '\\u2A27',\n\tpm: '\\u00B1',\n\tPoincareplane: '\\u210C',\n\tpointint: '\\u2A15',\n\tPopf: '\\u2119',\n\tpopf: '\\uD835\\uDD61',\n\tpound: '\\u00A3',\n\tPr: '\\u2ABB',\n\tpr: '\\u227A',\n\tprap: '\\u2AB7',\n\tprcue: '\\u227C',\n\tprE: '\\u2AB3',\n\tpre: '\\u2AAF',\n\tprec: '\\u227A',\n\tprecapprox: '\\u2AB7',\n\tpreccurlyeq: '\\u227C',\n\tPrecedes: '\\u227A',\n\tPrecedesEqual: '\\u2AAF',\n\tPrecedesSlantEqual: '\\u227C',\n\tPrecedesTilde: '\\u227E',\n\tpreceq: '\\u2AAF',\n\tprecnapprox: '\\u2AB9',\n\tprecneqq: '\\u2AB5',\n\tprecnsim: '\\u22E8',\n\tprecsim: '\\u227E',\n\tPrime: '\\u2033',\n\tprime: '\\u2032',\n\tprimes: '\\u2119',\n\tprnap: '\\u2AB9',\n\tprnE: '\\u2AB5',\n\tprnsim: '\\u22E8',\n\tprod: '\\u220F',\n\tProduct: '\\u220F',\n\tprofalar: '\\u232E',\n\tprofline: '\\u2312',\n\tprofsurf: '\\u2313',\n\tprop: '\\u221D',\n\tProportion: '\\u2237',\n\tProportional: '\\u221D',\n\tpropto: '\\u221D',\n\tprsim: '\\u227E',\n\tprurel: '\\u22B0',\n\tPscr: '\\uD835\\uDCAB',\n\tpscr: '\\uD835\\uDCC5',\n\tPsi: '\\u03A8',\n\tpsi: '\\u03C8',\n\tpuncsp: '\\u2008',\n\tQfr: '\\uD835\\uDD14',\n\tqfr: '\\uD835\\uDD2E',\n\tqint: '\\u2A0C',\n\tQopf: '\\u211A',\n\tqopf: '\\uD835\\uDD62',\n\tqprime: '\\u2057',\n\tQscr: '\\uD835\\uDCAC',\n\tqscr: '\\uD835\\uDCC6',\n\tquaternions: '\\u210D',\n\tquatint: '\\u2A16',\n\tquest: '\\u003F',\n\tquesteq: '\\u225F',\n\tQUOT: '\\u0022',\n\tquot: '\\u0022',\n\trAarr: '\\u21DB',\n\trace: '\\u223D\\u0331',\n\tRacute: '\\u0154',\n\tracute: '\\u0155',\n\tradic: '\\u221A',\n\traemptyv: '\\u29B3',\n\tRang: '\\u27EB',\n\trang: '\\u27E9',\n\trangd: '\\u2992',\n\trange: '\\u29A5',\n\trangle: '\\u27E9',\n\traquo: '\\u00BB',\n\tRarr: '\\u21A0',\n\trArr: '\\u21D2',\n\trarr: '\\u2192',\n\trarrap: '\\u2975',\n\trarrb: '\\u21E5',\n\trarrbfs: '\\u2920',\n\trarrc: '\\u2933',\n\trarrfs: '\\u291E',\n\trarrhk: '\\u21AA',\n\trarrlp: '\\u21AC',\n\trarrpl: '\\u2945',\n\trarrsim: '\\u2974',\n\tRarrtl: '\\u2916',\n\trarrtl: '\\u21A3',\n\trarrw: '\\u219D',\n\trAtail: '\\u291C',\n\tratail: '\\u291A',\n\tratio: '\\u2236',\n\trationals: '\\u211A',\n\tRBarr: '\\u2910',\n\trBarr: '\\u290F',\n\trbarr: '\\u290D',\n\trbbrk: '\\u2773',\n\trbrace: '\\u007D',\n\trbrack: '\\u005D',\n\trbrke: '\\u298C',\n\trbrksld: '\\u298E',\n\trbrkslu: '\\u2990',\n\tRcaron: '\\u0158',\n\trcaron: '\\u0159',\n\tRcedil: '\\u0156',\n\trcedil: '\\u0157',\n\trceil: '\\u2309',\n\trcub: '\\u007D',\n\tRcy: '\\u0420',\n\trcy: '\\u0440',\n\trdca: '\\u2937',\n\trdldhar: '\\u2969',\n\trdquo: '\\u201D',\n\trdquor: '\\u201D',\n\trdsh: '\\u21B3',\n\tRe: '\\u211C',\n\treal: '\\u211C',\n\trealine: '\\u211B',\n\trealpart: '\\u211C',\n\treals: '\\u211D',\n\trect: '\\u25AD',\n\tREG: '\\u00AE',\n\treg: '\\u00AE',\n\tReverseElement: '\\u220B',\n\tReverseEquilibrium: '\\u21CB',\n\tReverseUpEquilibrium: '\\u296F',\n\trfisht: '\\u297D',\n\trfloor: '\\u230B',\n\tRfr: '\\u211C',\n\trfr: '\\uD835\\uDD2F',\n\trHar: '\\u2964',\n\trhard: '\\u21C1',\n\trharu: '\\u21C0',\n\trharul: '\\u296C',\n\tRho: '\\u03A1',\n\trho: '\\u03C1',\n\trhov: '\\u03F1',\n\tRightAngleBracket: '\\u27E9',\n\tRightArrow: '\\u2192',\n\tRightarrow: '\\u21D2',\n\trightarrow: '\\u2192',\n\tRightArrowBar: '\\u21E5',\n\tRightArrowLeftArrow: '\\u21C4',\n\trightarrowtail: '\\u21A3',\n\tRightCeiling: '\\u2309',\n\tRightDoubleBracket: '\\u27E7',\n\tRightDownTeeVector: '\\u295D',\n\tRightDownVector: '\\u21C2',\n\tRightDownVectorBar: '\\u2955',\n\tRightFloor: '\\u230B',\n\trightharpoondown: '\\u21C1',\n\trightharpoonup: '\\u21C0',\n\trightleftarrows: '\\u21C4',\n\trightleftharpoons: '\\u21CC',\n\trightrightarrows: '\\u21C9',\n\trightsquigarrow: '\\u219D',\n\tRightTee: '\\u22A2',\n\tRightTeeArrow: '\\u21A6',\n\tRightTeeVector: '\\u295B',\n\trightthreetimes: '\\u22CC',\n\tRightTriangle: '\\u22B3',\n\tRightTriangleBar: '\\u29D0',\n\tRightTriangleEqual: '\\u22B5',\n\tRightUpDownVector: '\\u294F',\n\tRightUpTeeVector: '\\u295C',\n\tRightUpVector: '\\u21BE',\n\tRightUpVectorBar: '\\u2954',\n\tRightVector: '\\u21C0',\n\tRightVectorBar: '\\u2953',\n\tring: '\\u02DA',\n\trisingdotseq: '\\u2253',\n\trlarr: '\\u21C4',\n\trlhar: '\\u21CC',\n\trlm: '\\u200F',\n\trmoust: '\\u23B1',\n\trmoustache: '\\u23B1',\n\trnmid: '\\u2AEE',\n\troang: '\\u27ED',\n\troarr: '\\u21FE',\n\trobrk: '\\u27E7',\n\tropar: '\\u2986',\n\tRopf: '\\u211D',\n\tropf: '\\uD835\\uDD63',\n\troplus: '\\u2A2E',\n\trotimes: '\\u2A35',\n\tRoundImplies: '\\u2970',\n\trpar: '\\u0029',\n\trpargt: '\\u2994',\n\trppolint: '\\u2A12',\n\trrarr: '\\u21C9',\n\tRrightarrow: '\\u21DB',\n\trsaquo: '\\u203A',\n\tRscr: '\\u211B',\n\trscr: '\\uD835\\uDCC7',\n\tRsh: '\\u21B1',\n\trsh: '\\u21B1',\n\trsqb: '\\u005D',\n\trsquo: '\\u2019',\n\trsquor: '\\u2019',\n\trthree: '\\u22CC',\n\trtimes: '\\u22CA',\n\trtri: '\\u25B9',\n\trtrie: '\\u22B5',\n\trtrif: '\\u25B8',\n\trtriltri: '\\u29CE',\n\tRuleDelayed: '\\u29F4',\n\truluhar: '\\u2968',\n\trx: '\\u211E',\n\tSacute: '\\u015A',\n\tsacute: '\\u015B',\n\tsbquo: '\\u201A',\n\tSc: '\\u2ABC',\n\tsc: '\\u227B',\n\tscap: '\\u2AB8',\n\tScaron: '\\u0160',\n\tscaron: '\\u0161',\n\tsccue: '\\u227D',\n\tscE: '\\u2AB4',\n\tsce: '\\u2AB0',\n\tScedil: '\\u015E',\n\tscedil: '\\u015F',\n\tScirc: '\\u015C',\n\tscirc: '\\u015D',\n\tscnap: '\\u2ABA',\n\tscnE: '\\u2AB6',\n\tscnsim: '\\u22E9',\n\tscpolint: '\\u2A13',\n\tscsim: '\\u227F',\n\tScy: '\\u0421',\n\tscy: '\\u0441',\n\tsdot: '\\u22C5',\n\tsdotb: '\\u22A1',\n\tsdote: '\\u2A66',\n\tsearhk: '\\u2925',\n\tseArr: '\\u21D8',\n\tsearr: '\\u2198',\n\tsearrow: '\\u2198',\n\tsect: '\\u00A7',\n\tsemi: '\\u003B',\n\tseswar: '\\u2929',\n\tsetminus: '\\u2216',\n\tsetmn: '\\u2216',\n\tsext: '\\u2736',\n\tSfr: '\\uD835\\uDD16',\n\tsfr: '\\uD835\\uDD30',\n\tsfrown: '\\u2322',\n\tsharp: '\\u266F',\n\tSHCHcy: '\\u0429',\n\tshchcy: '\\u0449',\n\tSHcy: '\\u0428',\n\tshcy: '\\u0448',\n\tShortDownArrow: '\\u2193',\n\tShortLeftArrow: '\\u2190',\n\tshortmid: '\\u2223',\n\tshortparallel: '\\u2225',\n\tShortRightArrow: '\\u2192',\n\tShortUpArrow: '\\u2191',\n\tshy: '\\u00AD',\n\tSigma: '\\u03A3',\n\tsigma: '\\u03C3',\n\tsigmaf: '\\u03C2',\n\tsigmav: '\\u03C2',\n\tsim: '\\u223C',\n\tsimdot: '\\u2A6A',\n\tsime: '\\u2243',\n\tsimeq: '\\u2243',\n\tsimg: '\\u2A9E',\n\tsimgE: '\\u2AA0',\n\tsiml: '\\u2A9D',\n\tsimlE: '\\u2A9F',\n\tsimne: '\\u2246',\n\tsimplus: '\\u2A24',\n\tsimrarr: '\\u2972',\n\tslarr: '\\u2190',\n\tSmallCircle: '\\u2218',\n\tsmallsetminus: '\\u2216',\n\tsmashp: '\\u2A33',\n\tsmeparsl: '\\u29E4',\n\tsmid: '\\u2223',\n\tsmile: '\\u2323',\n\tsmt: '\\u2AAA',\n\tsmte: '\\u2AAC',\n\tsmtes: '\\u2AAC\\uFE00',\n\tSOFTcy: '\\u042C',\n\tsoftcy: '\\u044C',\n\tsol: '\\u002F',\n\tsolb: '\\u29C4',\n\tsolbar: '\\u233F',\n\tSopf: '\\uD835\\uDD4A',\n\tsopf: '\\uD835\\uDD64',\n\tspades: '\\u2660',\n\tspadesuit: '\\u2660',\n\tspar: '\\u2225',\n\tsqcap: '\\u2293',\n\tsqcaps: '\\u2293\\uFE00',\n\tsqcup: '\\u2294',\n\tsqcups: '\\u2294\\uFE00',\n\tSqrt: '\\u221A',\n\tsqsub: '\\u228F',\n\tsqsube: '\\u2291',\n\tsqsubset: '\\u228F',\n\tsqsubseteq: '\\u2291',\n\tsqsup: '\\u2290',\n\tsqsupe: '\\u2292',\n\tsqsupset: '\\u2290',\n\tsqsupseteq: '\\u2292',\n\tsqu: '\\u25A1',\n\tSquare: '\\u25A1',\n\tsquare: '\\u25A1',\n\tSquareIntersection: '\\u2293',\n\tSquareSubset: '\\u228F',\n\tSquareSubsetEqual: '\\u2291',\n\tSquareSuperset: '\\u2290',\n\tSquareSupersetEqual: '\\u2292',\n\tSquareUnion: '\\u2294',\n\tsquarf: '\\u25AA',\n\tsquf: '\\u25AA',\n\tsrarr: '\\u2192',\n\tSscr: '\\uD835\\uDCAE',\n\tsscr: '\\uD835\\uDCC8',\n\tssetmn: '\\u2216',\n\tssmile: '\\u2323',\n\tsstarf: '\\u22C6',\n\tStar: '\\u22C6',\n\tstar: '\\u2606',\n\tstarf: '\\u2605',\n\tstraightepsilon: '\\u03F5',\n\tstraightphi: '\\u03D5',\n\tstrns: '\\u00AF',\n\tSub: '\\u22D0',\n\tsub: '\\u2282',\n\tsubdot: '\\u2ABD',\n\tsubE: '\\u2AC5',\n\tsube: '\\u2286',\n\tsubedot: '\\u2AC3',\n\tsubmult: '\\u2AC1',\n\tsubnE: '\\u2ACB',\n\tsubne: '\\u228A',\n\tsubplus: '\\u2ABF',\n\tsubrarr: '\\u2979',\n\tSubset: '\\u22D0',\n\tsubset: '\\u2282',\n\tsubseteq: '\\u2286',\n\tsubseteqq: '\\u2AC5',\n\tSubsetEqual: '\\u2286',\n\tsubsetneq: '\\u228A',\n\tsubsetneqq: '\\u2ACB',\n\tsubsim: '\\u2AC7',\n\tsubsub: '\\u2AD5',\n\tsubsup: '\\u2AD3',\n\tsucc: '\\u227B',\n\tsuccapprox: '\\u2AB8',\n\tsucccurlyeq: '\\u227D',\n\tSucceeds: '\\u227B',\n\tSucceedsEqual: '\\u2AB0',\n\tSucceedsSlantEqual: '\\u227D',\n\tSucceedsTilde: '\\u227F',\n\tsucceq: '\\u2AB0',\n\tsuccnapprox: '\\u2ABA',\n\tsuccneqq: '\\u2AB6',\n\tsuccnsim: '\\u22E9',\n\tsuccsim: '\\u227F',\n\tSuchThat: '\\u220B',\n\tSum: '\\u2211',\n\tsum: '\\u2211',\n\tsung: '\\u266A',\n\tSup: '\\u22D1',\n\tsup: '\\u2283',\n\tsup1: '\\u00B9',\n\tsup2: '\\u00B2',\n\tsup3: '\\u00B3',\n\tsupdot: '\\u2ABE',\n\tsupdsub: '\\u2AD8',\n\tsupE: '\\u2AC6',\n\tsupe: '\\u2287',\n\tsupedot: '\\u2AC4',\n\tSuperset: '\\u2283',\n\tSupersetEqual: '\\u2287',\n\tsuphsol: '\\u27C9',\n\tsuphsub: '\\u2AD7',\n\tsuplarr: '\\u297B',\n\tsupmult: '\\u2AC2',\n\tsupnE: '\\u2ACC',\n\tsupne: '\\u228B',\n\tsupplus: '\\u2AC0',\n\tSupset: '\\u22D1',\n\tsupset: '\\u2283',\n\tsupseteq: '\\u2287',\n\tsupseteqq: '\\u2AC6',\n\tsupsetneq: '\\u228B',\n\tsupsetneqq: '\\u2ACC',\n\tsupsim: '\\u2AC8',\n\tsupsub: '\\u2AD4',\n\tsupsup: '\\u2AD6',\n\tswarhk: '\\u2926',\n\tswArr: '\\u21D9',\n\tswarr: '\\u2199',\n\tswarrow: '\\u2199',\n\tswnwar: '\\u292A',\n\tszlig: '\\u00DF',\n\tTab: '\\u0009',\n\ttarget: '\\u2316',\n\tTau: '\\u03A4',\n\ttau: '\\u03C4',\n\ttbrk: '\\u23B4',\n\tTcaron: '\\u0164',\n\ttcaron: '\\u0165',\n\tTcedil: '\\u0162',\n\ttcedil: '\\u0163',\n\tTcy: '\\u0422',\n\ttcy: '\\u0442',\n\ttdot: '\\u20DB',\n\ttelrec: '\\u2315',\n\tTfr: '\\uD835\\uDD17',\n\ttfr: '\\uD835\\uDD31',\n\tthere4: '\\u2234',\n\tTherefore: '\\u2234',\n\ttherefore: '\\u2234',\n\tTheta: '\\u0398',\n\ttheta: '\\u03B8',\n\tthetasym: '\\u03D1',\n\tthetav: '\\u03D1',\n\tthickapprox: '\\u2248',\n\tthicksim: '\\u223C',\n\tThickSpace: '\\u205F\\u200A',\n\tthinsp: '\\u2009',\n\tThinSpace: '\\u2009',\n\tthkap: '\\u2248',\n\tthksim: '\\u223C',\n\tTHORN: '\\u00DE',\n\tthorn: '\\u00FE',\n\tTilde: '\\u223C',\n\ttilde: '\\u02DC',\n\tTildeEqual: '\\u2243',\n\tTildeFullEqual: '\\u2245',\n\tTildeTilde: '\\u2248',\n\ttimes: '\\u00D7',\n\ttimesb: '\\u22A0',\n\ttimesbar: '\\u2A31',\n\ttimesd: '\\u2A30',\n\ttint: '\\u222D',\n\ttoea: '\\u2928',\n\ttop: '\\u22A4',\n\ttopbot: '\\u2336',\n\ttopcir: '\\u2AF1',\n\tTopf: '\\uD835\\uDD4B',\n\ttopf: '\\uD835\\uDD65',\n\ttopfork: '\\u2ADA',\n\ttosa: '\\u2929',\n\ttprime: '\\u2034',\n\tTRADE: '\\u2122',\n\ttrade: '\\u2122',\n\ttriangle: '\\u25B5',\n\ttriangledown: '\\u25BF',\n\ttriangleleft: '\\u25C3',\n\ttrianglelefteq: '\\u22B4',\n\ttriangleq: '\\u225C',\n\ttriangleright: '\\u25B9',\n\ttrianglerighteq: '\\u22B5',\n\ttridot: '\\u25EC',\n\ttrie: '\\u225C',\n\ttriminus: '\\u2A3A',\n\tTripleDot: '\\u20DB',\n\ttriplus: '\\u2A39',\n\ttrisb: '\\u29CD',\n\ttritime: '\\u2A3B',\n\ttrpezium: '\\u23E2',\n\tTscr: '\\uD835\\uDCAF',\n\ttscr: '\\uD835\\uDCC9',\n\tTScy: '\\u0426',\n\ttscy: '\\u0446',\n\tTSHcy: '\\u040B',\n\ttshcy: '\\u045B',\n\tTstrok: '\\u0166',\n\ttstrok: '\\u0167',\n\ttwixt: '\\u226C',\n\ttwoheadleftarrow: '\\u219E',\n\ttwoheadrightarrow: '\\u21A0',\n\tUacute: '\\u00DA',\n\tuacute: '\\u00FA',\n\tUarr: '\\u219F',\n\tuArr: '\\u21D1',\n\tuarr: '\\u2191',\n\tUarrocir: '\\u2949',\n\tUbrcy: '\\u040E',\n\tubrcy: '\\u045E',\n\tUbreve: '\\u016C',\n\tubreve: '\\u016D',\n\tUcirc: '\\u00DB',\n\tucirc: '\\u00FB',\n\tUcy: '\\u0423',\n\tucy: '\\u0443',\n\tudarr: '\\u21C5',\n\tUdblac: '\\u0170',\n\tudblac: '\\u0171',\n\tudhar: '\\u296E',\n\tufisht: '\\u297E',\n\tUfr: '\\uD835\\uDD18',\n\tufr: '\\uD835\\uDD32',\n\tUgrave: '\\u00D9',\n\tugrave: '\\u00F9',\n\tuHar: '\\u2963',\n\tuharl: '\\u21BF',\n\tuharr: '\\u21BE',\n\tuhblk: '\\u2580',\n\tulcorn: '\\u231C',\n\tulcorner: '\\u231C',\n\tulcrop: '\\u230F',\n\tultri: '\\u25F8',\n\tUmacr: '\\u016A',\n\tumacr: '\\u016B',\n\tuml: '\\u00A8',\n\tUnderBar: '\\u005F',\n\tUnderBrace: '\\u23DF',\n\tUnderBracket: '\\u23B5',\n\tUnderParenthesis: '\\u23DD',\n\tUnion: '\\u22C3',\n\tUnionPlus: '\\u228E',\n\tUogon: '\\u0172',\n\tuogon: '\\u0173',\n\tUopf: '\\uD835\\uDD4C',\n\tuopf: '\\uD835\\uDD66',\n\tUpArrow: '\\u2191',\n\tUparrow: '\\u21D1',\n\tuparrow: '\\u2191',\n\tUpArrowBar: '\\u2912',\n\tUpArrowDownArrow: '\\u21C5',\n\tUpDownArrow: '\\u2195',\n\tUpdownarrow: '\\u21D5',\n\tupdownarrow: '\\u2195',\n\tUpEquilibrium: '\\u296E',\n\tupharpoonleft: '\\u21BF',\n\tupharpoonright: '\\u21BE',\n\tuplus: '\\u228E',\n\tUpperLeftArrow: '\\u2196',\n\tUpperRightArrow: '\\u2197',\n\tUpsi: '\\u03D2',\n\tupsi: '\\u03C5',\n\tupsih: '\\u03D2',\n\tUpsilon: '\\u03A5',\n\tupsilon: '\\u03C5',\n\tUpTee: '\\u22A5',\n\tUpTeeArrow: '\\u21A5',\n\tupuparrows: '\\u21C8',\n\turcorn: '\\u231D',\n\turcorner: '\\u231D',\n\turcrop: '\\u230E',\n\tUring: '\\u016E',\n\turing: '\\u016F',\n\turtri: '\\u25F9',\n\tUscr: '\\uD835\\uDCB0',\n\tuscr: '\\uD835\\uDCCA',\n\tutdot: '\\u22F0',\n\tUtilde: '\\u0168',\n\tutilde: '\\u0169',\n\tutri: '\\u25B5',\n\tutrif: '\\u25B4',\n\tuuarr: '\\u21C8',\n\tUuml: '\\u00DC',\n\tuuml: '\\u00FC',\n\tuwangle: '\\u29A7',\n\tvangrt: '\\u299C',\n\tvarepsilon: '\\u03F5',\n\tvarkappa: '\\u03F0',\n\tvarnothing: '\\u2205',\n\tvarphi: '\\u03D5',\n\tvarpi: '\\u03D6',\n\tvarpropto: '\\u221D',\n\tvArr: '\\u21D5',\n\tvarr: '\\u2195',\n\tvarrho: '\\u03F1',\n\tvarsigma: '\\u03C2',\n\tvarsubsetneq: '\\u228A\\uFE00',\n\tvarsubsetneqq: '\\u2ACB\\uFE00',\n\tvarsupsetneq: '\\u228B\\uFE00',\n\tvarsupsetneqq: '\\u2ACC\\uFE00',\n\tvartheta: '\\u03D1',\n\tvartriangleleft: '\\u22B2',\n\tvartriangleright: '\\u22B3',\n\tVbar: '\\u2AEB',\n\tvBar: '\\u2AE8',\n\tvBarv: '\\u2AE9',\n\tVcy: '\\u0412',\n\tvcy: '\\u0432',\n\tVDash: '\\u22AB',\n\tVdash: '\\u22A9',\n\tvDash: '\\u22A8',\n\tvdash: '\\u22A2',\n\tVdashl: '\\u2AE6',\n\tVee: '\\u22C1',\n\tvee: '\\u2228',\n\tveebar: '\\u22BB',\n\tveeeq: '\\u225A',\n\tvellip: '\\u22EE',\n\tVerbar: '\\u2016',\n\tverbar: '\\u007C',\n\tVert: '\\u2016',\n\tvert: '\\u007C',\n\tVerticalBar: '\\u2223',\n\tVerticalLine: '\\u007C',\n\tVerticalSeparator: '\\u2758',\n\tVerticalTilde: '\\u2240',\n\tVeryThinSpace: '\\u200A',\n\tVfr: '\\uD835\\uDD19',\n\tvfr: '\\uD835\\uDD33',\n\tvltri: '\\u22B2',\n\tvnsub: '\\u2282\\u20D2',\n\tvnsup: '\\u2283\\u20D2',\n\tVopf: '\\uD835\\uDD4D',\n\tvopf: '\\uD835\\uDD67',\n\tvprop: '\\u221D',\n\tvrtri: '\\u22B3',\n\tVscr: '\\uD835\\uDCB1',\n\tvscr: '\\uD835\\uDCCB',\n\tvsubnE: '\\u2ACB\\uFE00',\n\tvsubne: '\\u228A\\uFE00',\n\tvsupnE: '\\u2ACC\\uFE00',\n\tvsupne: '\\u228B\\uFE00',\n\tVvdash: '\\u22AA',\n\tvzigzag: '\\u299A',\n\tWcirc: '\\u0174',\n\twcirc: '\\u0175',\n\twedbar: '\\u2A5F',\n\tWedge: '\\u22C0',\n\twedge: '\\u2227',\n\twedgeq: '\\u2259',\n\tweierp: '\\u2118',\n\tWfr: '\\uD835\\uDD1A',\n\twfr: '\\uD835\\uDD34',\n\tWopf: '\\uD835\\uDD4E',\n\twopf: '\\uD835\\uDD68',\n\twp: '\\u2118',\n\twr: '\\u2240',\n\twreath: '\\u2240',\n\tWscr: '\\uD835\\uDCB2',\n\twscr: '\\uD835\\uDCCC',\n\txcap: '\\u22C2',\n\txcirc: '\\u25EF',\n\txcup: '\\u22C3',\n\txdtri: '\\u25BD',\n\tXfr: '\\uD835\\uDD1B',\n\txfr: '\\uD835\\uDD35',\n\txhArr: '\\u27FA',\n\txharr: '\\u27F7',\n\tXi: '\\u039E',\n\txi: '\\u03BE',\n\txlArr: '\\u27F8',\n\txlarr: '\\u27F5',\n\txmap: '\\u27FC',\n\txnis: '\\u22FB',\n\txodot: '\\u2A00',\n\tXopf: '\\uD835\\uDD4F',\n\txopf: '\\uD835\\uDD69',\n\txoplus: '\\u2A01',\n\txotime: '\\u2A02',\n\txrArr: '\\u27F9',\n\txrarr: '\\u27F6',\n\tXscr: '\\uD835\\uDCB3',\n\txscr: '\\uD835\\uDCCD',\n\txsqcup: '\\u2A06',\n\txuplus: '\\u2A04',\n\txutri: '\\u25B3',\n\txvee: '\\u22C1',\n\txwedge: '\\u22C0',\n\tYacute: '\\u00DD',\n\tyacute: '\\u00FD',\n\tYAcy: '\\u042F',\n\tyacy: '\\u044F',\n\tYcirc: '\\u0176',\n\tycirc: '\\u0177',\n\tYcy: '\\u042B',\n\tycy: '\\u044B',\n\tyen: '\\u00A5',\n\tYfr: '\\uD835\\uDD1C',\n\tyfr: '\\uD835\\uDD36',\n\tYIcy: '\\u0407',\n\tyicy: '\\u0457',\n\tYopf: '\\uD835\\uDD50',\n\tyopf: '\\uD835\\uDD6A',\n\tYscr: '\\uD835\\uDCB4',\n\tyscr: '\\uD835\\uDCCE',\n\tYUcy: '\\u042E',\n\tyucy: '\\u044E',\n\tYuml: '\\u0178',\n\tyuml: '\\u00FF',\n\tZacute: '\\u0179',\n\tzacute: '\\u017A',\n\tZcaron: '\\u017D',\n\tzcaron: '\\u017E',\n\tZcy: '\\u0417',\n\tzcy: '\\u0437',\n\tZdot: '\\u017B',\n\tzdot: '\\u017C',\n\tzeetrf: '\\u2128',\n\tZeroWidthSpace: '\\u200B',\n\tZeta: '\\u0396',\n\tzeta: '\\u03B6',\n\tZfr: '\\u2128',\n\tzfr: '\\uD835\\uDD37',\n\tZHcy: '\\u0416',\n\tzhcy: '\\u0436',\n\tzigrarr: '\\u21DD',\n\tZopf: '\\u2124',\n\tzopf: '\\uD835\\uDD6B',\n\tZscr: '\\uD835\\uDCB5',\n\tzscr: '\\uD835\\uDCCF',\n\tzwj: '\\u200D',\n\tzwnj: '\\u200C',\n});\n\n/**\n * @deprecated use `HTML_ENTITIES` instead\n * @see HTML_ENTITIES\n */\nexports.entityMap = exports.HTML_ENTITIES;\n","var NAMESPACE = require(\"./conventions\").NAMESPACE;\n\n//[4] \tNameStartChar\t ::= \t\":\" | [A-Z] | \"_\" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]\n//[4a] \tNameChar\t ::= \tNameStartChar | \"-\" | \".\" | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040]\n//[5] \tName\t ::= \tNameStartChar (NameChar)*\nvar nameStartChar = /[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]///\\u10000-\\uEFFFF\nvar nameChar = new RegExp(\"[\\\\-\\\\.0-9\"+nameStartChar.source.slice(1,-1)+\"\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]\");\nvar tagNamePattern = new RegExp('^'+nameStartChar.source+nameChar.source+'*(?:\\:'+nameStartChar.source+nameChar.source+'*)?$');\n//var tagNamePattern = /^[a-zA-Z_][\\w\\-\\.]*(?:\\:[a-zA-Z_][\\w\\-\\.]*)?$/\n//var handlers = 'resolveEntity,getExternalSubset,characters,endDocument,endElement,endPrefixMapping,ignorableWhitespace,processingInstruction,setDocumentLocator,skippedEntity,startDocument,startElement,startPrefixMapping,notationDecl,unparsedEntityDecl,error,fatalError,warning,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,comment,endCDATA,endDTD,endEntity,startCDATA,startDTD,startEntity'.split(',')\n\n//S_TAG,\tS_ATTR,\tS_EQ,\tS_ATTR_NOQUOT_VALUE\n//S_ATTR_SPACE,\tS_ATTR_END,\tS_TAG_SPACE, S_TAG_CLOSE\nvar S_TAG = 0;//tag name offerring\nvar S_ATTR = 1;//attr name offerring\nvar S_ATTR_SPACE=2;//attr name end and space offer\nvar S_EQ = 3;//=space?\nvar S_ATTR_NOQUOT_VALUE = 4;//attr value(no quot value only)\nvar S_ATTR_END = 5;//attr value end and no space(quot end)\nvar S_TAG_SPACE = 6;//(attr value end || tag end ) && (space offer)\nvar S_TAG_CLOSE = 7;//closed el<el />\n\n/**\n * Creates an error that will not be caught by XMLReader aka the SAX parser.\n *\n * @param {string} message\n * @param {any?} locator Optional, can provide details about the location in the source\n * @constructor\n */\nfunction ParseError(message, locator) {\n\tthis.message = message\n\tthis.locator = locator\n\tif(Error.captureStackTrace) Error.captureStackTrace(this, ParseError);\n}\nParseError.prototype = new Error();\nParseError.prototype.name = ParseError.name\n\nfunction XMLReader(){\n\n}\n\nXMLReader.prototype = {\n\tparse:function(source,defaultNSMap,entityMap){\n\t\tvar domBuilder = this.domBuilder;\n\t\tdomBuilder.startDocument();\n\t\t_copy(defaultNSMap ,defaultNSMap = {})\n\t\tparse(source,defaultNSMap,entityMap,\n\t\t\t\tdomBuilder,this.errorHandler);\n\t\tdomBuilder.endDocument();\n\t}\n}\nfunction parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){\n\tfunction fixedFromCharCode(code) {\n\t\t// String.prototype.fromCharCode does not supports\n\t\t// > 2 bytes unicode chars directly\n\t\tif (code > 0xffff) {\n\t\t\tcode -= 0x10000;\n\t\t\tvar surrogate1 = 0xd800 + (code >> 10)\n\t\t\t\t, surrogate2 = 0xdc00 + (code & 0x3ff);\n\n\t\t\treturn String.fromCharCode(surrogate1, surrogate2);\n\t\t} else {\n\t\t\treturn String.fromCharCode(code);\n\t\t}\n\t}\n\tfunction entityReplacer(a){\n\t\tvar k = a.slice(1,-1);\n\t\tif (Object.hasOwnProperty.call(entityMap, k)) {\n\t\t\treturn entityMap[k];\n\t\t}else if(k.charAt(0) === '#'){\n\t\t\treturn fixedFromCharCode(parseInt(k.substr(1).replace('x','0x')))\n\t\t}else{\n\t\t\terrorHandler.error('entity not found:'+a);\n\t\t\treturn a;\n\t\t}\n\t}\n\tfunction appendText(end){//has some bugs\n\t\tif(end>start){\n\t\t\tvar xt = source.substring(start,end).replace(/&#?\\w+;/g,entityReplacer);\n\t\t\tlocator&&position(start);\n\t\t\tdomBuilder.characters(xt,0,end-start);\n\t\t\tstart = end\n\t\t}\n\t}\n\tfunction position(p,m){\n\t\twhile(p>=lineEnd && (m = linePattern.exec(source))){\n\t\t\tlineStart = m.index;\n\t\t\tlineEnd = lineStart + m[0].length;\n\t\t\tlocator.lineNumber++;\n\t\t\t//console.log('line++:',locator,startPos,endPos)\n\t\t}\n\t\tlocator.columnNumber = p-lineStart+1;\n\t}\n\tvar lineStart = 0;\n\tvar lineEnd = 0;\n\tvar linePattern = /.*(?:\\r\\n?|\\n)|.*$/g\n\tvar locator = domBuilder.locator;\n\n\tvar parseStack = [{currentNSMap:defaultNSMapCopy}]\n\tvar closeMap = {};\n\tvar start = 0;\n\twhile(true){\n\t\ttry{\n\t\t\tvar tagStart = source.indexOf('<',start);\n\t\t\tif(tagStart<0){\n\t\t\t\tif(!source.substr(start).match(/^\\s*$/)){\n\t\t\t\t\tvar doc = domBuilder.doc;\n\t \t\t\tvar text = doc.createTextNode(source.substr(start));\n\t \t\t\tdoc.appendChild(text);\n\t \t\t\tdomBuilder.currentElement = text;\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif(tagStart>start){\n\t\t\t\tappendText(tagStart);\n\t\t\t}\n\t\t\tswitch(source.charAt(tagStart+1)){\n\t\t\tcase '/':\n\t\t\t\tvar end = source.indexOf('>',tagStart+3);\n\t\t\t\tvar tagName = source.substring(tagStart + 2, end).replace(/[ \\t\\n\\r]+$/g, '');\n\t\t\t\tvar config = parseStack.pop();\n\t\t\t\tif(end<0){\n\n\t \t\ttagName = source.substring(tagStart+2).replace(/[\\s<].*/,'');\n\t \t\terrorHandler.error(\"end tag name: \"+tagName+' is not complete:'+config.tagName);\n\t \t\tend = tagStart+1+tagName.length;\n\t \t}else if(tagName.match(/\\s</)){\n\t \t\ttagName = tagName.replace(/[\\s<].*/,'');\n\t \t\terrorHandler.error(\"end tag name: \"+tagName+' maybe not complete');\n\t \t\tend = tagStart+1+tagName.length;\n\t\t\t\t}\n\t\t\t\tvar localNSMap = config.localNSMap;\n\t\t\t\tvar endMatch = config.tagName == tagName;\n\t\t\t\tvar endIgnoreCaseMach = endMatch || config.tagName&&config.tagName.toLowerCase() == tagName.toLowerCase()\n\t\t if(endIgnoreCaseMach){\n\t\t \tdomBuilder.endElement(config.uri,config.localName,tagName);\n\t\t\t\t\tif(localNSMap){\n\t\t\t\t\t\tfor (var prefix in localNSMap) {\n\t\t\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(localNSMap, prefix)) {\n\t\t\t\t\t\t\t\tdomBuilder.endPrefixMapping(prefix);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(!endMatch){\n\t\t \terrorHandler.fatalError(\"end tag name: \"+tagName+' is not match the current start tagName:'+config.tagName ); // No known test case\n\t\t\t\t\t}\n\t\t }else{\n\t\t \tparseStack.push(config)\n\t\t }\n\n\t\t\t\tend++;\n\t\t\t\tbreak;\n\t\t\t\t// end elment\n\t\t\tcase '?':// <?...?>\n\t\t\t\tlocator&&position(tagStart);\n\t\t\t\tend = parseInstruction(source,tagStart,domBuilder);\n\t\t\t\tbreak;\n\t\t\tcase '!':// <!doctype,<![CDATA,<!--\n\t\t\t\tlocator&&position(tagStart);\n\t\t\t\tend = parseDCC(source,tagStart,domBuilder,errorHandler);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tlocator&&position(tagStart);\n\t\t\t\tvar el = new ElementAttributes();\n\t\t\t\tvar currentNSMap = parseStack[parseStack.length-1].currentNSMap;\n\t\t\t\t//elStartEnd\n\t\t\t\tvar end = parseElementStartPart(source,tagStart,el,currentNSMap,entityReplacer,errorHandler);\n\t\t\t\tvar len = el.length;\n\n\n\t\t\t\tif(!el.closed && fixSelfClosed(source,end,el.tagName,closeMap)){\n\t\t\t\t\tel.closed = true;\n\t\t\t\t\tif(!entityMap.nbsp){\n\t\t\t\t\t\terrorHandler.warning('unclosed xml attribute');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(locator && len){\n\t\t\t\t\tvar locator2 = copyLocator(locator,{});\n\t\t\t\t\t//try{//attribute position fixed\n\t\t\t\t\tfor(var i = 0;i<len;i++){\n\t\t\t\t\t\tvar a = el[i];\n\t\t\t\t\t\tposition(a.offset);\n\t\t\t\t\t\ta.locator = copyLocator(locator,{});\n\t\t\t\t\t}\n\t\t\t\t\tdomBuilder.locator = locator2\n\t\t\t\t\tif(appendElement(el,domBuilder,currentNSMap)){\n\t\t\t\t\t\tparseStack.push(el)\n\t\t\t\t\t}\n\t\t\t\t\tdomBuilder.locator = locator;\n\t\t\t\t}else{\n\t\t\t\t\tif(appendElement(el,domBuilder,currentNSMap)){\n\t\t\t\t\t\tparseStack.push(el)\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (NAMESPACE.isHTML(el.uri) && !el.closed) {\n\t\t\t\t\tend = parseHtmlSpecialContent(source,end,el.tagName,entityReplacer,domBuilder)\n\t\t\t\t} else {\n\t\t\t\t\tend++;\n\t\t\t\t}\n\t\t\t}\n\t\t}catch(e){\n\t\t\tif (e instanceof ParseError) {\n\t\t\t\tthrow e;\n\t\t\t}\n\t\t\terrorHandler.error('element parse error: '+e)\n\t\t\tend = -1;\n\t\t}\n\t\tif(end>start){\n\t\t\tstart = end;\n\t\t}else{\n\t\t\t//TODO: 这里有可能sax回退,有位置错误风险\n\t\t\tappendText(Math.max(tagStart,start)+1);\n\t\t}\n\t}\n}\nfunction copyLocator(f,t){\n\tt.lineNumber = f.lineNumber;\n\tt.columnNumber = f.columnNumber;\n\treturn t;\n}\n\n/**\n * @see #appendElement(source,elStartEnd,el,selfClosed,entityReplacer,domBuilder,parseStack);\n * @return end of the elementStartPart(end of elementEndPart for selfClosed el)\n */\nfunction parseElementStartPart(source,start,el,currentNSMap,entityReplacer,errorHandler){\n\n\t/**\n\t * @param {string} qname\n\t * @param {string} value\n\t * @param {number} startIndex\n\t */\n\tfunction addAttribute(qname, value, startIndex) {\n\t\tif (el.attributeNames.hasOwnProperty(qname)) {\n\t\t\terrorHandler.fatalError('Attribute ' + qname + ' redefined')\n\t\t}\n\t\tel.addValue(\n\t\t\tqname,\n\t\t\t// @see https://www.w3.org/TR/xml/#AVNormalize\n\t\t\t// since the xmldom sax parser does not \"interpret\" DTD the following is not implemented:\n\t\t\t// - recursive replacement of (DTD) entity references\n\t\t\t// - trimming and collapsing multiple spaces into a single one for attributes that are not of type CDATA\n\t\t\tvalue.replace(/[\\t\\n\\r]/g, ' ').replace(/&#?\\w+;/g, entityReplacer),\n\t\t\tstartIndex\n\t\t)\n\t}\n\tvar attrName;\n\tvar value;\n\tvar p = ++start;\n\tvar s = S_TAG;//status\n\twhile(true){\n\t\tvar c = source.charAt(p);\n\t\tswitch(c){\n\t\tcase '=':\n\t\t\tif(s === S_ATTR){//attrName\n\t\t\t\tattrName = source.slice(start,p);\n\t\t\t\ts = S_EQ;\n\t\t\t}else if(s === S_ATTR_SPACE){\n\t\t\t\ts = S_EQ;\n\t\t\t}else{\n\t\t\t\t//fatalError: equal must after attrName or space after attrName\n\t\t\t\tthrow new Error('attribute equal must after attrName'); // No known test case\n\t\t\t}\n\t\t\tbreak;\n\t\tcase '\\'':\n\t\tcase '\"':\n\t\t\tif(s === S_EQ || s === S_ATTR //|| s == S_ATTR_SPACE\n\t\t\t\t){//equal\n\t\t\t\tif(s === S_ATTR){\n\t\t\t\t\terrorHandler.warning('attribute value must after \"=\"')\n\t\t\t\t\tattrName = source.slice(start,p)\n\t\t\t\t}\n\t\t\t\tstart = p+1;\n\t\t\t\tp = source.indexOf(c,start)\n\t\t\t\tif(p>0){\n\t\t\t\t\tvalue = source.slice(start, p);\n\t\t\t\t\taddAttribute(attrName, value, start-1);\n\t\t\t\t\ts = S_ATTR_END;\n\t\t\t\t}else{\n\t\t\t\t\t//fatalError: no end quot match\n\t\t\t\t\tthrow new Error('attribute value no end \\''+c+'\\' match');\n\t\t\t\t}\n\t\t\t}else if(s == S_ATTR_NOQUOT_VALUE){\n\t\t\t\tvalue = source.slice(start, p);\n\t\t\t\taddAttribute(attrName, value, start);\n\t\t\t\terrorHandler.warning('attribute \"'+attrName+'\" missed start quot('+c+')!!');\n\t\t\t\tstart = p+1;\n\t\t\t\ts = S_ATTR_END\n\t\t\t}else{\n\t\t\t\t//fatalError: no equal before\n\t\t\t\tthrow new Error('attribute value must after \"=\"'); // No known test case\n\t\t\t}\n\t\t\tbreak;\n\t\tcase '/':\n\t\t\tswitch(s){\n\t\t\tcase S_TAG:\n\t\t\t\tel.setTagName(source.slice(start,p));\n\t\t\tcase S_ATTR_END:\n\t\t\tcase S_TAG_SPACE:\n\t\t\tcase S_TAG_CLOSE:\n\t\t\t\ts =S_TAG_CLOSE;\n\t\t\t\tel.closed = true;\n\t\t\tcase S_ATTR_NOQUOT_VALUE:\n\t\t\tcase S_ATTR:\n\t\t\t\tbreak;\n\t\t\t\tcase S_ATTR_SPACE:\n\t\t\t\t\tel.closed = true;\n\t\t\t\tbreak;\n\t\t\t//case S_EQ:\n\t\t\tdefault:\n\t\t\t\tthrow new Error(\"attribute invalid close char('/')\") // No known test case\n\t\t\t}\n\t\t\tbreak;\n\t\tcase ''://end document\n\t\t\terrorHandler.error('unexpected end of input');\n\t\t\tif(s == S_TAG){\n\t\t\t\tel.setTagName(source.slice(start,p));\n\t\t\t}\n\t\t\treturn p;\n\t\tcase '>':\n\t\t\tswitch(s){\n\t\t\tcase S_TAG:\n\t\t\t\tel.setTagName(source.slice(start,p));\n\t\t\tcase S_ATTR_END:\n\t\t\tcase S_TAG_SPACE:\n\t\t\tcase S_TAG_CLOSE:\n\t\t\t\tbreak;//normal\n\t\t\tcase S_ATTR_NOQUOT_VALUE://Compatible state\n\t\t\tcase S_ATTR:\n\t\t\t\tvalue = source.slice(start,p);\n\t\t\t\tif(value.slice(-1) === '/'){\n\t\t\t\t\tel.closed = true;\n\t\t\t\t\tvalue = value.slice(0,-1)\n\t\t\t\t}\n\t\t\tcase S_ATTR_SPACE:\n\t\t\t\tif(s === S_ATTR_SPACE){\n\t\t\t\t\tvalue = attrName;\n\t\t\t\t}\n\t\t\t\tif(s == S_ATTR_NOQUOT_VALUE){\n\t\t\t\t\terrorHandler.warning('attribute \"'+value+'\" missed quot(\")!');\n\t\t\t\t\taddAttribute(attrName, value, start)\n\t\t\t\t}else{\n\t\t\t\t\tif(!NAMESPACE.isHTML(currentNSMap['']) || !value.match(/^(?:disabled|checked|selected)$/i)){\n\t\t\t\t\t\terrorHandler.warning('attribute \"'+value+'\" missed value!! \"'+value+'\" instead!!')\n\t\t\t\t\t}\n\t\t\t\t\taddAttribute(value, value, start)\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase S_EQ:\n\t\t\t\tthrow new Error('attribute value missed!!');\n\t\t\t}\n//\t\t\tconsole.log(tagName,tagNamePattern,tagNamePattern.test(tagName))\n\t\t\treturn p;\n\t\t/*xml space '\\x20' | #x9 | #xD | #xA; */\n\t\tcase '\\u0080':\n\t\t\tc = ' ';\n\t\tdefault:\n\t\t\tif(c<= ' '){//space\n\t\t\t\tswitch(s){\n\t\t\t\tcase S_TAG:\n\t\t\t\t\tel.setTagName(source.slice(start,p));//tagName\n\t\t\t\t\ts = S_TAG_SPACE;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_ATTR:\n\t\t\t\t\tattrName = source.slice(start,p)\n\t\t\t\t\ts = S_ATTR_SPACE;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_ATTR_NOQUOT_VALUE:\n\t\t\t\t\tvar value = source.slice(start, p);\n\t\t\t\t\terrorHandler.warning('attribute \"'+value+'\" missed quot(\")!!');\n\t\t\t\t\taddAttribute(attrName, value, start)\n\t\t\t\tcase S_ATTR_END:\n\t\t\t\t\ts = S_TAG_SPACE;\n\t\t\t\t\tbreak;\n\t\t\t\t//case S_TAG_SPACE:\n\t\t\t\t//case S_EQ:\n\t\t\t\t//case S_ATTR_SPACE:\n\t\t\t\t//\tvoid();break;\n\t\t\t\t//case S_TAG_CLOSE:\n\t\t\t\t\t//ignore warning\n\t\t\t\t}\n\t\t\t}else{//not space\n//S_TAG,\tS_ATTR,\tS_EQ,\tS_ATTR_NOQUOT_VALUE\n//S_ATTR_SPACE,\tS_ATTR_END,\tS_TAG_SPACE, S_TAG_CLOSE\n\t\t\t\tswitch(s){\n\t\t\t\t//case S_TAG:void();break;\n\t\t\t\t//case S_ATTR:void();break;\n\t\t\t\t//case S_ATTR_NOQUOT_VALUE:void();break;\n\t\t\t\tcase S_ATTR_SPACE:\n\t\t\t\t\tvar tagName = el.tagName;\n\t\t\t\t\tif (!NAMESPACE.isHTML(currentNSMap['']) || !attrName.match(/^(?:disabled|checked|selected)$/i)) {\n\t\t\t\t\t\terrorHandler.warning('attribute \"'+attrName+'\" missed value!! \"'+attrName+'\" instead2!!')\n\t\t\t\t\t}\n\t\t\t\t\taddAttribute(attrName, attrName, start);\n\t\t\t\t\tstart = p;\n\t\t\t\t\ts = S_ATTR;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_ATTR_END:\n\t\t\t\t\terrorHandler.warning('attribute space is required\"'+attrName+'\"!!')\n\t\t\t\tcase S_TAG_SPACE:\n\t\t\t\t\ts = S_ATTR;\n\t\t\t\t\tstart = p;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_EQ:\n\t\t\t\t\ts = S_ATTR_NOQUOT_VALUE;\n\t\t\t\t\tstart = p;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_TAG_CLOSE:\n\t\t\t\t\tthrow new Error(\"elements closed character '/' and '>' must be connected to\");\n\t\t\t\t}\n\t\t\t}\n\t\t}//end outer switch\n\t\t//console.log('p++',p)\n\t\tp++;\n\t}\n}\n/**\n * @return true if has new namespace define\n */\nfunction appendElement(el,domBuilder,currentNSMap){\n\tvar tagName = el.tagName;\n\tvar localNSMap = null;\n\t//var currentNSMap = parseStack[parseStack.length-1].currentNSMap;\n\tvar i = el.length;\n\twhile(i--){\n\t\tvar a = el[i];\n\t\tvar qName = a.qName;\n\t\tvar value = a.value;\n\t\tvar nsp = qName.indexOf(':');\n\t\tif(nsp>0){\n\t\t\tvar prefix = a.prefix = qName.slice(0,nsp);\n\t\t\tvar localName = qName.slice(nsp+1);\n\t\t\tvar nsPrefix = prefix === 'xmlns' && localName\n\t\t}else{\n\t\t\tlocalName = qName;\n\t\t\tprefix = null\n\t\t\tnsPrefix = qName === 'xmlns' && ''\n\t\t}\n\t\t//can not set prefix,because prefix !== ''\n\t\ta.localName = localName ;\n\t\t//prefix == null for no ns prefix attribute\n\t\tif(nsPrefix !== false){//hack!!\n\t\t\tif(localNSMap == null){\n\t\t\t\tlocalNSMap = {}\n\t\t\t\t//console.log(currentNSMap,0)\n\t\t\t\t_copy(currentNSMap,currentNSMap={})\n\t\t\t\t//console.log(currentNSMap,1)\n\t\t\t}\n\t\t\tcurrentNSMap[nsPrefix] = localNSMap[nsPrefix] = value;\n\t\t\ta.uri = NAMESPACE.XMLNS\n\t\t\tdomBuilder.startPrefixMapping(nsPrefix, value)\n\t\t}\n\t}\n\tvar i = el.length;\n\twhile(i--){\n\t\ta = el[i];\n\t\tvar prefix = a.prefix;\n\t\tif(prefix){//no prefix attribute has no namespace\n\t\t\tif(prefix === 'xml'){\n\t\t\t\ta.uri = NAMESPACE.XML;\n\t\t\t}if(prefix !== 'xmlns'){\n\t\t\t\ta.uri = currentNSMap[prefix || '']\n\n\t\t\t\t//{console.log('###'+a.qName,domBuilder.locator.systemId+'',currentNSMap,a.uri)}\n\t\t\t}\n\t\t}\n\t}\n\tvar nsp = tagName.indexOf(':');\n\tif(nsp>0){\n\t\tprefix = el.prefix = tagName.slice(0,nsp);\n\t\tlocalName = el.localName = tagName.slice(nsp+1);\n\t}else{\n\t\tprefix = null;//important!!\n\t\tlocalName = el.localName = tagName;\n\t}\n\t//no prefix element has default namespace\n\tvar ns = el.uri = currentNSMap[prefix || ''];\n\tdomBuilder.startElement(ns,localName,tagName,el);\n\t//endPrefixMapping and startPrefixMapping have not any help for dom builder\n\t//localNSMap = null\n\tif(el.closed){\n\t\tdomBuilder.endElement(ns,localName,tagName);\n\t\tif(localNSMap){\n\t\t\tfor (prefix in localNSMap) {\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(localNSMap, prefix)) {\n\t\t\t\t\tdomBuilder.endPrefixMapping(prefix);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}else{\n\t\tel.currentNSMap = currentNSMap;\n\t\tel.localNSMap = localNSMap;\n\t\t//parseStack.push(el);\n\t\treturn true;\n\t}\n}\nfunction parseHtmlSpecialContent(source,elStartEnd,tagName,entityReplacer,domBuilder){\n\tif(/^(?:script|textarea)$/i.test(tagName)){\n\t\tvar elEndStart = source.indexOf('</'+tagName+'>',elStartEnd);\n\t\tvar text = source.substring(elStartEnd+1,elEndStart);\n\t\tif(/[&<]/.test(text)){\n\t\t\tif(/^script$/i.test(tagName)){\n\t\t\t\t//if(!/\\]\\]>/.test(text)){\n\t\t\t\t\t//lexHandler.startCDATA();\n\t\t\t\t\tdomBuilder.characters(text,0,text.length);\n\t\t\t\t\t//lexHandler.endCDATA();\n\t\t\t\t\treturn elEndStart;\n\t\t\t\t//}\n\t\t\t}//}else{//text area\n\t\t\t\ttext = text.replace(/&#?\\w+;/g,entityReplacer);\n\t\t\t\tdomBuilder.characters(text,0,text.length);\n\t\t\t\treturn elEndStart;\n\t\t\t//}\n\n\t\t}\n\t}\n\treturn elStartEnd+1;\n}\nfunction fixSelfClosed(source,elStartEnd,tagName,closeMap){\n\t//if(tagName in closeMap){\n\tvar pos = closeMap[tagName];\n\tif(pos == null){\n\t\t//console.log(tagName)\n\t\tpos = source.lastIndexOf('</'+tagName+'>')\n\t\tif(pos<elStartEnd){//忘记闭合\n\t\t\tpos = source.lastIndexOf('</'+tagName)\n\t\t}\n\t\tcloseMap[tagName] =pos\n\t}\n\treturn pos<elStartEnd;\n\t//}\n}\n\nfunction _copy (source, target) {\n\tfor (var n in source) {\n\t\tif (Object.prototype.hasOwnProperty.call(source, n)) {\n\t\t\ttarget[n] = source[n];\n\t\t}\n\t}\n}\n\nfunction parseDCC(source,start,domBuilder,errorHandler){//sure start with '<!'\n\tvar next= source.charAt(start+2)\n\tswitch(next){\n\tcase '-':\n\t\tif(source.charAt(start + 3) === '-'){\n\t\t\tvar end = source.indexOf('-->',start+4);\n\t\t\t//append comment source.substring(4,end)//<!--\n\t\t\tif(end>start){\n\t\t\t\tdomBuilder.comment(source,start+4,end-start-4);\n\t\t\t\treturn end+3;\n\t\t\t}else{\n\t\t\t\terrorHandler.error(\"Unclosed comment\");\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}else{\n\t\t\t//error\n\t\t\treturn -1;\n\t\t}\n\tdefault:\n\t\tif(source.substr(start+3,6) == 'CDATA['){\n\t\t\tvar end = source.indexOf(']]>',start+9);\n\t\t\tdomBuilder.startCDATA();\n\t\t\tdomBuilder.characters(source,start+9,end-start-9);\n\t\t\tdomBuilder.endCDATA()\n\t\t\treturn end+3;\n\t\t}\n\t\t//<!DOCTYPE\n\t\t//startDTD(java.lang.String name, java.lang.String publicId, java.lang.String systemId)\n\t\tvar matchs = split(source,start);\n\t\tvar len = matchs.length;\n\t\tif(len>1 && /!doctype/i.test(matchs[0][0])){\n\t\t\tvar name = matchs[1][0];\n\t\t\tvar pubid = false;\n\t\t\tvar sysid = false;\n\t\t\tif(len>3){\n\t\t\t\tif(/^public$/i.test(matchs[2][0])){\n\t\t\t\t\tpubid = matchs[3][0];\n\t\t\t\t\tsysid = len>4 && matchs[4][0];\n\t\t\t\t}else if(/^system$/i.test(matchs[2][0])){\n\t\t\t\t\tsysid = matchs[3][0];\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar lastMatch = matchs[len-1]\n\t\t\tdomBuilder.startDTD(name, pubid, sysid);\n\t\t\tdomBuilder.endDTD();\n\n\t\t\treturn lastMatch.index+lastMatch[0].length\n\t\t}\n\t}\n\treturn -1;\n}\n\n\n\nfunction parseInstruction(source,start,domBuilder){\n\tvar end = source.indexOf('?>',start);\n\tif(end){\n\t\tvar match = source.substring(start,end).match(/^<\\?(\\S*)\\s*([\\s\\S]*?)\\s*$/);\n\t\tif(match){\n\t\t\tvar len = match[0].length;\n\t\t\tdomBuilder.processingInstruction(match[1], match[2]) ;\n\t\t\treturn end+2;\n\t\t}else{//error\n\t\t\treturn -1;\n\t\t}\n\t}\n\treturn -1;\n}\n\nfunction ElementAttributes(){\n\tthis.attributeNames = {}\n}\nElementAttributes.prototype = {\n\tsetTagName:function(tagName){\n\t\tif(!tagNamePattern.test(tagName)){\n\t\t\tthrow new Error('invalid tagName:'+tagName)\n\t\t}\n\t\tthis.tagName = tagName\n\t},\n\taddValue:function(qName, value, offset) {\n\t\tif(!tagNamePattern.test(qName)){\n\t\t\tthrow new Error('invalid attribute:'+qName)\n\t\t}\n\t\tthis.attributeNames[qName] = this.length;\n\t\tthis[this.length++] = {qName:qName,value:value,offset:offset}\n\t},\n\tlength:0,\n\tgetLocalName:function(i){return this[i].localName},\n\tgetLocator:function(i){return this[i].locator},\n\tgetQName:function(i){return this[i].qName},\n\tgetURI:function(i){return this[i].uri},\n\tgetValue:function(i){return this[i].value}\n//\t,getIndex:function(uri, localName)){\n//\t\tif(localName){\n//\n//\t\t}else{\n//\t\t\tvar qName = uri\n//\t\t}\n//\t},\n//\tgetValue:function(){return this.getValue(this.getIndex.apply(this,arguments))},\n//\tgetType:function(uri,localName){}\n//\tgetType:function(i){},\n}\n\n\n\nfunction split(source,start){\n\tvar match;\n\tvar buf = [];\n\tvar reg = /'[^']+'|\"[^\"]+\"|[^\\s<>\\/=]+=?|(\\/?\\s*>|<)/g;\n\treg.lastIndex = start;\n\treg.exec(source);//skip <\n\twhile(match = reg.exec(source)){\n\t\tbuf.push(match);\n\t\tif(match[1])return buf;\n\t}\n}\n\nexports.XMLReader = XMLReader;\nexports.ParseError = ParseError;\n","var conventions = require(\"./conventions\");\nvar dom = require('./dom')\nvar entities = require('./entities');\nvar sax = require('./sax');\n\nvar DOMImplementation = dom.DOMImplementation;\n\nvar NAMESPACE = conventions.NAMESPACE;\n\nvar ParseError = sax.ParseError;\nvar XMLReader = sax.XMLReader;\n\n/**\n * Normalizes line ending according to https://www.w3.org/TR/xml11/#sec-line-ends:\n *\n * > XML parsed entities are often stored in computer files which,\n * > for editing convenience, are organized into lines.\n * > These lines are typically separated by some combination\n * > of the characters CARRIAGE RETURN (#xD) and LINE FEED (#xA).\n * >\n * > To simplify the tasks of applications, the XML processor must behave\n * > as if it normalized all line breaks in external parsed entities (including the document entity)\n * > on input, before parsing, by translating all of the following to a single #xA character:\n * >\n * > 1. the two-character sequence #xD #xA\n * > 2. the two-character sequence #xD #x85\n * > 3. the single character #x85\n * > 4. the single character #x2028\n * > 5. any #xD character that is not immediately followed by #xA or #x85.\n *\n * @param {string} input\n * @returns {string}\n */\nfunction normalizeLineEndings(input) {\n\treturn input\n\t\t.replace(/\\r[\\n\\u0085]/g, '\\n')\n\t\t.replace(/[\\r\\u0085\\u2028]/g, '\\n')\n}\n\n/**\n * @typedef Locator\n * @property {number} [columnNumber]\n * @property {number} [lineNumber]\n */\n\n/**\n * @typedef DOMParserOptions\n * @property {DOMHandler} [domBuilder]\n * @property {Function} [errorHandler]\n * @property {(string) => string} [normalizeLineEndings] used to replace line endings before parsing\n * \t\t\t\t\t\tdefaults to `normalizeLineEndings`\n * @property {Locator} [locator]\n * @property {Record<string, string>} [xmlns]\n *\n * @see normalizeLineEndings\n */\n\n/**\n * The DOMParser interface provides the ability to parse XML or HTML source code\n * from a string into a DOM `Document`.\n *\n * _xmldom is different from the spec in that it allows an `options` parameter,\n * to override the default behavior._\n *\n * @param {DOMParserOptions} [options]\n * @constructor\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMParser\n * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-parsing-and-serialization\n */\nfunction DOMParser(options){\n\tthis.options = options ||{locator:{}};\n}\n\nDOMParser.prototype.parseFromString = function(source,mimeType){\n\tvar options = this.options;\n\tvar sax = new XMLReader();\n\tvar domBuilder = options.domBuilder || new DOMHandler();//contentHandler and LexicalHandler\n\tvar errorHandler = options.errorHandler;\n\tvar locator = options.locator;\n\tvar defaultNSMap = options.xmlns||{};\n\tvar isHTML = /\\/x?html?$/.test(mimeType);//mimeType.toLowerCase().indexOf('html') > -1;\n \tvar entityMap = isHTML ? entities.HTML_ENTITIES : entities.XML_ENTITIES;\n\tif(locator){\n\t\tdomBuilder.setDocumentLocator(locator)\n\t}\n\n\tsax.errorHandler = buildErrorHandler(errorHandler,domBuilder,locator);\n\tsax.domBuilder = options.domBuilder || domBuilder;\n\tif(isHTML){\n\t\tdefaultNSMap[''] = NAMESPACE.HTML;\n\t}\n\tdefaultNSMap.xml = defaultNSMap.xml || NAMESPACE.XML;\n\tvar normalize = options.normalizeLineEndings || normalizeLineEndings;\n\tif (source && typeof source === 'string') {\n\t\tsax.parse(\n\t\t\tnormalize(source),\n\t\t\tdefaultNSMap,\n\t\t\tentityMap\n\t\t)\n\t} else {\n\t\tsax.errorHandler.error('invalid doc source')\n\t}\n\treturn domBuilder.doc;\n}\nfunction buildErrorHandler(errorImpl,domBuilder,locator){\n\tif(!errorImpl){\n\t\tif(domBuilder instanceof DOMHandler){\n\t\t\treturn domBuilder;\n\t\t}\n\t\terrorImpl = domBuilder ;\n\t}\n\tvar errorHandler = {}\n\tvar isCallback = errorImpl instanceof Function;\n\tlocator = locator||{}\n\tfunction build(key){\n\t\tvar fn = errorImpl[key];\n\t\tif(!fn && isCallback){\n\t\t\tfn = errorImpl.length == 2?function(msg){errorImpl(key,msg)}:errorImpl;\n\t\t}\n\t\terrorHandler[key] = fn && function(msg){\n\t\t\tfn('[xmldom '+key+']\\t'+msg+_locator(locator));\n\t\t}||function(){};\n\t}\n\tbuild('warning');\n\tbuild('error');\n\tbuild('fatalError');\n\treturn errorHandler;\n}\n\n//console.log('#\\n\\n\\n\\n\\n\\n\\n####')\n/**\n * +ContentHandler+ErrorHandler\n * +LexicalHandler+EntityResolver2\n * -DeclHandler-DTDHandler\n *\n * DefaultHandler:EntityResolver, DTDHandler, ContentHandler, ErrorHandler\n * DefaultHandler2:DefaultHandler,LexicalHandler, DeclHandler, EntityResolver2\n * @link http://www.saxproject.org/apidoc/org/xml/sax/helpers/DefaultHandler.html\n */\nfunction DOMHandler() {\n this.cdata = false;\n}\nfunction position(locator,node){\n\tnode.lineNumber = locator.lineNumber;\n\tnode.columnNumber = locator.columnNumber;\n}\n/**\n * @see org.xml.sax.ContentHandler#startDocument\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ContentHandler.html\n */\nDOMHandler.prototype = {\n\tstartDocument : function() {\n \tthis.doc = new DOMImplementation().createDocument(null, null, null);\n \tif (this.locator) {\n \tthis.doc.documentURI = this.locator.systemId;\n \t}\n\t},\n\tstartElement:function(namespaceURI, localName, qName, attrs) {\n\t\tvar doc = this.doc;\n\t var el = doc.createElementNS(namespaceURI, qName||localName);\n\t var len = attrs.length;\n\t appendElement(this, el);\n\t this.currentElement = el;\n\n\t\tthis.locator && position(this.locator,el)\n\t for (var i = 0 ; i < len; i++) {\n\t var namespaceURI = attrs.getURI(i);\n\t var value = attrs.getValue(i);\n\t var qName = attrs.getQName(i);\n\t\t\tvar attr = doc.createAttributeNS(namespaceURI, qName);\n\t\t\tthis.locator &&position(attrs.getLocator(i),attr);\n\t\t\tattr.value = attr.nodeValue = value;\n\t\t\tel.setAttributeNode(attr)\n\t }\n\t},\n\tendElement:function(namespaceURI, localName, qName) {\n\t\tvar current = this.currentElement\n\t\tvar tagName = current.tagName;\n\t\tthis.currentElement = current.parentNode;\n\t},\n\tstartPrefixMapping:function(prefix, uri) {\n\t},\n\tendPrefixMapping:function(prefix) {\n\t},\n\tprocessingInstruction:function(target, data) {\n\t var ins = this.doc.createProcessingInstruction(target, data);\n\t this.locator && position(this.locator,ins)\n\t appendElement(this, ins);\n\t},\n\tignorableWhitespace:function(ch, start, length) {\n\t},\n\tcharacters:function(chars, start, length) {\n\t\tchars = _toString.apply(this,arguments)\n\t\t//console.log(chars)\n\t\tif(chars){\n\t\t\tif (this.cdata) {\n\t\t\t\tvar charNode = this.doc.createCDATASection(chars);\n\t\t\t} else {\n\t\t\t\tvar charNode = this.doc.createTextNode(chars);\n\t\t\t}\n\t\t\tif(this.currentElement){\n\t\t\t\tthis.currentElement.appendChild(charNode);\n\t\t\t}else if(/^\\s*$/.test(chars)){\n\t\t\t\tthis.doc.appendChild(charNode);\n\t\t\t\t//process xml\n\t\t\t}\n\t\t\tthis.locator && position(this.locator,charNode)\n\t\t}\n\t},\n\tskippedEntity:function(name) {\n\t},\n\tendDocument:function() {\n\t\tthis.doc.normalize();\n\t},\n\tsetDocumentLocator:function (locator) {\n\t if(this.locator = locator){// && !('lineNumber' in locator)){\n\t \tlocator.lineNumber = 0;\n\t }\n\t},\n\t//LexicalHandler\n\tcomment:function(chars, start, length) {\n\t\tchars = _toString.apply(this,arguments)\n\t var comm = this.doc.createComment(chars);\n\t this.locator && position(this.locator,comm)\n\t appendElement(this, comm);\n\t},\n\n\tstartCDATA:function() {\n\t //used in characters() methods\n\t this.cdata = true;\n\t},\n\tendCDATA:function() {\n\t this.cdata = false;\n\t},\n\n\tstartDTD:function(name, publicId, systemId) {\n\t\tvar impl = this.doc.implementation;\n\t if (impl && impl.createDocumentType) {\n\t var dt = impl.createDocumentType(name, publicId, systemId);\n\t this.locator && position(this.locator,dt)\n\t appendElement(this, dt);\n\t\t\t\t\tthis.doc.doctype = dt;\n\t }\n\t},\n\t/**\n\t * @see org.xml.sax.ErrorHandler\n\t * @link http://www.saxproject.org/apidoc/org/xml/sax/ErrorHandler.html\n\t */\n\twarning:function(error) {\n\t\tconsole.warn('[xmldom warning]\\t'+error,_locator(this.locator));\n\t},\n\terror:function(error) {\n\t\tconsole.error('[xmldom error]\\t'+error,_locator(this.locator));\n\t},\n\tfatalError:function(error) {\n\t\tthrow new ParseError(error, this.locator);\n\t}\n}\nfunction _locator(l){\n\tif(l){\n\t\treturn '\\n@'+(l.systemId ||'')+'#[line:'+l.lineNumber+',col:'+l.columnNumber+']'\n\t}\n}\nfunction _toString(chars,start,length){\n\tif(typeof chars == 'string'){\n\t\treturn chars.substr(start,length)\n\t}else{//java sax connect width xmldom on rhino(what about: \"? && !(chars instanceof String)\")\n\t\tif(chars.length >= start+length || start){\n\t\t\treturn new java.lang.String(chars,start,length)+'';\n\t\t}\n\t\treturn chars;\n\t}\n}\n\n/*\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/LexicalHandler.html\n * used method of org.xml.sax.ext.LexicalHandler:\n * #comment(chars, start, length)\n * #startCDATA()\n * #endCDATA()\n * #startDTD(name, publicId, systemId)\n *\n *\n * IGNORED method of org.xml.sax.ext.LexicalHandler:\n * #endDTD()\n * #startEntity(name)\n * #endEntity(name)\n *\n *\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/DeclHandler.html\n * IGNORED method of org.xml.sax.ext.DeclHandler\n * \t#attributeDecl(eName, aName, type, mode, value)\n * #elementDecl(name, model)\n * #externalEntityDecl(name, publicId, systemId)\n * #internalEntityDecl(name, value)\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/EntityResolver2.html\n * IGNORED method of org.xml.sax.EntityResolver2\n * #resolveEntity(String name,String publicId,String baseURI,String systemId)\n * #resolveEntity(publicId, systemId)\n * #getExternalSubset(name, baseURI)\n * @link http://www.saxproject.org/apidoc/org/xml/sax/DTDHandler.html\n * IGNORED method of org.xml.sax.DTDHandler\n * #notationDecl(name, publicId, systemId) {};\n * #unparsedEntityDecl(name, publicId, systemId, notationName) {};\n */\n\"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl\".replace(/\\w+/g,function(key){\n\tDOMHandler.prototype[key] = function(){return null}\n})\n\n/* Private static helpers treated below as private instance methods, so don't need to add these to the public API; we might use a Relator to also get rid of non-standard public properties */\nfunction appendElement (hander,node) {\n if (!hander.currentElement) {\n hander.doc.appendChild(node);\n } else {\n hander.currentElement.appendChild(node);\n }\n}//appendChild and setAttributeNS are preformance key\n\nexports.__DOMHandler = DOMHandler;\nexports.normalizeLineEndings = normalizeLineEndings;\nexports.DOMParser = DOMParser;\n","var dom = require('./dom')\nexports.DOMImplementation = dom.DOMImplementation\nexports.XMLSerializer = dom.XMLSerializer\nexports.DOMParser = require('./dom-parser').DOMParser\n"],"names":["e","arguments","length","id","adId","sequence","apiFramework","universalAdIds","creativeExtensions","t","r","a","n","s","ERRORCODE","isCustomCode","test","CACHEBUSTING","d","Math","round","random","TIMESTAMP","Date","toISOString","RANDOM","c","push","i","match","filter","indexOf","reduce","replace","RegExp","concat","Array","isArray","map","hasOwnProperty","url","o","l","Object","getOwnPropertyNames","encodeURIComponent","charCodeAt","toString","padStart","u","track","forEach","window","Image","src","resolveURLTemplates","extractURLsFromTemplates","filterUrlTemplates","validUrls","invalidUrls","containsTemplateObject","isTemplateObjectEqual","encodeURIComponentRFC3986","replaceUrlMacros","isNumeric","isNaN","parseFloat","isFinite","flatten","joinArrayOfUniqueTemplateObjs","isValidTimeValue","Number","addLeadingZeros","isValidUrl","isBrowserEnvironment","formatMacrosValues","JSON","stringify","h","includes","m","childByName","from","childNodes","find","nodeName","childrenByName","resolveVastAdTagURI","startsWith","protocol","location","slice","lastIndexOf","parseBoolean","parseNodeText","textContent","text","trim","copyNodeAttribute","getAttribute","setAttribute","parseAttributes","attributes","nodeValue","parseDuration","parseInt","split","getStandAloneAds","getSortedAdPods","sort","assignAttributes","mergeWrapperAdData","errorURLTemplates","impressionURLTemplates","extensions","viewableImpression","followAdditionalWrappers","allowMultipleAds","fallbackOnNoAd","creatives","type","variations","companionClickTrackingURLTemplates","videoClickTrackingURLTemplates","videoCustomClickURLTemplates","trackingEvents","videoClickThroughURLTemplate","adVerifications","blockedAdCategories","icons","mediaFiles","g","required","adType","width","height","assetWidth","assetHeight","expandedWidth","expandedHeight","adSlotId","pxratio","renderingMode","staticResources","htmlResources","iframeResources","adParameters","altText","companionClickThroughURLTemplate","creativeType","value","xmlEncoded","v","duration","skipDelay","mezzanine","interactiveCreativeFile","closedCaptionFiles","charAt","fileURL","fileSize","deliveryType","mimeType","mediaType","codec","bitrate","minBitrate","maxBitrate","scalable","maintainAspectRatio","variableDuration","language","delivery","program","xPosition","yPosition","offset","staticResource","htmlResource","iframeResource","iconClickThroughURLTemplate","iconClickTrackingURLTemplates","iconViewTrackingURLTemplate","iconClickFallbackImages","hoverText","f","minSuggestedDuration","nonlinearClickThroughURLTemplate","nonlinearClickTrackingURLTemplates","T","A","name","children","keys","R","k","Wrapper","subElements","BlockedAdCategories","InLine","Category","Pricing","Verification","oneOfinLineResources","UniversalAdId","JavaScriptResource","ExecutableResource","Tracking","Creatives","Creative","Linear","MediaFiles","MediaFile","Mezzanine","NonLinear","Companion","StaticResource","Icons","Icon","y","N","parentName","parentNode","E","some","oneOfResources","b","join","message","parentElement","specVersion","w","L","toLowerCase","ad","I","C","wrongNode","U","adServingId","categories","expires","system","title","description","advertiser","pricing","survey","idRegistry","x","version","authority","viewable","notViewable","viewUndetermined","model","currency","nextWrapperURL","resource","vendor","browserOptional","parameters","S","constructor","this","_handlers","on","TypeError","event","handler","once","fired","wrapFn","off","bind","emit","removeAllListeners","listenerCount","listeners","eventNames","V","D","O","F","P","B","fetcher","super","maxWrapperDepth","rootErrorURLTemplates","remainingAds","parsingOptions","keepFailedAdPod","trackVastError","assign","getErrorURLTemplates","getEstimatedBitrate","initParsingStatus","wrapperLimit","rootURL","resetParsingStatus","byteLength","requestDuration","vastVersion","getRemainingAds","Promise","reject","Error","shift","resolveAds","wrapperDepth","then","buildVASTResponse","parseVAST","isRootVAST","parse","ads","completeWrapperResolving","parseVastXml","documentElement","adIndex","resolveAll","wrapperSequence","previousUrl","resolveWrappers","all","VASTAdTagURI","errorCode","fetchVAST","emitter","catch","errorMessage","ERRORMESSAGE","hasFailed","splice","M","W","data","getItem","setItem","removeItem","clear","j","storage","initStorage","localStorage","sessionStorage","isStorageDisabled","q","K","get","async","AbortController","setTimeout","abort","timeout","fetch","signal","credentials","withCredentials","finally","clearTimeout","status","ok","statusText","error","statusCode","DOMParser","resolve","index$1","xml","parseFromString","details","rawXml","H","URLTemplateFilters","setOptions","urlHandler","urlhandler","fetchingOptions","fetchOptions","Boolean","addURLTemplateFilter","removeLastURLTemplateFilter","pop","countURLTemplateFilters","clearURLTemplateFilters","wrapperAd","now","_","cappingFreeLunch","cappingMinimumTimeInterval","vastParser","lastSuccessfulAd","totalCalls","totalCallsTimeout","getParser","hasRemainingAds","getNextAds","z","creative","variation","muted","impressed","skippable","trackedProgressEvents","lastPercentage","_alreadyTriggeredQuartiles","emitAlwaysEvents","viewableImpressionTrackers","entries","_initLinearTracking","_initVariationTracking","linear","setDuration","clickThroughURLTemplate","clickTrackingURLTemplates","assetDuration","quartiles","firstQuartile","midpoint","thirdQuartile","setProgress","isQuartileReached","macros","progress","setMuted","setPaused","paused","setFullscreen","fullscreen","setExpand","expanded","setSkipDelay","trackImpression","trackURLs","trackViewableImpression","trackNotViewableImpression","trackUndeterminedImpression","errorWithCode","console","log","complete","notUsed","otherAdInteraction","acceptInvitation","adExpand","adCollapse","minimize","verificationNotExecuted","trackingURLTemplates","overlayViewDuration","ADPLAYHEAD","close","skip","load","click","progressFormatted","trackProgressEvents","time","urls","endsWith","ASSETURI","UNIVERSALADID","PODSEQUENCE","ADTYPE","ADSERVINGID","ADCATEGORIES","BLOCKEDADCATEGORIES","convertToTimecode","floor","enumerable","configurable","writable","defineProperty","key","prototype","followRedirects","vastAdData","adTagURI","customData","localName","templateType","uri","firstChild","nodeType","nextSibling","substring","global","timeOffset","breakType","breakId","repeatAfter","adSource","tracker","adBreaks","PluginBus","bus","cb","AdsPlugin","config","Set","sources","cfg","list","normalizeSources","breaks","hasExplicitPreroll","at","source","hasSourceVastOrVmap","allowNativeControls","resumeContent","preferredMediaTypes","debug","breakTolerance","interceptPlayForPreroll","autoPlayOnReady","mountEl","mountSelector","nonLinearContainer","nonLinearSelector","companionContainer","companionSelector","adSourcesMode","setup","ctx","events","vastClient","VASTClient","overlay","document","createElement","className","style","display","globalUnsubs","playedBreaks","startingBreak","clearSession","active","contentMedia","undefined","contentHadControls","leases","release","getOverlayManager","core","deactivate","overlayId","userPlayIntent","pendingPercentBreaks","vmapLoadPromise","vmapPending","pendingVmapSrc","rebuildSchedule","bindBreakScheduler","bindPrerollInterceptors","forcedMuteUntilInteraction","adVideo","volume","playAds","vastUrl","sourceType","inferSourceTypeForUrl","playBreakFromVast","kind","playAdsFromXml","vastXml","getDueMidrollBreaks","currentTime","media","toAdd","pb","atSec","percent","resolvedBreaks","due","getVastInputFromBreak","input","getBreakId","has","getDueMidrollBreak","destroy","finish","resume","remove","exact","every","resolveContainer","el","selector","found","querySelector","HTMLElement","getNonLinearContainer","resolvedNonLinearContainer","getCompanionContainer","resolvedCompanionContainer","getSource","getPrimaryVastLikeSource","isXmlString","getVastXmlText","XMLSerializer","serializeToString","String","res","buildParsedForNonLinearFromXml","xmlText","toXmlDocument","setSafeHTML","html","tpl","innerHTML","blockedTags","walker","createTreeWalker","content","NodeFilter","SHOW_ELEMENT","toRemove","nextNode","node","currentNode","tagName","attr","removeAttribute","isJs","isVbscript","isData","isHttp","isSafeDataImage","replaceChildren","cloneNode","args","warn","combined","vastLikeSources","vmap","preload","loadVmapAndMerge","normalizeVmapAdSource","extractVastTagUri","URI","existing","vmapSrc","xmlDoc","VMAP","vmapBreaks","prevPendingCount","rawAdBreakCount","ns","getElementsByTagNameNS","getElementsByTagName","rawOffset","pendingPercent","parseVmapTimeOffset","vastInline","vastTag","vast","libBreakCount","byTag","root","adBreakEls","adSrc","uriEls","dataEls","err","reason","resolveMount","closest","body","p","exec","hh","mm","ss","firstSource","getPostrollBreak","getPrerollBreak","hasExplicitPrerolls","primary","shouldInterceptPreroll","pre","state","current","maybeStartDeferredVmap","vmapWasPending","shouldInterceptNow","pause","userInteracted","guard","startBreak","onNativePlayCapture","addEventListener","capture","removeEventListener","onTime","earliestBreak","earliestAt","vmapOffset","tol","group","abs","max","startBreakGroup","onEnded","post","break","opts","waterfallSources","add","isLastWaterfall","suppressResumeOnError","suppressResumeOnSuccess","suppressResume","startedMain","playable","isBumper","isLast","extractAdsFromParsed","parsed","direct","vastResponse","adPods","adpods","flattened","pod","Ads","singlePod","adPod","adpod","singleAds","collectPodAds","out","seqRaw","seq","cidx","mediafiles","mf","pickBestMediaFile","skipOffset","extractSkipOffsetFromCreative","companions","companionAds","nonLinears","nonLinearAds","mediaFile","creativeIndex","as","MAX_SAFE_INTEGER","bs","collectPodAdsFromXml","doc","adEl","seqAttr","cEl","linearEl","mediaFilesEl","bitRate","rawEl","clearAdTracks","adTrackEls","buildCaptionsFromVastMediaFileRaw","mediaFileRaw","extractClosedCaptions","lang","srclang","label","toUpperCase","ensureRawCaptions","captions","attachAdCaptionTracks","vtt","created","default","appendChild","captionsSignature","listCaptionTracks","textTracks","item","captureActiveCaptionTrack","prevActiveCaptionSig","mode","restoreActiveTextTrack","sig","tracks","cc","ClosedCaptionFiles","closedCaptionFile","ClosedCaptionFile","mime_type","removeAdCaptions","normalized","raw","candidates","skipdelay","skipoffset","normalize","obj","parseTimecodeToSeconds","computeSkipAtSeconds","tc","ensureSkipDom","skipWrap","skipBtn","wrap","btn","onClick","onSkip","preventDefault","stopPropagation","EVENT_OPTIONS","sessionUnsubs","hideSkipUi","skipOffsetRaw","skipAtSeconds","setupSkipUIForPodItem","update","dur","skipAt","cur","remaining","ceil","pointerEvents","requestSkip","trackSkip","brk","currentBreakMeta","dispatchEvent","Event","clearAdOverlays","companionWrap","nonLinearWrap","mountCompanions","container","zIndex","flexDirection","gap","maxWidth","renderCompanion","childElementCount","companion","companionClickThrough","clickThrough","position","cursor","staticRes","StaticResources","iframeRes","iFrameResource","IFrameResource","iFrameResources","IFrameResources","htmlRes","HTMLResource","HTMLResources","img","ifr","border","div","safeWindowOpen","trackClick","trackClickThrough","collectNonLinearCreatives","nonLinear","NonLinearAds","NonLinears","nl","collectNonLinearFromXml","byLocalName","els","arr","firstChildText","compEls","nlEls","nonLinearClickThrough","playNonLinearOnlyBreakFromXml","items","meta","ensureOverlayMounted","maxDuration","it","ensureNonLinearDom","renderNonLinear","nonLinearSuggestedDurationSeconds","index","start","tick","elapsed","dismiss","left","right","bottom","justifyContent","nonLinearClickThroughURLTemplate","pickFirst","target","mountNonLinear","minSuggestedDurationSeconds","playNonLinearOnlyBreak","VASTTracker","_lastCreative","companionCreative","trackCreativeView","mountAdVideo","playsInline","contentPreload","forceMutedForPolicy","autoplay","controls","desiredMuted","desiredVolume","defaultMuted","min","adEndPromise","done","cleanupTakeover","onError","onVisibility","visibilityState","ended","play","overlayMgr","activate","priority","canSeek","fullscreenEl","fullscreenVideoEl","updateOverlay","bindAdSurfaceCommands","wantsAutoplayPath","vol","syncingVolume","bindTrackerAndTelemetry","started","lastMuted","lastPaused","emitDuration","q25","q50","q75","q100","emitQuartile","quartile","onPlaying","trackResume","trackStart","onPause","trackPause","remainingTime","pct","trackFirstQuartile","trackMidpoint","trackThirdQuartile","trackComplete","onVolume","trackMute","trackUnmute","ev","defaultPrevented","getClickThroughUrl","videoClicks","rawUrl","URL","href","open","mount","cs","getComputedStyle","inset","tryMountSimidLayer","simid","SIMID","simidLayer","urlsRaw","resources","simidUrls","iframe","requestPayload","resumeAfter","pauseAndAcquireLease","acquire","owner","rawDoc","loadRawDocBestEffort","XMLDocument","emitLoaded","count","nonLinearItems","xmlItems","endPromise","waitForAdEnd","startAdPlayback","tryPlay","p2","querySelectorAll","removeChild","shouldResume","OpenPlayerPlugins","factory","install","PlayerCtor","getOwnPropertyDescriptor","getPlugin","plugin","installAds","extend","player","extendAds","OpenPlayerJS","getCore","freeze","object","oc","MIME_TYPE","HTML","isHTML","XML_APPLICATION","XML_TEXT","XML_XHTML_APPLICATION","XML_SVG_IMAGE","NAMESPACE","SVG","XML","XMLNS","conventions","call","predicate","ac","require$$0","notEmptyString","orderedSetReducer","element","toOrderedSet","splitOnASCIIWhitespace","copy","dest","_extends","Class","Super","pt","NodeType","ELEMENT_NODE","ATTRIBUTE_NODE","TEXT_NODE","CDATA_SECTION_NODE","ENTITY_REFERENCE_NODE","ENTITY_NODE","PROCESSING_INSTRUCTION_NODE","COMMENT_NODE","DOCUMENT_NODE","DOCUMENT_TYPE_NODE","DOCUMENT_FRAGMENT_NODE","NOTATION_NODE","ExceptionCode","ExceptionMessage","INDEX_SIZE_ERR","DOMSTRING_SIZE_ERR","HIERARCHY_REQUEST_ERR","WRONG_DOCUMENT_ERR","INVALID_CHARACTER_ERR","NO_DATA_ALLOWED_ERR","NO_MODIFICATION_ALLOWED_ERR","NOT_FOUND_ERR","NOT_SUPPORTED_ERR","INUSE_ATTRIBUTE_ERR","DOMException","code","captureStackTrace","NodeList","LiveNodeList","refresh","_node","_refresh","_updateLiveList","inc","_inc","ownerDocument","ls","__set__","$$length","NamedNodeMap","_findNodeIndex","_addNamedNode","newAttr","oldAttr","ownerElement","_onRemoveAttribute","namespaceURI","_nsMap","prefix","_onAddAttribute","_removeNamedNode","lastIndex","DOMImplementation","Node","_xmlEncoder","_visitNode","callback","Document","_onUpdateChild","newChild","child","_removeChild","previous","previousSibling","next","lastChild","isDocTypeNode","isElementNode","isTextNode","isElementInsertionPossible","parentChildNodes","docTypeNode","isElementReplacementPossible","assertPreInsertionValidity1to5","parent","hasValidParentNodeType","hasInsertableNodeType","assertPreInsertionValidityInDocument","nodeChildNodes","nodeChildElements","parentElementChild","assertPreReplacementValidityInDocument","hasDoctypeChildThatIsNotChild","_insertBefore","_inDocumentAssertion","cp","newFirst","newLast","_updateOwnerDocument","newOwnerDocument","Element","Attr","CharacterData","Text","Comment","CDATASection","DocumentType","Notation","Entity","EntityReference","DocumentFragment","ProcessingInstruction","nodeSerializeToString","isHtml","nodeFilter","buf","refNode","lookupPrefix","visibleNamespaces","namespace","needNamespaceDefine","addSerializedAttribute","qualifiedName","attrs","len","prefixedNodeName","defaultNS","ai","nsi","pubid","publicId","sysid","systemId","sub","internalSubset","importNode","deep","node2","attrs2","_ownerElement","setAttributeNode","INVALID_STATE_ERR","SYNTAX_ERR","INVALID_MODIFICATION_ERR","NAMESPACE_ERR","INVALID_ACCESS_ERR","getNamedItem","setNamedItem","setNamedItemNS","getNamedItemNS","removeNamedItem","removeNamedItemNS","hasFeature","feature","createDocument","doctype","implementation","createElementNS","createDocumentType","insertBefore","refChild","replaceChild","oldChild","hasChildNodes","appendData","isSupported","hasAttributes","lookupNamespaceURI","isDefaultNamespace","importedNode","getElementById","rtv","getElementsByClassName","classNames","classNamesSet","base","nodeClassNames","matches","nodeClassNamesSet","createDocumentFragment","createTextNode","createComment","createCDATASection","createProcessingInstruction","createAttribute","specified","createEntityReference","pl","createAttributeNS","hasAttribute","getAttributeNode","removeAttributeNode","_appendSingleChild","setAttributeNodeNS","removeAttributeNS","old","getAttributeNodeNS","hasAttributeNS","getAttributeNS","setAttributeNS","substringData","insertData","replaceData","deleteData","splitText","newText","newNode","getTextContent","set","dom","exports","XML_ENTITIES","amp","apos","gt","lt","quot","HTML_ENTITIES","Aacute","aacute","Abreve","abreve","acd","acE","Acirc","acirc","acute","Acy","acy","AElig","aelig","af","Afr","afr","Agrave","agrave","alefsym","aleph","Alpha","alpha","Amacr","amacr","amalg","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","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","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","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","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","elinters","ell","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","fflig","ffllig","Ffr","ffr","filig","FilledSmallSquare","FilledVerySmallSquare","fjlig","flat","fllig","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","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","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","Igrave","igrave","ii","iiiint","iiint","iinfin","iiota","IJlig","ijlig","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","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","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","ltcc","ltcir","ltdot","lthree","ltimes","ltlarr","ltquest","ltri","ltrie","ltrif","ltrPar","lurdshar","luruhar","lvertneqq","lvnE","macr","male","malt","maltese","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","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","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","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","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","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","entityMap","nameStartChar","nameChar","tagNamePattern","ParseError","locator","XMLReader","copyLocator","lineNumber","columnNumber","parseElementStartPart","currentNSMap","entityReplacer","errorHandler","addAttribute","qname","startIndex","attributeNames","fatalError","addValue","attrName","warning","setTagName","closed","appendElement","domBuilder","localNSMap","qName","nsp","nsPrefix","_copy","startPrefixMapping","startElement","endElement","endPrefixMapping","parseHtmlSpecialContent","elStartEnd","elEndStart","characters","fixSelfClosed","closeMap","pos","parseDCC","end","comment","substr","startCDATA","endCDATA","matchs","lastMatch","startDTD","endDTD","parseInstruction","processingInstruction","ElementAttributes","defaultNSMap","startDocument","defaultNSMapCopy","fixedFromCharCode","surrogate1","surrogate2","fromCharCode","appendText","xt","lineEnd","linePattern","lineStart","parseStack","tagStart","currentElement","endMatch","locator2","endDocument","getLocalName","getLocator","getQName","getURI","getValue","sax","require$$1","entities","require$$2","require$$3","normalizeLineEndings","options","DOMHandler","cdata","_locator","_toString","chars","java","hander","xmlns","setDocumentLocator","errorImpl","isCallback","Function","build","fn","msg","buildErrorHandler","documentURI","ins","ignorableWhitespace","ch","apply","charNode","skippedEntity","comm","impl","dt","domParser","__DOMHandler","lib"],"mappings":"wjBAAA,SAASA,IAAI,IAAIA,EAAEC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,MAAM,CAACE,GAAGH,EAAEG,IAAI,KAAKC,KAAKJ,EAAEI,MAAM,KAAKC,SAASL,EAAEK,UAAU,KAAKC,aAAaN,EAAEM,cAAc,KAAKC,eAAe,GAAGC,mBAAmB,GAAG,CAAC,MAAMC,EAAE,CAAC,eAAe,UAAU,aAAa,cAAc,SAAS,gBAAgB,YAAY,WAAW,sBAAsB,mBAAmB,cAAc,mBAAmB,mBAAmB,mBAAmB,gBAAgB,WAAW,YAAY,WAAW,YAAY,kBAAkB,aAAa,WAAW,WAAW,SAAS,aAAa,cAAc,MAAM,UAAU,iBAAiB,UAAU,kBAAkB,YAAY,gBAAgB,cAAc,UAAU,gBAAgB,qBAAqB,aAAa,cAAc,cAAc,cAAc,aAAa,WAAW,gBAAgB,gBAAgB,eAAe,uBAAuB,SAASC,EAAEV,GAAG,IAAIS,EAAER,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAGS,EAAET,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,MAAMU,EAAE,GAAGC,EAAEC,EAAEb,IAAIS,EAAEK,WAAWJ,EAAEK,cAAc,aAAaC,KAAKP,EAAEK,aAAaL,EAAEK,UAAU,KAAKL,EAAEQ,aAAaC,EAAEC,KAAKC,MAAM,IAAID,KAAKE,WAAWZ,EAAEa,WAAU,IAAKC,MAAMC,cAAcf,EAAEgB,OAAOhB,EAAEY,OAAOZ,EAAEQ,aAAa,IAAI,MAAMjB,KAAKS,EAAEA,EAAET,GAAG0B,EAAEjB,EAAET,IAAI,IAAI,MAAMA,KAAKY,EAAE,CAAC,MAAMF,EAAEE,EAAEZ,GAAG,iBAAiBU,GAAGC,EAAEgB,KAAKC,EAAElB,EAAED,GAAG,CAAC,OAAOE,CAAC,CAAC,SAASiB,EAAE5B,EAAEU,GAAG,MAAMkB,GAAG5B,EAAEW,EAAEX,EAAEU,IAAImB,MAAM,iBAAiB,IAAID,EAAE,OAAO5B,EAAE,IAAIa,EAAEe,EAAEE,OAAQ9B,GAAGS,EAAEsB,QAAQ/B,IAAG,GAAK,OAAO,IAAIa,EAAEX,OAAOF,GAAGa,EAAEA,EAAEmB,OAAM,CAAGhC,EAAES,KAAKT,EAAES,IAAG,EAAGT,GAAI,CAAA,GAAIW,EAAEX,EAAEa,GAAG,CAAC,SAASF,EAAEX,EAAES,GAAG,IAAIC,EAAEV,EAAE,IAAI,MAAMA,KAAKS,EAAE,CAAC,MAAMmB,EAAEnB,EAAET,GAAGU,EAAEA,EAAEuB,QAAQ,IAAIC,OAAO,cAAcC,OAAOnC,EAAE,eAAe,KAAK4B,EAAE,CAAC,OAAOlB,CAAC,CAAC,SAASG,EAAEb,GAAG,OAAOoC,MAAMC,QAAQrC,GAAGA,EAAEsC,IAAKtC,GAAGA,GAAGA,EAAEuC,eAAe,OAAOvC,EAAEwC,IAAIxC,GAAIA,CAAC,CAAC,SAASY,EAAEZ,GAAG,MAAM,sBAAsBgB,KAAKhB,EAAE,CAAC,SAASyC,EAAEzC,EAAES,GAAG,IAAI,IAAIC,EAAE,EAAEA,EAAED,EAAEP,OAAOQ,IAAI,GAAGgC,EAAEjC,EAAEC,GAAGV,GAAG,OAAM,EAAG,OAAM,CAAE,CAAC,SAAS0C,EAAE1C,EAAES,GAAG,GAAGT,GAAGS,EAAE,CAAC,MAAMC,EAAEiC,OAAOC,oBAAoB5C,GAAG4B,EAAEe,OAAOC,oBAAoBnC,GAAG,OAAOC,EAAER,SAAS0B,EAAE1B,QAASF,EAAEG,KAAKM,EAAEN,IAAIH,EAAEwC,MAAM/B,EAAE+B,GAAI,CAAC,OAAM,CAAE,CAAC,SAASd,EAAE1B,GAAG,OAAO6C,mBAAmB7C,GAAGiC,QAAQ,WAAYjC,GAAG,IAAImC,OAAOnC,EAAE8C,WAAW,GAAGC,SAAS,KAAM,CAAC,SAAS7B,EAAElB,GAAG,IAAIS,EAAER,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,EAAE,OAAOD,EAAE+C,WAAWC,SAASvC,EAAE,IAAI,CAAC,MAAMwC,EAAE,CAACC,MAAM,SAASlD,EAAES,EAAEmB,GAAGlB,EAAEV,EAAES,EAAEmB,GAAGuB,QAASnD,IAAO,oBAAoBoD,QAAQ,OAAOA,UAAQ,IAAKC,OAAOC,IAAItD,EAAG,EAAE,EAAEuD,oBAAoB7C,EAAE8C,yBAAyB3C,EAAE4C,mBAAmB,SAASzD,GAAG,OAAOA,EAAEgC,OAAM,CAAGhC,EAAES,KAAK,MAAMC,EAAED,EAAE+B,KAAK/B,EAAE,OAAOG,EAAEF,GAAGV,EAAE0D,UAAU/B,KAAKjB,GAAGV,EAAE2D,YAAYhC,KAAKjB,GAAGV,CAAE,EAAE,CAAC0D,UAAU,GAAGC,YAAY,IAAI,EAAEC,uBAAuBnB,EAAEoB,sBAAsBnB,EAAEoB,0BAA0BpC,EAAEqC,iBAAiBnC,EAAEoC,UAAU,SAAShE,GAAG,OAAOiE,MAAMC,WAAWlE,KAAKmE,SAASnE,EAAE,EAAEoE,QAAQ,SAASpE,EAAES,GAAG,OAAOA,EAAEuB,OAAM,CAAGvB,EAAEC,IAAID,EAAE0B,OAAOC,MAAMC,QAAQ3B,GAAGV,EAAEU,GAAGA,GAAI,GAAG,EAAE2D,8BAA8B,WAAW,IAAIrE,EAAEC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAGQ,EAAER,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG,MAAMS,EAAE0B,MAAMC,QAAQrC,GAAGA,EAAE,GAAG4B,EAAEQ,MAAMC,QAAQ5B,GAAGA,EAAE,GAAG,OAAOC,EAAEyB,OAAOP,GAAGI,OAAM,CAAGhC,EAAES,KAAKgC,EAAEhC,EAAET,IAAIA,EAAE2B,KAAKlB,GAAGT,GAAI,GAAG,EAAEsE,iBAAiB,SAAStE,GAAG,OAAOuE,OAAOJ,SAASnE,IAAIA,IAAG,CAAE,EAAEwE,gBAAgBtD,EAAEuD,WAAW7D,EAAE8D,qBAAqB,WAAW,MAAM,oBAAoBtB,MAAM,EAAEuB,mBAAmB,SAAS3E,GAAG,MAAM,iBAAiBA,EAAEA,EAAE4E,KAAKC,UAAU7E,EAAE,GAAG,SAAS8E,EAAE9E,GAAG,MAAM,CAAC,OAAO,OAAO,OAAO,KAAK+E,SAAS/E,EAAE,CAAgU,MAAMgF,EAAE,CAACC,YAAY,SAASjF,EAAES,GAAG,OAAO2B,MAAM8C,KAAKlF,EAAEmF,YAAYC,KAAMpF,GAAGA,EAAEqF,WAAW5E,EAAG,EAAE6E,eAAe,SAAStF,EAAES,GAAG,OAAO2B,MAAM8C,KAAKlF,EAAEmF,YAAYrD,OAAQ9B,GAAGA,EAAEqF,WAAW5E,EAAG,EAAE8E,oBAAoB,SAASvF,EAAES,GAAG,IAAIA,EAAE,OAAOT,EAAE,GAAGA,EAAEwF,WAAW,MAAM,CAAC,MAAMC,SAAShF,GAAGiF,SAAS,MAAM,GAAGvD,OAAO1B,GAAG0B,OAAOnC,EAAE,CAAC,IAAIA,EAAE+E,SAAS,OAAO,CAAC,MAAMrE,EAAED,EAAEkF,MAAM,EAAElF,EAAEmF,YAAY,MAAM,MAAM,GAAGzD,OAAOzB,EAAE,KAAKyB,OAAOnC,EAAE,CAAC,OAAOA,CAAC,EAAE6F,aAAaf,EAAEgB,cAAc,SAAS9F,GAAG,OAAOA,IAAIA,EAAE+F,aAAa/F,EAAEgG,MAAM,IAAIC,MAAM,EAAEC,kBAAkB,SAASlG,EAAES,EAAEC,GAAG,MAAMkB,EAAEnB,EAAE0F,aAAanG,GAAG4B,GAAGlB,EAAE0F,aAAapG,EAAE4B,EAAE,EAAEyE,gBAAgB,SAASrG,GAAG,OAAOoC,MAAM8C,KAAKlF,EAAEsG,YAAYtE,OAAM,CAAGhC,EAAES,KAAKT,EAAES,EAAE4E,UAAU5E,EAAE8F,UAAUvG,GAAI,CAAA,EAAG,EAAEwG,cAAz/B,SAAWxG,GAAG,GAAG,MAAMA,EAAE,OAAM,EAAG,GAAGiD,EAAEe,UAAUhE,GAAG,OAAOyG,SAASzG,GAAG,MAAMS,EAAET,EAAE0G,MAAM,KAAK,GAAG,IAAIjG,EAAEP,OAAO,OAAM,EAAG,MAAMQ,EAAED,EAAE,GAAGiG,MAAM,KAAK,IAAI9E,EAAE6E,SAAS/F,EAAE,IAAI,IAAIA,EAAER,SAAS0B,GAAGsC,WAAW,KAAK/B,OAAOzB,EAAE,MAAM,MAAMC,EAAE8F,SAAS,GAAGhG,EAAE,IAAII,EAAE4F,SAAS,GAAGhG,EAAE,GAAG,IAAI,OAAOwD,MAAMpD,IAAIoD,MAAMtD,IAAIsD,MAAMrC,IAAIjB,EAAE,MAAMiB,EAAE,IAAG,EAAGf,EAAEF,EAAEiB,CAAC,EAA2sB+E,iBAAiB,WAAW,OAAO1G,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,IAAI6B,OAAQ9B,IAAIyG,SAASzG,EAAEK,SAAS,IAAK,EAAEuG,gBAAgB,WAAW,OAAO3G,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,IAAI6B,OAAQ9B,GAAGyG,SAASzG,EAAEK,SAAS,KAAMwG,KAAI,CAAG7G,EAAES,IAAIT,EAAEK,SAASI,EAAEJ,SAAU,EAAEyG,iBAAiB,SAAS9G,EAAES,GAAGT,GAAGoC,MAAM8C,KAAKlF,GAAGmD,QAASnD,IAAI,IAAIqF,SAAS3E,EAAE6F,UAAU3E,GAAG5B,EAAE,GAAGU,GAAGkB,GAAGnB,EAAE8B,eAAe7B,GAAG,CAAC,IAAIV,EAAE4B,EAAE,kBAAkBnB,EAAEC,KAAKV,EAAE8E,EAAE9E,IAAIS,EAAEC,GAAGV,CAAC,CAAE,EAAE,EAAE+G,mBAAmB,SAAS/G,EAAES,GAAG,IAAIC,EAAEV,EAAEgH,kBAAkBvG,EAAEuG,kBAAkB7E,OAAOnC,EAAEgH,mBAAmBhH,EAAEiH,uBAAuBxG,EAAEwG,uBAAuB9E,OAAOnC,EAAEiH,wBAAwBjH,EAAEkH,WAAWzG,EAAEyG,WAAW/E,OAAOnC,EAAEkH,YAAYzG,EAAE0G,mBAAmBjH,OAAO,IAAIF,EAAEmH,mBAAmB,IAAInH,EAAEmH,sBAAsB1G,EAAE0G,qBAAqBnH,EAAEoH,yBAAyB3G,EAAE2G,yBAAyBpH,EAAEqH,iBAAiB5G,EAAE4G,iBAAiBrH,EAAEsH,eAAe7G,EAAE6G,eAAe,MAAM1F,GAAGnB,EAAE8G,WAAW,IAAIzF,OAAQ9B,GAAGA,GAAG,cAAcA,EAAEwH,MAAO7G,EAAEiB,EAAEI,OAAM,CAAGhC,EAAES,MAAMA,EAAEgH,YAAY,IAAItE,QAAS1C,KAAKA,EAAEiH,oCAAoC,IAAIvE,QAAS1C,IAAIwC,EAAEW,uBAAuBnD,EAAET,IAAIA,EAAE2B,KAAKlB,EAAG,EAAG,GAAGT,GAAI,IAAIA,EAAEuH,UAAU3F,EAAEO,OAAOnC,EAAEuH,WAAW,MAAM1G,EAAEJ,EAAEkH,gCAAgClH,EAAEkH,+BAA+BzH,OAAOU,EAAEH,EAAEmH,8BAA8BnH,EAAEmH,6BAA6B1H,OAAO,GAAGF,EAAEuH,UAAUpE,QAASnD,IAAI,GAAGS,EAAEoH,gBAAgBpH,EAAEoH,eAAe7H,EAAEwH,MAAM,IAAI,MAAM9G,KAAKD,EAAEoH,eAAe7H,EAAEwH,MAAM,CAAC,MAAM5F,EAAEnB,EAAEoH,eAAe7H,EAAEwH,MAAM9G,GAAG0B,MAAMC,QAAQrC,EAAE6H,eAAenH,MAAMV,EAAE6H,eAAenH,GAAG,IAAIV,EAAE6H,eAAenH,GAAGV,EAAE6H,eAAenH,GAAGyB,OAAOP,EAAE,CAAC,WAAW5B,EAAEwH,OAAO3G,IAAIb,EAAE2H,+BAA+B3H,EAAE2H,+BAA+BxF,OAAO1B,EAAEkH,iCAAiC/G,IAAIZ,EAAE4H,6BAA6B5H,EAAE4H,6BAA6BzF,OAAO1B,EAAEmH,gCAAgCnH,EAAEqH,8BAA8B,OAAO9H,EAAE8H,mCAA8B,IAAS9H,EAAE8H,+BAA+B9H,EAAE8H,6BAA6BrH,EAAEqH,+BAA+B,cAAc9H,EAAEwH,MAAM7G,EAAET,SAASF,EAAEyH,YAAY,IAAItE,QAASnD,IAAIA,EAAE0H,mCAAmCzE,EAAEoB,8BAA8BrE,EAAE0H,mCAAmC/G,EAAG,EAAG,GAAGF,EAAEsH,kBAAkB/H,EAAE+H,gBAAgB/H,EAAE+H,gBAAgB5F,OAAO1B,EAAEsH,kBAAkBtH,EAAEuH,sBAAsBhI,EAAEgI,oBAAoBhI,EAAEgI,oBAAoB7F,OAAO1B,EAAEuH,sBAAsB,QAAQtH,EAAED,EAAE8G,iBAAY,IAAS7G,GAAGA,EAAER,OAAO,CAAC,MAAMQ,EAAED,EAAE8G,UAAUzF,OAAQ9B,IAAI,IAAIS,EAAE,OAAO,QAAQA,EAAET,EAAEiI,aAAQ,IAASxH,OAAE,EAAOA,EAAEP,UAAUF,EAAEkI,WAAWhI,MAAO,GAAGQ,EAAER,SAASF,EAAEuH,UAAUvH,EAAEuH,UAAUpF,OAAOzB,GAAG,CAAC,GAAG,SAASyH,EAAE1H,EAAEC,GAAG,MAAMkB,EAAE,WAAW,IAAInB,EAAER,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,MAAME,GAAGO,EAAEN,KAAKwB,EAAEvB,SAASM,EAAEL,aAAaO,GAAGb,EAAES,GAAG,MAAM,CAACN,GAAGO,EAAEN,KAAKwB,EAAEvB,SAASM,EAAEL,aAAaO,EAAE2G,KAAK,YAAYY,SAAS,KAAKX,WAAW,GAAG,CAAvN,CAAyN/G,GAAG,OAAOkB,EAAEwG,SAAS3H,EAAE0F,aAAa,aAAa,KAAKvE,EAAE6F,WAAWzC,EAAEM,eAAe7E,EAAE,aAAa6B,IAAKtC,IAAI,MAAMS,EAAE,WAAW,IAAIT,EAAEC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,MAAM,CAACE,GAAGH,EAAEG,IAAI,KAAKkI,OAAO,cAAcC,MAAMtI,EAAEsI,OAAO,EAAEC,OAAOvI,EAAEuI,QAAQ,EAAEC,WAAWxI,EAAEwI,YAAY,KAAKC,YAAYzI,EAAEyI,aAAa,KAAKC,cAAc1I,EAAE0I,eAAe,KAAKC,eAAe3I,EAAE2I,gBAAgB,KAAKrI,aAAaN,EAAEM,cAAc,KAAKsI,SAAS5I,EAAE4I,UAAU,KAAKC,QAAQ7I,EAAE6I,SAAS,IAAIC,cAAc9I,EAAE8I,eAAe,UAAUC,gBAAgB,GAAGC,cAAc,GAAGC,gBAAgB,GAAGC,aAAa,KAAKC,QAAQ,KAAKC,iCAAiC,KAAK1B,mCAAmC,GAAGG,eAAe,CAAA,EAAG,CAAjlB,CAAmlB7C,EAAEqB,gBAAgBrG,IAAIS,EAAEuI,cAAchE,EAAEM,eAAetF,EAAE,gBAAgBgC,OAAM,CAAGhC,EAAES,KAAK,MAAMC,EAAEsE,EAAEc,cAAcrF,GAAG,OAAOC,EAAEV,EAAEmC,OAAOzB,GAAGV,CAAE,EAAE,IAAIS,EAAEwI,gBAAgBjE,EAAEM,eAAetF,EAAE,kBAAkBgC,OAAM,CAAGhC,EAAES,KAAK,MAAMC,EAAEsE,EAAEc,cAAcrF,GAAG,OAAOC,EAAEV,EAAEmC,OAAOzB,GAAGV,CAAE,EAAE,IAAIS,EAAEsI,gBAAgB/D,EAAEM,eAAetF,EAAE,kBAAkBgC,OAAM,CAAGhC,EAAES,KAAK,MAAMC,EAAEsE,EAAEc,cAAcrF,GAAG,OAAOC,EAAEV,EAAEmC,OAAO,CAACK,IAAI9B,EAAE2I,aAAa5I,EAAE0F,aAAa,iBAAiB,OAAOnG,CAAE,EAAE,IAAIS,EAAE0I,QAAQnE,EAAEc,cAAcd,EAAEC,YAAYjF,EAAE,aAAa,KAAK,MAAMU,EAAEsE,EAAEC,YAAYjF,EAAE,kBAAkBU,GAAGsE,EAAEM,eAAe5E,EAAE,YAAYyC,QAASnD,IAAI,MAAMU,EAAEV,EAAEmG,aAAa,SAASvE,EAAEoD,EAAEc,cAAc9F,GAAGU,GAAGkB,IAAIQ,MAAMC,QAAQ5B,EAAEoH,eAAenH,MAAMD,EAAEoH,eAAenH,GAAG,IAAID,EAAEoH,eAAenH,GAAGiB,KAAKC,GAAI,GAAGnB,EAAEiH,mCAAmC1C,EAAEM,eAAetF,EAAE,0BAA0BsC,IAAKtC,IAAC,CAAIG,GAAGH,EAAEmG,aAAa,OAAO,KAAK3D,IAAIwC,EAAEc,cAAc9F,MAAOS,EAAE2I,iCAAiCpE,EAAEc,cAAcd,EAAEC,YAAYjF,EAAE,2BAA2B,KAAK,MAAM4B,EAAEoD,EAAEC,YAAYjF,EAAE,gBAAgB,OAAO4B,IAAInB,EAAEyI,aAAa,CAACI,MAAMtE,EAAEc,cAAclE,GAAG2H,WAAW3H,EAAEuE,aAAa,eAAe,OAAO1F,CAAE,GAAGmB,CAAC,CAAC,SAAS4H,EAAE/I,EAAEC,GAAG,IAAIkB,EAAE,MAAMjB,EAAE,WAAW,IAAIF,EAAER,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,MAAME,GAAGO,EAAEN,KAAKwB,EAAEvB,SAASM,EAAEL,aAAaO,GAAGb,EAAES,GAAG,MAAM,CAACN,GAAGO,EAAEN,KAAKwB,EAAEvB,SAASM,EAAEL,aAAaO,EAAE2G,KAAK,SAASiC,SAAS,EAAEC,UAAU,KAAKxB,WAAW,GAAGyB,UAAU,KAAKC,wBAAwB,KAAKC,mBAAmB,GAAG/B,6BAA6B,KAAKH,+BAA+B,GAAGC,6BAA6B,GAAGsB,aAAa,KAAKjB,MAAM,GAAGJ,eAAe,CAAA,EAAG,CAAnb,CAAqbnH,GAAGC,EAAE8I,SAASzE,EAAEwB,cAAcxB,EAAEc,cAAcd,EAAEC,YAAYxE,EAAE,cAAc,MAAMI,EAAEJ,EAAE0F,aAAa,cAAc,GAAG,MAAMtF,EAAEF,EAAE+I,UAAU,UAAU,GAAG,MAAM7I,EAAEiJ,OAAOjJ,EAAEX,OAAO,KAAI,IAAKS,EAAE8I,SAAS,CAAC,MAAMzJ,EAAEyG,SAAS5F,EAAE,IAAIF,EAAE+I,UAAU/I,EAAE8I,UAAUzJ,EAAE,IAAI,MAAMW,EAAE+I,UAAU1E,EAAEwB,cAAc3F,GAAG,MAAMD,EAAEoE,EAAEC,YAAYxE,EAAE,eAAe,GAAGG,EAAE,CAAC,MAAMZ,EAAEgF,EAAEC,YAAYrE,EAAE,gBAAgBD,EAAEmH,6BAA6B9H,EAAE,CAACG,GAAGH,EAAEmG,aAAa,OAAO,KAAK3D,IAAIwC,EAAEc,cAAc9F,IAAI,KAAKgF,EAAEM,eAAe1E,EAAE,iBAAiBuC,QAASnD,IAAIW,EAAEgH,+BAA+BhG,KAAK,CAACxB,GAAGH,EAAEmG,aAAa,OAAO,KAAK3D,IAAIwC,EAAEc,cAAc9F,IAAK,GAAGgF,EAAEM,eAAe1E,EAAE,eAAeuC,QAASnD,IAAIW,EAAEiH,6BAA6BjG,KAAK,CAACxB,GAAGH,EAAEmG,aAAa,OAAO,KAAK3D,IAAIwC,EAAEc,cAAc9F,IAAK,EAAE,CAAC,MAAMyC,EAAEuC,EAAEC,YAAYxE,EAAE,gBAAgBgC,IAAI9B,EAAEuI,aAAa,CAACI,MAAMtE,EAAEc,cAAcrD,GAAG8G,WAAW9G,EAAE0D,aAAa,eAAe,OAAOnB,EAAEM,eAAe7E,EAAE,kBAAkB0C,QAASnD,IAAIgF,EAAEM,eAAetF,EAAE,YAAYmD,QAASnD,IAAI,IAAIS,EAAET,EAAEmG,aAAa,SAAS,MAAMzF,EAAEsE,EAAEc,cAAc9F,GAAG,GAAGS,GAAGC,EAAE,CAAC,GAAG,aAAaD,EAAE,CAAC,GAAGmB,EAAE5B,EAAEmG,aAAa,WAAWvE,EAAE,OAAOnB,EAAE,MAAMmB,EAAEkI,OAAOlI,EAAE1B,OAAO,GAAG,YAAYiC,OAAOP,GAAG,YAAYO,OAAO6C,EAAEwB,cAAc5E,GAAG,CAACQ,MAAMC,QAAQ1B,EAAEkH,eAAepH,MAAME,EAAEkH,eAAepH,GAAG,IAAIE,EAAEkH,eAAepH,GAAGkB,KAAKjB,EAAE,CAAE,EAAG,GAAGsE,EAAEM,eAAe7E,EAAE,cAAc0C,QAASnD,IAAIgF,EAAEM,eAAetF,EAAE,aAAamD,QAASnD,IAAIW,EAAEuH,WAAWvG,KAAK,SAAS3B,GAAG,MAAMS,EAAE,CAACN,GAAG,KAAK4J,QAAQ,KAAKC,SAAS,EAAEC,aAAa,cAAcC,SAAS,KAAKC,UAAU,KAAKC,MAAM,KAAKC,QAAQ,EAAEC,WAAW,EAAEC,WAAW,EAAEjC,MAAM,EAAEC,OAAO,EAAEjI,aAAa,KAAKkK,SAAS,KAAKC,oBAAoB,MAAMhK,EAAEN,GAAGH,EAAEmG,aAAa,MAAM1F,EAAEsJ,QAAQ/E,EAAEc,cAAc9F,GAAGS,EAAEwJ,aAAajK,EAAEmG,aAAa,YAAY1F,EAAE2J,MAAMpK,EAAEmG,aAAa,SAAS1F,EAAEyJ,SAASlK,EAAEmG,aAAa,QAAQ1F,EAAE0J,UAAUnK,EAAEmG,aAAa,cAAc,KAAK1F,EAAEH,aAAaN,EAAEmG,aAAa,gBAAgB1F,EAAEuJ,SAASvD,SAASzG,EAAEmG,aAAa,aAAa,GAAG1F,EAAE4J,QAAQ5D,SAASzG,EAAEmG,aAAa,YAAY,GAAG1F,EAAE6J,WAAW7D,SAASzG,EAAEmG,aAAa,eAAe,GAAG1F,EAAE8J,WAAW9D,SAASzG,EAAEmG,aAAa,eAAe,GAAG1F,EAAE6H,MAAM7B,SAASzG,EAAEmG,aAAa,UAAU,GAAG1F,EAAE8H,OAAO9B,SAASzG,EAAEmG,aAAa,WAAW,GAAG,MAAMzF,EAAEV,EAAEmG,aAAa,YAAYzF,GAAG,iBAAiBA,IAAID,EAAE+J,SAASxF,EAAEa,aAAanF,IAAI,MAAMkB,EAAE5B,EAAEmG,aAAa,uBAAwF,OAAjEvE,GAAG,iBAAiBA,IAAInB,EAAEgK,oBAAoBzF,EAAEa,aAAajE,IAAWnB,CAAC,CAAp+B,CAAs+BT,GAAI,GAAG,MAAMS,EAAEuE,EAAEC,YAAYjF,EAAE,2BAA2BS,IAAIE,EAAEiJ,wBAAwB,SAAS5J,GAAG,MAAMS,EAAE,WAAW,IAAIT,EAAEC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,MAAM,CAACuH,KAAKxH,EAAEwH,MAAM,KAAKlH,aAAaN,EAAEM,cAAc,KAAKoK,iBAAiB1F,EAAEa,aAAa7F,EAAE0K,kBAAkBX,QAAQ,KAAK,CAAvM,CAAyM/E,EAAEqB,gBAAgBrG,IAAI,OAAOS,EAAEsJ,QAAQ/E,EAAEc,cAAc9F,GAAGS,CAAC,CAAxR,CAA0RA,IAAI,MAAMC,EAAEsE,EAAEC,YAAYjF,EAAE,sBAAsBU,GAAGsE,EAAEM,eAAe5E,EAAE,qBAAqByC,QAASnD,IAAI,MAAMS,EAAE,WAAW,IAAIT,EAAEC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,MAAM,CAACuH,KAAKxH,EAAEwH,MAAM,KAAKmD,SAAS3K,EAAE2K,UAAU,KAAKZ,QAAQ,KAAK,CAA3I,CAA6I/E,EAAEqB,gBAAgBrG,IAAIS,EAAEsJ,QAAQ/E,EAAEc,cAAc9F,GAAGW,EAAEkJ,mBAAmBlI,KAAKlB,EAAG,GAAG,MAAMmB,EAAEoD,EAAEC,YAAYjF,EAAE,aAAaa,EAAE,SAASb,GAAK,MAAMU,EAAE,CAAA,EAAG,IAAIkB,GAAE,EAAG,MAAsF,CAAC,WAAW,OAAO,QAAQ,UAAxGuB,QAAS1C,IAAIT,GAAGA,EAAEmG,aAAa1F,GAAGC,EAAED,GAAGT,EAAEmG,aAAa1F,GAAGmB,GAAE,CAAG,GAAGA,EAAE,KAAKlB,CAAC,CAApH,CAAsHkB,GAAwC,GAAGf,EAAE,CAAC,MAAMb,EAAE,CAACG,GAAG,KAAK4J,QAAQ,KAAKa,SAAS,KAAKR,MAAM,KAAK5C,KAAK,KAAKc,MAAM,EAAEC,OAAO,EAAEyB,SAAS,EAAEG,UAAU,MAAMnK,EAAEG,GAAGyB,EAAEuE,aAAa,MAAMnG,EAAE+J,QAAQ/E,EAAEc,cAAclE,GAAG5B,EAAE4K,SAAS/J,EAAE+J,SAAS5K,EAAEoK,MAAMxI,EAAEuE,aAAa,SAASnG,EAAEwH,KAAK3G,EAAE2G,KAAKxH,EAAEsI,MAAM7B,SAAS5F,EAAEyH,MAAM,IAAItI,EAAEuI,OAAO9B,SAAS5F,EAAE0H,OAAO,IAAIvI,EAAEgK,SAASvD,SAAS7E,EAAEuE,aAAa,YAAY,IAAInG,EAAEmK,UAAUvI,EAAEuE,aAAa,cAAc,KAAKxF,EAAEgJ,UAAU3J,CAAC,CAAE,GAAG,MAAM0C,EAAEsC,EAAEC,YAAYxE,EAAE,SAAS,OAAOiC,GAAGsC,EAAEM,eAAe5C,EAAE,QAAQS,QAASnD,IAAIW,EAAEsH,MAAMtG,KAAK,SAAS3B,GAAG,MAAMS,EAAE,CAACoK,QAAQ,KAAKtC,OAAO,EAAED,MAAM,EAAEwC,UAAU,EAAEC,UAAU,EAAEzK,aAAa,KAAK0K,OAAO,KAAKvB,SAAS,EAAEjC,KAAK,KAAKyD,eAAe,KAAKC,aAAa,KAAKC,eAAe,KAAKtC,QAAQ,IAAIuC,4BAA4B,KAAKC,8BAA8B,GAAGC,4BAA4B,KAAKC,wBAAwB,GAAGpC,QAAQ,KAAKqC,UAAU,MAAM/K,EAAEoK,QAAQ7K,EAAEmG,aAAa,WAAW1F,EAAE8H,OAAO9B,SAASzG,EAAEmG,aAAa,WAAW,GAAG1F,EAAE6H,MAAM7B,SAASzG,EAAEmG,aAAa,UAAU,GAAG1F,EAAEqK,UAAU,SAAS9K,GAAG,OAAG,IAAK,CAAC,OAAO,SAAS+B,QAAQ/B,GAAUA,EAASyG,SAASzG,GAAG,EAAE,CAA9E,CAAgFA,EAAEmG,aAAa,cAAc1F,EAAEsK,UAAU,SAAS/K,GAAG,OAAG,IAAK,CAAC,MAAM,UAAU+B,QAAQ/B,GAAUA,EAASyG,SAASzG,GAAG,EAAE,CAA9E,CAAgFA,EAAEmG,aAAa,cAAc1F,EAAEH,aAAaN,EAAEmG,aAAa,gBAAgB1F,EAAEoI,QAAQ7I,EAAEmG,aAAa,YAAY,IAAI1F,EAAEuK,OAAOhG,EAAEwB,cAAcxG,EAAEmG,aAAa,WAAW1F,EAAEgJ,SAASzE,EAAEwB,cAAcxG,EAAEmG,aAAa,aAAa1F,EAAE0I,QAAQnJ,EAAEmG,aAAa,WAAW1F,EAAE+K,UAAUxL,EAAEmG,aAAa,aAAanB,EAAEM,eAAetF,EAAE,gBAAgBmD,QAASnD,IAAIS,EAAE+G,KAAKxH,EAAEmG,aAAa,iBAAiB,YAAY1F,EAAEyK,aAAalG,EAAEc,cAAc9F,EAAG,GAAGgF,EAAEM,eAAetF,EAAE,kBAAkBmD,QAASnD,IAAIS,EAAE+G,KAAKxH,EAAEmG,aAAa,iBAAiB,EAAE1F,EAAE0K,eAAenG,EAAEc,cAAc9F,EAAG,GAAGgF,EAAEM,eAAetF,EAAE,kBAAkBmD,QAASnD,IAAIS,EAAE+G,KAAKxH,EAAEmG,aAAa,iBAAiB,EAAE1F,EAAEwK,eAAejG,EAAEc,cAAc9F,EAAG,GAAG,MAAMU,EAAEsE,EAAEC,YAAYjF,EAAE,cAAc,GAAGU,EAAE,CAACD,EAAE2K,4BAA4BpG,EAAEc,cAAcd,EAAEC,YAAYvE,EAAE,qBAAqBsE,EAAEM,eAAe5E,EAAE,qBAAqByC,QAASnD,IAAIS,EAAE4K,8BAA8B1J,KAAK,CAACxB,GAAGH,EAAEmG,aAAa,OAAO,KAAK3D,IAAIwC,EAAEc,cAAc9F,IAAK,GAAG,MAAMA,EAAEgF,EAAEC,YAAYvE,EAAE,2BAA2BV,GAAGgF,EAAEM,eAAetF,EAAE,0BAA0BmD,QAASnD,IAAIS,EAAE8K,wBAAwB5J,KAAK,CAACa,IAAIwC,EAAEc,cAAc9F,IAAI,KAAKsI,MAAMtI,EAAEmG,aAAa,UAAU,KAAKoC,OAAOvI,EAAEmG,aAAa,WAAW,MAAO,EAAE,CAAC,OAAO1F,EAAE6K,4BAA4BtG,EAAEc,cAAcd,EAAEC,YAAYjF,EAAE,qBAAqBS,CAAC,CAAr9D,CAAu9DT,GAAI,GAAGW,CAAC,CAAC,SAAS8K,EAAEhL,EAAEC,GAAG,MAAMkB,EAAE,WAAW,IAAInB,EAAER,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,MAAME,GAAGO,EAAEN,KAAKwB,EAAEvB,SAASM,EAAEL,aAAaO,GAAGb,EAAES,GAAG,MAAM,CAACN,GAAGO,EAAEN,KAAKwB,EAAEvB,SAASM,EAAEL,aAAaO,EAAE2G,KAAK,YAAYC,WAAW,GAAGI,eAAe,CAAA,EAAG,CAA3N,CAA6NnH,GAAG,OAAOsE,EAAEM,eAAe7E,EAAE,kBAAkB0C,QAASnD,IAAI,IAAIS,EAAEC,EAAEsE,EAAEM,eAAetF,EAAE,YAAYmD,QAASnD,IAAIS,EAAET,EAAEmG,aAAa,SAASzF,EAAEsE,EAAEc,cAAc9F,GAAGS,GAAGC,IAAI0B,MAAMC,QAAQT,EAAEiG,eAAepH,MAAMmB,EAAEiG,eAAepH,GAAG,IAAImB,EAAEiG,eAAepH,GAAGkB,KAAKjB,GAAI,EAAG,GAAGsE,EAAEM,eAAe7E,EAAE,aAAa0C,QAASnD,IAAI,MAAMS,EAAE,CAACN,GAAG,KAAKmI,MAAM,EAAEC,OAAO,EAAEG,cAAc,EAAEC,eAAe,EAAE6B,UAAS,EAAGC,qBAAoB,EAAGiB,qBAAqB,EAAEpL,aAAa,SAAS+H,OAAO,cAAcb,KAAK,KAAKyD,eAAe,KAAKC,aAAa,KAAKC,eAAe,KAAKQ,iCAAiC,KAAKC,mCAAmC,GAAG1C,aAAa,MAAMzI,EAAEN,GAAGH,EAAEmG,aAAa,OAAO,KAAK1F,EAAE6H,MAAMtI,EAAEmG,aAAa,SAAS1F,EAAE8H,OAAOvI,EAAEmG,aAAa,UAAU1F,EAAEiI,cAAc1I,EAAEmG,aAAa,iBAAiB1F,EAAEkI,eAAe3I,EAAEmG,aAAa,kBAAkB1F,EAAE+J,SAASxF,EAAEa,aAAa7F,EAAEmG,aAAa,aAAa1F,EAAEgK,oBAAoBzF,EAAEa,aAAa7F,EAAEmG,aAAa,wBAAwB1F,EAAEiL,qBAAqB1G,EAAEwB,cAAcxG,EAAEmG,aAAa,yBAAyB1F,EAAEH,aAAaN,EAAEmG,aAAa,gBAAgBnB,EAAEM,eAAetF,EAAE,gBAAgBmD,QAASnD,IAAIS,EAAE+G,KAAKxH,EAAEmG,aAAa,iBAAiB,YAAY1F,EAAEyK,aAAalG,EAAEc,cAAc9F,EAAG,GAAGgF,EAAEM,eAAetF,EAAE,kBAAkBmD,QAASnD,IAAIS,EAAE+G,KAAKxH,EAAEmG,aAAa,iBAAiB,EAAE1F,EAAE0K,eAAenG,EAAEc,cAAc9F,EAAG,GAAGgF,EAAEM,eAAetF,EAAE,kBAAkBmD,QAASnD,IAAIS,EAAE+G,KAAKxH,EAAEmG,aAAa,iBAAiB,EAAE1F,EAAEwK,eAAejG,EAAEc,cAAc9F,EAAG,GAAG,MAAMU,EAAEsE,EAAEC,YAAYjF,EAAE,gBAAgBU,IAAID,EAAEyI,aAAa,CAACI,MAAMtE,EAAEc,cAAcpF,GAAG6I,WAAW7I,EAAEyF,aAAa,eAAe,OAAO1F,EAAEkL,iCAAiC3G,EAAEc,cAAcd,EAAEC,YAAYjF,EAAE,0BAA0BgF,EAAEM,eAAetF,EAAE,0BAA0BmD,QAASnD,IAAIS,EAAEmL,mCAAmCjK,KAAK,CAACxB,GAAGH,EAAEmG,aAAa,OAAO,KAAK3D,IAAIwC,EAAEc,cAAc9F,IAAK,GAAG4B,EAAE6F,WAAW9F,KAAKlB,EAAG,GAAGmB,CAAC,CAAC,SAASiK,EAAE7L,GAAG,MAAMS,EAAE,GAAG,OAAOT,EAAEmD,QAASnD,IAAI,MAAMU,EAAEoL,EAAE9L,GAAGU,GAAGD,EAAEkB,KAAKjB,EAAG,GAAGD,CAAC,CAAC,SAASqL,EAAE9L,GAAG,GAAG,aAAaA,EAAEqF,SAAS,OAAO,KAAK,MAAM5E,EAAE,CAACsL,KAAK,KAAKzC,MAAM,KAAKhD,WAAW,CAAA,EAAG0F,SAAS,IAAItL,EAAEV,EAAEsG,WAAW1E,EAAE5B,EAAEmF,WAAW,GAAG1E,EAAEsL,KAAK/L,EAAEqF,SAASrF,EAAEsG,WAAW,IAAI,MAAMtG,KAAKU,EAAE,GAAGA,EAAE6B,eAAevC,GAAG,CAAC,MAAM4B,EAAElB,EAAEV,GAAG4B,EAAEyD,UAAUzD,EAAE2E,YAAY9F,EAAE6F,WAAW1E,EAAEyD,UAAUzD,EAAE2E,UAAU,CAAC,IAAI,MAAMvG,KAAK4B,EAAE,GAAGA,EAAEW,eAAevC,GAAG,CAAC,MAAMU,EAAEoL,EAAElK,EAAE5B,IAAIU,GAAGD,EAAEuL,SAASrK,KAAKjB,EAAE,CAAC,GAAG,IAAID,EAAEuL,SAAS9L,QAAQ,IAAIO,EAAEuL,SAAS9L,QAAQ,CAAC,iBAAiB,SAAS6B,QAAQtB,EAAEuL,SAAS,GAAGD,OAAO,EAAE,CAAC,MAAMrL,EAAEsE,EAAEc,cAAc9F,GAAG,KAAKU,IAAID,EAAE6I,MAAM5I,GAAGD,EAAEuL,SAAS,EAAE,CAAC,OAAO,QAAQrL,EAAEF,GAAG6I,OAAO,IAAI3G,OAAOsJ,KAAKtL,EAAE2F,YAAYpG,QAAQ,IAAIS,EAAEqL,SAAS9L,OAAO,KAAKO,EAAE,IAAIE,CAAC,CAAC,SAASuL,EAAElM,GAAG,OAAOA,EAAEmG,aAAa,SAASnG,EAAEmG,aAAa,SAASnG,EAAEmG,aAAa,SAAS,IAAI,CAAC,MAAMgG,EAAE,CAACC,QAAQ,CAACC,YAAY,CAAC,eAAe,eAAeC,oBAAoB,CAAChG,WAAW,CAAC,cAAciG,OAAO,CAACF,YAAY,CAAC,WAAW,UAAU,aAAa,cAAc,cAAcG,SAAS,CAAClG,WAAW,CAAC,cAAcmG,QAAQ,CAACnG,WAAW,CAAC,QAAQ,aAAaoG,aAAa,CAACC,qBAAqB,CAAC,qBAAqB,sBAAsBrG,WAAW,CAAC,WAAWsG,cAAc,CAACtG,WAAW,CAAC,eAAeuG,mBAAmB,CAACvG,WAAW,CAAC,eAAe,oBAAoBwG,mBAAmB,CAACxG,WAAW,CAAC,eAAe,SAASyG,SAAS,CAACzG,WAAW,CAAC,UAAU0G,UAAU,CAACX,YAAY,CAAC,aAAaY,SAAS,CAACZ,YAAY,CAAC,kBAAkBa,OAAO,CAACb,YAAY,CAAC,aAAa,aAAac,WAAW,CAACd,YAAY,CAAC,cAAce,UAAU,CAAC9G,WAAW,CAAC,WAAW,OAAO,QAAQ,WAAW+G,UAAU,CAAC/G,WAAW,CAAC,WAAW,OAAO,QAAQ,WAAWgH,UAAU,CAACX,qBAAqB,CAAC,iBAAiB,iBAAiB,gBAAgBrG,WAAW,CAAC,QAAQ,WAAWiH,UAAU,CAACZ,qBAAqB,CAAC,iBAAiB,iBAAiB,gBAAgBrG,WAAW,CAAC,QAAQ,WAAWkH,eAAe,CAAClH,WAAW,CAAC,iBAAiBmH,MAAM,CAACpB,YAAY,CAAC,SAASqB,KAAK,CAACf,qBAAqB,CAAC,iBAAiB,iBAAiB,kBAAkB,SAASgB,EAAE3N,EAAES,GAAG,IAAI0L,EAAEnM,EAAEqF,YAAY8G,EAAEnM,EAAEqF,UAAUiB,WAAW,OAAO,MAAM5F,EAAEyL,EAAEnM,EAAEqF,UAAUiB,WAAWxE,OAAQrB,IAAIT,EAAEmG,aAAa1F,IAAKC,EAAER,OAAO,GAAG0N,EAAE,CAAC7B,KAAK/L,EAAEqF,SAASwI,WAAW7N,EAAE8N,WAAWzI,SAASiB,WAAW5F,GAAGD,EAAE,CAAC,SAASsN,EAAE/N,EAAES,EAAEC,GAAG,MAAMkB,EAAEuK,EAAEnM,EAAEqF,UAAU1E,GAAGD,GAAG,YAAYV,EAAEqF,SAAS,GAAIzD,IAAGjB,EAAP,CAAgB,GAAGiB,EAAEyK,YAAY,CAAC,MAAM3L,EAAEkB,EAAEyK,YAAYvK,OAAQrB,IAAIuE,EAAEC,YAAYjF,EAAES,IAAKC,EAAER,OAAO,GAAG0N,EAAE,CAAC7B,KAAK/L,EAAEqF,SAASwI,WAAW7N,EAAE8N,WAAWzI,SAASgH,YAAY3L,GAAGD,EAAE,CAAKC,GAAIkB,EAAE+K,uBAA4B/K,EAAE+K,qBAAqBqB,KAAMvN,GAAGuE,EAAEC,YAAYjF,EAAES,KAAMmN,EAAE,CAAC7B,KAAK/L,EAAEqF,SAASwI,WAAW7N,EAAE8N,WAAWzI,SAAS4I,eAAerM,EAAE+K,sBAAsBlM,GAAzV,CAA2V,CAAC,SAASyN,EAAElO,GAAG,OAAOA,EAAEgM,UAAU,IAAIhM,EAAEgM,SAAS9L,MAAM,CAAC,SAAS0N,EAAE5N,EAAES,GAAG,IAAIsL,KAAKrL,EAAEmN,WAAWjM,EAAE0E,WAAW3F,EAAE0L,YAAYxL,EAAEoN,eAAerN,GAAGZ,EAAEyC,EAAE,YAAYN,OAAOzB,EAAE,KAAK+B,GAAG9B,EAAE,mCAAmCwB,OAAOxB,EAAEwN,KAAK,MAAM,MAAMtN,EAAE,qCAAqCsB,OAAOtB,EAAEsN,KAAK,MAAM,MAAMvN,EAAE,uCAAuCuB,OAAOvB,EAAEuN,KAAK,MAAM,MAAM,YAAY1N,EAAE,eAAe,CAAC2N,QAAQ3L,EAAE4L,cAAczM,EAAE0M,YAAY,KAAK,CAAC,MAAMC,EAAwB,SAASvO,EAAES,EAAEC,EAAEkB,GAAG,GAAGnB,GAAGA,EAAE4E,SAAS,GAAG,WAAW5E,EAAE4E,WAAWzD,GAAE,GAAI+L,EAAElN,EAAEC,GAAGwN,EAAEzN,GAAG,CAACsN,EAAEtN,EAAEC,EAAEkB,GAAG,IAAI,IAAIjB,EAAE,EAAEA,EAAEF,EAAEuL,SAAS9L,OAAOS,IAAIX,EAAES,EAAEuL,SAASrL,GAAGD,EAAEkB,EAAE,MAAM,IAAIoD,EAAEc,cAAcrF,GAAGP,QAAQ0N,EAAE,CAAC7B,KAAKtL,EAAE4E,SAASwI,WAAWpN,EAAEqN,WAAWzI,UAAU3E,EAAE,EAAqG,SAAS8N,EAAExO,EAAES,GAAG,IAAI4G,iBAAiB3G,EAAE0G,yBAAyBxF,GAAG3B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,MAAMU,EAAEyB,MAAM8C,KAAKlF,EAAEmF,YAAYrD,OAAQ9B,IAAI,MAAMS,EAAET,EAAEqF,SAASoJ,cAAc,MAAM,WAAWhO,IAAG,IAAKmB,GAAG,YAAYnB,CAAE,GAAG,IAAI,MAAMmB,KAAKjB,EAAE,CAAC,GAAGqE,EAAEkB,kBAAkB,KAAKlG,EAAE4B,GAAGoD,EAAEkB,kBAAkB,WAAWlG,EAAE4B,GAAGoD,EAAEkB,kBAAkB,SAASlG,EAAE4B,GAAG,YAAYA,EAAEyD,SAAS,MAAM,CAACqJ,GAAGC,EAAE/M,EAAEnB,GAAG+G,KAAK,WAAW,GAAG,WAAW5F,EAAEyD,SAAS,MAAM,CAACqJ,GAAGE,EAAEhN,EAAEnB,EAAE,CAAC4G,iBAAiB3G,IAAI8G,KAAK,UAAU,MAAM7G,EAAEiB,EAAEyD,SAASoJ,cAAchO,EAAE,eAAe,CAAC2N,QAAQ,IAAIjM,OAAOP,EAAEyD,SAAS,WAAW1E,EAAE,6BAA6B,+BAA+BkO,UAAUjN,GAAG,CAAC,CAAC,SAASgN,EAAE5O,EAAES,GAAG,IAAI4G,iBAAiB3G,GAAGT,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,OAAM,IAAKS,GAAGV,EAAEmG,aAAa,YAAY,KAAK2I,EAAE9O,EAAES,EAAE,CAAC,SAASqO,EAAE9O,EAAES,GAAG,IAAIC,EAAE,GAAGD,GAAG8N,EAAuBvO,EAAES,GAAG,MAAMmB,EAAEQ,MAAM8C,KAAKlF,EAAEmF,YAAYxE,EAAE,WAAW,IAAIX,EAAEC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,MAAM,CAACE,GAAGH,EAAEG,IAAI,KAAKE,SAASL,EAAEK,UAAU,KAAKgI,OAAOrI,EAAEqI,QAAQ,KAAK0G,YAAY,KAAKC,WAAW,GAAGC,QAAQ,KAAK9H,mBAAmB,GAAG+H,OAAO,KAAKC,MAAM,KAAKC,YAAY,KAAKC,WAAW,KAAKC,QAAQ,KAAKC,OAAO,KAAKvI,kBAAkB,GAAGC,uBAAuB,GAAGM,UAAU,GAAGL,WAAW,GAAGa,gBAAgB,GAAGC,oBAAoB,GAAGZ,0BAAyB,EAAGC,kBAAiB,EAAGC,eAAe,KAAK,CAA3d,CAA6dtC,EAAEqB,gBAAgBrG,IAAI,OAAO4B,EAAEuB,QAASnD,IAAI,OAAOA,EAAEqF,UAAU,IAAI,QAAQ1E,EAAEqG,kBAAkBrF,KAAKqD,EAAEc,cAAc9F,IAAI,MAAM,IAAI,aAAaW,EAAEsG,uBAAuBtF,KAAK,CAACxB,GAAGH,EAAEmG,aAAa,OAAO,KAAK3D,IAAIwC,EAAEc,cAAc9F,KAAK,MAAM,IAAI,YAAYW,EAAE4G,UAAU,SAASvH,GAAG,MAAMS,EAAE,GAAG,OAAOT,EAAEmD,QAASnD,IAAI,MAAMU,EAAE,CAACP,GAAGH,EAAEmG,aAAa,OAAO,KAAK/F,KAAK8L,EAAElM,GAAGK,SAASL,EAAEmG,aAAa,aAAa,KAAK7F,aAAaN,EAAEmG,aAAa,iBAAiB,MAAMvE,EAAE,GAAG,IAAIjB,EAAEqE,EAAEM,eAAetF,EAAE,iBAAiBmD,QAASnD,IAAI,MAAMS,EAAE,CAAC+O,WAAWxP,EAAEmG,aAAa,eAAe,UAAUmD,MAAMtE,EAAEc,cAAc9F,IAAI4B,EAAED,KAAKlB,EAAG,GAAG,MAAMI,EAAEmE,EAAEC,YAAYjF,EAAE,sBAAsBa,IAAIF,EAAEkL,EAAE7G,EAAEM,eAAezE,EAAE,uBAAuB,IAAI,MAAMA,KAAKb,EAAEmF,WAAW,CAAC,MAAMvE,EAAEZ,EAAEmF,WAAWtE,GAAG,IAAI4B,EAAE,OAAO7B,EAAEyE,UAAU,IAAI,SAAS5C,EAAE+G,EAAE5I,EAAEF,GAAG,MAAM,IAAI,eAAe+B,EAAEgJ,EAAE7K,EAAEF,GAAG,MAAM,IAAI,eAAe+B,EAAE0F,EAAEvH,EAAEF,GAAG+B,IAAIb,IAAIa,EAAElC,eAAeqB,GAAGjB,IAAI8B,EAAEjC,mBAAmBG,GAAGF,EAAEkB,KAAKc,GAAG,CAAE,GAAGhC,CAAC,CAA1qB,CAA4qBuE,EAAEM,eAAetF,EAAE,aAAa,MAAM,IAAI,aAAa,CAAC,MAAMS,EAAEuE,EAAEM,eAAetF,EAAE,aAAaW,EAAEuG,WAAW2E,EAAEpL,GAAGE,EAAEoH,gBAAgB7H,SAASQ,EAAE,SAASV,GAAG,IAAIS,EAAE,KAAKC,EAAE,GAAkG,OAA/FV,EAAEgO,KAAMhO,GAAGS,EAAEuE,EAAEC,YAAYjF,EAAE,oBAAqBS,IAAIC,EAAE+O,EAAEzK,EAAEM,eAAe7E,EAAE,kBAAyBC,CAAC,CAAnI,CAAqID,IAAI,KAAK,CAAC,IAAI,kBAAkBE,EAAEoH,gBAAgB0H,EAAEzK,EAAEM,eAAetF,EAAE,iBAAiB,MAAM,IAAI,WAAWW,EAAEuO,OAAO,CAAC5F,MAAMtE,EAAEc,cAAc9F,GAAG0P,QAAQ1P,EAAEmG,aAAa,YAAY,MAAM,MAAM,IAAI,UAAUxF,EAAEwO,MAAMnK,EAAEc,cAAc9F,GAAG,MAAM,IAAI,cAAcW,EAAEoO,YAAY/J,EAAEc,cAAc9F,GAAG,MAAM,IAAI,WAAWW,EAAEqO,WAAWrN,KAAK,CAACgO,UAAU3P,EAAEmG,aAAa,cAAc,KAAKmD,MAAMtE,EAAEc,cAAc9F,KAAK,MAAM,IAAI,UAAUW,EAAEsO,QAAQxI,SAASzB,EAAEc,cAAc9F,GAAG,IAAI,MAAM,IAAI,qBAAqBW,EAAEwG,mBAAmBxF,KAAK,SAAS3B,GAAG,MAAMS,EAAE,CAACT,EAAES,KAAK,MAAMC,EAAEsE,EAAEc,cAAcrF,GAAG,OAAOC,GAAGV,EAAE2B,KAAKjB,GAAGV,GAAG,MAAM,CAACG,GAAGH,EAAEmG,aAAa,OAAO,KAAKyJ,SAAS5K,EAAEM,eAAetF,EAAE,YAAYgC,OAAOvB,EAAE,IAAIoP,YAAY7K,EAAEM,eAAetF,EAAE,eAAegC,OAAOvB,EAAE,IAAIqP,iBAAiB9K,EAAEM,eAAetF,EAAE,oBAAoBgC,OAAOvB,EAAE,IAAI,CAAxS,CAA0ST,IAAI,MAAM,IAAI,cAAcW,EAAEyO,YAAYpK,EAAEc,cAAc9F,GAAG,MAAM,IAAI,aAAaW,EAAE0O,WAAW,CAAClP,GAAGH,EAAEmG,aAAa,OAAO,KAAKmD,MAAMtE,EAAEc,cAAc9F,IAAI,MAAM,IAAI,UAAUW,EAAE2O,QAAQ,CAAChG,MAAMtE,EAAEc,cAAc9F,GAAG+P,MAAM/P,EAAEmG,aAAa,UAAU,KAAK6J,SAAShQ,EAAEmG,aAAa,aAAa,MAAM,MAAM,IAAI,SAASxF,EAAE4O,OAAO,CAACjG,MAAMtE,EAAEc,cAAc9F,GAAGwH,KAAKxH,EAAEmG,aAAa,SAAS,MAAM,MAAM,IAAI,sBAAsBxF,EAAEqH,oBAAoBrG,KAAK,CAACgO,UAAU3P,EAAEmG,aAAa,cAAc,KAAKmD,MAAMtE,EAAEc,cAAc9F,KAAM,GAAGU,EAAER,SAASS,EAAEoH,gBAAgBpH,EAAEoH,gBAAgB5F,OAAOzB,IAAIC,CAAC,CAAC,SAASgO,EAAE3O,EAAES,GAAG,MAAMC,EAAEoO,EAAE9O,EAAES,GAAGmB,EAAE5B,EAAEmG,aAAa,4BAA4BxF,EAAEX,EAAEmG,aAAa,oBAAoBtF,EAAEb,EAAEmG,aAAa,kBAAkBzF,EAAE0G,0BAA0BxF,GAAGoD,EAAEa,aAAajE,GAAGlB,EAAE2G,mBAAmB1G,GAAGqE,EAAEa,aAAalF,GAAGD,EAAE4G,eAAezG,EAAEmE,EAAEa,aAAahF,GAAG,KAAK,IAAID,EAAEoE,EAAEC,YAAYjF,EAAE,gBAAgB,GAAGY,EAAEF,EAAEuP,eAAejL,EAAEc,cAAclF,IAAIA,EAAEoE,EAAEC,YAAYjF,EAAE,gBAAgBY,IAAIF,EAAEuP,eAAejL,EAAEc,cAAcd,EAAEC,YAAYrE,EAAE,UAAUF,EAAE6G,UAAUpE,QAASnD,IAAI,GAAG,CAAC,SAAS,aAAa+E,SAAS/E,EAAEwH,MAAM,CAAC,GAAGxH,EAAE6H,eAAe,CAACnH,EAAEmH,iBAAiBnH,EAAEmH,eAAe,CAAA,GAAInH,EAAEmH,eAAe7H,EAAEwH,QAAQ9G,EAAEmH,eAAe7H,EAAEwH,MAAM,CAAA,GAAI,IAAI,MAAM/G,KAAKT,EAAE6H,eAAe,CAAC,MAAMjG,EAAE5B,EAAE6H,eAAepH,GAAG2B,MAAMC,QAAQ3B,EAAEmH,eAAe7H,EAAEwH,MAAM/G,MAAMC,EAAEmH,eAAe7H,EAAEwH,MAAM/G,GAAG,IAAImB,EAAEuB,QAASvB,IAAIlB,EAAEmH,eAAe7H,EAAEwH,MAAM/G,GAAGkB,KAAKC,EAAG,EAAE,CAAC,CAAC5B,EAAE2H,iCAAiCvF,MAAMC,QAAQ3B,EAAEiH,kCAAkCjH,EAAEiH,+BAA+B,IAAI3H,EAAE2H,+BAA+BxE,QAASnD,IAAIU,EAAEiH,+BAA+BhG,KAAK3B,EAAG,IAAIA,EAAE8H,+BAA+BpH,EAAEoH,6BAA6B9H,EAAE8H,8BAA8B9H,EAAE4H,+BAA+BxF,MAAMC,QAAQ3B,EAAEkH,gCAAgClH,EAAEkH,6BAA6B,IAAI5H,EAAE4H,6BAA6BzE,QAASnD,IAAIU,EAAEkH,6BAA6BjG,KAAK3B,EAAG,GAAG,CAAE,GAAGU,EAAEuP,eAAe,OAAOvP,CAAC,CAAC,SAAS+O,EAAEzP,GAAG,MAAMS,EAAE,GAAG,OAAOT,EAAEmD,QAASnD,IAAI,MAAMU,EAAE,CAACwP,SAAS,KAAKC,OAAO,KAAKC,iBAAgB,EAAG9P,aAAa,KAAKkH,KAAK,KAAK6I,WAAW,KAAKxI,eAAe,CAAA,GAAIjG,EAAEQ,MAAM8C,KAAKlF,EAAEmF,YAAYH,EAAE8B,iBAAiB9G,EAAEsG,WAAW5F,GAAGkB,EAAEuB,QAASnD,IAAI,IAAIqF,SAAS5E,EAAEsF,YAAYnE,EAAE0E,WAAW3F,GAAGX,EAAE,OAAOS,GAAG,IAAI,qBAAqB,IAAI,qBAAqBC,EAAEwP,SAAStO,EAAEqE,OAAOjB,EAAE8B,iBAAiBnG,EAAED,GAAG,MAAM,IAAI,yBAAyBA,EAAE2P,WAAWzO,EAAEqE,OAAQ,GAAG,MAAMtF,EAAEqE,EAAEC,YAAYjF,EAAE,kBAAkBW,GAAGqE,EAAEM,eAAe3E,EAAE,YAAYwC,QAASnD,IAAI,MAAMS,EAAET,EAAEmG,aAAa,SAASvE,EAAEoD,EAAEc,cAAc9F,GAAGS,GAAGmB,IAAIQ,MAAMC,QAAQ3B,EAAEmH,eAAepH,MAAMC,EAAEmH,eAAepH,GAAG,IAAIC,EAAEmH,eAAepH,GAAGkB,KAAKC,GAAI,GAAGnB,EAAEkB,KAAKjB,EAAG,GAAGD,CAAC,CAAC,MAAM6P,EAAE,WAAAC,GAAcC,KAAKC,UAAU,EAAE,CAAC,EAAAC,CAAG1Q,EAAES,GAAG,GAAG,mBAAmBA,EAAE,MAAM,IAAIkQ,UAAU,gEAAgExO,cAAc1B,IAAI,IAAIT,EAAE,MAAM,IAAI2Q,UAAU,4DAA4DxO,cAAcnC,IAAI,OAAOwQ,KAAKC,UAAU9O,KAAK,CAACiP,MAAM5Q,EAAE6Q,QAAQpQ,IAAI+P,IAAI,CAAC,IAAAM,CAAK9Q,EAAES,GAAG,OAAO+P,KAAKE,GAAG1Q,EAAE,SAASA,EAAES,EAAEC,GAAG,MAAMkB,EAAE,CAACmP,OAAM,EAAGC,YAAO,GAAQ,SAASrQ,IAAIiB,EAAEmP,QAAQ/Q,EAAEiR,IAAIxQ,EAAEmB,EAAEoP,QAAQpP,EAAEmP,OAAM,EAAGrQ,EAAEwQ,KAAKlR,EAAPU,IAAaT,WAAW,CAAC,OAAO2B,EAAEoP,OAAOrQ,EAAEA,CAAC,CAAjJ,CAAmJ6P,KAAKxQ,EAAES,GAAG,CAAC,GAAAwQ,CAAIjR,EAAES,GAAG,OAAO+P,KAAKC,UAAUD,KAAKC,UAAU3O,OAAQpB,GAAGA,EAAEkQ,QAAQ5Q,GAAGU,EAAEmQ,UAAUpQ,GAAI+P,IAAI,CAAC,IAAAW,CAAKnR,GAAG,IAAI,IAAIS,EAAER,UAAUC,OAAOQ,EAAE,IAAI0B,MAAM3B,EAAE,EAAEA,EAAE,EAAE,GAAGmB,EAAE,EAAEA,EAAEnB,EAAEmB,IAAIlB,EAAEkB,EAAE,GAAG3B,UAAU2B,GAAG,IAAIjB,GAAE,EAAG,OAAO6P,KAAKC,UAAUtN,QAAS1C,IAAI,MAAMA,EAAEmQ,QAAQjQ,GAAE,EAAGF,EAAEoQ,QAAQ7Q,KAAKU,IAAID,EAAEmQ,QAAQ5Q,IAAIW,GAAE,EAAGF,EAAEoQ,WAAWnQ,GAAI,GAAGC,CAAC,CAAC,kBAAAyQ,CAAmBpR,GAAG,OAAOA,GAAGwQ,KAAKC,UAAUD,KAAKC,UAAU3O,OAAQrB,GAAGA,EAAEmQ,QAAQ5Q,GAAIwQ,OAAOA,KAAKC,UAAU,GAAGD,KAAK,CAAC,aAAAa,CAAcrR,GAAG,OAAOwQ,KAAKC,UAAU3O,OAAQrB,GAAGA,EAAEmQ,QAAQ5Q,GAAIE,MAAM,CAAC,SAAAoR,CAAUtR,GAAG,OAAOwQ,KAAKC,UAAUzO,OAAM,CAAGvB,EAAEC,KAAKA,EAAEkQ,QAAQ5Q,GAAGS,EAAEkB,KAAKjB,EAAEmQ,SAASpQ,GAAI,GAAG,CAAC,UAAA8Q,GAAa,OAAOf,KAAKC,UAAUnO,IAAKtC,GAAGA,EAAE4Q,MAAO,EAAE,IAAIY,EAAE,EAAEC,EAAE,EAAE,MAAMC,EAAE,CAAC1R,EAAES,MAAST,IAAIS,GAAGT,GAAG,GAAGS,GAAG,IAASgR,GAAGA,EAAED,EAAE,EAAExR,EAAES,KAAK+Q,IAAGG,EAAE,CAAC7Q,UAAU,IAAIoG,WAAW,IAAI0K,EAAE,sCAAsC,MAAMC,UAAUvB,EAAE,WAAAC,GAAc,IAAIuB,QAAQ9R,GAAGC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG8R,QAAQvB,KAAKwB,gBAAgB,KAAKxB,KAAKyB,sBAAsB,GAAGzB,KAAKxJ,kBAAkB,GAAGwJ,KAAK0B,aAAa,GAAG1B,KAAK2B,eAAe,CAAA,EAAG3B,KAAKsB,QAAQ9R,GAAG,KAAKwQ,KAAK4B,iBAAgB,CAAE,CAAC,cAAAC,CAAerS,EAAES,GAAG,IAAI,IAAIC,EAAET,UAAUC,OAAO0B,EAAE,IAAIQ,MAAM1B,EAAE,EAAEA,EAAE,EAAE,GAAGC,EAAE,EAAEA,EAAED,EAAEC,IAAIiB,EAAEjB,EAAE,GAAGV,UAAUU,GAAG6P,KAAKW,KAAK,aAAaxO,OAAO2P,OAAO,CAAA,EAAGX,EAAElR,KAAKmB,IAAIqB,EAAEC,MAAMlD,EAAES,EAAE,CAAC,oBAAA8R,GAAuB,OAAO/B,KAAKyB,sBAAsB9P,OAAOqO,KAAKxJ,kBAAkB,CAAC,mBAAAwL,GAAsB,OAAOf,CAAC,CAAC,iBAAAgB,GAAoB,IAAIzS,EAAEC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAGuQ,KAAKwB,gBAAgBhS,EAAE0S,cAAc,GAAGlC,KAAK2B,eAAe,CAAC9K,iBAAiBrH,EAAEqH,kBAAkBmJ,KAAK4B,gBAAgBpS,EAAEoS,kBAAiB,EAAG5B,KAAKmC,QAAQ,GAAGnC,KAAKoC,qBAAqBlB,EAAE1R,EAAE6S,WAAW7S,EAAE8S,gBAAgB,CAAC,kBAAAF,GAAqBpC,KAAKxJ,kBAAkB,GAAGwJ,KAAKyB,sBAAsB,GAAGzB,KAAKuC,YAAY,IAAI,CAAC,eAAAC,CAAgBhT,GAAG,GAAG,IAAIwQ,KAAK0B,aAAahS,OAAO,OAAO+S,QAAQC,OAAO,IAAIC,MAAM,iDAAiD,MAAM1S,EAAET,EAAEwQ,KAAK0B,aAAa,CAAC1B,KAAK0B,aAAakB,SAAS,OAAO5C,KAAKxJ,kBAAkB,GAAGwJ,KAAK6C,WAAW5S,EAAE,CAAC6S,aAAa,EAAE9Q,IAAIgO,KAAKmC,UAAUY,KAAMvT,GAAGwQ,KAAKgD,kBAAkBxT,GAAI,CAAC,SAAAyT,CAAUzT,GAAG,IAAIS,EAAER,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,OAAOuQ,KAAKiC,kBAAkBhS,GAAGA,EAAEiT,YAAW,EAAGlD,KAAKmD,MAAM3T,EAAES,GAAG8S,KAAMvT,GAAGwQ,KAAKgD,kBAAkBxT,GAAI,CAAC,iBAAAwT,CAAkBxT,GAAG,MAAMS,EAAE,SAAST,GAAG,IAAI4T,IAAInT,EAAEuG,kBAAkBtG,EAAEgP,QAAQ9N,GAAG5B,EAAE,MAAM,CAAC4T,IAAInT,GAAG,GAAGuG,kBAAkBtG,GAAG,GAAGgP,QAAQ9N,GAAG,KAAK,CAAhH,CAAkH,CAACgS,IAAI5T,EAAEgH,kBAAkBwJ,KAAK+B,uBAAuB7C,QAAQc,KAAKuC,cAAc,OAAOvC,KAAKqD,yBAAyBpT,GAAGA,CAAC,CAAC,YAAAqT,CAAa9T,EAAES,GAAG,IAAIiT,WAAWhT,GAAE,EAAG8B,IAAIZ,EAAE,KAAK0R,aAAa3S,EAAE,EAAE0G,iBAAiBxG,EAAEuG,yBAAyBxG,GAAGH,EAAE,IAAIT,IAAIA,EAAE+T,iBAAiB,SAAS/T,EAAE+T,gBAAgB1O,SAAS,CAAC,IAAI5C,EAAE+N,KAAKW,KAAK,iBAAiB,CAAC3J,KAAK,QAAQhF,IAAIZ,EAAE0R,aAAa3S,IAAI,MAAMF,EAAE,4BAA4B,MAAMT,GAAG,QAAQyC,EAAEzC,EAAE+T,uBAAkB,IAAStR,OAAE,EAAOA,EAAE4C,UAAU,MAAM,IAAI8N,MAAM1S,EAAEmR,EAAE,2BAA2B,CAAC,MAAMlP,EAAE,GAAGhB,EAAE1B,EAAE+T,gBAAgB5O,WAAWjE,EAAElB,EAAE+T,gBAAgB5N,aAAa,WAAWzF,GAAGQ,IAAIsP,KAAKuC,YAAY7R,GAAG,IAAI,MAAMlB,KAAK0B,EAAE,CAAC,MAAMjB,EAAEiB,EAAE1B,GAAG,GAAG,UAAUS,EAAE4E,SAAS,CAAC,MAAMrF,EAAEgF,EAAEc,cAAcrF,GAAGC,EAAE8P,KAAKyB,sBAAsBtQ,KAAK3B,GAAGwQ,KAAKxJ,kBAAkBrF,KAAK3B,EAAE,MAAM,GAAG,OAAOS,EAAE4E,SAAS,CAAC,GAAGmL,KAAKuC,aAAa7O,WAAWsM,KAAKuC,aAAa,EAAElS,GAAE,OAAQ,IAAG,IAAKA,GAAG6B,EAAExC,OAAO,EAAE,MAAM,MAAMF,EAAEwO,EAAE/N,EAAE+P,KAAKW,KAAKD,KAAKV,MAAM,CAACnJ,iBAAiBxG,EAAEuG,yBAAyBxG,IAAIZ,EAAE0O,IAAIhM,EAAEf,KAAK3B,EAAE0O,IAAI8B,KAAKW,KAAK,iBAAiB,CAAC3J,KAAKxH,EAAEwH,KAAKhF,IAAIZ,EAAE0R,aAAa3S,EAAEqT,QAAQtR,EAAExC,OAAO,EAAE6S,YAAY7R,KAAKsP,KAAK6B,eAAe7B,KAAK+B,uBAAuB,CAACzR,UAAU,KAAK,CAAC,CAAC,OAAO4B,CAAC,CAAC,KAAAiR,CAAM3T,GAAG,IAAIwC,IAAI/B,EAAE,KAAKwT,WAAWvT,GAAE,EAAGwT,gBAAgBtS,EAAE,KAAKuS,YAAYxT,EAAE,KAAK2S,aAAazS,EAAE,EAAE6S,WAAW9S,GAAE,EAAGwG,yBAAyB3E,EAAE4E,iBAAiB3E,GAAGzC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAGyB,EAAE,GAAG8O,KAAKuC,aAAa7O,WAAWsM,KAAKuC,aAAa,GAAGnS,IAAI8B,GAAE,GAAI,IAAIhB,EAAE8O,KAAKsD,aAAa9T,EAAE,CAAC0T,WAAW9S,EAAE4B,IAAI/B,EAAE6S,aAAazS,EAAEwG,iBAAiB3E,EAAE0E,yBAAyB3E,GAAG,CAAC,MAAMzC,GAAG,OAAOiT,QAAQC,OAAOlT,EAAE,CAAC,GAAG,IAAI0B,EAAExB,QAAQ,MAAM0B,IAAIF,EAAE,GAAGrB,SAASuB,IAAG,IAAKlB,EAAE,CAAC,MAAMV,EAAEgF,EAAE4B,gBAAgBlF,GAAGjB,EAAEuE,EAAE2B,iBAAiBjF,GAAG1B,EAAEE,OAAOwB,EAAE1B,EAAES,EAAEP,SAASwB,EAAE,CAACjB,EAAE2S,UAAU5C,KAAK0B,aAAazR,CAAC,CAAC,OAAO+P,KAAK6C,WAAW3R,EAAE,CAAC4R,aAAazS,EAAEsT,YAAYxT,EAAE6B,IAAI/B,GAAG,CAAC,UAAA4S,GAAa,IAAIrT,EAAEC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,IAAIqT,aAAa7S,EAAE0T,YAAYzT,EAAE8B,IAAIZ,GAAG3B,UAAUC,OAAO,EAAED,UAAU,QAAG,EAAO,MAAMU,EAAE,GAAG,OAAOD,EAAEkB,EAAE5B,EAAEmD,QAASnD,IAAI,MAAM4B,EAAE4O,KAAK4D,gBAAgBpU,EAAES,EAAEC,GAAGC,EAAEgB,KAAKC,EAAG,GAAGqR,QAAQoB,IAAI1T,GAAG4S,KAAMvT,GAAGiD,EAAEmB,QAAQpE,GAAI,CAAC,eAAAoU,CAAgBpU,EAAES,EAAEC,GAAG,MAAMkB,EAAE,IAAI5B,GAAG,OAAO,IAAIiT,QAASjT,IAAI,IAAIW,EAAE,GAAGF,KAAKmB,EAAEqO,eAAe,cAAcrO,EAAEqO,eAAejQ,EAAE4B,GAAG,IAAI4O,KAAKsB,QAAQ,OAAOlQ,EAAE0S,aAAa1S,EAAEqO,sBAAsBrO,EAAEqO,eAAejQ,EAAE4B,GAAG,GAAGnB,GAAG+P,KAAKwB,gBAAgB,OAAOpQ,EAAE2S,UAAU,WAAW3S,EAAEqO,eAAejQ,EAAE4B,GAAGA,EAAEqO,eAAejL,EAAEO,oBAAoB3D,EAAEqO,eAAevP,GAAG,MAAMG,EAAE,QAAQF,EAAE6P,KAAK2B,eAAe9K,wBAAmB,IAAS1G,EAAEA,EAAEiB,EAAEyF,iBAAiBzG,EAAEgB,EAAEvB,SAASmQ,KAAKsB,QAAQ0C,UAAU,CAAChS,IAAIZ,EAAEqO,eAAewE,QAAQjE,KAAKW,KAAKD,KAAKV,MAAMwB,gBAAgBxB,KAAKwB,kBAAkBuB,KAAM5S,GAAG6P,KAAKmD,MAAMhT,EAAE,CAAC6B,IAAIZ,EAAEqO,eAAekE,YAAYzT,EAAEwT,gBAAgBtT,EAAE0S,aAAa7S,EAAE2G,yBAAyBxF,EAAEwF,yBAAyBC,iBAAiBxG,IAAI0S,KAAM9S,IAAI,UAAUmB,EAAEqO,eAAe,IAAIxP,EAAEP,OAAO,OAAO0B,EAAE2F,UAAU,GAAGvH,EAAE4B,GAAGnB,EAAE0C,QAASnD,IAAIA,GAAGgF,EAAE+B,mBAAmB/G,EAAE4B,EAAG,GAAG5B,EAAES,EAAG,IAAKiU,MAAOjU,IAAImB,EAAE2S,UAAU9T,EAAE2N,UAAUwD,EAAE,IAAI,IAAIhQ,EAAE+S,aAAalU,EAAE2N,QAAQpO,EAAE4B,EAAG,EAAG,EAAE,CAAC,wBAAAiS,CAAyB7T,GAAG,GAAG,IAAIA,EAAE4T,IAAI1T,OAAOsQ,KAAK6B,eAAerS,EAAEgH,kBAAkB,CAAClG,UAAU,WAAW,IAAI,IAAIL,EAAET,EAAE4T,IAAI1T,OAAO,EAAEO,GAAG,EAAEA,IAAI,CAAC,MAAMC,EAAEV,EAAE4T,IAAInT,GAAGmB,GAAGlB,EAAE6G,UAAUyG,KAAMhO,IAAI,IAAIS,EAAEC,EAAE,OAAO,QAAQD,EAAET,EAAEkI,kBAAa,IAASzH,OAAE,EAAOA,EAAEP,QAAQ,IAAI,QAAQQ,EAAEV,EAAEyH,kBAAa,IAAS/G,OAAE,EAAOA,EAAER,QAAQ,CAAE,IAAIQ,EAAE6T,YAAY3S,GAAGlB,EAAE4T,eAAe9D,KAAK6B,eAAe3R,EAAEsG,kBAAkB7E,OAAOnC,EAAEgH,mBAAmB,CAAClG,UAAUJ,EAAE6T,WAAW,KAAK,CAACK,aAAalU,EAAEiU,cAAc,IAAI,CAACzN,WAAWxG,EAAEwG,YAAY,CAACgI,OAAOxO,EAAEwO,SAASsB,KAAK4B,iBAAiB1R,EAAEL,SAASK,EAAEmU,WAAU,EAAG7U,EAAE4T,IAAIkB,OAAOrU,EAAE,GAAG,CAAC,EAAE,IAAIsU,EAAE,KAAK,MAAMC,EAAE,CAACC,KAAK,CAAA,EAAG/U,OAAO,EAAE,OAAAgV,CAAQlV,GAAG,OAAOwQ,KAAKyE,KAAKjV,EAAE,EAAE,OAAAmV,CAAQnV,EAAES,GAAG+P,KAAKyE,KAAKjV,GAAGS,EAAE+P,KAAKtQ,OAAOyC,OAAOsJ,KAAKuE,KAAKyE,MAAM/U,MAAM,EAAE,UAAAkV,CAAWpV,UAAUwQ,KAAKyE,KAAKjV,GAAGwQ,KAAKtQ,OAAOyC,OAAOsJ,KAAKuE,KAAKyE,MAAM/U,MAAM,EAAE,KAAAmV,GAAQ7E,KAAKyE,KAAK,CAAA,EAAGzE,KAAKtQ,OAAO,CAAC,GAAG,MAAMoV,EAAE,WAAA/E,GAAcC,KAAK+E,QAAQ/E,KAAKgF,aAAa,CAAC,WAAAA,GAAc,GAAGT,EAAE,OAAOA,EAAE,IAAIA,EAAE,oBAAoB3R,QAAQ,OAAOA,OAAOA,OAAOqS,cAAcrS,OAAOsS,eAAe,IAAI,CAAC,MAAM1V,GAAG+U,EAAE,IAAI,CAAC,OAAOA,IAAIvE,KAAKmF,kBAAkBZ,KAAKA,EAAEC,EAAED,EAAEM,SAASN,CAAC,CAAC,iBAAAY,CAAkB3V,GAAG,MAAMS,EAAE,kBAAkB,IAAI,GAAGT,EAAEmV,QAAQ1U,EAAEA,GAAGT,EAAEkV,QAAQzU,KAAKA,EAAE,OAAOT,EAAEoV,WAAW3U,IAAG,CAAE,CAAC,MAAMT,GAAG,OAAM,CAAE,CAAC,OAAOA,EAAEoV,WAAW3U,IAAG,CAAE,CAAC,OAAAyU,CAAQlV,GAAG,OAAOwQ,KAAK+E,QAAQL,QAAQlV,EAAE,CAAC,OAAAmV,CAAQnV,EAAES,GAAG,OAAO+P,KAAK+E,QAAQJ,QAAQnV,EAAES,EAAE,CAAC,UAAA2U,CAAWpV,GAAG,OAAOwQ,KAAK+E,QAAQH,WAAWpV,EAAE,CAAC,KAAAqV,GAAQ,OAAO7E,KAAK+E,QAAQF,OAAO,EAAE,MAAMO,EAAE,KAAWC,EAAE,CAACC,IAAIC,eAAe/V,EAAES,GAAG,IAAI,MAAMC,EAAE,IAAIsV,gBAAgBpU,EAAEqU,WAAU,KAAO,MAAMvV,EAAEwV,QAAQ,IAAI/C,MAAM,uCAAuChR,OAAO1B,EAAE0V,SAASP,EAAE,aAAc,EAAEnV,EAAE0V,SAASP,GAAGjV,QAAQyV,MAAMpW,EAAE,IAAIS,EAAE4V,OAAO3V,EAAE2V,OAAOC,YAAY7V,EAAE8V,gBAAgB,UAAU,SAASC,QAAO,KAAOC,aAAa7U,EAAG,GAAGf,EAAE,SAASb,GAAG,OAAOiD,EAAEyB,wBAAwB,WAAWtB,OAAOsC,SAASD,UAAUzF,EAAEwC,IAAIuC,SAAS,WAAW,4CAA4C,MAAM/E,EAAE0W,QAAQ1W,EAAE2W,GAAG,KAAK,eAAexU,OAAOnC,EAAE4W,WAAW,MAAMzU,OAAOnC,EAAE0W,OAAO,IAAI,CAA/O,CAAiP/V,GAAG,OAAOE,EAAE,CAACgW,MAAM,IAAI1D,MAAMtS,GAAGiW,WAAWnW,EAAE+V,QAAQX,eAAe/V,GAAG,MAAMS,QAAQT,EAAEgG,OAAO,IAAItF,EAA2F,OAAzFA,EAAEuC,EAAEyB,uBAAuB,IAAIqS,UAAU,WAAW9D,QAAA+D,UAAAzD,KAAA,WAAA,OAAA0D,EAAA,IAAmC,WAAQ,CAACC,IAAIxW,EAAEyW,gBAAgB1W,EAAE,YAAY2W,QAAQ,CAACvE,WAAWpS,EAAEP,OAAO4W,WAAW9W,EAAE0W,OAAOW,OAAO5W,GAAG,CAA9OsV,CAAgPpV,EAAE,CAAC,MAAMX,GAAG,MAAM,CAAC6W,MAAM7W,EAAE8W,WAAW,eAAe9W,EAAE+L,KAAK,IAAI,KAAK,CAAC,GAAG,MAAMuL,EAAE,WAAA/G,GAAcC,KAAK+G,mBAAmB,EAAE,CAAC,UAAAC,GAAa,IAAIxX,EAAEC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAGuQ,KAAKiH,WAAWzX,EAAEyX,YAAYzX,EAAE0X,YAAY7B,EAAErF,KAAKmH,gBAAgB,IAAI3X,EAAE4X,aAAazB,QAAQnW,EAAEmW,SAASP,EAAEW,gBAAgBsB,QAAQ7X,EAAEuW,iBAAiB,CAAC,oBAAAuB,CAAqB9X,GAAG,mBAAmBA,GAAGwQ,KAAK+G,mBAAmB5V,KAAK3B,EAAE,CAAC,2BAAA+X,GAA8BvH,KAAK+G,mBAAmBS,KAAK,CAAC,uBAAAC,GAA0B,OAAOzH,KAAK+G,mBAAmBrX,MAAM,CAAC,uBAAAgY,GAA0B1H,KAAK+G,mBAAmB,EAAE,CAAC,eAAM/C,CAAUxU,GAAG,IAAIS,EAAE,IAAI+B,IAAI9B,EAAEsR,gBAAgBpQ,EAAE6S,QAAQ9T,EAAE2S,aAAazS,EAAE,EAAEsT,YAAYvT,EAAE,KAAKuX,UAAU1V,EAAE,MAAMzC,EAAE,MAAM0C,EAAEnB,KAAK6W,MAAM5H,KAAK+G,mBAAmBpU,QAASnD,IAAIU,EAAEV,EAAEU,EAAG,GAAGC,EAAE,iBAAiB,CAAC6B,IAAI9B,EAAEyT,YAAYvT,EAAE0S,aAAazS,EAAEmR,gBAAgBpQ,EAAEuU,QAAQ3F,KAAKmH,gBAAgBxB,QAAQgC,UAAU1V,IAAI,MAAMf,QAAQ8O,KAAKiH,WAAW3B,IAAIpV,EAAE8P,KAAKmH,iBAAiBzW,EAAEC,KAAKC,MAAMG,KAAK6W,MAAM1V,GAAG,GAAG/B,EAAE,gBAAgB,CAAC6B,IAAI9B,EAAEyT,YAAYvT,EAAE0S,aAAazS,EAAEgW,OAAO,MAAMnV,OAAE,EAAOA,EAAEmV,QAAQ,KAAKpN,SAASvI,EAAE4V,YAAY,MAAMpV,OAAE,EAAOA,EAAEoV,aAAa,QAAQ,MAAMpV,OAAE,EAAOA,EAAE0V,UAAU1F,EAAE,MAAMhQ,GAAG,QAAQjB,EAAEiB,EAAE0V,eAAU,IAAS3W,OAAE,EAAOA,EAAEoS,WAAW3R,GAAGQ,EAAEmV,MAAM,MAAM,IAAI1D,MAAMzR,EAAEmV,OAAO,OAAOnV,EAAEwV,GAAG,EAAE,MAAMmB,EAAE,WAAA9H,GAAc,IAAIvQ,EAAEC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,EAAEQ,EAAER,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,EAAES,EAAET,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,IAAIqV,EAAE9E,KAAK8H,iBAAiBtY,EAAEwQ,KAAK+H,2BAA2B9X,EAAE+P,KAAKsB,QAAQ,IAAIwF,EAAE9G,KAAKgI,WAAW,IAAI3G,EAAE,CAACC,QAAQtB,KAAKsB,UAAUtB,KAAK+E,QAAQ7U,OAAE,IAAS8P,KAAKiI,mBAAmBjI,KAAKiI,iBAAiB,QAAG,IAASjI,KAAKkI,aAAalI,KAAKkI,WAAW,QAAG,IAASlI,KAAKmI,oBAAoBnI,KAAKmI,kBAAkB,EAAE,CAAC,oBAAAb,CAAqB9X,GAAGwQ,KAAKsB,QAAQgG,qBAAqB9X,EAAE,CAAC,2BAAA+X,GAA8BvH,KAAKsB,QAAQiG,6BAA6B,CAAC,uBAAAE,GAA0B,OAAOzH,KAAKsB,QAAQmG,yBAAyB,CAAC,uBAAAC,GAA0B1H,KAAKsB,QAAQoG,yBAAyB,CAAC,SAAAU,GAAY,OAAOpI,KAAKgI,UAAU,CAAC,oBAAIC,GAAmB,OAAOjI,KAAK+E,QAAQL,QAAQ,iCAAiC,CAAC,oBAAIuD,CAAiBzY,GAAGwQ,KAAK+E,QAAQJ,QAAQ,iCAAiCnV,EAAE,CAAC,cAAI0Y,GAAa,OAAOlI,KAAK+E,QAAQL,QAAQ,0BAA0B,CAAC,cAAIwD,CAAW1Y,GAAGwQ,KAAK+E,QAAQJ,QAAQ,0BAA0BnV,EAAE,CAAC,qBAAI2Y,GAAoB,OAAOnI,KAAK+E,QAAQL,QAAQ,kCAAkC,CAAC,qBAAIyD,CAAkB3Y,GAAGwQ,KAAK+E,QAAQJ,QAAQ,kCAAkCnV,EAAE,CAAC,eAAA6Y,GAAkB,OAAOrI,KAAKgI,WAAWtG,aAAahS,OAAO,CAAC,CAAC,UAAA4Y,CAAW9Y,GAAG,OAAOwQ,KAAKgI,WAAWxF,gBAAgBhT,EAAE,CAAC,SAAAyT,CAAUzT,GAAG,IAAIS,EAAER,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,OAAOuQ,KAAKsB,QAAQ0F,WAAW/W,GAAG+P,KAAKgI,WAAW/E,UAAUzT,EAAES,EAAE,CAAC,GAAAqV,CAAI9V,GAAG,IAAIS,EAAER,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,MAAMS,EAAEa,KAAK6W,MAAM,OAAO3X,EAAE8B,eAAe,gBAAgB9B,EAAEwT,YAAW,GAAIzD,KAAKmI,kBAAkBjY,GAAG8P,KAAKkI,WAAW,EAAElI,KAAKmI,kBAAkBjY,EAAE,MAAM8P,KAAKkI,aAAa,IAAIzF,QAAO,CAAGrR,EAAEjB,KAAK,GAAG6P,KAAK8H,kBAAkB9H,KAAKkI,WAAW,OAAO/X,EAAE,IAAIwS,MAAM,0DAA0DhR,OAAOqO,KAAKkI,WAAW,KAAKvW,OAAOqO,KAAK8H,oBAAoB,MAAMzX,EAAEH,EAAE8P,KAAKiI,iBAAiB,GAAG5X,EAAE,EAAE2P,KAAKiI,iBAAiB,OAAO,GAAG5X,EAAE2P,KAAK+H,2BAA2B,OAAO5X,EAAE,IAAIwS,MAAM,yBAAyBhR,OAAOqO,KAAK+H,2BAA2B,kCAAkC/H,KAAKgI,WAAW/F,kBAAkBhS,GAAG+P,KAAKsB,QAAQ0F,WAAW/W,GAAG+P,KAAKgI,WAAW7F,QAAQ3S,EAAEwQ,KAAKsB,QAAQ0C,UAAU,CAAChS,IAAIxC,EAAEyU,QAAQjE,KAAKgI,WAAWrH,KAAKD,KAAKV,KAAKgI,YAAYxG,gBAAgBxB,KAAKgI,WAAWxG,kBAAkBuB,KAAM7S,IAAID,EAAE0T,YAAYnU,EAAES,EAAEiT,YAAW,EAAGjT,EAAE+B,IAAIxC,EAAEwQ,KAAKgI,WAAW7E,MAAMjT,EAAED,GAAG8S,KAAMvT,IAAI,MAAMS,EAAE+P,KAAKgI,WAAWhF,kBAAkBxT,GAAG4B,EAAEnB,EAAG,KAAMiU,MAAO1U,GAAGW,EAAEX,GAAK,EAAE,EAAE,MAAM+Y,UAAUzI,EAAE,WAAAC,CAAYvQ,EAAES,EAAEC,GAAG,IAAIkB,EAAE,IAAIjB,EAAEV,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,KAAKY,EAAEZ,UAAUC,OAAO,QAAG,IAASD,UAAU,IAAIA,UAAU,GAAG8R,QAAQvB,KAAK9B,GAAGjO,EAAE+P,KAAKwI,SAAStY,EAAE8P,KAAKyI,UAAUtY,EAAE6P,KAAK0I,MAAMrY,EAAE2P,KAAK2I,WAAU,EAAG3I,KAAK4I,WAAU,EAAG5I,KAAK3I,eAAe,CAAA,EAAG2I,KAAK6I,sBAAsB,GAAG7I,KAAK8I,eAAe,EAAE9I,KAAK+I,2BAA2B,CAAA,EAAG/I,KAAKgJ,iBAAiB,CAAC,eAAe,QAAQ,gBAAgB,WAAW,gBAAgB,WAAW,SAAS,QAAQ,SAAS,OAAO,cAAc,SAAS,IAAI,MAAMxZ,KAAKwQ,KAAKwI,SAASnR,eAAe,CAAC,MAAMpH,EAAE+P,KAAKwI,SAASnR,eAAe7H,GAAGwQ,KAAK3I,eAAe7H,GAAGS,EAAEkF,MAAM,EAAE,CAAC6K,KAAKiJ,4BAA4B,QAAQ7X,EAAE4O,KAAK9B,GAAGvH,0BAAqB,IAASvF,OAAE,EAAOA,EAAEI,OAAM,CAAGhC,EAAES,KAAKT,EAAE6P,YAAYlO,QAAQlB,EAAEoP,aAAa7P,EAAE8P,iBAAiBnO,QAAQlB,EAAEqP,kBAAkB9P,EAAE4P,SAASjO,QAAQlB,EAAEmP,UAAU5P,GAAI,CAAC6P,YAAY,GAAGC,iBAAiB,GAAGF,SAAS,OAAO,CAAA,EAAGjN,OAAO+W,QAAQlJ,KAAKiJ,4BAA4BtW,QAASnD,IAAI,IAAIS,EAAEC,GAAGV,EAAEU,EAAER,SAASsQ,KAAK3I,eAAepH,GAAGC,EAAG,GAAI,SAASV,GAAG,MAAM,WAAWA,EAAEwH,IAAI,CAAnC,CAAqCgJ,KAAKwI,UAAwCxI,KAAKmJ,sBAAnCnJ,KAAKoJ,yBAAoD5Z,GAAGwQ,KAAKE,GAAG,QAAO,KAAO1Q,EAAEyY,iBAAiBlX,KAAK6W,KAAM,EAAE,CAAC,mBAAAuB,GAAsBnJ,KAAKqJ,QAAO,EAAGrJ,KAAK9G,UAAU8G,KAAKwI,SAAStP,UAAU8G,KAAKsJ,YAAYtJ,KAAKwI,SAASvP,UAAU+G,KAAKuJ,wBAAwBvJ,KAAKwI,SAASlR,6BAA6B0I,KAAKwJ,0BAA0BxJ,KAAKwI,SAASrR,8BAA8B,CAAC,sBAAAiS,GAAyB,GAAGpJ,KAAKqJ,QAAO,EAAGrJ,KAAK9G,WAAU,EAAG8G,KAAKyI,UAAU,CAAC,IAAI,MAAMjZ,KAAKwQ,KAAKyI,UAAUpR,eAAe,CAAC,MAAMpH,EAAE+P,KAAKyI,UAAUpR,eAAe7H,GAAGwQ,KAAK3I,eAAe7H,GAAGwQ,KAAK3I,eAAe7H,GAAGwQ,KAAK3I,eAAe7H,GAAGmC,OAAO1B,EAAEkF,MAAM,IAAI6K,KAAK3I,eAAe7H,GAAGS,EAAEkF,MAAM,EAAE,CAAC,gBAAgB6K,KAAKyI,UAAU5Q,QAAQmI,KAAKuJ,wBAAwBvJ,KAAKyI,UAAUtN,iCAAiC6E,KAAKwJ,0BAA0BxJ,KAAKyI,UAAUrN,mCAAmC4E,KAAKsJ,YAAYtJ,KAAKyI,UAAUvN,uBAAuB,SAAS1L,GAAG,MAAM,gBAAgBA,EAAEqI,MAAM,CAA1C,CAA4CmI,KAAKyI,aAAazI,KAAKuJ,wBAAwBvJ,KAAKyI,UAAU7P,iCAAiCoH,KAAKwJ,0BAA0BxJ,KAAKyI,UAAUvR,mCAAmC,CAAC,CAAC,WAAAoS,CAAY9Z,GAAGiD,EAAEqB,iBAAiBtE,IAAIwQ,KAAKyJ,cAAcja,EAAEwQ,KAAK0J,UAAU,CAACC,cAAchZ,KAAKC,MAAM,GAAGoP,KAAKyJ,eAAe,IAAIG,SAASjZ,KAAKC,MAAM,GAAGoP,KAAKyJ,eAAe,IAAII,cAAclZ,KAAKC,MAAM,GAAGoP,KAAKyJ,eAAe,MAAMzJ,KAAKW,KAAK,gBAAgB,CAAC/C,QAAQ,iDAAiDjM,OAAOnC,IAAI,CAAC,WAAAsa,CAAYta,GAAG,IAAIS,EAAER,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAGS,IAAIT,UAAUC,OAAO,QAAG,IAASD,UAAU,KAAKA,UAAU,GAAG,IAAIgD,EAAEqB,iBAAiBtE,IAAI,iBAAiBS,EAAE,YAAY+P,KAAKW,KAAK,gBAAgB,CAAC/C,QAAQ,iEAAiEjM,OAAOnC,EAAE,cAAcmC,OAAOc,EAAE0B,mBAAmBlE,MAAM,MAAMmB,EAAE4O,KAAK9G,YAAW,EAAG,IAAG,IAAK9H,GAAG4O,KAAK4I,YAAYxX,EAAE5B,EAAEwQ,KAAKW,KAAK,iBAAiBvP,EAAE5B,IAAIwQ,KAAK4I,WAAU,EAAG5I,KAAKW,KAAK,iBAAiB,KAAKX,KAAKyJ,cAAc,EAAE,CAAC,MAAMrY,EAAET,KAAKC,MAAMpB,EAAEwQ,KAAKyJ,cAAc,KAAKtZ,EAAE,GAAG,GAAGX,EAAE,EAAE,CAACW,EAAEgB,KAAK,SAAS,IAAI,IAAI3B,EAAEwQ,KAAK8I,eAAetZ,EAAE4B,EAAE5B,IAAIW,EAAEgB,KAAK,YAAYQ,OAAOnC,EAAE,EAAE,MAAMW,EAAEgB,KAAK,YAAYQ,OAAOnC,IAAI,IAAI,MAAMS,KAAK+P,KAAK0J,UAAU1J,KAAK+J,kBAAkB9Z,EAAE+P,KAAK0J,UAAUzZ,GAAGT,KAAKW,EAAEgB,KAAKlB,GAAG+P,KAAK+I,2BAA2B9Y,IAAG,GAAI+P,KAAK8I,eAAe1X,CAAC,CAACjB,EAAEwC,QAASnD,IAAIwQ,KAAKtN,MAAMlD,EAAE,CAACwa,OAAO/Z,EAAEqQ,KAAKpQ,GAAI,GAAGV,EAAEwQ,KAAKiK,WAAWjK,KAAKtN,MAAM,SAAS,CAACsX,OAAO/Z,IAAI+P,KAAK6I,uBAAuB7I,KAAK6I,sBAAsBvE,OAAO,GAAG,CAACtE,KAAKiK,SAASza,CAAC,CAAC,iBAAAua,CAAkBva,EAAES,EAAEC,GAAG,IAAIkB,GAAE,EAAG,OAAOnB,GAAGC,IAAI8P,KAAK+I,2BAA2BvZ,KAAK4B,GAAE,GAAIA,CAAC,CAAC,QAAA8Y,CAAS1a,GAAG,IAAIS,EAAER,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,kBAAkBD,GAAG,iBAAiBS,GAAG+P,KAAK0I,QAAQlZ,GAAGwQ,KAAKtN,MAAMlD,EAAE,OAAO,SAAS,CAACwa,OAAO/Z,IAAI+P,KAAK0I,MAAMlZ,GAAGwQ,KAAKW,KAAK,gBAAgB,CAAC/C,QAAQ,2DAA2DjM,OAAOnC,EAAE,cAAcmC,OAAOc,EAAE0B,mBAAmBlE,KAAK,CAAC,SAAAka,CAAU3a,GAAG,IAAIS,EAAER,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,kBAAkBD,GAAG,iBAAiBS,GAAG+P,KAAKoK,SAAS5a,GAAGwQ,KAAKtN,MAAMlD,EAAE,QAAQ,SAAS,CAACwa,OAAO/Z,IAAI+P,KAAKoK,OAAO5a,GAAGwQ,KAAKW,KAAK,gBAAgB,CAAC/C,QAAQ,6DAA6DjM,OAAOnC,EAAE,cAAcmC,OAAOc,EAAE0B,mBAAmBlE,KAAK,CAAC,aAAAoa,CAAc7a,GAAG,IAAIS,EAAER,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,kBAAkBD,GAAG,iBAAiBS,GAAG+P,KAAKsK,aAAa9a,GAAGwQ,KAAKtN,MAAMlD,EAAE,aAAa,iBAAiB,CAACwa,OAAO/Z,IAAI+P,KAAKsK,WAAW9a,GAAGwQ,KAAKW,KAAK,gBAAgB,CAAC/C,QAAQ,qEAAqEjM,OAAOnC,EAAE,cAAcmC,OAAOc,EAAE0B,mBAAmBlE,KAAK,CAAC,SAAAsa,CAAU/a,GAAG,IAAIS,EAAER,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,kBAAkBD,GAAG,iBAAiBS,GAAG+P,KAAKwK,WAAWhb,IAAIwQ,KAAKtN,MAAMlD,EAAE,SAAS,WAAW,CAACwa,OAAO/Z,IAAI+P,KAAKtN,MAAMlD,EAAE,eAAe,iBAAiB,CAACwa,OAAO/Z,KAAK+P,KAAKwK,SAAShb,GAAGwQ,KAAKW,KAAK,gBAAgB,CAAC/C,QAAQ,+DAA+DjM,OAAOnC,EAAE,cAAcmC,OAAOc,EAAE0B,mBAAmBlE,KAAK,CAAC,YAAAwa,CAAajb,GAAGiD,EAAEqB,iBAAiBtE,GAAGwQ,KAAK9G,UAAU1J,EAAEwQ,KAAKW,KAAK,gBAAgB,CAAC/C,QAAQ,iEAAiEjM,OAAOnC,IAAI,CAAC,eAAAkb,GAAkB,IAAIlb,EAAEC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,iBAAiBD,EAAEwQ,KAAK2I,YAAY3I,KAAK2I,WAAU,EAAG3I,KAAK2K,UAAU3K,KAAK9B,GAAGzH,uBAAuBjH,GAAGwQ,KAAKtN,MAAM,eAAe,CAACsX,OAAOxa,KAAKwQ,KAAKW,KAAK,gBAAgB,CAAC/C,QAAQ,yDAAyDjM,OAAOnC,IAAI,CAAC,uBAAAob,GAA0B,IAAIpb,EAAEC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAGQ,EAAER,UAAUC,OAAO,QAAG,IAASD,UAAU,IAAIA,UAAU,GAAG,iBAAiBD,EAAEwQ,KAAKtN,MAAM,WAAW,CAACsX,OAAOxa,EAAE8Q,KAAKrQ,IAAI+P,KAAKW,KAAK,gBAAgB,CAAC/C,QAAQ,oEAAoEjM,OAAOnC,IAAI,CAAC,0BAAAqb,GAA6B,IAAIrb,EAAEC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAGQ,EAAER,UAAUC,OAAO,QAAG,IAASD,UAAU,IAAIA,UAAU,GAAG,iBAAiBD,EAAEwQ,KAAKtN,MAAM,cAAc,CAACsX,OAAOxa,EAAE8Q,KAAKrQ,IAAI+P,KAAKW,KAAK,gBAAgB,CAAC/C,QAAQ,uEAAuEjM,OAAOnC,IAAI,CAAC,2BAAAsb,GAA8B,IAAItb,EAAEC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAGQ,EAAER,UAAUC,OAAO,QAAG,IAASD,UAAU,IAAIA,UAAU,GAAG,iBAAiBD,EAAEwQ,KAAKtN,MAAM,mBAAmB,CAACsX,OAAOxa,EAAE8Q,KAAKrQ,IAAI+P,KAAKW,KAAK,gBAAgB,CAAC/C,QAAQ,wEAAwEjM,OAAOnC,IAAI,CAAC,KAAA6W,GAAQ,IAAI7W,EAAEC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAGQ,EAAER,UAAUC,OAAO,QAAG,IAASD,UAAU,IAAIA,UAAU,GAAG,iBAAiBD,GAAG,kBAAkBS,EAAE+P,KAAK2K,UAAU3K,KAAK9B,GAAG1H,kBAAkBhH,EAAE,CAACe,aAAaN,IAAI+P,KAAKW,KAAK,gBAAgB,CAAC/C,QAAQ,yDAAyDjM,OAAOc,EAAE0B,mBAAmB3E,GAAG,oBAAoBmC,OAAO1B,IAAI,CAAC,aAAA8a,CAAcvb,GAAG,IAAIS,EAAER,UAAUC,OAAO,QAAG,IAASD,UAAU,IAAIA,UAAU,GAAG,iBAAiBD,GAAG,kBAAkBS,GAAG+P,KAAKqG,MAAM,CAAC/V,UAAUd,GAAGS,GAAG+a,QAAQC,IAAI,yFAAyFjL,KAAKW,KAAK,gBAAgB,CAAC/C,QAAQ,oEAAoEjM,OAAOnC,EAAE,oBAAoBmC,OAAO1B,IAAI,CAAC,QAAAib,GAAW,IAAI1b,EAAEC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,iBAAiBD,EAAEwQ,KAAKtN,MAAM,WAAW,CAACsX,OAAOxa,IAAIwQ,KAAKW,KAAK,gBAAgB,CAAC/C,QAAQ,qDAAqDjM,OAAOnC,IAAI,CAAC,OAAA2b,GAAU,IAAI3b,EAAEC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,iBAAiBD,GAAGwQ,KAAKtN,MAAM,UAAU,CAACsX,OAAOxa,IAAIwQ,KAAK3I,eAAe,IAAI2I,KAAKW,KAAK,gBAAgB,CAAC/C,QAAQ,oDAAoDjM,OAAOnC,IAAI,CAAC,kBAAA4b,GAAqB,IAAI5b,EAAEC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,iBAAiBD,EAAEwQ,KAAKtN,MAAM,qBAAqB,CAACsX,OAAOxa,IAAIwQ,KAAKW,KAAK,gBAAgB,CAAC/C,QAAQ,+DAA+DjM,OAAOnC,IAAI,CAAC,gBAAA6b,GAAmB,IAAI7b,EAAEC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,iBAAiBD,EAAEwQ,KAAKtN,MAAM,mBAAmB,CAACsX,OAAOxa,IAAIwQ,KAAKW,KAAK,gBAAgB,CAAC/C,QAAQ,6DAA6DjM,OAAOnC,IAAI,CAAC,QAAA8b,GAAW,IAAI9b,EAAEC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,iBAAiBD,EAAEwQ,KAAKtN,MAAM,WAAW,CAACsX,OAAOxa,IAAIwQ,KAAKW,KAAK,gBAAgB,CAAC/C,QAAQ,qDAAqDjM,OAAOnC,IAAI,CAAC,UAAA+b,GAAa,IAAI/b,EAAEC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,iBAAiBD,EAAEwQ,KAAKtN,MAAM,aAAa,CAACsX,OAAOxa,IAAIwQ,KAAKW,KAAK,gBAAgB,CAAC/C,QAAQ,uDAAuDjM,OAAOnC,IAAI,CAAC,QAAAgc,GAAW,IAAIhc,EAAEC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,iBAAiBD,EAAEwQ,KAAKtN,MAAM,WAAW,CAACsX,OAAOxa,IAAIwQ,KAAKW,KAAK,gBAAgB,CAAC/C,QAAQ,qDAAqDjM,OAAOnC,IAAI,CAAC,uBAAAic,CAAwBjc,GAAG,IAAIS,EAAER,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,GAAG,iBAAiBD,GAAG,iBAAiBS,EAAE,YAAY+P,KAAKW,KAAK,gBAAgB,CAAC/C,QAAQ,0EAA0EjM,OAAOnC,EAAE,cAAcmC,OAAOc,EAAE0B,mBAAmBlE,MAAM,IAAI+P,KAAK9B,KAAK8B,KAAK9B,GAAG3G,kBAAkByI,KAAK9B,GAAG3G,gBAAgB7H,OAAO,MAAM,IAAIiT,MAAM,+BAA+B,IAAInT,EAAE,MAAM,IAAImT,MAAM,yEAAyE,MAAMzS,EAAE8P,KAAK9B,GAAG3G,gBAAgB3C,KAAM3E,GAAGA,EAAE0P,SAASnQ,GAAI,IAAIU,EAAE,MAAM,IAAIyS,MAAM,wDAAwDhR,OAAOnC,IAAI,MAAM4B,EAAElB,EAAEmH,eAAe,GAAGjG,GAAGA,EAAEqa,wBAAwB,CAAC,MAAMjc,EAAE4B,EAAEqa,wBAAwBzL,KAAK2K,UAAUnb,EAAES,GAAG+P,KAAKW,KAAK,0BAA0B,CAAC+K,qBAAqBlc,GAAG,CAAC,CAAC,mBAAAmc,CAAoBnc,GAAG,IAAIS,EAAER,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,iBAAiBD,GAAG,iBAAiBS,GAAGA,EAAE2b,WAAWpc,EAAEwQ,KAAKtN,MAAM,sBAAsB,CAACsX,OAAO/Z,KAAK+P,KAAKW,KAAK,gBAAgB,CAAC/C,QAAQ,mFAAmFjM,OAAOnC,EAAE,cAAcmC,OAAOc,EAAE0B,mBAAmBlE,KAAK,CAAC,KAAA4b,GAAQ,IAAIrc,EAAEC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,iBAAiBD,EAAEwQ,KAAKtN,MAAMsN,KAAKqJ,OAAO,cAAc,QAAQ,CAACW,OAAOxa,IAAIwQ,KAAKW,KAAK,gBAAgB,CAAC/C,QAAQ,kDAAkDjM,OAAOnC,IAAI,CAAC,IAAAsc,GAAO,IAAItc,EAAEC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,iBAAiBD,EAAEwQ,KAAKtN,MAAM,OAAO,CAACsX,OAAOxa,IAAIwQ,KAAKW,KAAK,gBAAgB,CAAC/C,QAAQ,iDAAiDjM,OAAOnC,IAAI,CAAC,IAAAuc,GAAO,IAAIvc,EAAEC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,iBAAiBD,EAAEwQ,KAAKtN,MAAM,SAAS,CAACsX,OAAOxa,IAAIwQ,KAAKW,KAAK,gBAAgB,CAAC/C,QAAQ,iDAAiDjM,OAAOnC,IAAI,CAAC,KAAAwc,GAAQ,IAAIxc,EAAEC,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,KAAKQ,EAAER,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,GAAG,OAAOD,GAAG,iBAAiBA,GAAG,iBAAiBS,EAAE,YAAY+P,KAAKW,KAAK,gBAAgB,CAAC/C,QAAQ,0EAA0EjM,OAAOnC,EAAE,cAAcmC,OAAOc,EAAE0B,mBAAmBlE,MAAM+P,KAAKwJ,2BAA2BxJ,KAAKwJ,0BAA0B9Z,QAAQsQ,KAAK2K,UAAU3K,KAAKwJ,0BAA0BvZ,GAAG,MAAMC,EAAE8P,KAAKuJ,yBAAyB/Z,EAAE4B,EAAE,IAAInB,GAAG,GAAGC,EAAE,CAAC8P,KAAKiK,WAAW7Y,EAAEwa,WAAW5L,KAAKiM,qBAAqB,MAAMzc,EAAEiD,EAAEM,oBAAoB,CAAC7C,GAAGkB,GAAG,GAAG4O,KAAKW,KAAK,eAAenR,EAAE,CAAC,CAAC,mBAAA0c,CAAoB1c,EAAES,EAAEC,GAAG,MAAMkB,EAAEsC,WAAWlE,EAAE0G,MAAM,KAAK,IAAI/D,OAAO+W,QAAQlJ,KAAK3I,gBAAgB/F,OAAQ9B,IAAI,IAAIS,GAAGT,EAAE,OAAOS,EAAE+E,WAAW,YAAa,GAAGlD,IAAKtC,IAAI,IAAIS,EAAEC,GAAGV,EAAE,MAAM,CAAC+L,KAAKtL,EAAEkc,KAAKzY,WAAWzD,EAAEiG,MAAM,KAAK,IAAIkW,KAAKlc,EAAG,GAAGoB,OAAQ9B,IAAI,IAAI2c,KAAKlc,GAAGT,EAAE,OAAOS,GAAGmB,GAAGnB,EAAE+P,KAAKiK,QAAS,GAAGtX,QAASnD,IAAI,IAAI+L,KAAKnK,EAAEgb,KAAKjc,GAAGX,GAAGU,GAAG8P,KAAK6I,sBAAsBtU,SAASnD,KAAK4O,KAAKW,KAAKvP,EAAE,CAACsa,qBAAqBvb,IAAI6P,KAAK2K,UAAUxa,EAAEF,GAAGC,SAAS8P,KAAK3I,eAAejG,GAAG4O,KAAK6I,sBAAsB1X,KAAKC,GAAI,EAAE,CAAC,KAAAsB,CAAMlD,GAAG,IAAIwa,OAAO/Z,EAAE,CAAA,EAAGqQ,KAAKpQ,GAAE,GAAIT,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,GAAG,iBAAiBQ,EAAE,YAAY+P,KAAKW,KAAK,gBAAgB,CAAC/C,QAAQ,kDAAkDjM,OAAO1B,KAAK,gBAAgBT,IAAIwQ,KAAK3I,eAAe7H,IAAIwQ,KAAK3I,eAAewU,QAAQrc,EAAE,SAASA,EAAEwF,WAAW,eAAexF,EAAE6c,SAAS,MAAMrM,KAAKkM,oBAAoB1c,EAAES,EAAEC,GAAG,MAAMkB,EAAE4O,KAAK3I,eAAe7H,GAAGW,EAAE6P,KAAKgJ,iBAAiBzX,QAAQ/B,IAAG,EAAG4B,GAAG4O,KAAKW,KAAKnR,EAAE,CAACkc,qBAAqBta,IAAI4O,KAAK2K,UAAUvZ,EAAEnB,IAAIE,GAAG6P,KAAKW,KAAKnR,EAAE,MAAMU,WAAW8P,KAAK3I,eAAe7H,GAAGW,GAAG6P,KAAKgJ,iBAAiB1E,OAAOtE,KAAKgJ,iBAAiBzX,QAAQ/B,GAAG,GAAG,CAAC,SAAAmb,CAAUnb,GAAG,IAAIS,EAAE,IAAIC,EAAET,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG2B,EAAE3B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,CAAA,EAAG,MAAMyD,UAAU/C,EAAEgD,YAAY9C,GAAGoC,EAAEQ,mBAAmBzD,GAAGa,EAAEX,QAAQsQ,KAAKW,KAAK,gBAAgB,CAAC/C,QAAQ,qCAAqCjM,OAAOtB,KAAK,MAAMD,EAAE,IAAIF,GAAG8P,KAAKqJ,SAASrJ,KAAKwI,UAAUxI,KAAKwI,SAAS9Q,YAAYsI,KAAKwI,SAAS9Q,WAAW,IAAIsI,KAAKwI,SAAS9Q,WAAW,GAAG6B,UAAUnJ,EAAEkc,SAAStM,KAAKwI,SAAS9Q,WAAW,GAAG6B,SAASyG,KAAKiK,WAAW7Z,EAAEwb,WAAW5L,KAAKiM,sBAAsB,QAAQhc,EAAE+P,KAAKwI,gBAAW,IAASvY,GAAG,QAAQA,EAAEA,EAAEF,sBAAiB,IAASE,GAAGA,EAAEP,SAASU,EAAEmc,cAAcvM,KAAKwI,SAASzY,eAAe+B,IAAKtC,GAAGA,EAAEwP,WAAWrN,OAAO,IAAInC,EAAEsJ,QAAS6E,KAAK,MAAMqC,KAAK9B,KAAK8B,KAAK9B,GAAGrO,WAAWO,EAAEoc,YAAYxM,KAAK9B,GAAGrO,UAAUmQ,KAAK9B,GAAGrG,SAASzH,EAAEqc,OAAOzM,KAAK9B,GAAGrG,QAAQmI,KAAK9B,GAAGK,cAAcnO,EAAEsc,YAAY1M,KAAK9B,GAAGK,aAAayB,KAAK9B,GAAGM,YAAYwB,KAAK9B,GAAGM,WAAW9O,SAASU,EAAEuc,aAAa3M,KAAK9B,GAAGM,WAAW1M,IAAKtC,GAAGA,EAAEsJ,OAAQ6E,KAAK,MAAMqC,KAAK9B,GAAG1G,qBAAqBwI,KAAK9B,GAAG1G,oBAAoB9H,SAASU,EAAEwc,oBAAoB5M,KAAK9B,GAAG1G,oBAAoB1F,IAAKtC,GAAGA,EAAEsJ,OAAQ6E,KAAK,OAAOlL,EAAEC,MAAMvC,EAAEC,EAAEgB,EAAE,CAAC,iBAAAyb,CAAkBrd,GAAG,IAAIiD,EAAEqB,iBAAiBtE,GAAG,MAAM,GAAG,MAAMS,EAAE,IAAIT,EAAEU,EAAES,KAAKmc,MAAM7c,EAAE,MAAMmB,EAAET,KAAKmc,MAAM7c,EAAE,IAAI,IAAIE,EAAEQ,KAAKmc,MAAM7c,EAAE,IAAI,IAAII,EAAEM,KAAKmc,MAAM7c,EAAE,KAAK,MAAM,GAAG0B,OAAOc,EAAEuB,gBAAgB9D,EAAE,GAAG,KAAKyB,OAAOc,EAAEuB,gBAAgB5C,EAAE,GAAG,KAAKO,OAAOc,EAAEuB,gBAAgB7D,EAAE,GAAG,KAAKwB,OAAOc,EAAEuB,gBAAgB3D,EAAE,GAAG,CAAC,iBAAA4b,GAAoB,OAAOjM,KAAK6M,kBAAkB7M,KAAKiK,SAAS,ECAj5oD,SAASha,EAAEA,EAAET,GAAG,KAAKS,aAAaT,GAAG,MAAM,IAAI2Q,UAAU,oCAAoC,CAAuK,SAAShQ,EAAEF,EAAEE,EAAEC,GAAG,OAAOD,GAA/L,SAAWF,EAAET,GAAG,IAAI,IAAIW,EAAE,EAAEA,EAAEX,EAAEE,OAAOS,IAAI,CAAC,IAAIC,EAAEZ,EAAEW,GAAGC,EAAE2c,WAAW3c,EAAE2c,aAAY,EAAG3c,EAAE4c,cAAa,EAAG,UAAU5c,IAAIA,EAAE6c,UAAS,GAAI9a,OAAO+a,eAAejd,EAAEG,EAAE+c,IAAI/c,EAAE,CAAC,CAA6BZ,CAAES,EAAEmd,UAAUjd,GAAagC,OAAO+a,eAAejd,EAAE,YAAY,CAACgd,UAAS,IAAKhd,CAAC,CAAC,IAAIG,EAAED,EAAC,SAAWX,EAAEW,GAAG,IAAI,IAAIC,KAAKH,EAAE+P,KAAKxQ,GAAGwQ,KAAKrQ,GAAGQ,EAAEwF,aAAa,MAAMqK,KAAKnJ,iBAAiB1G,EAAEwF,aAAa,oBAAoBqK,KAAKqN,gBAAgBld,EAAEwF,aAAa,mBAAmBqK,KAAKsN,WAAW,KAAKtN,KAAKuN,SAAS,KAAKvN,KAAKwN,WAAW,KAAKrd,EAAEwE,WAAW,CAAC,IAAIvD,EAAEjB,EAAEwE,WAAWvE,GAAG,OAAOgB,EAAEqc,WAAW,IAAI,WAAWzN,KAAKuN,SAAS,CAACG,aAAatc,EAAEuE,aAAa,gBAAgBgY,KAAKvc,EAAEmE,aAAanE,EAAEoE,MAAM,IAAIC,QAAQ,MAAM,IAAI,aAAa,IAAIuK,KAAKsN,WAAWlc,EAAEwc,WAAW5N,KAAKsN,YAAY,IAAItN,KAAKsN,WAAWO,UAAU7N,KAAKsN,WAAWtN,KAAKsN,WAAWQ,YAAY,MAAM,IAAI,eAAe9N,KAAKwN,WAAWpc,EAAE,CAAE,GAAG,SAASA,EAAEnB,EAAET,GAAG,IAAIW,EAAE,GAAG,IAAI,IAAIC,KAAKH,EAAE0E,WAAW,CAAC,IAAIvD,EAAEnB,EAAE0E,WAAWvE,GAAGgB,EAAEyD,WAAWrF,GAAGA,IAAI,QAAQmC,OAAOP,EAAEyD,WAAWzD,EAAEyD,WAAW,QAAQlD,OAAOnC,IAAIW,EAAEgB,KAAKC,EAAE,CAAC,OAAOjB,CAAC,CAAC,SAASD,EAAED,GAAG,IAAIT,EAAE,CAACsG,WAAW,CAAA,EAAG0F,SAAS,CAAA,EAAG1C,MAAM,CAAA,GAAItJ,EAAEsJ,MAAM,SAAS7I,GAAG,IAAIA,IAAIA,EAAE0E,WAAW,MAAM,GAAG,IAAInF,EAAES,EAAE0E,WAAWxE,EAAE,GAAG,IAAI,IAAIC,KAAKZ,EAAE,CAAC,IAAI4B,EAAE5B,EAAEY,GAAG,mBAAmBgB,EAAEyD,UAAU1E,EAAEgB,KAAKC,EAAE,CAAC,GAAGjB,GAAGA,EAAET,OAAO,EAAE,IAAI,OAAO0E,KAAK+O,MAAMhT,EAAE,GAAGsU,KAAK,CAAC,MAAMxU,GAAG,CAAC,IAAIC,EAAE,GAAG,IAAI,IAAIG,KAAKb,EAAE,CAAC,IAAIyC,EAAEzC,EAAEa,GAAG,OAAO4B,EAAE4C,UAAU,IAAI,QAAQ3E,GAAG+B,EAAEsD,YAAYE,OAAO,MAAM,IAAI,iBAAiBvF,GAAG+B,EAAEwS,KAAK,CAAC,OAAOvU,CAAC,CAA3U,CAA6UD,GAAG,IAAIE,EAAEF,EAAE6F,WAAW,GAAG3F,EAAE,IAAI,IAAIC,KAAKD,EAAE,CAAC,IAAIiB,EAAEjB,EAAEC,GAAGgB,EAAEyD,eAAU,IAASzD,EAAE2E,WAAW,OAAO3E,EAAE2E,YAAYvG,EAAEsG,WAAW1E,EAAEyD,UAAUzD,EAAE2E,UAAU,CAAC,IAAI1F,EAAEJ,EAAE0E,WAAW,GAAGtE,EAAE,IAAI,IAAI4B,KAAK5B,EAAE,CAAC,IAAIa,EAAEb,EAAE4B,GAAGf,EAAE2D,UAAU,MAAM3D,EAAE2D,SAASkZ,UAAU,EAAE,KAAKve,EAAEgM,SAAStK,EAAE2D,UAAU3E,EAAEgB,GAAG,CAAC,OAAO1B,CAAC,CAAC,ICE/xDwe,EDFmyD3d,GAAE,WAAW,SAASb,EAAEW,GAAG,IAAI,IAAIE,KAAKJ,EAAE+P,KAAKxQ,GAAGwQ,KAAKiO,WAAW9d,EAAEwF,aAAa,cAAcqK,KAAKkO,UAAU/d,EAAEwF,aAAa,aAAaqK,KAAKmO,QAAQhe,EAAEwF,aAAa,WAAWqK,KAAKoO,YAAYje,EAAEwF,aAAa,eAAeqK,KAAKqO,SAAS,KAAKrO,KAAK3I,eAAe,GAAG2I,KAAKtJ,WAAW,GAAGvG,EAAEwE,WAAW,CAAC,IAAI1C,EAAE9B,EAAEwE,WAAWtE,GAAG,OAAO4B,EAAEwb,WAAW,IAAI,WAAWzN,KAAKqO,SAAS,IAAIje,EAAE6B,GAAG,MAAM,IAAI,iBAAiB,IAAI,IAAIf,KAAKe,EAAE0C,WAAW,CAAC,IAAIjE,EAAEuB,EAAE0C,WAAWzD,GAAG,aAAaR,EAAE+c,WAAWzN,KAAK3I,eAAelG,KAAK,CAACiP,MAAM1P,EAAEiF,aAAa,SAASgY,KAAKjd,EAAE6E,aAAa7E,EAAE8E,MAAM,IAAIC,QAAQ,CAAC,MAAM,IAAI,aAAauK,KAAKtJ,WAAWtF,EAAEa,EAAE,aAAaH,IAAG,SAAW7B,GAAG,OAAOC,EAAED,EAAG,GAAG,CAAC,CAAC,OAAOE,EAAEX,EAAE,CAAC,CAAC2d,IAAI,QAAQrU,MAAM,SAAS7I,EAAET,GAAG,IAAI,IAAIW,KAAK6P,KAAK3I,eAAe,CAAC,IAAIjH,EAAE4P,KAAK3I,eAAelH,GAAG,GAAGC,EAAEgQ,QAAQnQ,EAAE,CAAC,IAAImB,EAAEhB,EAAEud,IAAI,UAAUvd,EAAEgQ,QAAQhP,EAAEA,EAAEK,QAAQ,cAAcjC,IAAIwQ,KAAKsO,QAAQld,EAAE,CAAC,CAAC,GAAG,CAAC+b,IAAI,UAAUrU,MAAM,SAAS7I,GAAG,oBAAoB2C,QAAQ,OAAOA,UAAS,IAAKC,OAAOC,IAAI7C,EAAE,KAAKT,CAAC,CAA78B,GAAi9ByC,GAAE9B,EAAC,SAAWX,EAAEW,GAAG,GAAGF,EAAE+P,KAAKxQ,IAAIW,IAAIA,EAAEoT,iBAAiB,SAASpT,EAAEoT,gBAAgBkK,UAAU,MAAM,IAAI9K,MAAM,uBAAuB,IAAI,IAAIvS,KAAK4P,KAAKd,QAAQ/O,EAAEoT,gBAAgB5N,aAAa,WAAWqK,KAAKuO,SAAS,GAAGvO,KAAKtJ,WAAW,GAAGvG,EAAEoT,gBAAgB5O,WAAW,CAAC,IAAI1C,EAAE9B,EAAEoT,gBAAgB5O,WAAWvE,GAAG,OAAO6B,EAAEwb,WAAW,IAAI,UAAUzN,KAAKuO,SAASpd,KAAK,IAAId,GAAE4B,IAAI,MAAM,IAAI,aAAa+N,KAAKtJ,WAAWtF,EAAEa,EAAE,aAAaH,IAAG,SAAW7B,GAAG,OAAOC,EAAED,EAAG,GAAG,CAAE,GEyD1sG,MAAMue,GACJ,WAAAzO,CAAoB0O,GAARtc,OAAA+a,eAAAlN,KAAA,MAAA,iDAAQyO,GAAgB,CAEpC,EAAAvO,CAAGE,EAAUsO,GACX,OAAO1O,KAAKyO,IAAIvO,GAAGE,EAAOsO,EAC5B,CAEA,IAAA/N,CAAKP,KAAaqE,GAChBzE,KAAKyO,IAAI9N,KAAKP,KAAUqE,EAC1B,QA+CWkK,GA+EX,WAAA5O,CAAY6O,EAA0B,IA9EtCzc,OAAA+a,eAAAlN,KAAA,OAAA,iDAAO,QACP7N,OAAA+a,eAAAlN,KAAA,UAAA,iDAAU,UACV7N,OAAA+a,eAAAlN,KAAA,eAAA,2CAAelH,MAAA,CAAC,SAER3G,OAAA+a,eAAAlN,KAAA,MAAA,0DACA7N,OAAA+a,eAAAlN,KAAA,MAAA,0DACA7N,OAAA+a,eAAAlN,KAAA,gBAAA,0DACA7N,OAAA+a,eAAAlN,KAAA,YAAA,iDAAY,QACZ7N,OAAA+a,eAAAlN,KAAA,uBAAA,iDAAsC,OACtC7N,OAAA+a,eAAAlN,KAAA,eAAA,iDAAqC,OACrC7N,OAAA+a,eAAAlN,KAAA,aAAA,iDAAiC,KAIjC7N,OAAA+a,eAAAlN,KAAA,MAAA,0DAwBA7N,OAAA+a,eAAAlN,KAAA,UAAA,0DACA7N,OAAA+a,eAAAlN,KAAA,UAAA,0DAEA7N,OAAA+a,eAAAlN,KAAA,WAAA,0DACA7N,OAAA+a,eAAAlN,KAAA,UAAA,0DACA7N,OAAA+a,eAAAlN,KAAA,gBAAA,0DACA7N,OAAA+a,eAAAlN,KAAA,gBAAA,0DAEA7N,OAAA+a,eAAAlN,KAAA,gBAAA,0DACA7N,OAAA+a,eAAAlN,KAAA,gBAAA,0DAEA7N,OAAA+a,eAAAlN,KAAA,6BAAA,0DACA7N,OAAA+a,eAAAlN,KAAA,6BAAA,0DAEA7N,OAAA+a,eAAAlN,KAAA,mBAAA,0DAEA7N,OAAA+a,eAAAlN,KAAA,aAAA,0DACA7N,OAAA+a,eAAAlN,KAAA,UAAA,0DAEA7N,OAAA+a,eAAAlN,KAAA,eAAA,iDAA+B,KAC/B7N,OAAA+a,eAAAlN,KAAA,gBAAA,iDAAgC,KAEhC7N,OAAA+a,eAAAlN,KAAA,SAAA,kDAAS,IACT7N,OAAA+a,eAAAlN,KAAA,cAAA,kDAAc,IAEd7N,OAAA+a,eAAAlN,KAAA,eAAA,0DACA7N,OAAA+a,eAAAlN,KAAA,qBAAA,kDAAqB,IAErB7N,OAAA+a,eAAAlN,KAAA,gBAAA,kDAAgB,IAChB7N,OAAA+a,eAAAlN,KAAA,eAAA,2CAAelH,MAAA,IAAI+V,MACnB1c,OAAA+a,eAAAlN,KAAA,iBAAA,kDAAiB,IACjB7N,OAAA+a,eAAAlN,KAAA,6BAAA,kDAA6B,IAC7B7N,OAAA+a,eAAAlN,KAAA,iBAAA,iDAAmC,KACnC7N,OAAA+a,eAAAlN,KAAA,uBAAA,iDACN,KACM7N,OAAA+a,eAAAlN,KAAA,gBAAA,kDAAgB,IAChB7N,OAAA+a,eAAAlN,KAAA,kBAAA,iDAAwC,OACxC7N,OAAA+a,eAAAlN,KAAA,cAAA,kDAAc,IACd7N,OAAA+a,eAAAlN,KAAA,iBAAA,0DAGN,MAiBM8O,EAjBmB,CAACC,IACxB,MAAMC,EAAoB,GAa1B,OAZYD,EAAID,QAAWld,MAAMC,QAAQkd,EAAID,SAAWC,EAAID,QAAU,CAACC,EAAID,SAAY,IAEnFnc,QAAStC,IACX,IAAKA,GAAsB,iBAAVA,EAAEyC,IAAkB,OACrC,MAAMA,EAAMzC,EAAEyC,IAAI2C,OACZuB,EAAO3G,EAAE2G,KACVlE,IACQ,SAATkE,GAA4B,SAATA,GAA4B,cAATA,GACxCgY,EAAK7d,KAAK,CAAE6F,OAAMlE,WAIfkc,GAGOC,CAAiBL,GAC3BM,EAASN,EAAOM,QAAU,GAC1BC,EAAqBD,EAAO1R,KAC/BE,GAAe,YAATA,EAAE0R,KAAqB1R,EAAE2R,QAAQvc,KAAQlB,MAAMC,QAAQ6L,EAAEoR,UAAYpR,EAAEoR,QAAQtR,KAAMnN,GAAMA,GAAGyC,OAEjGwc,EAAsBR,EAAQtR,KAAMnN,GAAiB,SAAXA,EAAE2G,MAA8B,SAAX3G,EAAE2G,MAA8B,cAAX3G,EAAE2G,MAE5FgJ,KAAK+O,IAAM,CACTQ,oBAAqBX,EAAOW,sBAAuB,EACnDC,cAAeZ,EAAOY,gBAAiB,EACvCC,oBAAqBb,EAAOa,qBAAuB,CACjD,YACA,aACA,gCACA,yBAEFC,MAAOd,EAAOc,QAAS,EACvBC,eAAgBf,EAAOe,gBAAkB,IACzCb,UACAI,SACAU,wBAAyBhB,EAAOgB,0BAA4BvI,QAAQ8H,IAAuBG,GAC3FO,gBAAiBjB,EAAOiB,kBAAmB,EAC3CC,QAASlB,EAAOkB,QAChBC,cAAenB,EAAOmB,cACtBC,mBAAoBpB,EAAOoB,mBAC3BC,kBAAmBrB,EAAOqB,kBAC1BC,mBAAoBtB,EAAOsB,mBAC3BC,kBAAmBvB,EAAOuB,kBAC1BC,cAAexB,EAAOwB,eAAiB,YAE3C,CAEA,KAAAC,CAAMC,GACJtQ,KAAKsQ,IAAMA,EACXtQ,KAAKyO,IAAM,IAAID,GAAoB8B,EAAIC,QACvCvQ,KAAKwQ,WAAa,IAAIC,EAEtBzQ,KAAK0Q,QAAUC,SAASC,cAAc,OACtC5Q,KAAK0Q,QAAQG,UAAY,SACzB7Q,KAAK0Q,QAAQI,MAAMC,QAAU,OAE7B/Q,KAAKgR,aAAa7f,KAChBmf,EAAIC,OAAOrQ,GAAG,aAAc,KAC1BF,KAAKiR,aAAapM,QAClB7E,KAAKkR,eAAgB,EACrBlR,KAAKmR,eAILnR,KAAKoR,QAAS,EACdpR,KAAKqR,kBAAeC,EACpBtR,KAAKuR,oBAAqB,EAC1BvR,KAAK0Q,QAAQI,MAAMC,QAAU,OAC7B/Q,KAAKsQ,IAAIkB,OAAOC,QAAQ,WAAYzR,KAAKzE,MACzC,IACEmW,EAAAA,kBAAkB1R,KAAKsQ,IAAIqB,MAAMC,WAAW5R,KAAK6R,UACnD,CAAE,MAEF,CACA7R,KAAK8R,gBAAiB,EACtB9R,KAAK+R,qBAAuB,GAC5B/R,KAAKgS,gBAAkB,KACvBhS,KAAKiS,aAAc,EACnBjS,KAAKkS,oBAAiBZ,EACtBtR,KAAKmS,qBAITnS,KAAKmS,kBACLnS,KAAKoS,qBAEDpS,KAAK+O,IAAIa,yBACX5P,KAAKqS,0BAGPrS,KAAKgR,aAAa7f,KAChBmf,EAAIC,OAAOrQ,GAAG,oBAAqB,KAEjC,GADAF,KAAKsS,4BAA6B,EAC9BtS,KAAKoR,QAAUpR,KAAKuS,QACtB,IACEvS,KAAKuS,QAAQ7J,MAAQ4H,EAAIqB,KAAKjJ,MAC9B1I,KAAKuS,QAAQC,OAASlC,EAAIqB,KAAKa,MACjC,CAAE,MAEF,IAIR,CAEA,aAAMC,CAAQC,GACZ,MAAMC,EAAa3S,KAAK4S,sBAAsBF,GAC9C,OAAO1S,KAAK6S,kBAAkB,CAAEC,KAAM,MAAOha,MAAO4Z,GAAW,CAAEI,KAAM,SAAUnjB,GAAI,SAAUgjB,cACjG,CAEA,oBAAMI,CAAeC,GACnB,OAAOhT,KAAK6S,kBAAkB,CAAEC,KAAM,MAAOha,MAAOka,GAAW,CAAEF,KAAM,SAAUnjB,GAAI,UACvF,CAEA,mBAAAsjB,CAAoBC,GAClB,MAAMC,EAAQnT,KAAKsQ,IAAIqB,KAAKwB,MAC5B,GAAIpf,OAAOJ,SAASwf,EAAMla,WAAaka,EAAMla,SAAW,GAAK+G,KAAK+R,qBAAqBriB,OAAQ,CAC7F,MAAMuJ,EAAWka,EAAMla,SACjBma,EAA0B,GAChC,IAAK,MAAMC,KAAMrT,KAAK+R,qBAAsB,CAC1C,MAAMuB,EAAQra,EAAWoa,EAAGE,QAC5BH,EAAMjiB,KAAK,CACTxB,GAAI0jB,EAAG1jB,GACPyf,GAAIkE,EACJhT,KAAM+S,EAAG/S,KACT+O,OAAQgE,EAAGhE,QAEf,CACArP,KAAK+R,qBAAuB,GAC5B/R,KAAKwT,eAAeriB,QAAQiiB,EAC9B,CAEA,MAAMK,EAAwB,GAC9B,IAAK,MAAM/V,KAAKsC,KAAKwT,eAAgB,CACnC,GAAoB,iBAAT9V,EAAE0R,GAAiB,SAC9B,IAAKpP,KAAK0T,sBAAsBhW,GAAGiW,MAAO,SAE1C,MAAMhkB,EAAKqQ,KAAK4T,WAAWlW,IACH,IAAXA,EAAE4C,MACHN,KAAKiR,aAAa4C,IAAIlkB,IAE9BujB,GAAelT,KAAK+O,IAAIY,gBAAkB,MAASjS,EAAE0R,IACvDqE,EAAItiB,KAAKuM,EAEb,CAEA,OADA+V,EAAIpd,KAAK,CAAClG,EAAGuN,IAAOvN,EAAEif,GAAiB1R,EAAE0R,IAClCqE,CACT,CAGA,kBAAAK,CAAmBZ,GACjB,OAAOlT,KAAKiT,oBAAoBC,GAAa,EAC/C,CAEA,OAAAa,GACE/T,KAAKgU,OAAO,CAAEC,QAAQ,IACtB,IAAK,MAAMxT,KAAOT,KAAKgR,aAAcvQ,IACrCT,KAAKgR,aAAe,GACpBhR,KAAK0Q,SAASwD,QAChB,CAEQ,qBAAAtB,CAAsB5gB,GAC5B,MAAM8c,EAAU9O,KAAK+O,IAAID,SAAW,GAC9BqF,EAAQrF,EAAQla,KAAMvE,GAAMA,EAAEyC,MAAQd,GAC5C,MAAoB,cAAhBmiB,GAAOnd,MACP8X,EAAQpf,OAAS,GAAKof,EAAQsF,MAAO/jB,GAAiB,cAAXA,EAAE2G,MADT,iBACxC,CAEF,CAEQ,gBAAAqd,CAAiBC,EAAkBC,GACzC,GAAID,GAAsB,IAAhBA,EAAGzG,SAAgB,OAAOyG,EACpC,GAAIC,EAAU,CACZ,MAAMC,EAAQ7D,SAAS8D,cAAcF,GACrC,GAAIC,aAAiBE,YAAa,OAAOF,CAC3C,CAEF,CAEQ,qBAAAG,GACN,OAAI3U,KAAK4U,6BACT5U,KAAK4U,2BAA6B5U,KAAKqU,iBAAiBrU,KAAK+O,IAAIiB,mBAAoBhQ,KAAK+O,IAAIkB,oBADlDjQ,KAAK4U,0BAGnD,CAEQ,qBAAAC,GACN,OAAI7U,KAAK8U,6BACT9U,KAAK8U,2BAA6B9U,KAAKqU,iBAAiBrU,KAAK+O,IAAImB,mBAAoBlQ,KAAK+O,IAAIoB,oBADlDnQ,KAAK8U,0BAGnD,CAEQ,SAAAC,CAAU/d,GAChB,OAAQgJ,KAAK+O,IAAID,SAAW,IAAIla,KAAMvE,GAAMA,EAAE2G,OAASA,GAAyB,iBAAV3G,EAAEyC,KAAoBzC,EAAEyC,IAAI2C,OACpG,CAEQ,wBAAAuf,GACN,OAAOhV,KAAK+U,UAAU,SAAW/U,KAAK+U,UAAU,YAClD,CAEQ,WAAAE,CAAYniB,GAClB,OAAOA,EAAI2C,OAAOT,WAAW,IAC/B,CAEQ,oBAAMkgB,CAAevB,GAC3B,GAAmB,QAAfA,EAAMb,KAAgB,CACxB,GAA2B,iBAAhBa,EAAM7a,MAAoB,OAAO6a,EAAM7a,MAClD,IACE,OAAO,IAAIqc,eAAgBC,kBAAkBzB,EAAM7a,MACrD,CAAE,MACA,OAAOuc,OAAO1B,EAAM7a,MACtB,CACF,CACA,MAAMwc,QAAY1P,MAAM+N,EAAM7a,OAC9B,IAAKwc,EAAInP,GAAI,MAAM,IAAIxD,MAAM,wBAAwB2S,EAAIpP,UACzD,aAAaoP,EAAI9f,MACnB,CAEQ,8BAAA+f,CAA+BC,GACrC,OAAOxV,KAAKyV,cAAcD,EAC5B,CAEQ,WAAAE,CAAYpB,EAAiBqB,GACnC,MAAMC,EAAMjF,SAASC,cAAc,YACnCgF,EAAIC,UAAYR,OAAOM,GAAQ,IAI/B,MAAMG,EAAc,IAAIjH,IAAI,CAC1B,SACA,SACA,SACA,QACA,OACA,QACA,MACA,OACA,OACA,QACA,WACA,SACA,SACA,OACA,SAEIkH,EAASpF,SAASqF,iBAAiBJ,EAAIK,QAASC,WAAWC,cAC3DC,EAAsB,GAE5B,KAAOL,EAAOM,YAAY,CACxB,MAAMC,EAAOP,EAAOQ,YAChBT,EAAYjC,IAAIyC,EAAKE,SACvBJ,EAASjlB,KAAKmlB,GAIhB1kB,MAAM8C,KAAK4hB,EAAKxgB,YAAYnD,QAAS8jB,IACnC,MAAMlb,EAAOkb,EAAKlb,KAAK0C,cACjBnF,GAAS2d,EAAK3d,OAAS,IAAIrD,OAKjC,GAJI8F,EAAKvG,WAAW,OAClBshB,EAAKI,gBAAgBD,EAAKlb,MAGf,SAATA,GAA4B,QAATA,GAA2B,eAATA,EAAuB,CAC9D,MAAMvC,EAAIF,EAAMmF,cACV0Y,EAAO3d,EAAEhE,WAAW,eACpB4hB,EAAa5d,EAAEhE,WAAW,aAC1B6hB,EAAS7d,EAAEhE,WAAW,SACtB8hB,EAAS9d,EAAEhE,WAAW,YAAcgE,EAAEhE,WAAW,aAAegE,EAAEhE,WAAW,MAAQgE,EAAEhE,WAAW,MAGlG+hB,EAAkBF,GAAU,+CAA+CrmB,KAAKsI,IAElF6d,GAAQC,IAAgBE,IAAWC,IAAkBT,EAAKI,gBAAgBD,EAAKlb,KACrF,CAGa,WAATA,GAAmB+a,EAAKI,gBAAgBD,EAAKlb,OAErD,CAEA6a,EAASzjB,QAASvC,GAAMA,EAAE8jB,UAC1BI,EAAG0C,gBAAgBpB,EAAIK,QAAQgB,WAAU,GAC3C,CAEQ,GAAAhM,IAAOiM,GAETlX,KAAK+O,KAAKW,OAAO1E,QAAQ0E,MAAM,mBAAoBwH,EACzD,CAEQ,IAAAC,IAAQD,GAEVlX,KAAK+O,KAAKW,OAAO1E,QAAQmM,KAAK,mBAAoBD,EACxD,CAEQ,eAAA/E,GACN,MAAMiF,EAA6B,IAAKpX,KAAK+O,IAAIG,QAAU,IAE3D,GAAwB,IAApBkI,EAAS1nB,OAAc,CACzB,MAAM2nB,EAAkBrX,KAAK+O,IAAID,QAAQxd,OACtCjB,IAAkB,SAAXA,EAAE2G,MAA8B,cAAX3G,EAAE2G,OAAyB3G,EAAEyC,KAAK2C,QAGjE,GAAI4hB,EAAgB3nB,OAAS,EAC3B,GAA+B,aAA3BsQ,KAAK+O,IAAIqB,cAEX,IAAK,MAAMtd,KAAOukB,EAChBD,EAASjmB,KAAK,CAAEie,GAAI,UAAWC,OAAQ,CAAErY,KAAMlE,EAAIkE,KAAMlE,IAAKA,EAAIA,KAAOwN,MAAM,SAExE+W,EAAgB3nB,OAAS,EAGlC0nB,EAASjmB,KAAK,CACZie,GAAI,UACJC,OAAQgI,EAAgB,GACxBvI,QAASuI,EACT/W,MAAM,IAGR8W,EAASjmB,KAAK,CAAEie,GAAI,UAAWC,OAAQgI,EAAgB,GAAI/W,MAAM,GAGvE,CAEA,MAAMgX,EAAOtX,KAAK+U,UAAU,QAC5B,GAAIuC,GAAMxkB,IAAK,CACb,MAAMqgB,EAAQnT,KAAKsQ,KAAKqB,MAAMwB,MAEd,UADAA,GAASA,EAAMxd,aAAa,YAAcwd,EAAMoE,SAAW,IAAItZ,cAAgB,IAI7F+B,KAAKkS,eAAiBoF,EAAKxkB,KAG3BkN,KAAKiS,aAAc,EACnBjS,KAAKgS,gBAAkBhS,KAAKwX,iBAAiBJ,EAAUE,EAAKxkB,KAEhE,CAEAkN,KAAKwT,eAAiB4D,CACxB,CAEQ,qBAAAK,CAAsBpJ,GAC5B,GAAKA,EACL,OAAIzc,MAAMC,QAAQwc,GACTA,EAASzZ,KAAMvE,GAAMA,GAAGkd,UAAYld,GAAGid,aAAee,EAAS,GAEjEA,CACT,CAEQ,iBAAAqJ,CAAkBnK,GACxB,GAAKA,EAAL,CACA,GAAwB,iBAAbA,EAAuB,OAAOA,EAAS9X,aAAU6b,EAC5D,GAAwB,iBAAb/D,EAAuB,CAChC,MAAMI,EAAOJ,EAASI,KAAOJ,EAASoK,KAAOpK,EAASzU,OAASyU,EAAS/X,MAAQ+X,EAAS,SAGzF,GAAmB,iBAARI,GAAoBA,EAAIlY,OAAQ,OAAOkY,EAAIlY,MACxD,CAP+B,CASjC,CAEQ,sBAAM+hB,CAAiBI,EAA4BC,GACzD,IACE,MAAM/kB,GAAO+kB,GAAW7X,KAAK+U,UAAU,SAASjiB,KAAO,IAAI2C,OAE3D,IAAK3C,EAAK,OACV,MAAM0iB,EAAUxV,KAAKiV,YAAYniB,GAC7BA,QACM8S,MAAM9S,GAAKiQ,KAAM7S,IACrB,IAAKA,EAAEiW,GAAI,MAAM,IAAIxD,MAAM,wBAAwBzS,EAAEgW,UACrD,OAAOhW,EAAEsF,SAETsiB,GAAS,IAAIvR,WAAYI,gBAAgB6O,EAAS,YAClD8B,EAAO,IAAIS,GAAKD,GAEhBE,EAA+B,GAC/B9I,EAASoI,EAAK/I,UAAY,GAE1B0J,EAAmBjY,KAAK+R,qBAAqBriB,OAK7CwoB,EAAkB,MACtB,IACE,MAAMC,EAAKL,EAAOM,uBAAuB,IAAK,WAC9C,GAAID,GAAMA,EAAGzoB,OAAQ,OAAOyoB,EAAGzoB,MACjC,CAAE,MAEF,CACA,IACE,OAAOooB,EAAOO,qBAAqB,WAAW3oB,MAChD,CAAE,MACA,OAAO,CACT,CACD,EAZuB,GAcxB,IAAK,IAAI0B,EAAI,EAAGA,EAAI8d,EAAOxf,OAAQ0B,IAAK,CACtC,MAAMsM,EAAIwR,EAAO9d,GACX8c,EAAYmH,OAAO3X,GAAGwQ,WAAa,IAAIjQ,cAC7C,GAAIiQ,GAA2B,WAAdA,GAAwC,cAAdA,GAA2C,eAAdA,EAA4B,SAEpG,MAAMoK,EAAYjD,OAAO3X,GAAGuQ,YAAc,IAAIxY,OACxC9F,EAAK,GAAG+N,GAAGyQ,SAAW,UAAUmK,GAAa,WAAWlnB,KACxDge,GAAEA,EAAEmJ,eAAEA,GAAmBvY,KAAKwY,oBAAoBF,GAElDjK,EAAWrO,KAAKyX,sBAAsB/Z,GAAG2Q,UACzCoK,EAAapK,GAAUf,WACvBoL,EAAUrK,GAAUd,SAEpBvb,EAAMgO,KAAK0X,kBAAkBgB,GACnC,IAAIhS,EAOJ,GALI+R,IACwB,iBAAfA,EAAyB/R,EAAM+R,EACjCA,GAAY5K,WAAUnH,GAAM,IAAIyO,eAAgBC,kBAAkBqD,MAGxEzmB,IAAQ0U,EAAK,SAClB,MACM2I,EAAoB,CAAErY,KADW,cAAdkX,GAA2C,eAAdA,EACD,YAAc,OAAQpb,IAAKd,GAAY0U,GAEtE,MAAlB6R,EAWJP,EAAW7mB,KAAK,CACdxB,KACAyf,KACA9O,MAAM,EACN2N,WAAYqK,IAAqB,aAAPlJ,EAAoB,MAAQ,SACtDC,WAfArP,KAAK+R,qBAAqB5gB,KAAK,CAC7BxB,KACA4jB,QAASgF,EACTI,KAAM3mB,EAAM,CAAE8gB,KAAM,MAAOha,MAAO9G,GAAQ,CAAE8gB,KAAM,MAAOha,MAAO4N,GAChEpG,MAAM,EACN+O,UAYN,CAOA,MAAMuJ,EAAgBZ,EAAWtoB,QAAUsQ,KAAK+R,qBAAqBriB,OAASuoB,GAM9E,GAL4BC,EAAkB,GAAKU,EAAgBV,IAEjEF,EAAWtoB,OAAS,EACpBsQ,KAAK+R,qBAAqBzN,OAAO2T,IAET,IAAtBD,EAAWtoB,QAAgBsQ,KAAK+R,qBAAqBriB,SAAWuoB,EAAkB,CACpF,MAAMY,EAAQ,CAACC,EAAkBrL,KAC/B,IACE,MAAM0K,EAAMW,EAAaV,yBAAyB,IAAK3K,GACvD,GAAI0K,GAAMA,EAAGzoB,OAAQ,OAAOkC,MAAM8C,KAAKyjB,EACzC,CAAE,MAEF,CACA,IACE,OAAOvmB,MAAM8C,KAAMokB,EAAaT,qBAAqB5K,GACvD,CAAE,MACA,MAAO,EACT,GAGIsL,EAAaF,EAAMf,EAAQ,WACjC,IAAK,IAAI1mB,EAAI,EAAGA,EAAI2nB,EAAWrpB,OAAQ0B,IAAK,CAC1C,MAAMkjB,EAAKyE,EAAW3nB,GAChB8c,EAAYmH,OAAOf,EAAG3e,aAAa,cAAgB,IAAIsI,cAC7D,GAAIiQ,GAA2B,WAAdA,GAAwC,cAAdA,GAA2C,eAAdA,EAA4B,SAEpG,MAAMoK,EAAYjD,OAAOf,EAAG3e,aAAa,eAAiB,IAAIF,OAExD9F,EAAK,GADK2kB,EAAG3e,aAAa,YAAc2e,EAAG3e,aAAa,OAAS,aAC9C2iB,GAAa,WAAWlnB,KAC3Cge,GAAEA,EAAEmJ,eAAEA,GAAmBvY,KAAKwY,oBAAoBF,GAGlDU,EADcH,EAAMvE,EAAI,YACJ,GAE1B,IAAItiB,EACA0U,EAEJ,GAAIsS,EAAO,CACT,MAAMC,EAASJ,EAAMG,EAAO,YAE5B,GADIC,EAAOvpB,SAAQsC,GAAOinB,EAAO,GAAG1jB,aAAe,IAAIE,aAAU6b,IAC5Dtf,EAAK,CACR,MAAMknB,EAAUL,EAAMG,EAAO,cACzBE,EAAQxpB,SAAQgX,GAAOwS,EAAQ,GAAG3jB,aAAe,IAAIE,aAAU6b,EACrE,CACF,CAEA,IAAKtf,IAAQ0U,EAAK,SAElB,MACM2I,EAAoB,CAAErY,KADW,cAAdkX,GAA2C,eAAdA,EACD,YAAc,OAAQpb,IAAKd,GAAY0U,GAEtE,MAAlB6R,EAWJP,EAAW7mB,KAAK,CACdxB,KACAyf,KACA9O,MAAM,EACN2N,WAAYqK,IAAqB,aAAPlJ,EAAoB,MAAQ,SACtDC,WAfArP,KAAK+R,qBAAqB5gB,KAAK,CAC7BxB,KACA4jB,QAASgF,EACTI,KAAM3mB,EAAM,CAAE8gB,KAAM,MAAOha,MAAO9G,GAAQ,CAAE8gB,KAAM,MAAOha,MAAO4N,GAChEpG,MAAM,EACN+O,UAYN,CACF,CAEArP,KAAKwT,eAAiB,IAAIoE,KAAaI,EACzC,CAAE,MAAOmB,GACPnZ,KAAKmX,KAAK,yBAA0BgC,GACpCnZ,KAAKyO,IAAI9N,KAAK,YAAa,CAAEyY,OAAQ,oBAAqB/S,MAAO8S,IACjEnZ,KAAKsQ,IAAIC,OAAO5P,KAAK,YAAa,CAAEyY,OAAQ,oBAAqB/S,MAAO8S,GAC1E,SACEnZ,KAAKiS,aAAc,CACrB,CACF,CAEQ,YAAAoH,GACN,GAAIrZ,KAAK+O,IAAIe,QAAS,OAAO9P,KAAK+O,IAAIe,QACtC,GAAI9P,KAAK+O,IAAIgB,cAAe,CAC1B,MAAMuE,EAAK3D,SAAS8D,cAAczU,KAAK+O,IAAIgB,eAC3C,GAAIuE,EAAI,OAAOA,CACjB,CAEA,MAAMnB,EAAQnT,KAAKsQ,IAAIqB,KAAKwB,MAC5B,OAAOA,EAAMmG,QAAQ,eAAiBnG,EAAMtV,eAAiB8S,SAAS4I,IACxE,CAEQ,mBAAAf,CAAoBvK,GAC1B,MAAM5d,EAAIglB,OAAOpH,GAAc,IAAIxY,OACnC,IAAKpF,GAAW,UAANA,EAAe,MAAO,CAAE+e,GAAI,WACtC,GAAU,QAAN/e,EAAa,MAAO,CAAE+e,GAAI,YAE9B,GAAI/e,EAAEgc,SAAS,KAAM,CACnB,MAAMmN,EAAIzlB,OAAO1D,EAAE8E,MAAM,GAAG,IAC5B,GAAIpB,OAAOJ,SAAS6lB,IAAMA,GAAK,GAAKA,GAAK,IAAK,MAAO,CAAEpK,GAAI,EAAGmJ,eAAgBiB,EAAI,IACpF,CAEA,MAAMhlB,EAAI,gCAAgCilB,KAAKppB,GAC/C,GAAImE,EAAG,CACL,MAAMklB,EAAK3lB,OAAOS,EAAE,IACdmlB,EAAK5lB,OAAOS,EAAE,IACdolB,EAAK7lB,OAAOS,EAAE,IACpB,GAAI,CAACklB,EAAIC,EAAIC,GAAIxF,MAAOnV,GAAMlL,OAAOJ,SAASsL,IAC5C,MAAO,CAAEmQ,GAAS,KAALsK,EAAiB,GAALC,EAAUC,EAEvC,CAEA,MAAMxpB,EAAI2D,OAAO1D,GACjB,OAAI0D,OAAOJ,SAASvD,IAAMA,GAAK,EAAU,CAAEgf,GAAIhf,GAExC,CAAEgf,GAAI,UACf,CAEQ,qBAAAsE,CAAsBhW,GAC5B,GAAIA,EAAE2R,QAAkC,iBAAjB3R,EAAE2R,OAAOvc,KAAoB4K,EAAE2R,OAAOvc,IAAI2C,OAAQ,CACvE,MAAM3C,EAAM4K,EAAE2R,OAAOvc,IAAI2C,OACnBxF,EAAIyN,EAAE2R,OAAOrY,KACnB,OAAOgJ,KAAKiV,YAAYniB,GACpB,CAAE6gB,MAAO,CAAEb,KAAM,MAAOha,MAAOhG,GAAO6f,WAAY1iB,GAClD,CAAE0jB,MAAO,CAAEb,KAAM,MAAOha,MAAOhG,GAAO6f,WAAY1iB,EACxD,CAKA,MAAM4pB,EAAcjoB,MAAMC,QAAQ6L,EAAEoR,SAAWpR,EAAEoR,QAAQ,QAAKwC,EAC9D,GAAIuI,GAA0C,iBAApBA,EAAY/mB,KAAoB+mB,EAAY/mB,IAAI2C,OAAQ,CAChF,MAAM3C,EAAM+mB,EAAY/mB,IAAI2C,OACtBxF,EAAI4pB,EAAY7iB,KACtB,OAAOgJ,KAAKiV,YAAYniB,GACpB,CAAE6gB,MAAO,CAAEb,KAAM,MAAOha,MAAOhG,GAAO6f,WAAY1iB,GAClD,CAAE0jB,MAAO,CAAEb,KAAM,MAAOha,MAAOhG,GAAO6f,WAAY1iB,EACxD,CAEA,MAAO,CAAE0jB,WAAOrC,EAAWqB,gBAAYrB,EACzC,CAEQ,gBAAAwI,GACN,IAAK,MAAMpc,KAAKsC,KAAKwT,eAAgB,CACnC,GAAa,aAAT9V,EAAE0R,GAAmB,SACzB,IAAKpP,KAAK0T,sBAAsBhW,GAAGiW,MAAO,SAE1C,MAAMhkB,EAAKqQ,KAAK4T,WAAWlW,GAE3B,MADwB,IAAXA,EAAE4C,QACHN,KAAKiR,aAAa4C,IAAIlkB,GAClC,OAAO+N,CACT,CAGF,CAEQ,aAAA+X,CAAc/O,GAGpB,OAFe,IAAIH,WACAI,gBAAgB0O,OAAO3O,GAAO,IAAK,WAExD,CAEQ,UAAAkN,CAAWlW,GACjB,GAAIA,EAAE/N,GAAI,OAAO+N,EAAE/N,GACnB,MAAMgkB,MAAEA,EAAKhB,WAAEA,GAAe3S,KAAK0T,sBAAsBhW,GACnDyP,EAAsB,QAAhBwG,GAAOb,KAAiBa,EAAM7a,MAAQ,MAClD,MAAO,GAAGuc,OAAO3X,EAAE0R,OAAOuD,GAAc,UAAUxF,GACpD,CAEQ,eAAA4M,GACN,IAAK,MAAMrc,KAAKsC,KAAKwT,eAAgB,CACnC,GAAa,YAAT9V,EAAE0R,GAAkB,SACxB,IAAKpP,KAAK0T,sBAAsBhW,GAAGiW,MAAO,SAE1C,MAAMhkB,EAAKqQ,KAAK4T,WAAWlW,GAE3B,MADwB,IAAXA,EAAE4C,QACHN,KAAKiR,aAAa4C,IAAIlkB,GAClC,OAAO+N,CACT,CAEA,IAAK,MAAMA,KAAKsC,KAAK+O,IAAIG,OAAQ,CAC/B,GAAa,YAATxR,EAAE0R,GAAkB,SACxB,IAAKpP,KAAK0T,sBAAsBhW,GAAGiW,MAAO,SAE1C,MAAMhkB,EAAKqQ,KAAK4T,WAAWlW,GAE3B,MADwB,IAAXA,EAAE4C,QACHN,KAAKiR,aAAa4C,IAAIlkB,GAClC,OAAO+N,CACT,CAKA,MAAMsc,EAAsBha,KAAK+O,IAAIG,OAAO1R,KAAME,GAAe,YAATA,EAAE0R,IAC1D,IAAK4K,EAAqB,CACxB,MAAMC,EAAUja,KAAKgV,2BACrB,GAAIiF,GAASnnB,IAAK,CAChB,MAAM4K,EAAoB,CACxB0R,GAAI,UACJC,OAAQ,CAAErY,KAAMijB,EAAQjjB,KAAMlE,IAAKmnB,EAAQnnB,KAC3CwN,MAAM,GAEF3Q,EAAKqQ,KAAK4T,WAAWlW,GAC3B,IAAKsC,KAAKiR,aAAa4C,IAAIlkB,GAAK,OAAO+N,CACzC,CACF,CAEF,CAEQ,sBAAAwc,GACN,MAAMC,EAAMna,KAAK+Z,kBACjB,IAAKI,EAAK,OAAO,EACjB,GAAIna,KAAKoR,QAAUpR,KAAKkR,cAAe,OAAO,EAE9C,MAAMiC,EAAQnT,KAAKsQ,IAAIqB,KAAKwB,MAE5B,IADUA,GAAOD,aAAe,GACxB,IAAM,OAAO,EAErB,MAAMvjB,EAAKqQ,KAAK4T,WAAWuG,GAE3B,IAD0B,IAAbA,EAAI7Z,MACLN,KAAKiR,aAAa4C,IAAIlkB,GAAK,OAAO,EAG9C,MAAU,UADAqQ,KAAKsQ,IAAI8J,MAAMC,OAG3B,CAEQ,uBAAAhI,GACN,MAAM9B,OAAEA,EAAMoB,KAAEA,GAAS3R,KAAKsQ,IACxB6C,EAAQxB,EAAKwB,MAIbmH,EAAyB,KAC7B,GAAIta,KAAKkS,iBAAmBlS,KAAKgS,gBAAiB,CAChDhS,KAAKiS,aAAc,EACnB,MAAMnf,EAAMkN,KAAKkS,eACjBlS,KAAKkS,oBAAiBZ,EACtBtR,KAAKgS,gBAAkBhS,KAAKwX,iBAAiB,IAAIxX,KAAKwT,gBAAiB1gB,EACzE,GAGFkN,KAAKgR,aAAa7f,KAChBof,EAAOrQ,GAAG,WAAY,KAGpBoa,IAGA,MAAMC,EAAiBva,KAAKiS,YACtBuI,EAAqBxa,KAAKka,yBAMhC,GAAIM,GAAuBD,IAAmBva,KAAKoR,SAAWpR,KAAKkR,cACjE,IACEiC,EAAMsH,OACR,CAAE,MAEF,CAEG,WAEH,GADIza,KAAKgS,uBAAuBhS,KAAKgS,gBAAgB9N,MAAM,SACtDlE,KAAKka,yBAKR,aAHIK,GAAmBC,GAAuBxa,KAAKoR,QAAWpR,KAAKkR,eACjEX,EAAO5P,KAAK,aAIhBX,KAAK8R,iBAAmBH,EAAK+I,eAC7B,IAAIC,EAAQ,EACZ,KAAOA,IAAU,IAAI,CACnB,MAAMR,EAAMna,KAAK+Z,kBACjB,IAAKI,EAAK,YACJna,KAAK4a,WAAWT,EAAK,UAC7B,CACD,EAhBI,MAoBT,MAAMU,EAAsB,KAG1BP,IAGA,MAAMC,EAAiBva,KAAKiS,YACtBuI,EAAqBxa,KAAKka,yBAIhC,GAAIM,GAAuBD,IAAmBva,KAAKoR,SAAWpR,KAAKkR,cACjE,IACEiC,EAAMsH,OACR,CAAE,MAEF,CAEG,WAEH,GADIza,KAAKgS,uBAAuBhS,KAAKgS,gBAAgB9N,MAAM,SACtDlE,KAAKka,yBAKR,aAHIK,GAAmBC,GAAuBxa,KAAKoR,QAAWpR,KAAKkR,eACjEX,EAAO5P,KAAK,aAIhBX,KAAK8R,iBAAmBH,EAAK+I,eAC7B,IAAIC,EAAQ,EACZ,KAAOA,IAAU,IAAI,CACnB,MAAMR,EAAMna,KAAK+Z,kBACjB,IAAKI,EAAK,YACJna,KAAK4a,WAAWT,EAAK,UAC7B,CACD,EAhBI,IAmBPhH,EAAM2H,iBAAiB,OAAQD,EAAqB,CAAEE,SAAS,IAC/D/a,KAAKgR,aAAa7f,KAAK,IAAMgiB,EAAM6H,oBAAoB,OAAQH,EAAqB,CAAEE,SAAS,IACjG,CAEQ,kBAAA3I,GACN,MAAM6D,EAAUjW,KAAKsQ,IAAIqB,KAAKwB,MAC9B,IAAK8C,EAAS,OAEd,MAAMgF,EAAS,KACb,GAAIjb,KAAKoR,QAAUpR,KAAKkR,cAAe,OACvC,MAAMjhB,EAAIgmB,EAAQ/C,aAAe,EAC3BO,EAAMzT,KAAKiT,oBAAoBhjB,GACrC,IAAKwjB,EAAI/jB,OAAQ,OACjB,MAAMwrB,EAAgBzH,EAAI,GACpB0H,EAAaD,EAAc9L,GAE3BgM,EAAaF,EAAcjN,WAC3BoN,EAAMrb,KAAK+O,IAAIY,gBAAkB,IAEjC2L,EAAQF,EACVpb,KAAKwT,eAAeliB,OACjBoM,GACiB,iBAATA,EAAE0R,KACRpP,KAAKiR,aAAa4C,IAAI7T,KAAK4T,WAAWlW,KACvCA,EAAEuQ,aAAemN,GACjBzqB,KAAK4qB,IAAK7d,EAAE0R,GAAgB+L,IAAexqB,KAAK6qB,IAAI,EAAKH,IAE7D5H,EAAIniB,OAAQoM,GAAM/M,KAAK4qB,IAAK7d,EAAE0R,GAAgB+L,IAAeE,GAE5DC,EAAM5rB,SAEU,IAAjB4rB,EAAM5rB,OAAmBsQ,KAAK4a,WAAWU,EAAM,GAAI,WAC7Ctb,KAAKyb,gBAAgBH,EAAO,aAExCrF,EAAQ6E,iBAAiB,aAAcG,GACvCjb,KAAKgR,aAAa7f,KAAK,IAAM8kB,EAAQ+E,oBAAoB,aAAcC,IAEvE,MAAMS,EAAU,KACV1b,KAAKoR,QAAUpR,KAAKkR,eACnB,WAGH,IAFIlR,KAAKgS,uBAAuBhS,KAAKgS,gBAAgB9N,MAAM,SAEnDlE,KAAKoR,SAAWpR,KAAKkR,eAAe,CAC1C,MAAMyK,EAAO3b,KAAK8Z,mBAClB,IAAK6B,EAAM,MAEX3b,KAAKsQ,IAAIC,OAAO5P,KAAK,iBAAkB,CACrCib,MAAO,CAAE9I,KAAM,WAAYnjB,GAAIqQ,KAAK4T,WAAW+H,IAC/CvM,GAAIuM,EAAKvM,WAGLpP,KAAK4a,WAAWe,EAAM,WAC9B,CACD,EAdI,IAgBP1F,EAAQ6E,iBAAiB,QAASY,GAClC1b,KAAKgR,aAAa7f,KAAK,IAAM8kB,EAAQ+E,oBAAoB,QAASU,GACpE,CAEQ,gBAAMd,CACZld,EACAoV,EACA+I,GAEA,GAAI7b,KAAKoR,QAAUpR,KAAKkR,cAAe,OAEvC,MAAMvhB,EAAKqQ,KAAK4T,WAAWlW,GACrB4C,GAAkB,IAAX5C,EAAE4C,KACf,GAAIA,GAAQN,KAAKiR,aAAa4C,IAAIlkB,GAAK,OAGvC,MAAMmsB,EAAmBpe,EAAEoR,QAC3B,GAAIgN,GAAoBA,EAAiBpsB,OAAS,EAAG,CAG/C4Q,GAAMN,KAAKiR,aAAa8K,IAAIpsB,GAChCqQ,KAAKkR,eAAgB,EACrBlR,KAAKyO,IAAI9N,KAAK,kBAAmB,CAAEhR,KAAImjB,OAAM1D,GAAI1R,EAAE0R,KACnD,IACE,IAAK,IAAIhe,EAAI,EAAGA,EAAI0qB,EAAiBpsB,OAAQ0B,IAAK,CAChD,MAAM0B,EAAMgpB,EAAiB1qB,GACvB4qB,EAAkB5qB,IAAM0qB,EAAiBpsB,OAAS,EAClDikB,EAAmB3T,KAAKiV,YAAYniB,EAAIA,KAC1C,CAAEggB,KAAM,MAAOha,MAAOhG,EAAIA,KAC1B,CAAEggB,KAAM,MAAOha,MAAOhG,EAAIA,KAS9B,SARsBkN,KAAK6S,kBACzBc,EACA,CAAEb,OAAMnjB,KAAIgjB,WAAY7f,EAAIkE,MAC5B,CACEilB,uBAAwBD,EACxBE,wBAAyBL,GAAMM,iBAGtB,KACf,CACF,SACEnc,KAAKkR,eAAgB,EACrBlR,KAAKyO,IAAI9N,KAAK,gBAAiB,CAAEhR,KAAImjB,OAAM1D,GAAI1R,EAAE0R,IACnD,CACA,MACF,CAGA,MAAMuE,MAAEA,EAAKhB,WAAEA,GAAe3S,KAAK0T,sBAAsBhW,GACzD,GAAKiW,EAAL,CAIIrT,GAAMN,KAAKiR,aAAa8K,IAAIpsB,GAChCqQ,KAAKkR,eAAgB,EACrBlR,KAAKyO,IAAI9N,KAAK,kBAAmB,CAAEhR,KAAImjB,OAAM1D,GAAI1R,EAAE0R,KAEnD,UACQpP,KAAK6S,kBAAkBc,EAAO,CAAEb,OAAMnjB,KAAIgjB,cAAc,CAAEuJ,wBAAyBL,GAAMM,gBACjG,SACEnc,KAAKkR,eAAgB,EACrBlR,KAAKyO,IAAI9N,KAAK,gBAAiB,CAAEhR,KAAImjB,OAAM1D,GAAI1R,EAAE0R,IACnD,CAbY,CAcd,CAEQ,qBAAMqM,CAAgBvM,EAA0B4D,GAEtD,IAAIsJ,GAAc,EAClB,MAAMC,EAA6B,GACnC,IAAK,MAAM3e,KAAKwR,EAAQ,CACtB,GAAa,YAAT4D,EAAoB,CACtB,MAAMa,MAAEA,GAAU3T,KAAK0T,sBAAsBhW,GACvC1L,EAAsB,QAAhB2hB,GAAOb,KAAiBa,EAAM7a,MAAQ,GAC5CwjB,EAAW,UAAU9rB,KAAKwB,IAAQ,UAAUxB,KAAKkN,EAAE/N,IAAM,IAE/D,GAAI2sB,GAAYF,EAAa,CAE3Bpc,KAAKiR,aAAa8K,IAAI/b,KAAK4T,WAAWlW,IACtC,QACF,CACK4e,IAAUF,GAAc,EAC/B,CACAC,EAASlrB,KAAKuM,EAChB,CAIA,IAAK,IAAItM,EAAI,EAAGA,EAAIirB,EAAS3sB,OAAQ0B,IAAK,CACxC,MAAMmrB,EAASnrB,IAAMirB,EAAS3sB,OAAS,QACjCsQ,KAAK4a,WAAWyB,EAASjrB,GAAI0hB,EAAM,CAAEqJ,gBAAiBI,GAC9D,CACF,CAEQ,oBAAAC,CAAqBC,GAC3B,MAAMC,EAASD,GAAQrZ,KAAOqZ,GAAQE,cAAcvZ,IACpD,GAAIxR,MAAMC,QAAQ6qB,IAAWA,EAAOhtB,OAAQ,OAAOgtB,EAEnD,MAAME,EAASH,GAAQG,QAAUH,GAAQE,cAAcC,QAAUH,GAAQE,cAAcE,OACvF,GAAIjrB,MAAMC,QAAQ+qB,IAAWA,EAAOltB,OAAQ,CAC1C,MAAMotB,EAAmB,GACzB,IAAK,MAAMC,KAAOH,EAAQ,CACxB,MAAMxZ,EAAM2Z,GAAK3Z,KAAO2Z,GAAKC,IACzBprB,MAAMC,QAAQuR,IAAM0Z,EAAU3rB,QAAQiS,EAC5C,CACA,GAAI0Z,EAAUptB,OAAQ,OAAOotB,CAC/B,CAEA,MAAMG,EAAYR,GAAQS,OAAST,GAAQE,cAAcO,OAAST,GAAQE,cAAcQ,MAClFC,EAAYH,GAAW7Z,KAAO6Z,GAAWD,IAC/C,OAAIprB,MAAMC,QAAQurB,IAAcA,EAAU1tB,OAAe0tB,EAElD,EACT,CAEQ,aAAAC,CAAcZ,GACpB,MAAMrZ,EAAMpD,KAAKwc,qBAAqBC,GAChCa,EAAe,GAErB,IAAK,MAAMpf,KAAMkF,EAAK,CACpB,MAAMrM,EAAYmH,GAAInH,WAAamH,GAAI1B,WAAa,GAC9C+gB,EAASrf,GAAIrO,UAAYqO,GAAIpI,YAAYjG,eAAYyhB,EACrDkM,EAAgB,MAAVD,EAAiBxpB,OAAOwpB,QAAUjM,EAE9C,IAAK,IAAImM,EAAO,EAAGA,EAAO1mB,EAAUrH,OAAQ+tB,IAAQ,CAClD,MAAMjV,EAAWzR,EAAU0mB,GAErB/lB,EACJ8Q,GAAU9Q,YACV8Q,GAAU7L,YACV6L,GAAUa,QAAQ3R,YAClB8Q,GAAU9L,QAAQhF,YAClB8Q,GAAUa,QAAQ1M,YAClB6L,GAAUa,QAAQqU,YAClB,GACIC,EAAK3d,KAAK4d,kBAAkBlmB,GAClC,IAAKimB,EAAI,SAET,MAAME,EAAa7d,KAAK8d,8BAA8BtV,GAChDuV,EAAavV,GAAUwV,cAAcD,YAAcvV,GAAUuV,iBAAczM,EAC3E2M,EAAazV,GAAU0V,cAAcD,YAAczV,GAAUyV,iBAAc3M,EAEjFgM,EAAInsB,KAAK,CACP+M,KACAsK,WACA2V,UAAWR,EACX9tB,SAAUkE,OAAOJ,SAAS6pB,GAAOA,OAAMlM,EACvC8M,cAAeX,EACfI,aACAE,WAAYnsB,MAAMC,QAAQksB,GAAcA,OAAazM,EACrD2M,WAAYrsB,MAAMC,QAAQosB,GAAcA,OAAa3M,GAEzD,CACF,CAEA,OAAOgM,EAAIjnB,KAAK,CAAClG,EAAGuN,KAClB,MAAM2gB,EAAKluB,EAAEN,UAAYkE,OAAOuqB,iBAC1BC,EAAK7gB,EAAE7N,UAAYkE,OAAOuqB,iBAChC,GAAID,IAAOE,EAAI,OAAOF,EAAKE,EAG3B,OAFWpuB,EAAEiuB,eAAiB,IACnB1gB,EAAE0gB,eAAiB,IAGlC,CAEQ,oBAAAI,CAAqBC,GAC3B,IAAKA,EAAK,MAAO,GACjB,MAAMrb,EAAMxR,MAAM8C,KAAK+pB,EAAIpG,qBAAqB,OAC1CiF,EAAe,GAErB,IAAK,MAAMoB,KAAQtb,EAAK,CACtB,MAAMub,EAAUD,EAAK/oB,aAAa,YAC5B6nB,EAAiB,MAAXmB,EAAkB5qB,OAAO4qB,QAAWrN,EAG1Cva,EAAYnF,MAAM8C,KAAKgqB,EAAKrG,qBAAqB,aACvD,IAAK,IAAIoF,EAAO,EAAGA,EAAO1mB,EAAUrH,OAAQ+tB,IAAQ,CAClD,MAAMmB,EAAM7nB,EAAU0mB,GAChBoB,EAAWD,EAAIvG,qBAAqB,YAAY,GACtD,IAAKwG,EAAU,SAEf,MAAMhB,EAAagB,EAASlpB,aAAa,eAAiBkpB,EAASlpB,aAAa,oBAAiB2b,EAE3FwN,EAAeD,EAASxG,qBAAqB,gBAAgB,GACnE,IAAKyG,EAAc,SAEnB,MACMpnB,EADW9F,MAAM8C,KAAKoqB,EAAazG,qBAAqB,cAClCvmB,IAAK0C,IAAC,CAChCwC,KAAMxC,EAAEmB,aAAa,SAAW,GAChC+D,SAAUlF,EAAEmB,aAAa,SAAW,GACpCkE,QAAS9F,OAAOS,EAAEmB,aAAa,YAAc,GAC7CopB,QAAShrB,OAAOS,EAAEmB,aAAa,YAAc,GAC7CmC,MAAO/D,OAAOS,EAAEmB,aAAa,UAAY,GACzCoC,OAAQhE,OAAOS,EAAEmB,aAAa,WAAa,GAC3C4D,SAAU/E,EAAEe,aAAe,IAAIE,OAC/BzD,KAAMwC,EAAEe,aAAe,IAAIE,OAC3BupB,MAAOxqB,KAGHmpB,EAAK3d,KAAK4d,kBAAkBlmB,GAC7BimB,GAELL,EAAInsB,KAAK,CACP+M,GAAI,CAAEvO,GAAI+uB,EAAK/oB,aAAa,YAAS2b,GACrC9I,SAAU,CAAEa,OAAQ,CAAE1M,WAAYjF,IAClCymB,UAAWR,EACX9tB,SAAUkE,OAAOJ,SAAS6pB,GAAOA,OAAMlM,EACvC8M,cAAeX,EACfI,WAAYA,QAAcvM,GAE9B,CACF,CAEA,OAAOgM,EAAIjnB,KAAK,CAAClG,EAAGuN,KAClB,MAAM2gB,EAAKluB,EAAEN,UAAYkE,OAAOuqB,iBAC1BC,EAAK7gB,EAAE7N,UAAYkE,OAAOuqB,iBAChC,GAAID,IAAOE,EAAI,OAAOF,EAAKE,EAG3B,OAFWpuB,EAAEiuB,eAAiB,IACnB1gB,EAAE0gB,eAAiB,IAGlC,CAEQ,aAAAa,GACN,IAAK,MAAM3K,KAAMtU,KAAKkf,WAAY5K,EAAGJ,SACrClU,KAAKkf,WAAa,EACpB,CAEQ,iCAAAC,CAAkCC,GAGxC,OAFgBpf,KAAKqf,sBAAsBD,GAGxCttB,IAAI,CAACmJ,EAAG7J,KACP,MAAMkuB,EAAOrkB,EAAEd,SAAWkb,OAAOpa,EAAEd,UAAY,GACzCnD,EAAOiE,EAAEjE,KAAOqe,OAAOpa,EAAEjE,MAAQ,GAEvC,MAAO,CACLlE,IAAKuiB,OAAOpa,EAAE1B,SACduZ,KAAM,WACNyM,QAASD,QAAQhO,EACjBkO,MAAOF,EAAOA,EAAKG,cAAgB,MAAMruB,EAAI,IAC7C4F,KAAMA,QAAQsa,KAGjBhgB,OAAQ2N,KAAQA,EAAEnM,IACvB,CAEQ,iBAAA4sB,CAAkBN,GACxB,IAAKA,EAAc,MAAO,GAC1B,GAAIxtB,MAAMC,QAAQutB,EAAaO,UAAW,OAAOP,EAAaO,SAE9D,MAAMA,EAAW3f,KAAKmf,kCAAkCC,GAExD,OADAA,EAAaO,SAAWA,EACjBA,CACT,CAEQ,qBAAAC,CAAsBrN,EAA2B6M,GACvD,MACMS,EADW7f,KAAK0f,kBAAkBN,GACnB9tB,OAClBJ,IAAOA,EAAE8F,MAAQ,IAAIiH,cAAc1J,SAAS,QAAUrD,EAAE4B,IAAImL,cAAcoO,SAAS,SAGhFyT,EAA8B,GACpC,IAAK,MAAM5uB,KAAK2uB,EAAK,CACnB,MAAM5vB,EAAI0gB,SAASC,cAAc,SACjC3gB,EAAE6iB,KAAO5hB,EAAE4hB,KACX7iB,EAAE6C,IAAM5B,EAAE4B,IAEN5B,EAAEquB,UAAStvB,EAAEsvB,QAAUruB,EAAEquB,SACzBruB,EAAEsuB,QAAOvvB,EAAEuvB,MAAQtuB,EAAEsuB,OAEzBvvB,EAAE8vB,SAAU,EAEZxN,EAAQyN,YAAY/vB,GACpB6vB,EAAQ3uB,KAAKlB,EACf,CAEA,OAAO6vB,CACT,CACQ,iBAAAG,CAAkBhwB,GAIxB,MAAO,GAHMolB,OAAOplB,GAAG6iB,MAAQ,OAClBuC,QAAQplB,GAAGkK,UAAYlK,GAAGsvB,SAAW,KAAO,OAC3ClK,QAAQplB,GAAGuvB,OAAS,KAAO,KAE3C,CAEQ,iBAAAU,CAAkB/M,GACxB,MAAMnE,EAAOmE,GAAOgN,WACpB,IAAKnR,GAA+B,iBAAhBA,EAAKtf,OAAqB,MAAO,GACrD,MAAM4tB,EAAM,GACZ,IAAK,IAAIlsB,EAAI,EAAGA,EAAI2C,OAAOib,EAAKtf,QAAS0B,IAAK,CAC5C,MAAMnB,EAAI+e,EAAK5d,KAA4B,mBAAd4d,EAAKoR,KAAsBpR,EAAKoR,KAAKhvB,GAAK,MACvE,IAAKnB,EAAG,SACR,MAAM6iB,EAAOuC,OAAOplB,EAAE6iB,MAAQ,IACjB,aAATA,GAAgC,cAATA,GAC3BwK,EAAInsB,KAAKlB,EACX,CACA,OAAOqtB,CACT,CAEQ,yBAAA+C,CAA0BlN,GAChC,GAAInT,KAAKsgB,qBAAsB,OAC/B,MACMlP,EADSpR,KAAKkgB,kBAAkB/M,GAChBve,KAAM3E,GAAyB,YAAnBolB,OAAOplB,EAAEswB,OACvCnP,IAAQpR,KAAKsgB,qBAAuBtgB,KAAKigB,kBAAkB7O,GACjE,CAEQ,sBAAAoP,GACN,MAAMC,EAAMzgB,KAAKsgB,qBAEjB,GADAtgB,KAAKsgB,qBAAuB,MACvBG,EAAK,OAEV,MAAMtN,EAAQnT,KAAKsQ,KAAKqB,MAAMwB,MAC9B,IAAKA,EAAO,OAEZ,MAAMuN,EAAS1gB,KAAKkgB,kBAAkB/M,GACtC,IAAKuN,EAAOhxB,OAAQ,OAEpB,IAAK,MAAMO,KAAKywB,EAAQzwB,EAAEswB,KAAO,WAEjC,MAAMlvB,EAAQqvB,EAAO9rB,KAAM3E,GAAM+P,KAAKigB,kBAAkBhwB,KAAOwwB,GAC3DpvB,IAAOA,EAAMkvB,KAAO,UAC1B,CAEQ,qBAAAlB,CAAsBD,GAC5B,IAAKA,EAAc,MAAO,GAE1B,MAAMuB,EACJvB,EAAa/lB,oBACb+lB,EAAawB,oBACbxB,EAAayB,mBACbzB,EAAa0B,mBACb,KAYF,OAVmBlvB,MAAMC,QAAQ8uB,GAC7BA,EACA/uB,MAAMC,QAAQ8uB,GAAItnB,oBAChBsnB,EAAGtnB,mBACHzH,MAAMC,QAAQ8uB,GAAIG,mBAChBH,EAAGG,kBACHlvB,MAAMC,QAAQ8uB,GAAIE,mBAChBF,EAAGE,kBACH,IAGP/uB,IAAKmN,IAAC,CACLjI,KAAMiI,GAAGjI,MAAQiI,GAAGvF,UAAYuF,GAAG8hB,UACnC5mB,SAAU8E,GAAG9E,UAAY8E,GAAGqgB,KAC5B/lB,QAAS0F,GAAG1F,SAAW0F,GAAGjN,KAAOiN,GAAGnM,OAErCxB,OAAQ2N,GAA2B,iBAAdA,EAAE1F,SAAwB0F,EAAE1F,QAAQ7J,OAAS,EACvE,CACQ,gBAAAsxB,GACN,IAAK,MAAM1M,KAAMtU,KAAKkf,WACpB,IACE5K,EAAGJ,QACL,CAAE,MAEF,CAGFlU,KAAKkf,WAAa,EACpB,CAEQ,iBAAAtB,CAAkBlmB,GACxB,IAAK9F,MAAMC,QAAQ6F,IAAqC,IAAtBA,EAAWhI,OAAc,OAAO,KAElE,MAAMuxB,EAAavpB,EAChB5F,IAAK0C,IAAC,CACLwC,KAAMqe,OAAO7gB,GAAGkF,UAAYlF,GAAGwC,MAAQ,IACvCuC,QAAS8b,OAAO7gB,GAAG+E,SAAW/E,GAAGxC,KAAOwC,GAAG1B,KAAO,IAClD+G,QAAS9F,OAAOS,GAAGqF,SAAWrF,GAAGuqB,SAAW,GAC5CjnB,MAAO/D,OAAOS,GAAGsD,OAAS,GAC1BC,OAAQhE,OAAOS,GAAGuD,QAAU,GAC5BmpB,IAAK1sB,KAENlD,OAAQkD,GAAM6S,QAAQ7S,EAAE+E,UAE3B,GAA0B,IAAtB0nB,EAAWvxB,OAAc,OAAO,KAEpC,IAAK,MAAMO,KAAK+P,KAAK+O,IAAIU,oBAAqB,CAC5C,MAAM0R,EAAaF,EAAW3vB,OAAQkD,IAAOA,EAAEwC,MAAQ,IAAIiH,gBAAkBhO,EAAEgO,eAC/E,GAAIkjB,EAAWzxB,OACb,OAAOyxB,EAAW9qB,KAAK,CAAClG,EAAGuN,KAAOA,EAAE7D,SAAW,IAAM1J,EAAE0J,SAAW,IAAI,EAE1E,CAEA,OAAOonB,EAAW5qB,KAAK,CAAClG,EAAGuN,KAAOA,EAAE7D,SAAW,IAAM1J,EAAE0J,SAAW,IAAI,EACxE,CAEQ,6BAAAikB,CAA8BtV,GACpC,MAAMa,EAASb,GAAUa,QAAUb,GAAU9L,QAAU8L,EAGjDtP,EAAYmQ,GAAQnQ,WAAamQ,GAAQ+X,UAC/C,GAAyB,iBAAdloB,GAA0BnF,OAAOJ,SAASuF,IAAcA,GAAa,EAC9E,OAAOmc,OAAOnc,GAKhB,MAAMioB,EAAwB,CAC5B9X,GAAQwU,WACRxU,GAAQgY,WACRhY,GAAQvT,YAAY+nB,WACpBxU,GAAQvT,YAAYurB,WACpBhY,GAAQvT,YAAY+nB,YAAY/kB,MAChCuQ,GAAQvT,YAAYurB,YAAYvoB,MAChCuQ,GAAQvT,YAAY+nB,aAAa,SACjCxU,GAAQvT,YAAYurB,aAAa,UAInC,GAAIhY,GAA4B,iBAAXA,EACnB,IAAK,MAAM1N,IAAK,CAAC,aAAc,aAAc,YAAa,aACxDwlB,EAAWhwB,KAAMkY,EAAe1N,IAEhCwlB,EAAWhwB,KAAMkY,GAAgBvT,aAAa6F,IAIlD,MAAM2lB,EAAaJ,IACjB,GAAmB,iBAARA,GAAoBntB,OAAOJ,SAASutB,IAAQA,GAAO,EAAG,OAAO7L,OAAO6L,GAC/E,GAAmB,iBAARA,EAAkB,CAC3B,MAAM7wB,EAAI6wB,EAAIzrB,OACd,OAAOpF,QAAQihB,CACjB,CACA,GAAI4P,GAAsB,iBAARA,EAAkB,CAClC,MAAMK,EAAML,EACNloB,EAAIuoB,EAAIzoB,OAASyoB,EAAI,UAAYA,EAAI/rB,KAC3C,GAAiB,iBAANwD,EAAgB,CACzB,MAAM3I,EAAI2I,EAAEvD,OACZ,OAAOpF,QAAQihB,CACjB,CACF,GAIF,IAAK,MAAMpgB,KAAKiwB,EAAY,CAC1B,MAAMnoB,EAAIsoB,EAAUpwB,GACpB,GAAI8H,EAAG,OAAOA,CAChB,CAGF,CAEQ,sBAAAwoB,CAAuBnxB,GAC7B,MAAMmE,EAAI,gCAAgCilB,KAAKpE,OAAOhlB,GAAGoF,QACzD,IAAKjB,EAAG,OAAO,KACf,MAAMklB,EAAK3lB,OAAOS,EAAE,IACdmlB,EAAK5lB,OAAOS,EAAE,IACdolB,EAAK7lB,OAAOS,EAAE,IACpB,MAAK,CAACklB,EAAIC,EAAIC,GAAIxF,MAAOnV,GAAMlL,OAAOJ,SAASsL,IACnC,KAALya,EAAiB,GAALC,EAAUC,EAD8B,IAE7D,CAEQ,oBAAA6H,CAAqB5D,EAAgC5kB,GAC3D,IAAK4kB,EAAY,OACjB,MAAMxtB,EAAIwtB,EAAWpoB,OACrB,IAAKpF,EAAG,OAER,GAAIA,EAAEgc,SAAS,KAAM,CACnB,MAAMmN,EAAIzlB,OAAO1D,EAAE8E,MAAM,GAAG,IAC5B,OAAIpB,OAAOJ,SAAS6lB,IAAMA,GAAK,GAAKA,GAAK,KAAOzlB,OAAOJ,SAASsF,IAAaA,EAAW,EAC9EugB,EAAI,IAAOvgB,OAErB,CACF,CAEA,MAAMyoB,EAAK1hB,KAAKwhB,uBAAuBnxB,GACvC,GAAU,MAANqxB,EAAY,OAAOA,EAEvB,MAAMtxB,EAAI2D,OAAO1D,GACjB,OAAI0D,OAAOJ,SAASvD,IAAMA,GAAK,EAAUA,OAAzC,CAGF,CAEQ,aAAAuxB,GACN,GAAI3hB,KAAK4hB,UAAY5hB,KAAK6hB,QAAS,OAEnC,MAAMC,EAAOnR,SAASC,cAAc,OACpCkR,EAAKjR,UAAY,eAEjB,MAAMkR,EAAMpR,SAASC,cAAc,UACnCmR,EAAI/qB,KAAO,SACX+qB,EAAIlR,UAAY,mBAChBkR,EAAIxsB,YAAc,UAElBusB,EAAK9B,YAAY+B,GACjB/hB,KAAK0Q,QAAQsP,YAAY8B,GAEzB,MAAME,EAAWxyB,IACfwQ,KAAKiiB,WACLzyB,EAAE0yB,iBACF1yB,EAAE2yB,mBAEJJ,EAAIjH,iBAAiB,QAASkH,EAASI,EAAAA,eAEvCpiB,KAAK4hB,SAAWE,EAChB9hB,KAAK6hB,QAAUE,EAEf/hB,KAAKqiB,cAAclxB,KAAK,IAAM4wB,EAAI/G,oBAAoB,QAASgH,IAC/DhiB,KAAKqiB,cAAclxB,KAAK,IAAM2wB,EAAK5N,SACrC,CAEQ,UAAAoO,GACFtiB,KAAK4hB,WAAU5hB,KAAK4hB,SAAS9Q,MAAMC,QAAU,QACjD/Q,KAAKuiB,mBAAgBjR,EACrBtR,KAAKwiB,mBAAgBlR,CACvB,CAEQ,qBAAAmR,CAAsBrC,GAC5BpgB,KAAKsiB,aACL,MAAMtpB,EAAIgH,KAAKuS,QACf,IAAKvZ,EAAG,OAER,MAAM6kB,EAAauC,EAAKvC,YAAc7d,KAAK8d,8BAA8BsC,EAAK5X,UAC9E,IAAKqV,EAEH,YADA7d,KAAKiL,IAAI,mDAAoD,CAAEpb,SAAUuwB,EAAKvwB,WAGhFmQ,KAAKiL,IAAI,qBAAsB4S,GAE/B7d,KAAKuiB,cAAgB1E,EACrB7d,KAAK2hB,gBAEL,MAAMe,EAAS,KACb,MAAMC,EAAM3pB,EAAEC,SACR2pB,EAAS5iB,KAAKyhB,qBAAqB5D,EAAY8E,GACrD,GAAc,MAAVC,EAAgB,OACpB5iB,KAAKwiB,cAAgBI,EAErB,MAAMC,EAAM7pB,EAAEka,aAAe,EACvB4P,EAAYnyB,KAAK6qB,IAAI,EAAGoH,EAASC,GACnC7iB,KAAK4hB,WAAU5hB,KAAK4hB,SAAS9Q,MAAMC,QAAU,SAC7C/Q,KAAK6hB,UACP7hB,KAAK6hB,QAAQtsB,YAAcutB,GAAa,IAAO,UAAYnyB,KAAKoyB,KAAKD,GAAWvwB,WAChFyN,KAAK6hB,QAAQ/Q,MAAMkS,cAAgBF,GAAa,IAAO,OAAS,SAIpE9pB,EAAE8hB,iBAAiB,aAAc4H,GACjC1pB,EAAE8hB,iBAAiB,iBAAkB4H,GACrCA,IAEA1iB,KAAKqiB,cAAclxB,KAAK,IAAM6H,EAAEgiB,oBAAoB,aAAc0H,IAClE1iB,KAAKqiB,cAAclxB,KAAK,IAAM6H,EAAEgiB,oBAAoB,iBAAkB0H,GACxE,CAEQ,MAAAT,GACNjiB,KAAKijB,YAAY,SACnB,CAEQ,WAAAA,CAAY7J,EAAqC,OACvD,GAAIpZ,KAAKuiB,eAAuC,MAAtBviB,KAAKwiB,eAAyBxiB,KAAKuS,QAAS,CACpE,MAAMsQ,EAAM7iB,KAAKuS,QAAQW,aAAe,EACxC,GAAI2P,EAAM,IAAO7iB,KAAKwiB,cAEpB,YADAxiB,KAAKiL,IAAI,2BAA4B,CAAE4X,MAAKD,OAAQ5iB,KAAKwiB,cAAepJ,UAG5E,CAEA,IACEpZ,KAAKsO,SAAS4U,aAChB,CAAE,MAEF,CAEA,MAAMC,EAAMnjB,KAAKojB,iBAAmB,CAAEtQ,KAAM9S,KAAKojB,iBAAiBtQ,KAAMnjB,GAAIqQ,KAAKojB,iBAAiBjV,SAAY,KAC9GnO,KAAKyO,IAAI9N,KAAK,WAAY,CAAEib,MAAOuH,EAAK/J,WAExCpZ,KAAKsQ,IAAIC,OAAO5P,KAAK,cAAe,CAAEib,MAAOuH,EAAK/J,WAClDpZ,KAAKsQ,IAAIC,OAAO5P,KAAK,aAAc,CAAEib,MAAOuH,EAAK/J,WAEjD,MAAMpgB,EAAIgH,KAAKuS,QACf,GAAIvZ,EACF,IACMjF,OAAOJ,SAASqF,EAAEC,WAAaD,EAAEC,SAAW,IAAGD,EAAEka,YAAcviB,KAAK6qB,IAAI,EAAGxiB,EAAEC,SAAW,OAC5FD,EAAEqqB,cAAc,IAAIC,MAAM,SAC5B,CAAE,MAEF,CAEJ,CAEQ,eAAAC,GACNvjB,KAAKsiB,aACLtiB,KAAK4hB,UAAU1N,SACflU,KAAK4hB,cAAWtQ,EAChBtR,KAAK6hB,aAAUvQ,EACftR,KAAKwjB,eAAetP,SACpBlU,KAAKyjB,eAAevP,SACpBlU,KAAKwjB,mBAAgBlS,EACrBtR,KAAKyjB,mBAAgBnS,CACvB,CAEQ,eAAAoS,CAAgBlb,GAGtB,MAAMmb,EAAY3jB,KAAK6U,wBACvB,IAAK8O,EAAW,OAEhB,MAAM5F,GACgB,cAAnBvV,GAAUxR,KAAuBwR,GAAUvR,gBAAaqa,IACzD9I,GAAUwV,cAAcD,YACxBvV,GAAUuV,WACZ,IAAKnsB,MAAMC,QAAQksB,IAAqC,IAAtBA,EAAWruB,OAAc,OAE3D,MAAMoyB,EAAOnR,SAASC,cAAc,OACpCkR,EAAKjR,UAAY,qBACjBiR,EAAKhR,MAAM8S,OAAS,IACpB9B,EAAKhR,MAAMC,QAAU,OACrB+Q,EAAKhR,MAAM+S,cAAgB,SAC3B/B,EAAKhR,MAAMgT,IAAM,MACjBhC,EAAKhR,MAAMiT,SAAW,MACtBjC,EAAKhR,MAAMkS,cAAgB,OAE3B,IAAK,MAAM9xB,KAAK6sB,EAAY,CAC1B,MAAMzJ,EAAKtU,KAAKgkB,gBAAgB9yB,GAC5BojB,GAAIwN,EAAK9B,YAAY1L,EAC3B,CAEKwN,EAAKmC,oBACVN,EAAU3D,YAAY8B,GACtB9hB,KAAKwjB,cAAgB1B,EAErB9hB,KAAKqiB,cAAclxB,KAAK,IAAM2wB,EAAK5N,UACrC,CAEQ,eAAA8P,CAAgBE,GACtB,MAAMlY,EACJkY,GAAWtrB,kCACXsrB,GAAW3a,yBACX2a,GAAWC,uBACXD,GAAWE,aAEPtC,EAAOnR,SAASC,cAAc,OACpCkR,EAAKjR,UAAY,oBACjBiR,EAAKhR,MAAMuT,SAAW,WACtBvC,EAAKhR,MAAMwT,OAAStY,EAAQ,UAAY,UAExC,MAAMuY,EACJL,GAAWzpB,gBACXypB,GAAWlnB,gBACXknB,GAAW3rB,kBAAkB,IAC7B2rB,GAAWM,kBAAkB,GACzBC,EACJP,GAAWQ,gBACXR,GAAWS,gBACXT,GAAWU,kBAAkB,IAC7BV,GAAWW,kBAAkB,GACzBC,EACJZ,GAAWxpB,cACXwpB,GAAWa,cACXb,GAAW1rB,gBAAgB,IAC3B0rB,GAAWc,gBAAgB,GAE7B,IAAI1O,EAA2B,KAE/B,GAAIiO,EAAW,CACb,MAAMU,EAAMtU,SAASC,cAAc,OACnCqU,EAAInyB,IAAMuiB,OAAOkP,GAAWvyB,KAAOuyB,GAAW5W,KAAO4W,GAAWzrB,OAASyrB,GACzEU,EAAInU,MAAMiT,SAAW,OACrBkB,EAAInU,MAAM/Y,OAAS,OACnBue,EAAO2O,CACT,MAAO,GAAIR,EAAW,CACpB,MAAMS,EAAMvU,SAASC,cAAc,UACnCsU,EAAIpyB,IAAMuiB,OAAOoP,GAAWzyB,KAAOyyB,GAAW9W,KAAO8W,GAAW3rB,OAAS2rB,GACzES,EAAIpU,MAAMqU,OAAS,IACnBD,EAAIpU,MAAMhZ,MAAQ,OAClBotB,EAAIpU,MAAM/Y,OAAS,OACnBue,EAAO4O,CACT,MAAO,GAAIJ,EAAS,CAClB,MAAMM,EAAMzU,SAASC,cAAc,OACnC5Q,KAAK0V,YAAY0P,EAAK/P,OAAOyP,GAAShsB,OAASgsB,IAC/CxO,EAAO8O,CACT,CAEA,IAAK9O,EAAM,OAAO,KAGlB,GAFAwL,EAAK9B,YAAY1J,GAEbtK,EAAO,CACT,MAAMgW,EAAWxyB,IACf,MAAMwC,EAAuB,iBAAVga,EAAqBA,EAAQA,EAAMha,IACtDgO,KAAKqlB,eAAerzB,GACpB,IACEgO,KAAKsO,SAASgX,eACdtlB,KAAKsO,SAASiX,qBAChB,CAAE,MAEF,CACA/1B,EAAE0yB,iBACF1yB,EAAE2yB,mBAEJL,EAAKhH,iBAAiB,QAASkH,GAC/BhiB,KAAKqiB,cAAclxB,KAAK,IAAM2wB,EAAK9G,oBAAoB,QAASgH,GAClE,CAEA,OAAOF,CACT,CAEQ,yBAAA0D,CAA0B/I,GAChC,MAAMrZ,EAAMpD,KAAKwc,qBAAqBC,GAChCa,EAAuE,GAE7E,IAAK,MAAMpf,KAAMkF,EAAK,CACpB,MAAMrM,EAAYmH,GAAInH,WAAamH,GAAI1B,WAAa,GACpD,IAAK,MAAMgM,KAAYzR,EAAW,CAChC,MAAMmqB,EACJ1Y,GAAUvR,YACVuR,GAAU0V,cAAcD,YACxBzV,GAAU0V,cAAcuH,WACxBjd,GAAUkd,cAAc5oB,WACxB0L,GAAUyV,YACVzV,GAAUmd,iBACVrU,EAIF,GAAI4P,IAAQ1Y,GAAUvR,YAAiC,cAAnBuR,GAAUxR,KAAsB,SAEpE,MAAMinB,EAAarsB,MAAMC,QAAQqvB,GAAOA,EAAMA,EAAM,CAACA,GAAO,GAC5D,GAA0B,IAAtBjD,EAAWvuB,OAAc,SAE7B,MAAM6tB,EAASrf,GAAIrO,UAAYqO,GAAIpI,YAAYjG,eAAYyhB,EACrDkM,EAAgB,MAAVD,EAAiBxpB,OAAOwpB,QAAUjM,EAE9C,IAAK,MAAMsU,KAAM3H,EACfX,EAAInsB,KAAK,CAAE+M,KAAIsK,WAAUid,UAAWG,EAAI/1B,SAAUkE,OAAOJ,SAAS6pB,GAAOA,OAAMlM,GAEnF,CACF,CAEA,OAAOgM,EAAIjnB,KAAK,CAAClG,EAAGuN,KAClB,MAAM2gB,EAAKluB,EAAEN,SACP0uB,EAAK7gB,EAAE7N,SACb,OAAU,MAANwuB,GAAoB,MAANE,EAAmB,EAC3B,MAANF,EAAmB,EACb,MAANE,GAAmB,EAChBF,EAAKE,GAEhB,CAEQ,uBAAAsH,CAAwBpH,GAC9B,MAAMnB,EAA0B,GAI1BwI,EAAc,CAAChN,EAAkBrL,KACrC,IACE,GAAKqL,EAAaV,uBAAwB,CACxC,MAAM2N,EAAOjN,EAAaV,uBAAuB,IAAK3K,GAChDuY,EAAMp0B,MAAM8C,KAAKqxB,GACvB,GAAIC,EAAIt2B,OAAQ,OAAOs2B,CACzB,CACF,CAAE,MAEF,CAEA,IACE,OAAOp0B,MAAM8C,KAAMokB,EAAaT,qBAAqB5K,GACvD,CAAE,MACA,MAAO,EACT,GAGIwY,EAAiB,CAACnN,EAAerL,KACrC,MAAMsY,EAAMD,EAAYhN,EAAMrL,GAC9B,OAvBgB6G,EAuBAyR,EAAI,IAAM,MAvBczR,GAAI/e,aAAe,IAAIE,OAAhD,IAAC6e,GA0BZyJ,EAAoB,GAC1B,IACE,MAAMmI,EAAUJ,EAAYrH,EAAK,aACjC,IAAK,MAAMvtB,KAAKg1B,EAAS,CACvB,MAAMnoB,EAAIhK,OAAO7C,EAAEyE,aAAa,UAAY,GACtCrB,EAAIP,OAAO7C,EAAEyE,aAAa,WAAa,GACvC4uB,EAAY0B,EAAe/0B,EAAG,kBAC9B8a,EAAQia,EAAe/0B,EAAG,yBAC3BqzB,GACLxG,EAAW5sB,KAAK,CACd2G,MAAOiG,QAAKuT,EACZvZ,OAAQzD,QAAKgd,EACb7W,eAAgB,CAAE3B,MAAOyrB,GACzBH,aAAcpY,QAASsF,GAE3B,CACF,CAAE,MAEF,CAEA,MAAM6U,EAAQL,EAAYrH,EAAK,aAC/B,IAAK,MAAMmH,KAAMO,EAAO,CACtB,MAAMpoB,EAAIhK,OAAO6xB,EAAGjwB,aAAa,UAAY,GACvCrB,EAAIP,OAAO6xB,EAAGjwB,aAAa,WAAa,GACxCuF,EAAuB0qB,EAAGjwB,aAAa,8BAA2B2b,EAClEiT,EAAY0B,EAAeL,EAAI,kBAC/BnB,EAAYwB,EAAeL,EAAI,kBAC/Bd,EAAUmB,EAAeL,EAAI,gBAI7BH,EAAiB,CACrB3tB,MAAOiG,QAAKuT,EACZvZ,OAAQzD,QAAKgd,EACbpW,uBACAT,eAAgB8pB,EAAY,CAAEzrB,MAAOyrB,QAAcjT,EACnDoT,eAAgBD,EAAY,CAAE3rB,MAAO2rB,QAAcnT,EACnD5W,aAAcoqB,EAAU,CAAEhsB,MAAOgsB,QAAYxT,EAC7C8U,sBATYH,EAAeL,EAAI,+BASCtU,GAGlCgM,EAAInsB,KAAK,CAAEs0B,YAAW1H,WAAYA,EAAWruB,OAASquB,OAAazM,GACrE,CAEA,OAAOgM,CACT,CAEQ,mCAAM+I,CACZC,EACAC,GAEAvmB,KAAKwmB,uBACLxmB,KAAKujB,kBACLvjB,KAAK0Q,QAAQsG,kBACbhX,KAAK0Q,QAAQI,MAAMC,QAAU,QAC7B/Q,KAAKoR,QAAS,EAEd,IAAIqV,EAAc,EAClB,IAAK,IAAIr1B,EAAI,EAAGA,EAAIk1B,EAAM52B,OAAQ0B,IAAK,CACrC,MAAMs1B,EAAKJ,EAAMl1B,GACbs1B,EAAG3I,YAAYruB,QACjBsQ,KAAK0jB,gBAAgB,CAAE3F,WAAY2I,EAAG3I,WAAYC,aAAc,CAAED,WAAY2I,EAAG3I,cAGnF/d,KAAK2mB,qBACL,MAAMrS,EAAKtU,KAAK4mB,gBAAgBF,EAAGjB,WAC/BnR,GAAItU,KAAKyjB,cAAezD,YAAY1L,GAExCmS,EAAc91B,KAAK6qB,IAAIiL,EAAazmB,KAAK6mB,kCAAkCH,EAAGjB,YAE9EzlB,KAAKyO,IAAI9N,KAAK,iBAAkB,CAAEib,MAAO2K,EAAMO,MAAO11B,IACtD4O,KAAKyO,IAAI9N,KAAK,eAAgB,CAAEib,MAAO2K,EAAMO,MAAO11B,GACtD,CAIA4O,KAAKoR,QAAS,EACdpR,KAAKsQ,IAAIC,OAAO5P,KAAK,YAErB,MAAMomB,EAAQh2B,KAAK6W,MACHrC,iBACR,IAAI9C,QAAe+D,IACvB,MAAMwgB,EAAO,KACX,MAAMC,GAAWl2B,KAAK6W,MAAQmf,GAAS,KACrB/mB,KAAKyjB,eAAehP,cAAc,4BACpCwS,GAAWR,EACzBjgB,IAGFf,WAAWuhB,EAAM,KAEnBA,MAGF,IAAK,IAAI51B,EAAI,EAAGA,EAAIk1B,EAAM52B,OAAQ0B,IAAK4O,KAAKyO,IAAI9N,KAAK,aAAc,CAAEib,MAAO2K,EAAMO,MAAO11B,IAEzF4O,KAAKmR,eACLnR,KAAK0Q,QAAQI,MAAMC,QAAU,OAC7B/Q,KAAK0Q,QAAQsG,kBACbhX,KAAKojB,sBAAmB9R,GAGrB4V,EACP,CAEQ,kBAAAP,GACN,GAAI3mB,KAAKyjB,cAAe,OAExB,MAAM3B,EAAOnR,SAASC,cAAc,OACpCkR,EAAKjR,UAAY,oBACjBiR,EAAKhR,MAAMuT,SAAW,WACtBvC,EAAKhR,MAAMqW,KAAO,OAClBrF,EAAKhR,MAAMsW,MAAQ,OACnBtF,EAAKhR,MAAMuW,OAAS,OACpBvF,EAAKhR,MAAM8S,OAAS,IACpB9B,EAAKhR,MAAMC,QAAU,OACrB+Q,EAAKhR,MAAMwW,eAAiB,SAC5BxF,EAAKhR,MAAMkS,cAAgB,QAIZhjB,KAAK2U,yBAA2B3U,KAAKuS,SAAS1U,eAAiBmC,KAAK0Q,SAC5EsP,YAAY8B,GACnB9hB,KAAKyjB,cAAgB3B,EAErB9hB,KAAKqiB,cAAclxB,KAAK,IAAM2wB,EAAK5N,SACrC,CAEQ,eAAA0S,CAAgBhB,GACtB,MAAM5Z,EACJ4Z,GAAIzqB,kCACJyqB,GAAI2B,kCACJ3B,GAAIrc,yBACJqc,GAAIQ,uBACJR,GAAIxB,aAEAT,EAAYhT,SAASC,cAAc,OACzC+S,EAAU9S,UAAY,yBACtB8S,EAAU7S,MAAMuT,SAAW,WAC3BV,EAAU7S,MAAMiT,SAAW,OAC3BJ,EAAU7S,MAAMwT,OAAStY,EAAQ,UAAY,UAE7C,MAAMwb,EAAaxuB,GAAYpH,MAAMC,QAAQmH,GAAKA,EAAE,GAAKA,EACnDurB,EAAYiD,EAAU5B,GAAInrB,gBAAkBmrB,GAAI5oB,gBAAkB4oB,GAAIrtB,iBAAmBqtB,GAAIpB,iBAC7FC,EAAY+C,EAAU5B,GAAIlB,gBAAkBkB,GAAIjB,gBAAkBiB,GAAIhB,iBAAmBgB,GAAIf,iBAC7FC,EAAU0C,EAAU5B,GAAIlrB,cAAgBkrB,GAAIb,cAAgBa,GAAIptB,eAAiBotB,GAAIZ,eAE3F,IAAI1O,EAA2B,KAE/B,GAAIiO,EAAW,CACb,MAAMU,EAAMtU,SAASC,cAAc,OACnCqU,EAAInyB,IAAMuiB,OAAOkP,GAAWvyB,KAAOuyB,GAAW5W,KAAO4W,GAAWzrB,OAASyrB,GACzEU,EAAInU,MAAMiT,SAAW,OACrBkB,EAAInU,MAAM/Y,OAAS,OACnBue,EAAO2O,CACT,MAAO,GAAIR,EAAW,CACpB,MAAMS,EAAMvU,SAASC,cAAc,UACnCsU,EAAIpyB,IAAMuiB,OAAOoP,GAAWzyB,KAAOyyB,GAAW9W,KAAO8W,GAAW3rB,OAAS2rB,GACzES,EAAIpU,MAAMqU,OAAS,IACnBD,EAAIpU,MAAMhZ,MAAQ,OAClBotB,EAAIpU,MAAM/Y,OAAS,OACnBue,EAAO4O,CACT,MAAO,GAAIJ,EAAS,CAClB,MAAMM,EAAMzU,SAASC,cAAc,OACnC5Q,KAAK0V,YAAY0P,EAAK/P,OAAOyP,GAAShsB,OAASgsB,IAC/CxO,EAAO8O,CACT,CAEA,IAAK9O,EAAM,OAAO,KAGlB,GAFAqN,EAAU3D,YAAY1J,GAElBtK,EAAO,CACT,MAAMgW,EAAWxyB,IACf,GAA2C,WAAtCA,EAAEi4B,QAAwBjR,QAAsB,OACrD,MAAMxkB,EAAuB,iBAAVga,EAAqBA,EAAQA,EAAMha,IACtDgO,KAAKqlB,eAAerzB,GACpB,IACEgO,KAAKsO,SAASgX,eACdtlB,KAAKsO,SAASiX,qBAChB,CAAE,MAEF,CACA/1B,EAAE0yB,iBACF1yB,EAAE2yB,mBAEJwB,EAAU7I,iBAAiB,QAASkH,GACpChiB,KAAKqiB,cAAclxB,KAAK,IAAMwyB,EAAU3I,oBAAoB,QAASgH,GACvE,CAEA,OAAO2B,CACT,CAEQ,cAAA+D,CAAelf,GACrB,MAAM0Y,GACgB,cAAnB1Y,GAAUxR,KAAuBwR,GAAUvR,gBAAaqa,IACzD9I,GAAU0V,cAAcD,YACxBzV,GAAU0V,cAAcuH,WACxBjd,GAAUkd,cAAc5oB,WACxB0L,GAAUyV,YACVzV,GAAUmd,iBACVrU,EACI2M,EAAarsB,MAAMC,QAAQqvB,GAAOA,EAAMA,EAAM,CAACA,GAAO,GAC5D,GAA0B,IAAtBjD,EAAWvuB,OAAf,CAEAsQ,KAAK2mB,qBACL,IAAK,MAAMf,KAAM3H,EAAY,CAC3B,MAAM3J,EAAKtU,KAAK4mB,gBAAgBhB,GAC5BtR,GAAItU,KAAKyjB,cAAezD,YAAY1L,EAC1C,CAN6B,CAO/B,CAEQ,iCAAAuS,CAAkCjB,GACxC,MAAM1E,EACJ0E,GAAI1qB,sBAAwB0qB,GAAI+B,6BAA+B/B,GAAI9vB,YAAYoF,2BAAwBoW,EACzG,GAAmB,iBAAR4P,GAAoBntB,OAAOJ,SAASutB,IAAQA,EAAM,EAAG,OAAOA,EACvE,GAAmB,iBAARA,EAAkB,CAC3B,MAAMQ,EAAK1hB,KAAKwhB,uBAAuBN,GACvC,GAAU,MAANQ,GAAcA,EAAK,EAAG,OAAOA,EACjC,MAAMtxB,EAAI2D,OAAOmtB,GACjB,GAAIntB,OAAOJ,SAASvD,IAAMA,EAAI,EAAG,OAAOA,CAC1C,CACA,OAAO,EACT,CAEQ,4BAAMw3B,CACZnL,EACA8J,GAEAvmB,KAAKwmB,uBACLxmB,KAAK0Q,QAAQsG,kBACbhX,KAAK0Q,QAAQI,MAAMC,QAAU,QAE7B/Q,KAAKoR,QAAS,EAEd,MAAMkV,EAAQtmB,KAAKwlB,0BAA0B/I,GAC7C,IAAK6J,EAAM52B,OAAQ,OAEnB,IAAI+2B,EAAc,EAElB,IAAK,IAAIr1B,EAAI,EAAGA,EAAIk1B,EAAM52B,OAAQ0B,IAAK,CACrC,MAAMgvB,EAAOkG,EAAMl1B,GAEnB,IACE4O,KAAKsO,QAAU,IAAIuZ,EAAY7nB,KAAKwQ,WAAY4P,EAAKliB,GAAIkiB,EAAK5X,SAChE,CAAE,MACAxI,KAAKsO,aAAUgD,CACjB,CACAtR,KAAK8nB,cAAgB1H,EAAK5X,SAG1B,MAAMuf,EACH3H,EAAKliB,IAAInH,WAAiCnC,KAAM1D,GAAuB,cAAZA,GAAG8F,OAAyBopB,EAAK5X,SAC/FxI,KAAK0jB,gBAAgBqE,GACrB/nB,KAAK2mB,qBACL,MAAMrS,EAAKtU,KAAK4mB,gBAAgBxG,EAAKqF,WACjCnR,GAAItU,KAAKyjB,cAAezD,YAAY1L,GAExC,IACEtU,KAAKsO,SAAS5D,oBACd1K,KAAKsO,SAAS0Z,qBAChB,CAAE,MAEF,CACAhoB,KAAKyO,IAAI9N,KAAK,iBAAkB,CAAEib,MAAO2K,EAAMO,MAAO11B,IACtD4O,KAAKyO,IAAI9N,KAAK,eAAgB,CAAEib,MAAO2K,EAAMO,MAAO11B,EAAGvB,SAAUuwB,EAAKvwB,WAEtE42B,EAAc91B,KAAK6qB,IAAIiL,EAAazmB,KAAK6mB,kCAAkCzG,EAAKqF,WAClF,CAIAzlB,KAAKoR,QAAS,EACdpR,KAAKsQ,IAAIC,OAAO5P,KAAK,YAErB,MAAMomB,EAAQh2B,KAAK6W,MACHrC,iBAER,IAAI9C,QAAe+D,IACvB,MAAMwgB,EAAO,KACX,MAAMC,GAAWl2B,KAAK6W,MAAQmf,GAAS,KACrB/mB,KAAKyjB,eAAehP,cAAc,4BACpCwS,GAAWR,EACzBjgB,IAGFf,WAAWuhB,EAAM,KAEnBA,MAGF,IAAK,IAAI51B,EAAI,EAAGA,EAAIk1B,EAAM52B,OAAQ0B,IAAK,CACrC,MAAMgvB,EAAOkG,EAAMl1B,GACnB4O,KAAKyO,IAAI9N,KAAK,aAAc,CAAEib,MAAO2K,EAAMO,MAAO11B,EAAGvB,SAAUuwB,EAAKvwB,UACtE,CAEAmQ,KAAKmR,eACLnR,KAAK0Q,QAAQI,MAAMC,QAAU,OAC7B/Q,KAAK0Q,QAAQsG,kBACbhX,KAAKojB,sBAAmB9R,GAGrB4V,EACP,CAEQ,kBAAMe,CAAa5W,EAAgC8M,GACzDne,KAAKwmB,uBACL,MAAM1N,EAAO9Y,KAAK0Q,QAAQ7S,cAE1BmC,KAAK0Q,QAAQsG,kBACbhX,KAAK0Q,QAAQI,MAAMC,QAAU,QAE7B/Q,KAAKqR,aAAeA,EACpBrR,KAAKqgB,0BAA0BhP,GAE/B,MAAMrY,EAAI2X,SAASC,cAAc,SACjC5X,EAAE6X,UAAY,gBACd7X,EAAEkvB,aAAc,EAChB,MAAMC,GAAkB9W,EAAa1b,aAAa,YAAc0b,EAAakG,SAAW,IAAItZ,cAQtFmqB,IAPmB/W,EAAagX,WAOSroB,KAAKsQ,IAAIqB,KAAK+I,eAE7D1hB,EAAEue,QAA6B,SAAnB4Q,EAA4B,WAAa,OACrDnvB,EAAEsvB,SAAWtoB,KAAK+O,IAAIQ,oBACtBvW,EAAE8X,MAAMhZ,MAAQ,OAChBkB,EAAE8X,MAAM/Y,OAAS,OACjBiB,EAAElG,IAAMqrB,EAAU5kB,QAElB,IACEP,EAAE+S,MACJ,CAAE,MAEF,CAEA,MAAMwc,IAAeH,GAA6BpoB,KAAKsQ,IAAIqB,KAAKjJ,MAC1D8f,EAAgBJ,EAAsB,EAAIpoB,KAAKsQ,IAAIqB,KAAKa,OAC9DxZ,EAAE0P,MAAQ6f,EACVvvB,EAAEyvB,aAAeF,EACbx0B,OAAOJ,SAAS60B,KAAgBxvB,EAAEwZ,OAAS7hB,KAAK6qB,IAAI,EAAG7qB,KAAK+3B,IAAI,EAAGF,KAEvExoB,KAAK2oB,aAAe,IAAIlmB,QAAS+D,IAC/B,MAAMoiB,EAAO,IAAMpiB,IAEbqiB,EAAkB,KACtB,GAAI7oB,KAAKuS,UAAYvZ,EAAG,CACtB,IACEA,EAAEyhB,OACJ,CAAE,MAEF,CACAzhB,EAAEkb,SACFlU,KAAKuS,aAAUjB,CACjB,MACEtY,EAAEkb,UAIAwH,EAAU,KACd1b,KAAKsQ,IAAIC,OAAO5P,KAAK,SACrBkoB,IACAD,KAGIE,EAAU,KACdD,IACAD,KAGF5vB,EAAE8hB,iBAAiB,QAASY,EAAS,CAAEpb,MAAM,IAC7CtH,EAAE8hB,iBAAiB,QAASgO,EAAS,CAAExoB,MAAM,IAE7CN,KAAKqiB,cAAclxB,KAAK,IAAM6H,EAAEgiB,oBAAoB,QAASU,IAC7D1b,KAAKqiB,cAAclxB,KAAK,IAAM6H,EAAEgiB,oBAAoB,QAAS8N,MAG/D9oB,KAAK0Q,QAAQsP,YAAYhnB,GACzBgH,KAAKuS,QAAUvZ,EAGf,MAAM+vB,EAAe,KACnB,GAAiC,YAA7BpY,SAASqY,gBAA+B,OAC5C,MAAMnG,EAAM7iB,KAAKuS,QACjB,GAAKsQ,GACAA,EAAIzY,SAAUyY,EAAIoG,MACvB,IACE,MAAMzP,EAAIqJ,EAAIqG,SACV1P,GAAwB,mBAAZA,EAAEtV,OAAsBsV,EAAEtV,MAAM,OAClD,CAAE,MAEF,GAEFyM,SAASmK,iBAAiB,mBAAoBiO,GAC9C/oB,KAAKqiB,cAAclxB,KAAK,IAAMwf,SAASqK,oBAAoB,mBAAoB+N,IAE/E/oB,KAAKif,gBACLjf,KAAKkf,WAAalf,KAAK4f,sBAAsB5mB,EAAGmlB,EAAU+C,KAC1DlhB,KAAKqiB,cAAclxB,KAAK,IAAM6O,KAAKif,iBAEnC,IAAIkK,EAA0D,KAC9D,IACEA,EAAazX,EAAAA,kBAAkB1R,KAAKsQ,IAAIqB,MACxCwX,EAAWC,SAAS,CAClBz5B,GAAI,MACJ05B,SAAU,IACV9I,KAAM,YACN+I,SAAS,EACTrwB,SAAU,EACVH,MAAO,EACP0mB,MAAO,KACP+J,aAAczQ,EACd0Q,kBAAmBxwB,GAEvB,CAAE,MAEF,CAEA,MAAMywB,EAAgB,KACpB,IAAKN,EAAY,OACjB,MAAMxG,EAAM3pB,EAAEC,SACR4pB,EAAM7pB,EAAEka,aACTnf,OAAOJ,SAASgvB,IAAQA,GAAO,IAAM5uB,OAAOJ,SAASkvB,IAE1DsG,EAAWzG,OAAO1iB,KAAK6R,UAAW,CAChC5Y,SAAU0pB,EACV7pB,MAAOnI,KAAK6qB,IAAI,EAAGmH,EAAME,GACzBtC,KAAM,YACN+I,SAAS,EACTC,aAAczQ,EACd0Q,kBAAmBxwB,KAIvBA,EAAE8hB,iBAAiB,iBAAkB2O,GACrCzwB,EAAE8hB,iBAAiB,aAAc2O,GACjCA,IAEAzpB,KAAKqiB,cAAclxB,KAAK,IAAM6H,EAAEgiB,oBAAoB,iBAAkByO,IACtEzpB,KAAKqiB,cAAclxB,KAAK,IAAM6H,EAAEgiB,oBAAoB,aAAcyO,GACpE,CAEQ,qBAAAC,GACN,MAAMnZ,OAAEA,GAAWvQ,KAAKsQ,IAClBtX,EAAI,IAAMgH,KAAKuS,QAErBvS,KAAKqiB,cAAclxB,KACjBof,EAAOrQ,GAAG,WAAY,KACpB,MAAMypB,EAAoBtiB,QAAQrH,KAAKqR,cAAcgX,UAKrD,IAFyBroB,KAAK8R,gBAAkB6X,IAAsB3pB,KAAKsQ,IAAIqB,KAAK+I,eAE/D,CACnB1a,KAAKsS,4BAA6B,EAClC,IACMtZ,MACFA,IAAK0P,OAAQ,EACb1P,IAAKwZ,OAAS,EAElB,CAAE,MAEF,CACF,KAAO,CACLxS,KAAKsS,4BAA6B,EAClC,IACMtZ,MACFA,IAAK0P,MAAQ1I,KAAKsQ,IAAIqB,KAAKjJ,MAC3B1P,IAAKwZ,OAASxS,KAAKsQ,IAAIqB,KAAKa,OAEhC,CAAE,MAEF,CACF,CAEAxZ,KACIkwB,OACDhlB,MAAM,WAKblE,KAAKqiB,cAAclxB,KAAKof,EAAOrQ,GAAG,YAAa,IAAMlH,KAAKyhB,UAC1Dza,KAAKqiB,cAAclxB,KACjBof,EAAOrQ,GAAG,gBAAkBjB,IAC1B,MAAM2qB,EAAM71B,OAAOkL,GACdlL,OAAOJ,SAASi2B,IAAS5wB,MAC1BgH,KAAK6pB,eACL7pB,KAAKsS,6BACTtZ,IAAKwZ,OAASoX,OAGlB5pB,KAAKqiB,cAAclxB,KACjBof,EAAOrQ,GAAG,eAAiBjB,IACzB,GAAKjG,MACDgH,KAAK6pB,cACT,OAAI7pB,KAAKsS,6BAA+BtS,KAAKsQ,IAAIqB,KAAK+I,gBAEpD1hB,IAAK0P,OAAQ,OACb1P,IAAKwZ,OAAS,SAGhBxZ,IAAK0P,MAAQrB,QAAQpI,MAG3B,CAEQ,uBAAA6qB,CAAwBvD,GAC9BvmB,KAAKojB,iBAAmBmD,EACxB,MAAMvtB,EAAIgH,KAAKuS,QACf,IAAIwX,GAAU,EACVC,EAAYhxB,EAAE0P,OAAsB,IAAb1P,EAAEwZ,OAEzByX,EAAajxB,EAAEoR,OAEnB,MAAM8f,EAAe,KACnB,MAAMvH,EAAM3pB,EAAEC,SACVlF,OAAOJ,SAASgvB,IAAQA,EAAM,IAChC3iB,KAAKyO,IAAI9N,KAAK,eAAgB,CAAEib,MAAO2K,EAAMttB,SAAU0pB,IACvD3iB,KAAKsQ,IAAIC,OAAO5P,KAAK,qBAAsB,CAAE1H,SAAU0pB,EAAK/G,MAAO2K,MAIvE,IAAI4D,GAAM,EACRC,GAAM,EACNC,GAAM,EACNC,GAAO,EAET,MAAMC,EAAgBC,IACpBxqB,KAAKyO,IAAI9N,KAAK,eAAgB,CAAEib,MAAO2K,EAAMiE,aAC5B,KAAbA,GAAiBxqB,KAAKsQ,IAAIC,OAAO5P,KAAK,oBAAqB,CAAEib,MAAO2K,IACvD,KAAbiE,GAAiBxqB,KAAKsQ,IAAIC,OAAO5P,KAAK,eAAgB,CAAEib,MAAO2K,IAClD,KAAbiE,GAAiBxqB,KAAKsQ,IAAIC,OAAO5P,KAAK,oBAAqB,CAAEib,MAAO2K,IACvD,MAAbiE,GAAkBxqB,KAAKsQ,IAAIC,OAAO5P,KAAK,eAAgB,CAAEib,MAAO2K,KAGhEkE,EAAY,KACXV,EAOME,IACTjqB,KAAKsO,SAASoc,gBACd1qB,KAAKyO,IAAI9N,KAAK,aAAc,CAAEib,MAAO2K,IACrCvmB,KAAKsQ,IAAIC,OAAO5P,KAAK,aAAc,CAAEib,MAAO2K,MAT5CwD,GAAU,EACV/pB,KAAKsO,SAASqc,eACd3qB,KAAKsQ,IAAIC,OAAO5P,KAAK,QACrBX,KAAKsQ,IAAIC,OAAO5P,KAAK,YAAa,CAAEib,MAAO2K,IAC3CgE,EAAa,GACbL,KAMFlqB,KAAKsQ,IAAIC,OAAO5P,KAAK,WACrBspB,GAAa,GAGTW,EAAU,KACVb,GAAS/pB,KAAKsO,SAASuc,eAC3BZ,GAAa,EACbjqB,KAAKyO,IAAI9N,KAAK,YAAa,CAAEib,MAAO2K,IACpCvmB,KAAKsQ,IAAIC,OAAO5P,KAAK,SACrBX,KAAKsQ,IAAIC,OAAO5P,KAAK,YAAa,CAAEib,MAAO2K,KAGvCtL,EAAS,KACb,MAAM0H,EAAM3pB,EAAEC,SACR4pB,EAAM7pB,EAAEka,YACd,IAAKnf,OAAOJ,SAASgvB,IAAQA,GAAO,IAAM5uB,OAAOJ,SAASkvB,GAAM,OAEhEqH,IAEA,MAAMpH,EAAYnyB,KAAK6qB,IAAI,EAAGmH,EAAME,GACpC7iB,KAAKyO,IAAI9N,KAAK,iBAAkB,CAC9Bib,MAAO2K,EACPrT,YAAa2P,EACbiI,cAAehI,EACf7pB,SAAU0pB,IAGZ3iB,KAAKsQ,IAAIC,OAAO5P,KAAK,iBAAkB,CAAEuS,YAAa2P,EAAK5pB,SAAU0pB,EAAK/G,MAAO2K,IACjFvmB,KAAKsO,SAAShF,cAAcqZ,GAC5B3iB,KAAKsO,SAASxE,cAAc+Y,GAE5B,MAAMkI,EAAMlI,EAAMF,GACbwH,GAAOY,GAAO,MACjBZ,GAAM,EACNnqB,KAAKsO,SAAS0c,uBACdT,EAAa,MAEVH,GAAOW,GAAO,KACjBX,GAAM,EACNpqB,KAAKsO,SAAS2c,kBACdV,EAAa,MAEVF,GAAOU,GAAO,MACjBV,GAAM,EACNrqB,KAAKsO,SAAS4c,uBACdX,EAAa,MAEVD,GAAQS,GAAO,OAClBT,GAAO,EACPtqB,KAAKsO,SAAS6c,kBACdZ,EAAa,OAIXa,EAAW,KACf,MAAMxB,EAAM5wB,EAAEwZ,OAGR9J,EAAQ1P,EAAE0P,OAAsB,IAAb1P,EAAEwZ,OAiB3B,GAhBAxS,KAAKyO,IAAI9N,KAAK,mBAAoB,CAAEib,MAAO2K,EAAM/T,OAAQoX,EAAKlhB,UAC9D1I,KAAKsQ,IAAIC,OAAO5P,KAAK,mBAAoB,CAAE6R,OAAQoX,EAAKlhB,QAAOkT,MAAO2K,IAElE7d,IAAUshB,IACZA,EAAYthB,EACRA,GACF1I,KAAKsO,SAAS+c,cACdrrB,KAAKyO,IAAI9N,KAAK,WAAY,CAAEib,MAAO2K,MAEnCvmB,KAAKsO,SAASgd,gBACdtrB,KAAKyO,IAAI9N,KAAK,aAAc,CAAEib,MAAO2K,QAMrCvmB,KAAKsS,4BAA+BtS,KAAKsQ,IAAIqB,KAAK+I,kBAClD1a,KAAK6pB,cAET,IACE7pB,KAAK6pB,eAAgB,EACrB7pB,KAAKsQ,IAAIqB,KAAKjJ,MAAQA,EAClB3U,OAAOJ,SAASi2B,KAAM5pB,KAAKsQ,IAAIqB,KAAKa,OAAS7hB,KAAK6qB,IAAI,EAAG7qB,KAAK+3B,IAAI,EAAGkB,IAC3E,CAAE,MAEF,SACE5pB,KAAK6pB,eAAgB,CACvB,GAGI7H,EAAWuJ,IACf,GAAIA,EAAGC,iBAAkB,OACzB,MAAMxf,EAAQhM,KAAKyrB,qBACnB,IAAKzf,EAAO,OACZ,MAAMha,EAAuB,iBAAVga,EAAqBA,EAAQA,EAAMha,IACtDgO,KAAKqlB,eAAerzB,GACpBgO,KAAKsO,SAASgX,eACdtlB,KAAKsO,SAASiX,sBACdvlB,KAAKyO,IAAI9N,KAAK,mBAAoB,CAAEib,MAAO2K,EAAMv0B,IAAKga,IACtDhM,KAAKsQ,IAAIC,OAAO5P,KAAK,YAAa,CAAEib,MAAO2K,EAAMv0B,IAAKga,KAGxDhT,EAAE8hB,iBAAiB,UAAW2P,GAC9BzxB,EAAE8hB,iBAAiB,QAAS8P,GAC5B5xB,EAAE8hB,iBAAiB,aAAcG,GACjCjiB,EAAE8hB,iBAAiB,eAAgBsQ,GACnCpyB,EAAE8hB,iBAAiB,QAASkH,GAC5BhpB,EAAE8hB,iBAAiB,iBAAkBoP,GAErClqB,KAAKqiB,cAAclxB,KAAK,IAAM6H,EAAEgiB,oBAAoB,UAAWyP,IAC/DzqB,KAAKqiB,cAAclxB,KAAK,IAAM6H,EAAEgiB,oBAAoB,QAAS4P,IAC7D5qB,KAAKqiB,cAAclxB,KAAK,IAAM6H,EAAEgiB,oBAAoB,aAAcC,IAClEjb,KAAKqiB,cAAclxB,KAAK,IAAM6H,EAAEgiB,oBAAoB,eAAgBoQ,IACpEprB,KAAKqiB,cAAclxB,KAAK,IAAM6H,EAAEgiB,oBAAoB,QAASgH,IAC7DhiB,KAAKqiB,cAAclxB,KAAK,IAAM6H,EAAEgiB,oBAAoB,iBAAkBkP,GACxE,CAEQ,kBAAAuB,GACN,MAAMv6B,EAAI8O,KAAK8nB,cACf,OACE52B,GAAGoG,8BACHpG,GAAGw6B,aAAatH,cAChBlzB,GAAGw6B,aAAaniB,8BAChB+H,CAEJ,CAEQ,cAAA+T,CAAesG,GACrB,IACE,MAAM35B,EAAM,IAAI45B,IAAID,EAAQ/4B,OAAOsC,SAAS22B,MAC5C,GAAqB,UAAjB75B,EAAIiD,UAAyC,WAAjBjD,EAAIiD,SAAuB,OAC3DrC,OAAOk5B,KAAK95B,EAAIO,WAAY,SAAU,sBACxC,CAAE,MAEF,CACF,CAEQ,oBAAAi0B,GACN,MAAMuF,EAAQ/rB,KAAKqZ,eAEnB,GAAI0S,aAAiBrX,YAAa,CAChC,MAAMsX,EAAKp5B,OAAOq5B,iBAAiBF,GAC9BC,EAAG3H,UAA4B,WAAhB2H,EAAG3H,WACrB0H,EAAMjb,MAAMuT,SAAW,WAE3B,CAEArkB,KAAK0Q,QAAQI,MAAMuT,SAAW,WAC9BrkB,KAAK0Q,QAAQI,MAAMob,MAAQ,IAC3BlsB,KAAK0Q,QAAQI,MAAMhZ,MAAQ,OAC3BkI,KAAK0Q,QAAQI,MAAM/Y,OAAS,OAC5BiI,KAAK0Q,QAAQI,MAAM8S,OAAS5jB,KAAK0Q,QAAQI,MAAM8S,QAAU,IACzD5jB,KAAK0Q,QAAQI,MAAMkS,cAAgB,OAE/BhjB,KAAK0Q,QAAQ7S,gBAAkBkuB,GAAOA,EAAM/L,YAAYhgB,KAAK0Q,QACnE,CAOA,kBAAAyb,CAAmB3jB,GACjB,MAAM4jB,EAAQ5jB,GAAU4jB,OAAS5jB,GAAU6jB,OAAS7jB,GAAU8jB,WACxDC,EACJH,GAAOhgB,MAAQggB,GAAOp6B,KAAOo6B,GAAOI,WAAaJ,GAAO3zB,iBAAmB+P,GAAUikB,WAAa,KAE9FrgB,EAAiBxa,MAAMC,QAAQ06B,GACjCA,EAAQz6B,IAAKW,GAAM4iB,OAAO5iB,IAAInB,OAAQmB,GAAMA,EAAEgD,QAC3B,iBAAZ82B,EACL,CAACA,GAASj7B,OAAQmB,GAAMA,EAAEgD,QAC1B,GAEN,IAAK2W,EAAK1c,OAAQ,OAGlBsQ,KAAKwmB,uBAEL,IAAI1E,EAAO9hB,KAAK0Q,QAAQ+D,cAAc,kBACjCqN,EAQHA,EAAKjM,UAAY,IAPjBiM,EAAOnR,SAASC,cAAc,OAC9BkR,EAAKjR,UAAY,gBACjBiR,EAAKhR,MAAMuT,SAAW,WACtBvC,EAAKhR,MAAMob,MAAQ,IACnBpK,EAAKhR,MAAMkS,cAAgB,OAC3BhjB,KAAK0Q,QAAQsP,YAAY8B,IAK3B,IAAK,MAAM9vB,KAAOoa,EAAM,CACtB,MAAMsgB,EAAS/b,SAASC,cAAc,UACtC8b,EAAO55B,IAAMd,EACb06B,EAAO92B,aAAa,QAAS,SAC7B82B,EAAO92B,aAAa,UAAW,QAC/B82B,EAAO92B,aAAa,iBAAkB,eAEtC82B,EAAO92B,aAAa,UAAW,4DAC/B82B,EAAO5b,MAAMhZ,MAAQ,OACrB40B,EAAO5b,MAAM/Y,OAAS,OACtB20B,EAAO5b,MAAMqU,OAAS,IACtBrD,EAAK9B,YAAY0M,EACnB,CACF,CAEQ,uBAAM7Z,CACZc,EACA4S,EACA1K,GAEA,GAAI7b,KAAKoR,OAAQ,OAAO,EAExBpR,KAAKwmB,uBAEL,MAAMjW,OACJA,EAAMiB,OACNA,EACAG,MAAMwB,MAAEA,IACNnT,KAAKsQ,IAEHqc,EAAgC,QAAfhZ,EAAMb,KAAiBa,EAAM7a,MAAQ,QAC5DkH,KAAKyO,IAAI9N,KAAK,gBAAiBgsB,GAC/B3sB,KAAKiL,IAAI,YAAa0hB,EAAgBpG,GACtCvmB,KAAK4sB,aAAyC,IAA3B5sB,KAAK+O,IAAIS,eAAyC,aAAd+W,EAAKzT,KAE5D,MAAM+Z,EAAuB,KAG3B,IACE1Z,EAAMsH,OACR,CAAE,MAEF,CAIA,OAFAlK,EAAO5P,KAAK,eAEP6Q,EAAOsb,QAAQ,WAAY9sB,KAAKzE,QACnCyE,KAAKyO,IAAI9N,KAAK,YAAa,CACzByY,OAAQ,+BACR2T,MAAOvb,EAAOub,MAAM,cAEtB/sB,KAAKsQ,IAAIC,OAAO5P,KAAK,YAAa,CAChCyY,OAAQ,+BACR2T,MAAOvb,EAAOub,MAAM,eAEf,IAKX,IAAIC,EAA6B,KAMjC,MAAMC,EAAuB1nB,UAC3B,IAAIynB,EACJ,IACE,MAAMxX,QAAgBxV,KAAKkV,eAAevB,GAC1CqZ,EAAShtB,KAAKuV,+BAA+BC,EAC/C,CAAE,MACAwX,EAAS,IACX,GAGF,IACE,IAAIvQ,EACJ,GAAmB,QAAf9I,EAAMb,KACR,IACE2J,QAAezc,KAAKwQ,WAAWlL,IAAIqO,EAAM7a,MAC3C,CAAE,MAAOtJ,GAGP,SADMy9B,KACFD,EAGF,MAAMx9B,EAFNitB,QAAezc,KAAKwQ,WAAWvN,UAAU+pB,EAI7C,KACK,CAEL,MAAMvO,EACmB,iBAAhB9K,EAAM7a,MACTkH,KAAKyV,cAAc9B,EAAM7a,OACzB6a,EAAM7a,iBAAiBo0B,YACrBvZ,EAAM7a,MACNkH,KAAKyV,eAAc,IAAIN,eAAgBC,kBAAkBzB,EAAM7a,QACvEk0B,EAASvO,EACThC,QAAezc,KAAKwQ,WAAWvN,UAAUwb,EAC3C,CAEAze,KAAKiL,IAAI,cAAe,CAAE7H,IAAKqZ,GAAQrZ,KAAK1T,QAAU,EAAGwP,QAASud,GAAQvd,UAE1E,MAAMiuB,EAAcC,IAClBptB,KAAKyO,IAAI9N,KAAK,aAAc,CAAEib,MAAO2K,EAAM6G,UAC3CptB,KAAKsQ,IAAIC,OAAO5P,KAAK,aAAc,CAAEib,MAAO2K,EAAM6G,WAGpD,GAAwB,cAApB7G,EAAK5T,WAA4B,CACnC,MAAM0a,EAAiBrtB,KAAKwlB,0BAA0B/I,GACtD,GAAI4Q,EAAe39B,OAGjB,OAFAy9B,EAAWE,EAAe39B,cACpBsQ,KAAK4nB,uBAAuBnL,EAAQ8J,IACnC,EAIT,SADM0G,IACFD,EAAQ,CACV,MAAMM,EAAWttB,KAAK6lB,wBAAwBmH,GAC9C,GAAIM,EAAS59B,OAGX,OAFAy9B,EAAWG,EAAS59B,cACdsQ,KAAKqmB,8BAA8BiH,EAAU/G,IAC5C,CAEX,CACF,CAEA,IAAIxJ,EAAM/c,KAAKqd,cAAcZ,GAG7B,GAFAzc,KAAKiL,IAAI,mBAAoB8R,EAAIrtB,SAE5BqtB,EAAIrtB,OAAQ,CAIf,MAAM29B,EAAiBrtB,KAAKwlB,0BAA0B/I,GACtD,GAAI4Q,EAAe39B,OAGjB,OAFAy9B,EAAWE,EAAe39B,cACpBsQ,KAAK4nB,uBAAuBnL,EAAQ8J,IACnC,EAMT,SADM0G,IACFD,IACFjQ,EAAM/c,KAAKwe,qBAAqBwO,GAChChtB,KAAKiL,IAAI,kCAAmC8R,EAAIrtB,SAE3CqtB,EAAIrtB,QAAQ,CACf,MAAM49B,EAAWttB,KAAK6lB,wBAAwBmH,GAC9C,GAAIM,EAAS59B,OAGX,OAFAy9B,EAAWG,EAAS59B,cACdsQ,KAAKqmB,8BAA8BiH,EAAU/G,IAC5C,CAEX,CAEJ,CAEA,IAAKxJ,EAAIrtB,OAEP,MADAsQ,KAAKmX,KAAK,0CACJ,IAAIxU,MAAM,0CAIlB,GADAwqB,EAAWpQ,EAAIrtB,SACVm9B,IAAwB,OAAO,EACpC7sB,KAAKoR,QAAS,EAEd,IAAK,IAAIhgB,EAAI,EAAGA,EAAI2rB,EAAIrtB,OAAQ0B,IAAK,CACnC,MAAMgvB,EAAOrD,EAAI3rB,GACjB4O,KAAKyO,IAAI9N,KAAK,eAAgB,CAAEib,MAAO2K,EAAMO,MAAO11B,EAAGvB,SAAUuwB,EAAKvwB,WACtEmQ,KAAKmR,eAELnR,KAAKsO,QAAU,IAAIuZ,EAAY7nB,KAAKwQ,WAAY4P,EAAKliB,GAAIkiB,EAAK5X,UAC9DxI,KAAK8nB,cAAgB1H,EAAK5X,SAE1BxI,KAAKiL,IAAI,iBAAkB,CACzBjZ,IAAKouB,EAAKjC,WAAW5kB,QACrBvC,KAAMopB,EAAKjC,WAAWnnB,KACtB6mB,WAAYuC,EAAKvC,aAEnB7d,KAAKioB,aAAa9U,EAAOiN,EAAKjC,WAC9B,MAAMoP,EAAavtB,KAAKwtB,eAIxBxtB,KAAKyiB,sBAAsBrC,GAC3BpgB,KAAKiL,IAAI,UAAW,CAAEiW,IAAKlhB,KAAKuiB,cAAenT,GAAIpP,KAAKwiB,gBACxDxiB,KAAK0jB,gBAAgBtD,EAAK5X,UAC1BxI,KAAK0nB,eAAetH,EAAK5X,UAEpBxI,KAAK+O,IAAIQ,qBAAqBvP,KAAK0pB,wBAExC1pB,KAAKsO,SAAS5D,oBACd1K,KAAKyO,IAAI9N,KAAK,iBAAkB,CAAEib,MAAO2K,EAAMO,MAAO11B,IAEtD4O,KAAK8pB,wBAAwB,CAAEhX,KAAMyT,EAAKzT,KAAM3E,QAASoY,EAAK52B,KAC9DqQ,KAAKytB,wBACCF,EAENvtB,KAAKyO,IAAI9N,KAAK,aAAc,CAAEib,MAAO2K,EAAMO,MAAO11B,EAAGvB,SAAUuwB,EAAKvwB,UACtE,CAQA,OANAmQ,KAAKyO,IAAI9N,KAAK,sBAAuB,CAAEib,MAAO2K,IAC9CvmB,KAAKsQ,IAAIC,OAAO5P,KAAK,sBAAuB,CAAEib,MAAO2K,IACrDvmB,KAAKgU,OAAO,CACVC,OAAsB,aAAdsS,EAAKzT,OAAwB9S,KAAK8R,gBAAkB9R,KAAK4sB,aACjEzQ,eAAgBN,GAAMK,2BAEjB,CACT,CAAE,MAAO/C,GAOP,OANAnZ,KAAKyO,IAAI9N,KAAK,YAAawY,GAC3BnZ,KAAKsQ,IAAIC,OAAO5P,KAAK,YAAa,CAAEwY,QACpCnZ,KAAKgU,OAAO,CACVC,OAAsB,aAAdsS,EAAKzT,OAAwB9S,KAAK8R,gBAAkB9R,KAAK4sB,aACjEzQ,eAAgBN,GAAMI,yBAEjB,CACT,CACF,CAEQ,YAAAuR,GACN,OAAOxtB,KAAK2oB,cAAgBlmB,QAAQ+D,SACtC,CAEQ,eAAAinB,GACN,MAAMz0B,EAAIgH,KAAKuS,QAEf,GADAvS,KAAKsQ,IAAIC,OAAO5P,KAAK,SAChB3H,EAAG,OAOR,MAAM00B,EAAWhlB,IACf,IACMA,IACF1P,EAAE0P,OAAQ,EACV1P,EAAEwZ,OAAS,EACXxS,KAAKsS,4BAA6B,GAEpC,MAAMkH,EAAIxgB,EAAEkwB,SACZ,OAAO1P,GAAuB,mBAAXA,EAAEzW,KAAuByW,OAAsBlI,CACpE,CAAE,MACA,MACF,GAGIkI,EAAIkU,GAAQ,GACdlU,GACFA,EAAEtV,MAAM,KAEN,MAAMypB,EAAKD,GAAQ,GACfC,GACFA,EAAGzpB,MAAM,SAMjB,CAEQ,YAAAiN,GACN,IAAK,MAAM1Q,KAAOT,KAAKqiB,cAAe5hB,IAOtC,GANAT,KAAKqiB,cAAgB,GACrBriB,KAAKsO,aAAUgD,EAEftR,KAAKujB,kBACLvjB,KAAKghB,mBAEDhhB,KAAKuS,QAAS,CAChB,IACEvS,KAAKuS,QAAQkI,OACf,CAAE,MAEF,CACAza,KAAKuS,QAAQ2B,SACblU,KAAKuS,aAAUjB,CACjB,CAKA,IACEtR,KAAK0Q,QACFkd,iBAAiB,uBACjBj7B,QAASvC,GAAMA,GAAGkN,YAAYuwB,cAAcz9B,IAAMA,EAAE8jB,WACzD,CAAE,MAEF,CAEAlU,KAAK2oB,aAAe,KACpB3oB,KAAK0Q,QAAQsG,iBACf,CAEQ,MAAAhD,CAAO6H,GACb,MAAMtL,OAAEA,EAAMiB,OAAEA,GAAWxR,KAAKsQ,IAEhCtQ,KAAKmR,eACDnR,KAAKqR,cAAgBrR,KAAKuR,oBAC5BvR,KAAKqR,aAAazb,aAAa,WAAY,IAE7CoK,KAAKqR,kBAAeC,EACpBtR,KAAKuR,oBAAqB,EAC1BvR,KAAK0Q,QAAQI,MAAMC,QAAU,OAC7B/Q,KAAK0Q,QAAQsG,kBAEbxF,EAAOC,QAAQ,WAAYzR,KAAKzE,MAEhCyE,KAAKoR,QAAS,EACd,MAAM0c,KAAkBjS,EAAK5H,QAAUjU,KAAK8R,gBAAkB9R,KAAK4sB,aACnE5sB,KAAK8R,gBAAiB,EACtB9R,KAAKwgB,yBACL,IACE9O,EAAAA,kBAAkB1R,KAAKsQ,IAAIqB,MAAMC,WAAW5R,KAAK6R,UACnD,CAAE,MAEF,CAEKgK,EAAKM,iBACJ2R,EACFvd,EAAO5P,KAAK,YAEZ4P,EAAO5P,KAAK,aAGlB,wGDvyFSqN,EASRpb,QARMm7B,kBAAoB/f,EAAO+f,mBAAqB,CAAA,EACvD/f,EAAO+f,kBAAkB3qB,IAAM,CAC7B7H,KAAM,MACNuX,KAAM,SACNkb,QAAUpf,GAAiB,IAAID,GAAU,IAAMC,GAAU,GAAKW,qBAAqB,IACnF0e,QAAUC,GCoyFR,SAAqBA,GACpBA,GAAeA,EAAW9gB,YAGfjb,OAAOg8B,yBAAyBD,EAAW9gB,UAAW,QAEpEjb,OAAO+a,eAAeghB,EAAW9gB,UAAW,MAAO,CACjDJ,cAAc,EACdD,YAAY,EACZ,GAAAzH,GACE,OAAOtF,KAAKouB,YAAY,MAC1B,IAKwC,mBAAjCF,EAAW9gB,UAAUqF,SAC9BtgB,OAAO+a,eAAeghB,EAAW9gB,UAAW,UAAW,CACrDJ,cAAc,EACdD,YAAY,EACZjU,MAAO,SAAiB6a,GACtB,MAAM0a,EAAUruB,KAAKouB,YAAY,QAAUpuB,KAAKoD,IAChD,IAAKirB,EACH,MAAM,IAAI1rB,MAAM,8CAGlB,MAAMtS,EAAIglB,OAAO1B,GAAS,IAAIle,OAC9B,IAAKpF,EAAG,MAAM,IAAIsS,MAAM,8DAGxB,GAAItS,EAAE2E,WAAW,KAAM,CACrB,GAAqC,mBAA1Bq5B,EAAOtb,eAChB,MAAM,IAAIpQ,MAAM,kEAElB,OAAO0rB,EAAOtb,eAAe1iB,EAC/B,CAEA,OAAOg+B,EAAO5b,QAAQpiB,EACxB,IAGN,CD70FkCi+B,CAAWJ,GACzCK,OAAQ,CAACC,EAAaH,IC80FpB,SAAoBG,EAAaH,GAChCG,IACwB,mBAAlBA,EAAOD,OAChBC,EAAOD,OAAO,CAAEnrB,IAAKirB,SACG/c,IAAfkd,EAAOprB,MAChBorB,EAAOprB,IAAMirB,GAEjB,CDr1F0CI,CAAUD,EAAQH,IAO5D,SAAWrgB,GACT,IAA4B0gB,KAeT1gB,EAAO0gB,gBAdHA,EAAathB,UAAUqF,UAE5Cic,EAAathB,UAAUqF,QAAU,SAAUkB,GACzC,MAAMhC,EAA+B,mBAAjB3R,KAAK2uB,QAAyB3uB,KAAK2uB,UAAY,KACnE,IAAKhd,EAAM,MAAM,IAAIhP,MAAM,8CAC3B,MAAM0rB,EAAmC,mBAAnB1c,EAAKyc,UAA2Bzc,EAAKyc,UAAU,OAAS,KAC9E,IAAKC,EAAQ,MAAM,IAAI1rB,MAAM,4BAC7B,MAAMtS,EAAIglB,OAAO1B,GAAS,IAAIle,OAC9B,IAAKpF,EAAG,MAAM,IAAIsS,MAAM,8DACxB,OAAItS,EAAE2E,WAAW,KAAaq5B,EAAOtb,eAAe1iB,GAC7Cg+B,EAAO5b,QAAQpiB,EACxB,EAIH,CAjBD,CAiBGuC,kEEgBH,SAASg8B,EAAOC,EAAQC,GAIvB,YAHWxd,IAAPwd,IACHA,EAAK38B,QAEC28B,GAA2B,mBAAdA,EAAGF,OAAwBE,EAAGF,OAAOC,GAAUA,CACpE,MAkCA,IAAIE,EAAYH,EAAO,CAUtBI,KAAM,YAYNC,OAAQ,SAAUn2B,GACjB,OAAOA,IAAUi2B,EAAUC,IAC7B,EASCE,gBAAiB,kBASjBC,SAAU,WAUVC,sBAAuB,wBASvBC,cAAe,kBAQZC,EAAYV,EAAO,CAMtBI,KAAM,+BASNC,OAAQ,SAAUthB,GACjB,OAAOA,IAAQ2hB,EAAUN,IAC3B,EAOCO,IAAK,6BAOLC,IAAK,uCAOLC,MAAO,yCAGRC,GAAA5tB,OAjIA,SAAgB2lB,EAAQpY,GACvB,GAAe,OAAXoY,GAAqC,iBAAXA,EAC7B,MAAM,IAAItnB,UAAU,2BAErB,IAAK,IAAIgN,KAAOkC,EACXld,OAAOib,UAAUrb,eAAe49B,KAAKtgB,EAAQlC,KAChDsa,EAAOta,GAAOkC,EAAOlC,IAGvB,OAAOsa,CACR,EAwHAiI,GAAA96B,KAtLA,SAAcoa,EAAM4gB,EAAWC,GAI9B,QAHWve,IAAPue,IACHA,EAAKj+B,MAAMwb,WAER4B,GAA2B,mBAAZ6gB,EAAGj7B,KACrB,OAAOi7B,EAAGj7B,KAAK+6B,KAAK3gB,EAAM4gB,GAE3B,IAAK,IAAIx+B,EAAI,EAAGA,EAAI4d,EAAKtf,OAAQ0B,IAChC,GAAIe,OAAOib,UAAUrb,eAAe49B,KAAK3gB,EAAM5d,GAAI,CAClD,IAAIgvB,EAAOpR,EAAK5d,GAChB,GAAIw+B,EAAUD,UAAKre,EAAW8O,EAAMhvB,EAAG4d,GACtC,OAAOoR,CAEX,CAEA,EAwKAsP,GAAAd,OAAiBA,EACjBc,GAAAX,UAAoBA,EACpBW,GAAAJ,UAAoBA,wCC1MpB,IAAII,EAAcI,KAEdl7B,EAAO86B,EAAY96B,KACnB06B,EAAYI,EAAYJ,UAO5B,SAASS,EAAgBpc,GACxB,MAAiB,KAAVA,CACR,CAoBA,SAASqc,EAAmB3V,EAAS4V,GAIpC,OAHK5V,EAAQtoB,eAAek+B,KAC3B5V,EAAQ4V,IAAW,GAEb5V,CACR,CAOA,SAAS6V,EAAavc,GACrB,IAAKA,EAAO,MAAO,GACnB,IAAI3E,EA1BL,SAAgC2E,GAE/B,OAAOA,EAAQA,EAAMzd,MAAM,gBAAgB5E,OAAOy+B,GAAkB,EACrE,CAuBYI,CAAuBxc,GAClC,OAAOxhB,OAAOsJ,KAAKuT,EAAKxd,OAAOw+B,EAAmB,CAAA,GACnD,CAeA,SAASI,EAAKt9B,EAAIu9B,GACjB,IAAI,IAAI7W,KAAK1mB,EACRX,OAAOib,UAAUrb,eAAe49B,KAAK78B,EAAK0mB,KAC7C6W,EAAK7W,GAAK1mB,EAAI0mB,GAGjB,CAMA,SAAS8W,EAASC,EAAMC,GACvB,IAAIC,EAAKF,EAAMnjB,UACf,KAAKqjB,aAAcD,GAAO,CACzB,SAASvgC,IAAG,CACZA,EAAEmd,UAAYojB,EAAMpjB,UAEpBgjB,EAAKK,EADLxgC,EAAI,IAAIA,GAERsgC,EAAMnjB,UAAYqjB,EAAKxgC,CACzB,CACIwgC,EAAG1wB,aAAewwB,IACD,mBAATA,GACTvlB,QAAQ3E,MAAM,iBAAiBkqB,GAEhCE,EAAG1wB,YAAcwwB,EAEnB,CAGA,IAAIG,EAAW,CAAA,EACXC,EAA8BD,EAASC,aAA8B,EACrEC,EAA8BF,EAASE,eAA8B,EACrEC,EAA8BH,EAASG,UAA8B,EACrEC,EAA8BJ,EAASI,mBAA8B,EACrEC,EAA8BL,EAASK,sBAA8B,EACrEC,EAA8BN,EAASM,YAA8B,EACrEC,EAA8BP,EAASO,4BAA8B,EACrEC,EAA8BR,EAASQ,aAA8B,EACrEC,EAA8BT,EAASS,cAA8B,EACrEC,EAA8BV,EAASU,mBAA8B,GACrEC,EAA8BX,EAASW,uBAA8B,GACrEC,EAA8BZ,EAASY,cAA8B,GAGrEC,EAAgB,CAAA,EAChBC,EAAmB,CAAA,EACWD,EAAcE,gBAAgCD,EAAiB,GAAG,mBAAoB,GACtFD,EAAcG,oBAAgCF,EAAiB,GAAG,uBAAwB,GAC5H,IAAIG,EAA8BJ,EAAcI,uBAAgCH,EAAiB,GAAG,0BAA2B,GAC7FD,EAAcK,oBAAgCJ,EAAiB,GAAG,iBAAkB,GACpFD,EAAcM,uBAAgCL,EAAiB,GAAG,oBAAqB,GACvFD,EAAcO,qBAAgCN,EAAiB,GAAG,kBAAmB,GACrFD,EAAcQ,6BAAgCP,EAAiB,GAAG,0BAA2B,GAC/H,IAAIQ,EAA8BT,EAAcS,eAAgCR,EAAiB,GAAG,YAAa,GAC/ED,EAAcU,mBAAgCT,EAAiB,GAAG,gBAAiB,GACrH,IAAIU,EAA8BX,EAAcW,qBAAgCV,EAAiB,IAAI,mBAAoB,IAczH,SAASW,EAAaC,EAAMx0B,GAC3B,GAAGA,aAAmB+E,MACrB,IAAI0D,EAAQzI,OAEZyI,EAAQrG,KACR2C,MAAMgtB,KAAK3vB,KAAMwxB,EAAiBY,IAClCpyB,KAAKpC,QAAU4zB,EAAiBY,GAC7BzvB,MAAM0vB,mBAAmB1vB,MAAM0vB,kBAAkBryB,KAAMmyB,GAI3D,OAFA9rB,EAAM+rB,KAAOA,EACVx0B,IAASoC,KAAKpC,QAAUoC,KAAKpC,QAAU,KAAOA,GAC1CyI,CACR,CASA,SAASisB,IACT,CA0CA,SAASC,EAAajc,EAAKkc,GAC1BxyB,KAAKyyB,MAAQnc,EACbtW,KAAK0yB,SAAWF,EAChBG,EAAgB3yB,KACjB,CACA,SAAS2yB,EAAgB3jB,GACxB,IAAI4jB,EAAM5jB,EAAKyjB,MAAMI,MAAQ7jB,EAAKyjB,MAAMK,cAAcD,KACtD,GAAI7jB,EAAK6jB,OAASD,EAAK,CACtB,IAAIG,EAAK/jB,EAAK0jB,SAAS1jB,EAAKyjB,OAE5B,GADAO,GAAQhkB,EAAK,SAAS+jB,EAAGrjC,SACpBsf,EAAKikB,UAAYF,EAAGrjC,OAASsf,EAAKikB,SACtC,IAAK,IAAI7hC,EAAI2hC,EAAGrjC,OAAQ0B,KAAK4d,EAAM5d,IAC9Be,OAAOib,UAAUrb,eAAe49B,KAAK3gB,EAAM5d,WACvC4d,EAAK5d,GAIfg/B,EAAK2C,EAAG/jB,GACRA,EAAK6jB,KAAOD,CACd,CACA,CAmBA,SAASM,IACT,CAEA,SAASC,EAAenkB,EAAKsH,GAE5B,IADA,IAAIllB,EAAI4d,EAAKtf,OACP0B,KACL,GAAG4d,EAAK5d,KAAOklB,EAAM,OAAOllB,CAE9B,CAEA,SAASgiC,EAAc9e,EAAGtF,EAAKqkB,EAAQC,GAMtC,GALGA,EACFtkB,EAAKmkB,EAAenkB,EAAKskB,IAAYD,EAErCrkB,EAAKA,EAAKtf,UAAY2jC,EAEpB/e,EAAG,CACL+e,EAAQE,aAAejf,EACvB,IAAImK,EAAMnK,EAAGwe,cACVrU,IACF6U,GAAWE,EAAmB/U,EAAInK,EAAGgf,GAyVxC,SAAyB7U,EAAInK,EAAG+e,GAC/B5U,GAAOA,EAAIoU,OACX,IAAI1a,EAAKkb,EAAQI,aACdtb,IAAOmX,EAAUG,QAEnBnb,EAAGof,OAAOL,EAAQM,OAAON,EAAQ5lB,UAAU,IAAM4lB,EAAQv6B,MAE3D,CA/VG86B,CAAgBnV,EAAInK,EAAG+e,GAE1B,CACA,CACA,SAASQ,EAAiBvf,EAAGtF,EAAKyH,GAEjC,IAAIrlB,EAAI+hC,EAAenkB,EAAKyH,GAC5B,KAAGrlB,GAAG,GAcL,MAAM,IAAI+gC,EAAaH,EAAc,IAAIrvB,MAAM2R,EAAGkC,QAAQ,IAAIC,IAZ9D,IADA,IAAIqd,EAAY9kB,EAAKtf,OAAO,EACtB0B,EAAE0iC,GACP9kB,EAAK5d,GAAK4d,IAAO5d,GAGlB,GADA4d,EAAKtf,OAASokC,EACXxf,EAAG,CACL,IAAImK,EAAMnK,EAAGwe,cACVrU,IACF+U,EAAmB/U,EAAInK,EAAGmC,GAC1BA,EAAK8c,aAAe,KAExB,CAIA,CAgFA,SAASQ,IACT,CA8FA,SAASC,IACT,CAgHA,SAASC,EAAY/iC,GACpB,OAAY,KAALA,EAAY,OACN,KAALA,GAAY,SACP,KAALA,GAAY,SACP,KAALA,GAAY,UACZ,KAAKA,EAAEoB,aAAa,GAC7B,CAUA,SAAS4hC,EAAW5d,EAAK6d,GACxB,GAAGA,EAAS7d,GACX,OAAO,EAER,GAAGA,EAAOA,EAAK1I,WACd,GACC,GAAGsmB,EAAW5d,EAAK6d,GAAW,OAAO,QACzB7d,EAAKA,EAAKxI,YAEzB,CAIA,SAASsmB,IACRp0B,KAAK8yB,cAAgB9yB,IACtB,CAWA,SAASwzB,EAAmB/U,EAAInK,EAAG+e,EAAQnf,GAC1CuK,GAAOA,EAAIoU,OACFQ,EAAQI,eACPnE,EAAUG,cAEZnb,EAAGof,OAAOL,EAAQM,OAAON,EAAQ5lB,UAAU,GAEpD,CAcA,SAAS4mB,EAAgB5V,EAAKnK,EAAIggB,GACjC,GAAG7V,GAAOA,EAAIoU,KAAK,CAClBpU,EAAIoU,OAEJ,IAAI7G,EAAK1X,EAAG3f,WACZ,GAAI2/B,EACHtI,EAAGA,EAAGt8B,UAAY4kC,MACZ,CAGN,IAFA,IAAIC,EAAQjgB,EAAG1G,WACXxc,EAAI,EACDmjC,GACNvI,EAAG56B,KAAOmjC,EACVA,EAAQA,EAAMzmB,YAEfke,EAAGt8B,OAAS0B,SACL46B,EAAGA,EAAGt8B,OAChB,CACA,CACA,CAcA,SAAS8kC,EAAcl3B,EAAYi3B,GAClC,IAAIE,EAAWF,EAAMG,gBACjBC,EAAOJ,EAAMzmB,YAejB,OAdI2mB,EACHA,EAAS3mB,YAAc6mB,EAEvBr3B,EAAWsQ,WAAa+mB,EAErBA,EACHA,EAAKD,gBAAkBD,EAEvBn3B,EAAWs3B,UAAYH,EAExBF,EAAMj3B,WAAa,KACnBi3B,EAAMG,gBAAkB,KACxBH,EAAMzmB,YAAc,KACpBumB,EAAe/2B,EAAWw1B,cAAex1B,GAClCi3B,CACR,CAoCA,SAASM,EAAcve,GACtB,OAAOA,GAAQA,EAAKzI,WAAammB,EAAK5C,kBACvC,CAOA,SAAS0D,EAAcxe,GACtB,OAAOA,GAAQA,EAAKzI,WAAammB,EAAKrD,YACvC,CAMA,SAASoE,EAAWze,GACnB,OAAOA,GAAQA,EAAKzI,WAAammB,EAAKnD,SACvC,CAYA,SAASmE,EAA2BvW,EAAK8V,GACxC,IAAIU,EAAmBxW,EAAI9pB,YAAc,GACzC,GAAIC,EAAKqgC,EAAkBH,IAAkBD,EAAcN,GAC1D,OAAO,EAER,IAAIW,EAActgC,EAAKqgC,EAAkBJ,GACzC,QAASN,GAASW,GAAeD,EAAiB1jC,QAAQ2jC,GAAeD,EAAiB1jC,QAAQgjC,GACnG,CAYA,SAASY,EAA6B1W,EAAK8V,GAC1C,IAAIU,EAAmBxW,EAAI9pB,YAAc,GAMzC,GAAIC,EAAKqgC,EAJT,SAAuC3e,GACtC,OAAOwe,EAAcxe,IAASA,IAASie,CACzC,GAGE,OAAO,EAER,IAAIW,EAActgC,EAAKqgC,EAAkBJ,GACzC,QAASN,GAASW,GAAeD,EAAiB1jC,QAAQ2jC,GAAeD,EAAiB1jC,QAAQgjC,GACnG,CAeA,SAASa,EAA+BC,EAAQ/e,EAAMie,GAErD,IA5GD,SAAgCje,GAC/B,OACCA,IACCA,EAAKzI,WAAammB,EAAK7C,eAAiB7a,EAAKzI,WAAammB,EAAK3C,wBAA0B/a,EAAKzI,WAAammB,EAAKrD,aAEnH,CAuGM2E,CAAuBD,GAC3B,MAAM,IAAIlD,EAAaR,EAAuB,+BAAiC0D,EAAOxnB,UAKvF,GAAI0mB,GAASA,EAAMj3B,aAAe+3B,EACjC,MAAM,IAAIlD,EAAaH,EAAe,uBAEvC,IAzGD,SAA+B1b,GAC9B,OACCA,IACCwe,EAAcxe,IACdye,EAAWze,IACXue,EAAcve,IACdA,EAAKzI,WAAammB,EAAK3C,wBACvB/a,EAAKzI,WAAammB,EAAK9C,cACvB5a,EAAKzI,WAAammB,EAAK/C,4BAE1B,CAiGGsE,CAAsBjf,IAKtBue,EAAcve,IAAS+e,EAAOxnB,WAAammB,EAAK7C,cAEjD,MAAM,IAAIgB,EACTR,EACA,wBAA0Brb,EAAKzI,SAAW,yBAA2BwnB,EAAOxnB,SAG/E,CAeA,SAAS2nB,EAAqCH,EAAQ/e,EAAMie,GAC3D,IAAIU,EAAmBI,EAAO1gC,YAAc,GACxC8gC,EAAiBnf,EAAK3hB,YAAc,GAGxC,GAAI2hB,EAAKzI,WAAammB,EAAK3C,uBAAwB,CAClD,IAAIqE,EAAoBD,EAAenkC,OAAOwjC,GAE9C,GAAIY,EAAkBhmC,OAAS,GAAKkF,EAAK6gC,EAAgBV,GACxD,MAAM,IAAI5C,EAAaR,EAAuB,6CAI/C,GAAiC,IAA7B+D,EAAkBhmC,SAAiBslC,EAA2BK,EAAQd,GACzE,MAAM,IAAIpC,EAAaR,EAAuB,yDAEjD,CAEC,GAAImD,EAAcxe,KAGZ0e,EAA2BK,EAAQd,GACvC,MAAM,IAAIpC,EAAaR,EAAuB,wDAIhD,GAAIkD,EAAcve,GAAO,CAExB,GAAI1hB,EAAKqgC,EAAkBJ,GAC1B,MAAM,IAAI1C,EAAaR,EAAuB,+BAE/C,IAAIgE,EAAqB/gC,EAAKqgC,EAAkBH,GAEhD,GAAIP,GAASU,EAAiB1jC,QAAQokC,GAAsBV,EAAiB1jC,QAAQgjC,GACpF,MAAM,IAAIpC,EAAaR,EAAuB,kDAG/C,IAAK4C,GAASoB,EACb,MAAM,IAAIxD,EAAaR,EAAuB,uDAEjD,CACA,CAeA,SAASiE,EAAuCP,EAAQ/e,EAAMie,GAC7D,IAAIU,EAAmBI,EAAO1gC,YAAc,GACxC8gC,EAAiBnf,EAAK3hB,YAAc,GAGxC,GAAI2hB,EAAKzI,WAAammB,EAAK3C,uBAAwB,CAClD,IAAIqE,EAAoBD,EAAenkC,OAAOwjC,GAE9C,GAAIY,EAAkBhmC,OAAS,GAAKkF,EAAK6gC,EAAgBV,GACxD,MAAM,IAAI5C,EAAaR,EAAuB,6CAG/C,GAAiC,IAA7B+D,EAAkBhmC,SAAiBylC,EAA6BE,EAAQd,GAC3E,MAAM,IAAIpC,EAAaR,EAAuB,yDAEjD,CAEC,GAAImD,EAAcxe,KAEZ6e,EAA6BE,EAAQd,GACzC,MAAM,IAAIpC,EAAaR,EAAuB,wDAIhD,GAAIkD,EAAcve,GAAO,CACxB,SAASuf,EAA8Bvf,GACtC,OAAOue,EAAcve,IAASA,IAASie,CAC1C,CAGE,GAAI3/B,EAAKqgC,EAAkBY,GAC1B,MAAM,IAAI1D,EAAaR,EAAuB,+BAE/C,IAAIgE,EAAqB/gC,EAAKqgC,EAAkBH,GAEhD,GAAIP,GAASU,EAAiB1jC,QAAQokC,GAAsBV,EAAiB1jC,QAAQgjC,GACpF,MAAM,IAAIpC,EAAaR,EAAuB,iDAEjD,CACA,CAYA,SAASmE,EAAcT,EAAQ/e,EAAMie,EAAOwB,GAE3CX,EAA+BC,EAAQ/e,EAAMie,GAIzCc,EAAOxnB,WAAammB,EAAK7C,gBAC3B4E,GAAwBP,GAAsCH,EAAQ/e,EAAMie,GAG9E,IAAIyB,EAAK1f,EAAKhZ,WAId,GAHG04B,GACFA,EAAGnI,YAAYvX,GAEbA,EAAKzI,WAAawjB,EAAuB,CAC3C,IAAI4E,EAAW3f,EAAK1I,WACpB,GAAgB,MAAZqoB,EACH,OAAO3f,EAER,IAAI4f,EAAU5f,EAAKse,SACrB,MACEqB,EAAWC,EAAU5f,EAEtB,IAAI6D,EAAMoa,EAAQA,EAAMG,gBAAkBW,EAAOT,UAEjDqB,EAASvB,gBAAkBva,EAC3B+b,EAAQpoB,YAAcymB,EAGnBpa,EACFA,EAAIrM,YAAcmoB,EAElBZ,EAAOznB,WAAaqoB,EAET,MAAT1B,EACFc,EAAOT,UAAYsB,EAEnB3B,EAAMG,gBAAkBwB,EAEzB,EAAE,CACDD,EAAS34B,WAAa+3B,EAGtBc,EAAqBF,EADLZ,EAAOvC,eAAiBuC,EAE1C,OAAQY,IAAaC,IAAYD,EAAUA,EAASnoB,cAMnD,OALAumB,EAAegB,EAAOvC,eAAeuC,EAAQA,GAEzC/e,EAAKzI,UAAYwjB,IACpB/a,EAAK1I,WAAa0I,EAAKse,UAAY,MAE7Bte,CACR,CAQA,SAAS6f,EAAqB7f,EAAM8f,GACnC,GAAI9f,EAAKwc,gBAAkBsD,EAA3B,CAOA,GAHA9f,EAAKwc,cAAgBsD,EAGjB9f,EAAKzI,WAAa8iB,GAAgBra,EAAKxgB,WAC1C,IAAK,IAAI1E,EAAI,EAAGA,EAAIklB,EAAKxgB,WAAWpG,OAAQ0B,IAAK,CAChD,IAAIqlB,EAAOH,EAAKxgB,WAAWsqB,KAAKhvB,GAC5BqlB,IACHA,EAAKqc,cAAgBsD,EAEzB,CAKC,IADA,IAAI7B,EAAQje,EAAK1I,WACV2mB,GACN4B,EAAqB5B,EAAO6B,GAC5B7B,EAAQA,EAAMzmB,WAlBhB,CAoBA,CAsPA,SAASuoB,IACRr2B,KAAK0zB,OAAS,CAAA,CACf,CA4FA,SAAS4C,IACT,CAKA,SAASC,KACT,CA8BA,SAASC,KACT,CAkBA,SAASC,KACT,CAOA,SAASC,KACT,CAQA,SAASC,KACT,CAIA,SAASC,KACT,CAIA,SAASC,KACT,CAIA,SAASC,KACT,CAIA,SAASC,KACT,CAMA,SAASC,KACT,CAGA,SAAS7hB,KAAe,CAKxB,SAAS8hB,GAAsBC,EAAOC,GACrC,IAAIC,EAAM,GACNC,EAA2B,GAAjBr3B,KAAK6N,UAAiB7N,KAAKuD,iBAAmBvD,KACxD2zB,EAAS0D,EAAQ1D,OACjBhmB,EAAM0pB,EAAQ5D,aAElB,GAAG9lB,GAAiB,MAAVgmB,GAGI,OADTA,EAAS0D,EAAQC,aAAa3pB,IAGjC,IAAI4pB,EAAkB,CACtB,CAACC,UAAU7pB,EAAIgmB,OAAO,OAOxB,OAFAve,GAAkBpV,KAAKo3B,EAAIF,EAAOC,EAAWI,GAEtCH,EAAIz5B,KAAK,GACjB,CAEA,SAAS85B,GAAoBnhB,EAAM2Y,EAAQsI,GAC1C,IAAI5D,EAASrd,EAAKqd,QAAU,GACxBhmB,EAAM2I,EAAKmd,aAQf,IAAK9lB,EACJ,OAAO,EAER,GAAe,QAAXgmB,GAAoBhmB,IAAQ2hB,EAAUE,KAAO7hB,IAAQ2hB,EAAUG,MAClE,OAAO,EAIR,IADA,IAAIr+B,EAAImmC,EAAkB7nC,OACnB0B,KAAK,CACX,IAAI+mB,EAAKof,EAAkBnmC,GAE3B,GAAI+mB,EAAGwb,SAAWA,EACjB,OAAOxb,EAAGqf,YAAc7pB,CAE3B,CACC,OAAO,CACR,CAcA,SAAS+pB,GAAuBN,EAAKO,EAAe7+B,GACnDs+B,EAAIjmC,KAAK,IAAKwmC,EAAe,KAAM7+B,EAAMrH,QAAQ,gBAAiBwiC,GAAc,IACjF,CAEA,SAAS7e,GAAkBkB,EAAK8gB,EAAInI,EAAOkI,EAAWI,GAKrD,GAJKA,IACJA,EAAoB,IAGlBJ,EAAW,CAEb,KADA7gB,EAAO6gB,EAAW7gB,IAOjB,OALA,GAAkB,iBAARA,EAET,YADA8gB,EAAIjmC,KAAKmlB,EAOb,CAEC,OAAOA,EAAKzI,UACZ,KAAK8iB,EACJ,IAAIiH,EAAQthB,EAAKxgB,WACb+hC,EAAMD,EAAMloC,OACZ6kC,EAAQje,EAAK1I,WACb/Y,EAAWyhB,EAAKE,QAIhBshB,EAAmBjjC,EACvB,KAHAo6B,EAASK,EAAUL,OAAO3Y,EAAKmd,eAAiBxE,KAGhC3Y,EAAKqd,QAAUrd,EAAKmd,aAAc,CAGjD,IAFA,IAAIsE,EAEKC,EAAK,EAAGA,EAAKJ,EAAMloC,OAAQsoC,IACnC,GAA4B,UAAxBJ,EAAMxX,KAAK4X,GAAIz8B,KAAkB,CACpCw8B,EAAYH,EAAMxX,KAAK4X,GAAIl/B,MAC3B,KACL,CAEG,IAAKi/B,EAEJ,IAAK,IAAIE,EAAMV,EAAkB7nC,OAAS,EAAGuoC,GAAO,EAAGA,IAAO,CAE7D,GAAyB,MADrBT,EAAYD,EAAkBU,IACpBtE,QAAiB6D,EAAUA,YAAclhB,EAAKmd,aAAc,CACzEsE,EAAYP,EAAUA,UACtB,KACN,CACA,CAEG,GAAIO,IAAczhB,EAAKmd,aACtB,IAASwE,EAAMV,EAAkB7nC,OAAS,EAAGuoC,GAAO,EAAGA,IAAO,CAC7D,IAAIT,EACJ,IADIA,EAAYD,EAAkBU,IACpBT,YAAclhB,EAAKmd,aAAc,CAC1C+D,EAAU7D,SACbmE,EAAmBN,EAAU7D,OAAS,IAAM9+B,GAE7C,KACN,CACA,CAEA,CAEEuiC,EAAIjmC,KAAK,IAAK2mC,GAEd,IAAI,IAAI1mC,EAAE,EAAEA,EAAEymC,EAAIzmC,IAAI,CAGF,UADfqlB,EAAOmhB,EAAMxX,KAAKhvB,IACbuiC,OACR4D,EAAkBpmC,KAAK,CAAEwiC,OAAQld,EAAKhJ,UAAW+pB,UAAW/gB,EAAK3d,QACxC,SAAjB2d,EAAK5hB,UACb0iC,EAAkBpmC,KAAK,CAAEwiC,OAAQ,GAAI6D,UAAW/gB,EAAK3d,OAEzD,CAEE,IAAQ1H,EAAE,EAAEA,EAAEymC,EAAIzmC,IAAI,CACrB,IAAIqlB,EAECkd,EACAhmB,EAFL,GAAI8pB,GADAhhB,EAAOmhB,EAAMxX,KAAKhvB,GACO69B,EAAQsI,GAGpCG,GAAuBN,GAFnBzD,EAASld,EAAKkd,QAAQ,IAEW,SAAWA,EAAS,QADrDhmB,EAAM8I,EAAKgd,cAEf8D,EAAkBpmC,KAAK,CAAEwiC,OAAQA,EAAQ6D,UAAU7pB,IAEpDyH,GAAkBqB,EAAK2gB,EAAInI,EAAOkI,EAAWI,EAChD,CAGE,GAAI1iC,IAAaijC,GAAoBL,GAAoBnhB,EAAM2Y,EAAQsI,GAGtEG,GAAuBN,GAFnBzD,EAASrd,EAAKqd,QAAQ,IAEW,SAAWA,EAAS,QADrDhmB,EAAM2I,EAAKmd,cAEf8D,EAAkBpmC,KAAK,CAAEwiC,OAAQA,EAAQ6D,UAAU7pB,IAGpD,GAAG4mB,GAAStF,IAAW,mCAAmCz+B,KAAKqE,GAAU,CAGxE,GAFAuiC,EAAIjmC,KAAK,KAEN89B,GAAU,YAAYz+B,KAAKqE,GAC7B,KAAM0/B,GACFA,EAAM9vB,KACR2yB,EAAIjmC,KAAKojC,EAAM9vB,MAEf2Q,GAAkBmf,EAAO6C,EAAKnI,EAAQkI,EAAYI,EAAkBpiC,SAErEo/B,EAAQA,EAAMzmB,iBAIf,KAAMymB,GACLnf,GAAkBmf,EAAO6C,EAAKnI,EAAQkI,EAAYI,EAAkBpiC,SACpEo/B,EAAQA,EAAMzmB,YAGhBspB,EAAIjmC,KAAK,KAAK2mC,EAAiB,IAClC,MACGV,EAAIjmC,KAAK,MAIV,OACD,KAAKggC,EACL,KAAKE,EAEJ,IADIkD,EAAQje,EAAK1I,WACX2mB,GACLnf,GAAkBmf,EAAO6C,EAAKnI,EAAQkI,EAAYI,EAAkBpiC,SACpEo/B,EAAQA,EAAMzmB,YAEf,OACD,KAAK8iB,EACJ,OAAO8G,GAAuBN,EAAK9gB,EAAK/a,KAAM+a,EAAKxd,OACpD,KAAK+3B,EAiBJ,OAAOuG,EAAIjmC,KAAKmlB,EAAK7R,KACnBhT,QAAQ,SAASwiC,IAEpB,KAAKnD,EACJ,OAAOsG,EAAIjmC,KAAM,YAAYmlB,EAAK7R,KAAK,OACxC,KAAKysB,EACJ,OAAOkG,EAAIjmC,KAAM,UAAOmlB,EAAK7R,KAAK,UACnC,KAAK2sB,EACJ,IAAI8G,EAAQ5hB,EAAK6hB,SACbC,EAAQ9hB,EAAK+hB,SAEjB,GADAjB,EAAIjmC,KAAK,aAAamlB,EAAK/a,MACxB28B,EACFd,EAAIjmC,KAAK,WAAY+mC,GACjBE,GAAgB,KAAPA,GACZhB,EAAIjmC,KAAK,IAAKinC,GAEfhB,EAAIjmC,KAAK,UACJ,GAAGinC,GAAgB,KAAPA,EACjBhB,EAAIjmC,KAAK,WAAYinC,EAAO,SACxB,CACJ,IAAIE,EAAMhiB,EAAKiiB,eACZD,GACFlB,EAAIjmC,KAAK,KAAKmnC,EAAI,KAEnBlB,EAAIjmC,KAAK,IACZ,CACE,OACD,KAAK8/B,EACJ,OAAOmG,EAAIjmC,KAAM,KAAKmlB,EAAKmR,OAAO,IAAInR,EAAK7R,KAAK,MACjD,KAAKssB,EACJ,OAAOqG,EAAIjmC,KAAM,IAAImlB,EAAKzhB,SAAS,KAGpC,QACCuiC,EAAIjmC,KAAK,KAAKmlB,EAAKzhB,UAErB,CACA,SAAS2jC,GAAW/Z,EAAInI,EAAKmiB,GAC5B,IAAIC,EACJ,OAAQpiB,EAAKzI,UACb,KAAK8iB,GACJ+H,EAAQpiB,EAAKW,WAAU,IACjB6b,cAAgBrU,EAMvB,KAAK4S,EACJ,MACD,KAAKT,EACJ6H,GAAO,EAsBR,GALIC,IACHA,EAAQpiB,EAAKW,WAAU,IAExByhB,EAAM5F,cAAgBrU,EACtBia,EAAMp7B,WAAa,KAChBm7B,EAEF,IADA,IAAIlE,EAAQje,EAAK1I,WACX2mB,GACLmE,EAAM1Y,YAAYwY,GAAW/Z,EAAI8V,EAAMkE,IACvClE,EAAQA,EAAMzmB,YAGhB,OAAO4qB,CACR,CAIA,SAASzhB,GAAUwH,EAAInI,EAAKmiB,GAC3B,IAAIC,EAAQ,IAAIpiB,EAAKvW,YACrB,IAAK,IAAI3P,KAAKkmB,EACb,GAAInkB,OAAOib,UAAUrb,eAAe49B,KAAKrZ,EAAMlmB,GAAI,CAClD,IAAI4I,EAAIsd,EAAKlmB,GACG,iBAAL4I,GACNA,GAAK0/B,EAAMtoC,KACdsoC,EAAMtoC,GAAK4I,EAGhB,CAMC,OAJGsd,EAAK3hB,aACP+jC,EAAM/jC,WAAa,IAAI29B,GAExBoG,EAAM5F,cAAgBrU,EACdia,EAAM7qB,UACd,KAAK8iB,EACJ,IAAIiH,EAAQthB,EAAKxgB,WACb6iC,EAASD,EAAM5iC,WAAa,IAAIo9B,EAChC2E,EAAMD,EAAMloC,OAChBipC,EAAOC,cAAgBF,EACvB,IAAI,IAAItnC,EAAE,EAAEA,EAAEymC,EAAIzmC,IACjBsnC,EAAMG,iBAAiB5hB,GAAUwH,EAAImZ,EAAMxX,KAAKhvB,IAAG,IAEpD,MACD,KAAKw/B,EACJ6H,GAAO,EAER,GAAGA,EAEF,IADA,IAAIlE,EAAQje,EAAK1I,WACX2mB,GACLmE,EAAM1Y,YAAY/I,GAAUwH,EAAI8V,EAAMkE,IACtClE,EAAQA,EAAMzmB,YAGhB,OAAO4qB,CACR,CAEA,SAAS1F,GAAQnE,EAAO1hB,EAAIrU,GAC3B+1B,EAAO1hB,GAAOrU,CACf,CAvpDgCy4B,EAAcuH,mBAA8BtH,EAAiB,IAAI,gBAAiB,IAClFD,EAAcwH,YAA8BvH,EAAiB,IAAI,eAAgB,IACjFD,EAAcyH,0BAA8BxH,EAAiB,IAAI,uBAAwB,IACzFD,EAAc0H,eAA6BzH,EAAiB,IAAI,oBAAqB,IACrFD,EAAc2H,oBAA6B1H,EAAiB,IAAI,iBAAkB,IAqBlHW,EAAa/kB,UAAYzK,MAAMyK,UAC/BgjB,EAAKmB,EAAcY,GASnBG,EAASllB,UAAY,CAKpB1d,OAAO,EASP0wB,KAAM,SAAS0G,GACd,OAAOA,GAAS,GAAKA,EAAQ9mB,KAAKtQ,OAASsQ,KAAK8mB,GAAS,IAC3D,EACCv0B,SAAS,SAAS08B,EAAOkI,GACxB,IAAI,IAAIC,EAAM,GAAIhmC,EAAI,EAAEA,EAAE4O,KAAKtQ,OAAO0B,IACrCgkB,GAAkBpV,KAAK5O,GAAGgmC,EAAInI,EAAOkI,GAEtC,OAAOC,EAAIz5B,KAAK,GAClB,EAMCrM,OAAQ,SAAUs+B,GACjB,OAAOh+B,MAAMwb,UAAU9b,OAAOq+B,KAAK3vB,KAAM4vB,EAC3C,EAMCr+B,QAAS,SAAU6uB,GAClB,OAAOxuB,MAAMwb,UAAU7b,QAAQo+B,KAAK3vB,KAAMogB,EAC5C,GAwBAmS,EAAanlB,UAAUgT,KAAO,SAAShvB,GAEtC,OADAuhC,EAAgB3yB,MACTA,KAAK5O,IAAM,IACnB,EAEAk/B,EAASiC,EAAaD,GA0DtBY,EAAa9lB,UAAY,CACxB1d,OAAO,EACP0wB,KAAKkS,EAASllB,UAAUgT,KACxB+Y,aAAc,SAAShsB,GAMtB,IADA,IAAI/b,EAAI4O,KAAKtQ,OACP0B,KAAI,CACT,IAAIqlB,EAAOzW,KAAK5O,GAEhB,GAAGqlB,EAAK5hB,UAAYsY,EACnB,OAAOsJ,CAEX,CACA,EACC2iB,aAAc,SAAS3iB,GACtB,IAAInC,EAAKmC,EAAK8c,aACd,GAAGjf,GAAMA,GAAItU,KAAK44B,cACjB,MAAM,IAAIzG,EAAaD,GAExB,IAAIoB,EAAUtzB,KAAKm5B,aAAa1iB,EAAK5hB,UAErC,OADAu+B,EAAcpzB,KAAK44B,cAAc54B,KAAKyW,EAAK6c,GACpCA,CACT,EAEC+F,eAAgB,SAAS5iB,GACxB,IAA4B6c,EAAxBhf,EAAKmC,EAAK8c,aACd,GAAGjf,GAAMA,GAAItU,KAAK44B,cACjB,MAAM,IAAIzG,EAAaD,GAIxB,OAFAoB,EAAUtzB,KAAKs5B,eAAe7iB,EAAKgd,aAAahd,EAAKhJ,WACrD2lB,EAAcpzB,KAAK44B,cAAc54B,KAAKyW,EAAK6c,GACpCA,CACT,EAGCiG,gBAAiB,SAASpsB,GACzB,IAAIsJ,EAAOzW,KAAKm5B,aAAahsB,GAE7B,OADA0mB,EAAiB7zB,KAAK44B,cAAc54B,KAAKyW,GAClCA,CAGT,EAGC+iB,kBAAkB,SAAS/F,EAAahmB,GACvC,IAAIgJ,EAAOzW,KAAKs5B,eAAe7F,EAAahmB,GAE5C,OADAomB,EAAiB7zB,KAAK44B,cAAc54B,KAAKyW,GAClCA,CACT,EACC6iB,eAAgB,SAAS7F,EAAchmB,GAEtC,IADA,IAAIrc,EAAI4O,KAAKtQ,OACP0B,KAAI,CACT,IAAIklB,EAAOtW,KAAK5O,GAChB,GAAGklB,EAAK7I,WAAaA,GAAa6I,EAAKmd,cAAgBA,EACtD,OAAOnd,CAEX,CACE,OAAO,IACT,GAqBAyd,EAAkB3mB,UAAY,CAgB7BqsB,WAAY,SAASC,EAASx6B,GAC5B,OAAO,CACV,EAuBCy6B,eAAgB,SAASlG,EAAekE,EAAeiC,GACtD,IAAInb,EAAM,IAAI2V,EAOd,GANA3V,EAAIob,eAAiB75B,KACrBye,EAAI9pB,WAAa,IAAI29B,EACrB7T,EAAImb,QAAUA,GAAW,KACrBA,GACHnb,EAAIuB,YAAY4Z,GAEbjC,EAAc,CACjB,IAAI7e,EAAO2F,EAAIqb,gBAAgBrG,EAAckE,GAC7ClZ,EAAIuB,YAAYlH,EACnB,CACE,OAAO2F,CACT,EAsBCsb,mBAAoB,SAASpC,EAAeQ,EAAUE,GACrD,IAAI/hB,EAAO,IAAIqgB,GAMf,OALArgB,EAAK/a,KAAOo8B,EACZrhB,EAAKzhB,SAAW8iC,EAChBrhB,EAAK6hB,SAAWA,GAAY,GAC5B7hB,EAAK+hB,SAAWA,GAAY,GAErB/hB,CACT,GAWA0d,EAAK5mB,UAAY,CAChBQ,WAAa,KACbgnB,UAAY,KACZF,gBAAkB,KAClB5mB,YAAc,KACdhY,WAAa,KACbwH,WAAa,KACb3I,WAAa,KACbm+B,cAAgB,KAChB/8B,UAAY,KACZ09B,aAAe,KACfE,OAAS,KACTlmB,UAAY,KAEZusB,aAAa,SAAS1F,EAAU2F,GAC/B,OAAOnE,EAAc91B,KAAKs0B,EAAS2F,EACrC,EACCC,aAAa,SAAS5F,EAAU6F,GAC/BrE,EAAc91B,KAAMs0B,EAAS6F,EAAUvE,GACpCuE,GACFn6B,KAAK6tB,YAAYsM,EAEpB,EACCtM,YAAY,SAASsM,GACpB,OAAO3F,EAAax0B,KAAKm6B,EAC3B,EACCna,YAAY,SAASsU,GACpB,OAAOt0B,KAAKg6B,aAAa1F,EAAS,KACpC,EACC8F,cAAc,WACb,OAA0B,MAAnBp6B,KAAK4N,UACd,EACCqJ,UAAU,SAASwhB,GAClB,OAAOxhB,GAAUjX,KAAK8yB,eAAe9yB,KAAKA,KAAKy4B,EACjD,EAECnX,UAAU,WAET,IADA,IAAIiT,EAAQv0B,KAAK4N,WACX2mB,GAAM,CACX,IAAII,EAAOJ,EAAMzmB,YACd6mB,GAAQA,EAAK9mB,UAAYgjB,GAAa0D,EAAM1mB,UAAYgjB,GAC1D7wB,KAAK6tB,YAAY8G,GACjBJ,EAAM8F,WAAW1F,EAAKlwB,QAEtB8vB,EAAMjT,YACNiT,EAAQI,EAEZ,CACA,EAEC2F,YAAY,SAASZ,EAASx6B,GAC7B,OAAOc,KAAK8yB,cAAc+G,eAAeJ,WAAWC,EAAQx6B,EAC9D,EAEIq7B,cAAc,WACb,OAAOv6B,KAAKlK,WAAWpG,OAAO,CACnC,EAeI4nC,aAAa,SAAS7D,GAErB,IADA,IAAInf,EAAKtU,KACHsU,GAAG,CACR,IAAIxiB,EAAMwiB,EAAGof,OAEb,GAAG5hC,EACF,IAAI,IAAI1B,KAAK0B,EACd,GAAIK,OAAOib,UAAUrb,eAAe49B,KAAK79B,EAAK1B,IAAM0B,EAAI1B,KAAOqjC,EAC9D,OAAOrjC,EAIRkkB,EAAKA,EAAGzG,UAAY+iB,EAAetc,EAAGwe,cAAgBxe,EAAGhX,UAC/D,CACK,OAAO,IACZ,EAEIk9B,mBAAmB,SAAS7G,GAE3B,IADA,IAAIrf,EAAKtU,KACHsU,GAAG,CACR,IAAIxiB,EAAMwiB,EAAGof,OAEb,GAAG5hC,GACCK,OAAOib,UAAUrb,eAAe49B,KAAK79B,EAAK6hC,GAC5C,OAAO7hC,EAAI6hC,GAGbrf,EAAKA,EAAGzG,UAAY+iB,EAAetc,EAAGwe,cAAgBxe,EAAGhX,UAC/D,CACK,OAAO,IACZ,EAEIm9B,mBAAmB,SAAShH,GAE3B,OAAiB,MADJzzB,KAAKs3B,aAAa7D,EAEpC,GAaArD,EAAKM,EAASsD,GACd5D,EAAKM,EAASsD,EAAK5mB,WAgenBgnB,EAAShnB,UAAY,CAEpBvY,SAAY,YACZgZ,SAAYsjB,EAOZyI,QAAW,KACXr2B,gBAAmB,KACnBsvB,KAAO,EAEPmH,aAAgB,SAAS1F,EAAU2F,GAClC,GAAG3F,EAASzmB,UAAYwjB,EAAuB,CAE9C,IADA,IAAIkD,EAAQD,EAAS1mB,WACf2mB,GAAM,CACX,IAAII,EAAOJ,EAAMzmB,YACjB9N,KAAKg6B,aAAazF,EAAM0F,GACxB1F,EAAQI,CACZ,CACG,OAAOL,CACV,CAOE,OANAwB,EAAc91B,KAAMs0B,EAAU2F,GAC9B9D,EAAqB7B,EAAUt0B,MACF,OAAzBA,KAAKuD,iBAA4B+wB,EAASzmB,WAAa8iB,IAC1D3wB,KAAKuD,gBAAkB+wB,GAGjBA,CACT,EACCzG,YAAe,SAASsM,GAIvB,OAHGn6B,KAAKuD,iBAAmB42B,IAC1Bn6B,KAAKuD,gBAAkB,MAEjBixB,EAAax0B,KAAKm6B,EAC3B,EACCD,aAAc,SAAU5F,EAAU6F,GAEjCrE,EAAc91B,KAAMs0B,EAAU6F,EAAUvE,GACxCO,EAAqB7B,EAAUt0B,MAC3Bm6B,GACHn6B,KAAK6tB,YAAYsM,GAEdrF,EAAcR,KACjBt0B,KAAKuD,gBAAkB+wB,EAE1B,EAECkE,WAAa,SAASkC,EAAajC,GAClC,OAAOD,GAAWx4B,KAAK06B,EAAajC,EACtC,EAECkC,eAAiB,SAAShrC,GACzB,IAAIirC,EAAM,KASV,OARA1G,EAAWl0B,KAAKuD,gBAAgB,SAAS+S,GACxC,GAAGA,EAAKzI,UAAY8iB,GAChBra,EAAK3gB,aAAa,OAAShG,EAE7B,OADAirC,EAAMtkB,GACC,CAGZ,GACSskB,CACT,EAmBCC,uBAAwB,SAASC,GAChC,IAAIC,EAAgB7K,EAAa4K,GACjC,OAAO,IAAIvI,EAAavyB,KAAM,SAASg7B,GACtC,IAAIjI,EAAK,GAoBT,OAnBIgI,EAAcrrC,OAAS,GAC1BwkC,EAAW8G,EAAKz3B,gBAAiB,SAAS+S,GACzC,GAAGA,IAAS0kB,GAAQ1kB,EAAKzI,WAAa8iB,EAAc,CACnD,IAAIsK,EAAiB3kB,EAAK3gB,aAAa,SAEvC,GAAIslC,EAAgB,CAEnB,IAAIC,EAAUJ,IAAeG,EAC7B,IAAKC,EAAS,CACb,IAAIC,EAAoBjL,EAAa+K,GACrCC,EAAUH,EAAc3mB,OA3kCRpF,EA2kC4BmsB,EA1kC5C,SAASlL,GACf,OAAOjhB,IAAkC,IAA1BA,EAAKzd,QAAQ0+B,EAC9B,GAykCA,CACUiL,GACFnI,EAAG5hC,KAAKmlB,EAEhB,CACA,CAjlCA,IAAwBtH,CAklCxB,GAEU+jB,CACV,EACA,EAGCniB,cAAgB,SAAS4F,GACxB,IAAIF,EAAO,IAAI+f,EAQf,OAPA/f,EAAKwc,cAAgB9yB,KACrBsW,EAAKzhB,SAAW2hB,EAChBF,EAAKE,QAAUA,EACfF,EAAK7I,UAAY+I,EACjBF,EAAK3hB,WAAa,IAAI29B,GACVhc,EAAKxgB,WAAa,IAAIo9B,GAC5B0F,cAAgBtiB,EACfA,CACT,EACC8kB,uBAAyB,WACxB,IAAI9kB,EAAO,IAAIygB,GAGf,OAFAzgB,EAAKwc,cAAgB9yB,KACrBsW,EAAK3hB,WAAa,IAAI29B,EACfhc,CACT,EACC+kB,eAAiB,SAAS52B,GACzB,IAAI6R,EAAO,IAAIkgB,GAGf,OAFAlgB,EAAKwc,cAAgB9yB,KACrBsW,EAAK+jB,WAAW51B,GACT6R,CACT,EACCglB,cAAgB,SAAS72B,GACxB,IAAI6R,EAAO,IAAImgB,GAGf,OAFAngB,EAAKwc,cAAgB9yB,KACrBsW,EAAK+jB,WAAW51B,GACT6R,CACT,EACCilB,mBAAqB,SAAS92B,GAC7B,IAAI6R,EAAO,IAAIogB,GAGf,OAFApgB,EAAKwc,cAAgB9yB,KACrBsW,EAAK+jB,WAAW51B,GACT6R,CACT,EACCklB,4BAA8B,SAAS/T,EAAOhjB,GAC7C,IAAI6R,EAAO,IAAI0gB,GAIf,OAHA1gB,EAAKwc,cAAgB9yB,KACrBsW,EAAKE,QAAUF,EAAKzhB,SAAWyhB,EAAKmR,OAASA,EAC7CnR,EAAKvgB,UAAYugB,EAAK7R,KAAOA,EACtB6R,CACT,EACCmlB,gBAAkB,SAASlgC,GAC1B,IAAI+a,EAAO,IAAIggB,EAMf,OALAhgB,EAAKwc,cAAgB9yB,KACrBsW,EAAK/a,KAAOA,EACZ+a,EAAKzhB,SAAW0G,EAChB+a,EAAK7I,UAAYlS,EACjB+a,EAAKolB,WAAY,EACVplB,CACT,EACCqlB,sBAAwB,SAASpgC,GAChC,IAAI+a,EAAO,IAAIwgB,GAGf,OAFAxgB,EAAKwc,cAAgB9yB,KACrBsW,EAAKzhB,SAAW0G,EACT+a,CACT,EAECwjB,gBAAkB,SAASrG,EAAakE,GACvC,IAAIrhB,EAAO,IAAI+f,EACXuF,EAAKjE,EAAczhC,MAAM,KACzB0hC,EAAQthB,EAAKxgB,WAAa,IAAIo9B,EAclC,OAbA5c,EAAK3hB,WAAa,IAAI29B,EACtBhc,EAAKwc,cAAgB9yB,KACrBsW,EAAKzhB,SAAW8iC,EAChBrhB,EAAKE,QAAUmhB,EACfrhB,EAAKmd,aAAeA,EACJ,GAAbmI,EAAGlsC,QACL4mB,EAAKqd,OAASiI,EAAG,GACjBtlB,EAAK7I,UAAYmuB,EAAG,IAGpBtlB,EAAK7I,UAAYkqB,EAElBC,EAAMgB,cAAgBtiB,EACfA,CACT,EAECulB,kBAAoB,SAASpI,EAAakE,GACzC,IAAIrhB,EAAO,IAAIggB,EACXsF,EAAKjE,EAAczhC,MAAM,KAa7B,OAZAogB,EAAKwc,cAAgB9yB,KACrBsW,EAAKzhB,SAAW8iC,EAChBrhB,EAAK/a,KAAOo8B,EACZrhB,EAAKmd,aAAeA,EACpBnd,EAAKolB,WAAY,EACD,GAAbE,EAAGlsC,QACL4mB,EAAKqd,OAASiI,EAAG,GACjBtlB,EAAK7I,UAAYmuB,EAAG,IAGpBtlB,EAAK7I,UAAYkqB,EAEXrhB,CACT,GAEAga,EAAS8D,EAASJ,GAMlBqC,EAAQjpB,UAAY,CACnBS,SAAW8iB,EACXmL,aAAe,SAASvgC,GACvB,OAAoC,MAA7ByE,KAAK+7B,iBAAiBxgC,EAC/B,EACC5F,aAAe,SAAS4F,GACvB,IAAIkb,EAAOzW,KAAK+7B,iBAAiBxgC,GACjC,OAAOkb,GAAQA,EAAK3d,OAAS,EAC/B,EACCijC,iBAAmB,SAASxgC,GAC3B,OAAOyE,KAAKlK,WAAWqjC,aAAa59B,EACtC,EACC3F,aAAe,SAAS2F,EAAMzC,GAC7B,IAAI2d,EAAOzW,KAAK8yB,cAAc2I,gBAAgBlgC,GAC9Ckb,EAAK3d,MAAQ2d,EAAK1gB,UAAY,GAAK+C,EACnCkH,KAAK64B,iBAAiBpiB,EACxB,EACCC,gBAAkB,SAASnb,GAC1B,IAAIkb,EAAOzW,KAAK+7B,iBAAiBxgC,GACjCkb,GAAQzW,KAAKg8B,oBAAoBvlB,EACnC,EAGCuJ,YAAY,SAASsU,GACpB,OAAGA,EAASzmB,WAAawjB,EACjBrxB,KAAKg6B,aAAa1F,EAAS,MArQrC,SAA6Bh3B,EAAYg3B,GAmBxC,OAlBIA,EAASh3B,YACZg3B,EAASh3B,WAAWuwB,YAAYyG,GAEjCA,EAASh3B,WAAaA,EACtBg3B,EAASI,gBAAkBp3B,EAAWs3B,UACtCN,EAASxmB,YAAc,KACnBwmB,EAASI,gBACZJ,EAASI,gBAAgB5mB,YAAcwmB,EAEvCh3B,EAAWsQ,WAAa0mB,EAEzBh3B,EAAWs3B,UAAYN,EACvBD,EAAe/2B,EAAWw1B,cAAex1B,EAAYg3B,GAIrD6B,EAAqB7B,EADLh3B,EAAWw1B,eAAiBx1B,GAGrCg3B,CACR,CAmPU2H,CAAmBj8B,KAAKs0B,EAElC,EACCuE,iBAAmB,SAASxF,GAC3B,OAAOrzB,KAAKlK,WAAWsjC,aAAa/F,EACtC,EACC6I,mBAAqB,SAAS7I,GAC7B,OAAOrzB,KAAKlK,WAAWujC,eAAehG,EACxC,EACC2I,oBAAsB,SAAS1I,GAE9B,OAAOtzB,KAAKlK,WAAWyjC,gBAAgBjG,EAAQz+B,SACjD,EAECsnC,kBAAoB,SAAS1I,EAAchmB,GAC1C,IAAI2uB,EAAMp8B,KAAKq8B,mBAAmB5I,EAAchmB,GAChD2uB,GAAOp8B,KAAKg8B,oBAAoBI,EAClC,EAECE,eAAiB,SAAS7I,EAAchmB,GACvC,OAAyD,MAAlDzN,KAAKq8B,mBAAmB5I,EAAchmB,EAC/C,EACC8uB,eAAiB,SAAS9I,EAAchmB,GACvC,IAAIgJ,EAAOzW,KAAKq8B,mBAAmB5I,EAAchmB,GACjD,OAAOgJ,GAAQA,EAAK3d,OAAS,EAC/B,EACC0jC,eAAiB,SAAS/I,EAAckE,EAAe7+B,GACtD,IAAI2d,EAAOzW,KAAK8yB,cAAc+I,kBAAkBpI,EAAckE,GAC9DlhB,EAAK3d,MAAQ2d,EAAK1gB,UAAY,GAAK+C,EACnCkH,KAAK64B,iBAAiBpiB,EACxB,EACC4lB,mBAAqB,SAAS5I,EAAchmB,GAC3C,OAAOzN,KAAKlK,WAAWwjC,eAAe7F,EAAchmB,EACtD,EAEC4K,qBAAuB,SAAS7B,GAC/B,OAAO,IAAI+b,EAAavyB,KAAK,SAASg7B,GACrC,IAAIjI,EAAK,GAMT,OALAmB,EAAW8G,EAAK,SAAS1kB,GACrBA,IAAS0kB,GAAQ1kB,EAAKzI,UAAY8iB,GAA6B,MAAZna,GAAmBF,EAAKE,SAAWA,GACxFuc,EAAG5hC,KAAKmlB,EAEb,GACUyc,CACV,EACA,EACC3a,uBAAyB,SAASqb,EAAchmB,GAC/C,OAAO,IAAI8kB,EAAavyB,KAAK,SAASg7B,GACrC,IAAIjI,EAAK,GAMT,OALAmB,EAAW8G,EAAK,SAAS1kB,GACrBA,IAAS0kB,GAAQ1kB,EAAKzI,WAAa8iB,GAAkC,MAAjB8C,GAAwBnd,EAAKmd,eAAiBA,GAAgC,MAAdhmB,GAAqB6I,EAAK7I,WAAaA,GAC7JslB,EAAG5hC,KAAKmlB,EAEb,GACUyc,CAEV,EACA,GAEAqB,EAAShnB,UAAUiL,qBAAuBge,EAAQjpB,UAAUiL,qBAC5D+b,EAAShnB,UAAUgL,uBAAyBie,EAAQjpB,UAAUgL,uBAG9DkY,EAAS+F,EAAQrC,GAGjBsC,EAAKlpB,UAAUS,SAAW+iB,EAC1BN,EAASgG,EAAKtC,GAKduC,GAAcnpB,UAAY,CACzB3I,KAAO,GACPg4B,cAAgB,SAASjiC,EAAQ4yB,GAChC,OAAOptB,KAAKyE,KAAKsJ,UAAUvT,EAAQA,EAAO4yB,EAC5C,EACCiN,WAAY,SAAS7kC,GACpBA,EAAOwK,KAAKyE,KAAKjP,EACjBwK,KAAKjK,UAAYiK,KAAKyE,KAAOjP,EAC7BwK,KAAKtQ,OAAS8F,EAAK9F,MACrB,EACCgtC,WAAY,SAASliC,EAAOhF,GAC3BwK,KAAK28B,YAAYniC,EAAO,EAAEhF,EAE5B,EACCwqB,YAAY,SAASsU,GACpB,MAAM,IAAI3xB,MAAM6uB,EAAiBG,GACnC,EACCiL,WAAY,SAASpiC,EAAQ4yB,GAC5BptB,KAAK28B,YAAYniC,EAAO4yB,EAAM,GAChC,EACCuP,YAAa,SAASniC,EAAQ4yB,EAAO53B,GAGpCA,EAFYwK,KAAKyE,KAAKsJ,UAAU,EAAEvT,GAEnBhF,EADLwK,KAAKyE,KAAKsJ,UAAUvT,EAAO4yB,GAErCptB,KAAKjK,UAAYiK,KAAKyE,KAAOjP,EAC7BwK,KAAKtQ,OAAS8F,EAAK9F,MACrB,GAEA4gC,EAASiG,GAAcvC,GAGvBwC,GAAKppB,UAAY,CAChBvY,SAAW,QACXgZ,SAAWgjB,EACXgM,UAAY,SAASriC,GACpB,IAAIhF,EAAOwK,KAAKyE,KACZq4B,EAAUtnC,EAAKuY,UAAUvT,GAC7BhF,EAAOA,EAAKuY,UAAU,EAAGvT,GACzBwF,KAAKyE,KAAOzE,KAAKjK,UAAYP,EAC7BwK,KAAKtQ,OAAS8F,EAAK9F,OACnB,IAAIqtC,EAAU/8B,KAAK8yB,cAAcuI,eAAeyB,GAIhD,OAHG98B,KAAK1C,YACP0C,KAAK1C,WAAW08B,aAAa+C,EAAS/8B,KAAK8N,aAErCivB,CACT,GAEAzM,EAASkG,GAAKD,IAGdE,GAAQrpB,UAAY,CACnBvY,SAAW,WACXgZ,SAAWqjB,GAEZZ,EAASmG,GAAQF,IAIjBG,GAAatpB,UAAY,CACxBvY,SAAW,iBACXgZ,SAAWijB,GAEZR,EAASoG,GAAaH,IAKtBI,GAAavpB,UAAUS,SAAWujB,EAClCd,EAASqG,GAAa3C,GAItB4C,GAASxpB,UAAUS,SAAWyjB,EAC9BhB,EAASsG,GAAS5C,GAIlB6C,GAAOzpB,UAAUS,SAAWmjB,EAC5BV,EAASuG,GAAO7C,GAIhB8C,GAAgB1pB,UAAUS,SAAWkjB,EACrCT,EAASwG,GAAgB9C,GAIzB+C,GAAiB3pB,UAAUvY,SAAW,qBACtCkiC,GAAiB3pB,UAAUS,SAAWwjB,EACtCf,EAASyG,GAAiB/C,GAK1BgD,GAAsB5pB,UAAUS,SAAWojB,EAC3CX,EAAS0G,GAAsBhD,GAE/B7e,GAAc/H,UAAUgI,kBAAoB,SAASkB,EAAK4gB,EAAOC,GAChE,OAAOF,GAAsBtH,KAAKrZ,EAAK4gB,EAAOC,EAC/C,EACAnD,EAAK5mB,UAAU7a,SAAW0kC,GAmV1B,IACC,GAAG9kC,OAAO+a,eAAe,CAiCxB,SAAS8vB,GAAe1mB,GACvB,OAAOA,EAAKzI,UACZ,KAAK8iB,EACL,KAAKU,EACJ,IAAI+F,EAAM,GAEV,IADA9gB,EAAOA,EAAK1I,WACN0I,GACc,IAAhBA,EAAKzI,UAAiC,IAAjByI,EAAKzI,UAC5BupB,EAAIjmC,KAAK6rC,GAAe1mB,IAEzBA,EAAOA,EAAKxI,YAEb,OAAOspB,EAAIz5B,KAAK,IACjB,QACC,OAAO2Y,EAAKvgB,UAEhB,CAhDE5D,OAAO+a,eAAeqlB,EAAanlB,UAAU,SAAS,CACrD9H,IAAI,WAEH,OADAqtB,EAAgB3yB,MACTA,KAAKizB,QAChB,IAGE9gC,OAAO+a,eAAe8mB,EAAK5mB,UAAU,cAAc,CAClD9H,IAAI,WACH,OAAO03B,GAAeh9B,KAC1B,EAEGi9B,IAAI,SAASx4B,GACZ,OAAOzE,KAAK6N,UACZ,KAAK8iB,EACL,KAAKU,EACJ,KAAMrxB,KAAK4N,YACV5N,KAAK6tB,YAAY7tB,KAAK4N,aAEpBnJ,GAAQ4Q,OAAO5Q,KACjBzE,KAAKggB,YAAYhgB,KAAK8yB,cAAcuI,eAAe52B,IAEpD,MAED,QACCzE,KAAKyE,KAAOA,EACZzE,KAAKlH,MAAQ2L,EACbzE,KAAKjK,UAAY0O,EAEtB,IAqBEuuB,GAAU,SAASnE,EAAO1hB,EAAIrU,GAE7B+1B,EAAO,KAAK1hB,GAAOrU,CACtB,CACA,CACA,CAAC,MAAMtJ,IACP,QAGC0tC,GAAAvG,aAAuBA,GACvBuG,GAAA/K,aAAuBA,EACvB+K,GAAAnJ,kBAA4BA,EAC5BmJ,GAAA7G,QAAkBA,EAClB6G,GAAAlJ,KAAeA,EACfkJ,GAAA5K,SAAmBA,EACnB4K,GAAA/nB,cAAwBA,6DCn1DrByZ,EAASkB,KAAyBlB,OAStCuO,EAAAC,aAAuBxO,EAAO,CAC7ByO,IAAK,IACLC,KAAM,IACNC,GAAI,IACJC,GAAI,IACJC,KAAM,MAiBPN,EAAAO,cAAwB9O,EAAO,CAC9B+O,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRjO,GAAI,IACJkO,IAAK,IACLC,IAAK,KACLC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,IAAK,IACLC,IAAK,IACLC,MAAO,IACPC,MAAO,IACPC,GAAI,IACJC,IAAK,KACLC,IAAK,KACLC,OAAQ,IACRC,OAAQ,IACRC,QAAS,IACTC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,IAAK,IACL/B,IAAK,IACLgC,IAAK,IACLC,IAAK,IACLC,OAAQ,IACRC,KAAM,IACNC,SAAU,IACVC,KAAM,IACNC,IAAK,IACLC,KAAM,IACNC,MAAO,IACPC,OAAQ,IACRC,SAAU,IACVC,SAAU,IACVC,SAAU,IACVC,SAAU,IACVC,SAAU,IACVC,SAAU,IACVC,SAAU,IACVC,SAAU,IACVC,MAAO,IACPC,QAAS,IACTC,SAAU,IACVC,OAAQ,IACRC,MAAO,IACPC,QAAS,IACTC,MAAO,IACPC,MAAO,IACPC,KAAM,KACNC,KAAM,KACNC,GAAI,IACJC,OAAQ,IACRC,IAAK,IACLC,IAAK,IACLC,KAAM,IACN/D,KAAM,IACNgE,cAAe,IACfC,OAAQ,IACRC,SAAU,IACVC,MAAO,IACPC,MAAO,IACPC,KAAM,KACNC,KAAM,KACNC,OAAQ,IACRC,IAAK,IACLC,MAAO,IACPC,QAAS,IACTC,OAAQ,IACRC,OAAQ,IACRC,KAAM,IACNC,KAAM,IACNC,SAAU,IACVC,MAAO,IACPC,SAAU,IACVC,YAAa,IACbC,UAAW,IACXC,QAAS,IACTC,UAAW,IACXC,UAAW,IACXC,KAAM,IACNC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,SAAU,IACVC,KAAM,IACNC,SAAU,IACVC,MAAO,IACPC,IAAK,IACLC,IAAK,IACLC,MAAO,IACPC,OAAQ,IACRC,QAAS,IACTC,QAAS,IACTC,QAAS,IACTC,MAAO,IACPC,OAAQ,IACRC,WAAY,IACZC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,QAAS,IACTC,IAAK,KACLC,IAAK,KACLC,OAAQ,IACRC,QAAS,IACTC,OAAQ,IACRC,QAAS,IACTC,SAAU,IACVC,UAAW,IACXC,SAAU,IACVC,QAAS,IACTC,gBAAiB,IACjBC,cAAe,IACfC,SAAU,IACVC,OAAQ,IACRC,SAAU,IACVC,OAAQ,IACRC,aAAc,IACdC,YAAa,IACbC,cAAe,IACfC,kBAAmB,IACnBC,kBAAmB,IACnBC,mBAAoB,IACpBC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,IAAK,KACLC,QAAS,KACTC,KAAM,IACNC,KAAM,IACNC,KAAM,KACNC,KAAM,KACNC,IAAK,IACL/e,OAAQ,IACRgf,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,KAAM,IACNC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,SAAU,IACVC,QAAS,IACTC,SAAU,IACVC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,KAAM,IACNC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,OAAQ,IACRC,MAAO,IACPC,MAAO,IACPC,OAAQ,IACRC,KAAM,IACNC,KAAM,KACNC,MAAO,IACPC,KAAM,IACNC,MAAO,IACPC,KAAM,KACNC,MAAO,IACPC,SAAU,IACVC,KAAM,IACNC,OAAQ,IACRC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,IAAK,IACLC,IAAK,IACLC,OAAQ,IACRC,SAAU,IACVC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,qBAAsB,IACtBC,KAAM,KACNC,MAAO,IACPC,MAAO,IACPC,QAAS,IACTC,MAAO,IACPC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,MAAO,IACPC,QAAS,IACTC,MAAO,IACPC,QAAS,IACTC,KAAM,IACNC,KAAM,IACNC,MAAO,IACPC,QAAS,IACTC,QAAS,IACTC,KAAM,IACNC,UAAW,IACXC,UAAW,IACXC,IAAK,IACLC,IAAK,KACLC,KAAM,IACNC,KAAM,IACNC,MAAO,IACPC,UAAW,IACXC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,KAAM,IACNC,OAAQ,IACRC,gBAAiB,IACjBC,iBAAkB,IAClBC,WAAY,IACZC,YAAa,IACbC,YAAa,IACbC,UAAW,IACXC,SAAU,IACVC,SAAU,IACVC,YAAa,IACbC,WAAY,IACZC,YAAa,IACbC,KAAM,IACNC,KAAM,IACNC,SAAU,IACVC,OAAQ,IACRC,QAAS,IACTC,yBAA0B,IAC1BC,sBAAuB,IACvBC,gBAAiB,IACjBC,MAAO,IACPC,SAAU,IACVC,MAAO,IACPC,MAAO,IACPC,OAAQ,IACRC,OAAQ,IACRC,QAAS,IACTC,MAAO,IACPC,OAAQ,IACRC,KAAM,IACNC,OAAQ,IACRC,WAAY,IACZC,UAAW,IACXC,KAAM,IACNC,QAAS,IACTC,UAAW,IACXC,OAAQ,IACRC,OAAQ,IACRC,gBAAiB,IACjBC,KAAM,IACNC,KAAM,KACNC,OAAQ,IACRC,UAAW,IACXC,KAAM,IACNtf,KAAM,IACNuf,OAAQ,IACRC,gCAAiC,IACjCC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,KAAM,KACNC,KAAM,KACNC,KAAM,IACNC,MAAO,IACPC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,QAAS,IACTC,QAAS,IACTC,MAAO,IACPC,MAAO,IACPC,OAAQ,IACRC,QAAS,IACTC,IAAK,IACLC,IAAK,IACLC,SAAU,IACVC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,KAAM,KACNC,OAAQ,IACRC,QAAS,IACTC,YAAa,IACbC,YAAa,IACbC,SAAU,IACVC,WAAY,IACZC,OAAQ,IACRC,eAAgB,IAChBC,gBAAiB,IACjBC,MAAO,IACPC,MAAO,IACPC,SAAU,IACVC,MAAO,IACPC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,QAAS,IACTC,MAAO,IACPC,OAAQ,IACRC,OAAQ,IACRC,IAAK,IACLC,IAAK,IACLC,GAAI,IACJC,GAAI,IACJC,QAAS,IACTC,MAAO,IACPC,SAAU,IACVC,QAAS,IACTC,IAAK,IACLC,IAAK,IACLC,MAAO,IACPC,MAAO,IACPC,QAAS,IACTC,OAAQ,IACRC,IAAK,KACLC,IAAK,KACLC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,iBAAkB,IAClBC,eAAgB,IAChBC,uBAAwB,IACxBC,iBAAkB,IAClBC,iBAAkB,IAClBC,KAAM,IACNC,QAAS,IACTC,QAAS,IACTC,YAAa,IACbC,MAAO,IACPC,IAAK,IACLC,cAAe,IACfC,QAAS,IACTC,MAAO,IACP7vB,IAAK,IACL8vB,OAAQ,IACRC,cAAe,IACfC,OAAQ,IACRC,KAAM,IACNC,KAAM,IACNC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,KAAM,KACNC,KAAM,KACNC,IAAK,IACLC,IAAK,IACLC,OAAQ,IACRC,MAAO,IACPC,SAAU,IACVC,SAAU,IACVC,SAAU,IACVC,QAAS,IACTC,UAAW,IACXC,eAAgB,IAChBC,sBAAuB,IACvBC,UAAW,IACXC,gBAAiB,IACjBC,gBAAiB,IACjBC,qBAAsB,IACtBC,cAAe,IACfC,oBAAqB,IACrBC,yBAA0B,IAC1BC,qBAAsB,IACtBC,iBAAkB,IAClBC,eAAgB,IAChBC,cAAe,IACfC,kBAAmB,IACnBC,kBAAmB,IACnBC,UAAW,IACXC,UAAW,IACXC,UAAW,IACXC,aAAc,IACdC,iBAAkB,IAClBC,UAAW,IACXC,eAAgB,IAChBC,gBAAiB,IACjBC,iBAAkB,IAClBC,oBAAqB,IACrBC,kBAAmB,IACnBC,eAAgB,IAChBC,kBAAmB,IACnBC,mBAAoB,IACpBC,gBAAiB,IACjBC,mBAAoB,IACpBC,QAAS,IACTC,aAAc,IACdC,SAAU,IACVC,OAAQ,IACRC,OAAQ,IACRC,KAAM,KACNC,KAAM,KACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,QAAS,IACTC,KAAM,IACNC,KAAM,IACNC,SAAU,IACVC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,OAAQ,IACRC,IAAK,IACLC,IAAK,IACLC,MAAO,IACPC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,GAAI,IACJC,MAAO,IACPC,IAAK,KACLC,IAAK,KACLC,GAAI,IACJC,OAAQ,IACRC,OAAQ,IACRC,IAAK,IACLC,OAAQ,IACR1mC,GAAI,IACJ+hB,QAAS,IACT4kB,SAAU,IACVC,IAAK,IACLn1B,IAAK,IACLo1B,OAAQ,IACRC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,SAAU,IACVC,iBAAkB,IAClBC,OAAQ,IACRC,qBAAsB,IACtBC,KAAM,IACNC,OAAQ,IACRC,OAAQ,IACRC,IAAK,IACLC,IAAK,IACLC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,KAAM,KACNC,KAAM,KACNC,KAAM,IACNC,OAAQ,IACRC,MAAO,IACPC,KAAM,IACNC,QAAS,IACTC,QAAS,IACTC,MAAO,IACPC,OAAQ,IACRC,QAAS,IACTC,MAAO,IACPC,WAAY,IACZC,YAAa,IACbC,MAAO,IACPC,OAAQ,IACRC,WAAY,IACZC,OAAQ,IACRC,YAAa,IACbC,MAAO,IACPC,QAAS,IACTC,SAAU,IACVC,MAAO,IACPC,MAAO,IACPC,KAAM,IACNC,KAAM,IACNC,MAAO,IACPC,KAAM,IACNC,KAAM,IACNC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,MAAO,IACPC,OAAQ,IACRC,YAAa,IACbC,aAAc,IACdC,aAAc,IACdC,cAAe,IACfC,IAAK,IACLC,IAAK,IACLC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,OAAQ,IACRC,IAAK,KACLC,IAAK,KACLC,MAAO,IACPC,kBAAmB,IACnBC,sBAAuB,IACvBC,MAAO,KACPC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,KAAM,IACNC,KAAM,KACNC,KAAM,KACNC,OAAQ,IACRC,OAAQ,IACRC,KAAM,IACNC,MAAO,IACPC,WAAY,IACZC,SAAU,IACVC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,MAAO,IACPC,KAAM,IACNC,KAAM,KACNC,OAAQ,IACRC,MAAO,IACPC,MAAO,IACPC,OAAQ,IACRC,OAAQ,IACR/9B,IAAK,IACLg+B,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,MAAO,IACPC,IAAK,IACLC,IAAK,IACLC,KAAM,IACNC,KAAM,IACNC,GAAI,IACJC,GAAI,IACJC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,KAAM,IACNC,SAAU,IACVC,IAAK,IACLC,MAAO,IACPC,OAAQ,IACRC,QAAS,IACTC,SAAU,IACVC,KAAM,KACNC,OAAQ,IACRC,IAAK,KACLC,IAAK,KACLC,GAAI,IACJC,GAAI,IACJC,IAAK,IACLC,MAAO,IACPC,KAAM,IACNC,KAAM,IACNC,GAAI,IACJC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,KAAM,IACNC,SAAU,IACVC,IAAK,IACLC,IAAK,IACLC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,KAAM,KACNC,KAAM,KACNC,MAAO,IACPC,aAAc,IACdC,iBAAkB,IAClBC,iBAAkB,IAClBC,eAAgB,IAChBC,YAAa,IACbC,kBAAmB,IACnBC,aAAc,IACdC,KAAM,KACNC,KAAM,IACNC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,GAAI,IACJC,GAAI,IACJjoB,GAAI,IACJkoB,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,OAAQ,IACRC,QAAS,IACTC,UAAW,IACXC,OAAQ,IACRC,OAAQ,IACRC,UAAW,IACXC,WAAY,IACZC,QAAS,IACTC,OAAQ,IACRC,UAAW,KACXC,KAAM,KACNC,MAAO,IACPC,OAAQ,IACRC,KAAM,IACNC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,KAAM,IACNC,KAAM,IACNC,QAAS,IACTC,MAAO,IACPC,IAAK,IACLC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,OAAQ,IACRC,UAAW,IACXC,OAAQ,IACRC,OAAQ,IACRC,IAAK,IACLC,IAAK,KACLC,aAAc,IACdC,SAAU,IACVC,SAAU,IACVC,MAAO,IACPC,OAAQ,IACRC,cAAe,IACfC,eAAgB,IAChBC,KAAM,IACNC,KAAM,KACNC,OAAQ,IACRC,eAAgB,IAChBC,KAAM,IACNC,KAAM,KACNC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,aAAc,IACdC,UAAW,IACXC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,GAAI,IACJC,MAAO,IACPC,MAAO,IACPC,IAAK,IACLC,IAAK,IACLC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,MAAO,IACPC,IAAK,IACLC,IAAK,IACLzkC,IAAK,KACL0kC,OAAQ,IACRC,OAAQ,IACRC,GAAI,IACJC,OAAQ,IACRC,MAAO,IACPC,OAAQ,IACRC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,GAAI,IACJC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,WAAY,IACZC,SAAU,IACVC,SAAU,IACVC,MAAO,IACPC,KAAM,IACNC,MAAO,IACPC,QAAS,IACTC,GAAI,IACJC,OAAQ,IACRC,MAAO,IACPC,SAAU,IACVC,OAAQ,IACRC,IAAK,IACLC,IAAK,IACLC,OAAQ,IACRC,SAAU,IACVC,SAAU,IACVC,SAAU,IACVC,aAAc,IACdC,SAAU,IACVC,QAAS,IACTC,eAAgB,IAChBC,eAAgB,IAChBC,KAAM,IACNC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,KAAM,KACNC,KAAM,KACNC,KAAM,IACNC,KAAM,IACNC,MAAO,IACPC,OAAQ,IACRC,KAAM,IACNC,KAAM,KACNC,KAAM,IACNC,QAAS,IACTC,MAAO,IACPC,MAAO,IACPC,OAAQ,IACRC,MAAO,IACPvmC,GAAI,IACJwmC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,MAAO,IACPC,KAAM,IACNC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,MAAO,IACPC,KAAM,KACNC,KAAM,KACNC,KAAM,KACNC,KAAM,KACNC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,OAAQ,IACRC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,KACNC,KAAM,KACNC,KAAM,KACNC,KAAM,KACNC,MAAO,IACPC,OAAQ,IACRC,OAAQ,IACRC,SAAU,IACVC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,KAAM,IACN1wC,KAAM,IACN2wC,MAAO,IACPC,OAAQ,IACRC,IAAK,IACLC,WAAY,IACZC,MAAO,IACPC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,MAAO,IACPC,QAAS,IACTC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,QAAS,IACTC,OAAQ,IACRC,IAAK,IACLC,OAAQ,IACRC,OAAQ,IACRC,KAAM,IACNC,MAAO,KACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,QAAS,IACTC,QAAS,IACTC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,KAAM,IACNC,IAAK,IACLC,IAAK,IACLC,KAAM,IACNC,MAAO,IACPC,OAAQ,IACRC,QAAS,IACTC,SAAU,IACVC,KAAM,IACNC,GAAI,IACJC,GAAI,IACJC,iBAAkB,IAClBC,UAAW,IACXC,UAAW,IACXC,UAAW,IACXC,aAAc,IACdC,oBAAqB,IACrBC,cAAe,IACfC,YAAa,IACbC,kBAAmB,IACnBC,kBAAmB,IACnBC,eAAgB,IAChBC,kBAAmB,IACnBC,UAAW,IACXC,gBAAiB,IACjBC,cAAe,IACfC,eAAgB,IAChBC,eAAgB,IAChBC,eAAgB,IAChBC,eAAgB,IAChBC,gBAAiB,IACjBC,kBAAmB,IACnBC,oBAAqB,IACrBC,gBAAiB,IACjBC,QAAS,IACTC,aAAc,IACdC,cAAe,IACfC,eAAgB,IAChBC,aAAc,IACdC,gBAAiB,IACjBC,kBAAmB,IACnBC,iBAAkB,IAClBC,gBAAiB,IACjBC,aAAc,IACdC,gBAAiB,IACjBC,WAAY,IACZC,cAAe,IACfC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,KAAM,IACNC,SAAU,IACVC,IAAK,IACLC,MAAO,IACPC,OAAQ,IACRC,QAAS,IACTC,SAAU,IACVC,KAAM,KACNC,OAAQ,IACRC,WAAY,IACZC,QAAS,IACTC,UAAW,IACXC,WAAY,IACZC,iBAAkB,IAClBC,cAAe,IACfC,YAAa,IACbC,QAAS,IACTC,SAAU,IACVC,QAAS,IACTC,eAAgB,IAChBC,UAAW,IACXC,OAAQ,IACRC,OAAQ,IACRC,IAAK,KACLC,IAAK,KACLC,GAAI,IACJC,IAAK,IACLC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,OAAQ,IACRC,MAAO,IACPC,KAAM,IACNC,KAAM,IACNC,GAAI,IACJC,GAAI,IACJC,MAAO,IACPC,SAAU,IACVC,WAAY,IACZC,OAAQ,IACRC,MAAO,IACPC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,WAAY,IACZC,KAAM,IACNC,SAAU,IACVC,IAAK,IACLC,IAAK,IACLC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,cAAe,IACfC,cAAe,IACfC,cAAe,IACfC,mBAAoB,IACpBC,mBAAoB,IACpBC,mBAAoB,IACpBC,WAAY,IACZC,eAAgB,IAChBC,eAAgB,IAChBC,eAAgB,IAChBC,cAAe,IACfC,eAAgB,IAChBC,MAAO,IACPC,KAAM,KACNC,KAAM,KACNC,OAAQ,IACRC,QAAS,IACTC,OAAQ,IACRC,OAAQ,IACRC,eAAgB,IAChBC,gBAAiB,IACjBC,IAAK,IACLC,QAAS,IACTC,KAAM,IACNC,KAAM,IACNC,OAAQ,IACRC,MAAO,IACPC,SAAU,IACVC,MAAO,IACPC,OAAQ,IACRC,IAAK,IACLC,MAAO,IACPC,OAAQ,IACRC,KAAM,IACNC,KAAM,KACNC,IAAK,IACLC,IAAK,IACLC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,KAAM,IACNC,MAAO,IACPC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,GAAI,IACJC,GAAI,IACJl+B,GAAI,IACJm+B,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,QAAS,IACTC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,OAAQ,IACRC,SAAU,IACVC,QAAS,IACTC,UAAW,KACXC,KAAM,KACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,QAAS,IACTC,IAAK,IACLhrE,IAAK,IACLirE,OAAQ,IACRC,WAAY,IACZC,WAAY,IACZC,SAAU,IACVC,OAAQ,IACRC,OAAQ,IACRC,IAAK,IACLC,IAAK,IACLC,MAAO,IACPC,MAAO,IACPC,cAAe,IACfC,YAAa,IACbC,UAAW,IACXC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,MAAO,IACPC,IAAK,IACLC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,OAAQ,IACRC,OAAQ,IACRC,QAAS,IACTC,UAAW,IACXC,KAAM,IACNC,KAAM,IACNC,OAAQ,IACRC,OAAQ,IACRC,KAAM,KACNC,KAAM,KACNC,GAAI,IACJC,KAAM,IACNC,KAAM,KACNC,OAAQ,IACRC,GAAI,IACJC,GAAI,IACJC,SAAU,IACVC,MAAO,IACPC,MAAO,IACPC,OAAQ,IACRC,OAAQ,IACRC,KAAM,KACNC,IAAK,IACLC,KAAM,KACNC,MAAO,KACPC,MAAO,IACPC,QAAS,IACTC,MAAO,IACPC,QAAS,IACTC,SAAU,IACVC,KAAM,IACNC,MAAO,KACPC,OAAQ,KACRC,KAAM,IACNC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,SAAU,KACVC,KAAM,IACNC,IAAK,IACLC,IAAK,IACLC,MAAO,IACPC,GAAI,IACJC,OAAQ,IACRC,MAAO,IACPC,MAAO,IACPC,QAAS,IACTC,MAAO,KACPC,oBAAqB,IACrBC,mBAAoB,IACpBC,kBAAmB,IACnBC,sBAAuB,IACvBC,OAAQ,IACRC,OAAQ,IACRC,MAAO,KACPC,qBAAsB,IACtBC,eAAgB,IAChBC,QAAS,KACTC,OAAQ,IACRC,QAAS,IACTC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,KAAM,IACNC,MAAO,KACPC,UAAW,KACXC,KAAM,KACNC,IAAK,KACLC,MAAO,IACPC,IAAK,KACLC,IAAK,IACLC,KAAM,IACNC,KAAM,KACNC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,GAAI,IACJC,IAAK,IACLC,KAAM,IACNC,IAAK,IACLC,KAAM,IACNC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,KAAM,IACNC,IAAK,KACLC,IAAK,IACLC,WAAY,IACZC,WAAY,IACZC,gBAAiB,IACjBC,gBAAiB,IACjBC,KAAM,IACNC,MAAO,KACPC,UAAW,KACXC,KAAM,KACNC,MAAO,IACPC,IAAK,KACLC,MAAO,IACPC,IAAK,KACLC,IAAK,IACLC,MAAO,IACPC,OAAQ,IACRC,KAAM,KACNC,KAAM,IACNC,QAAS,IACTC,iBAAkB,IAClBC,KAAM,IACNC,KAAM,KACNC,IAAK,IACLC,IAAK,IACLC,aAAc,IACdC,UAAW,IACXC,qBAAsB,IACtBC,WAAY,IACZC,SAAU,IACVC,cAAe,KACfC,UAAW,IACXC,WAAY,IACZC,gBAAiB,IACjBC,oBAAqB,KACrBC,kBAAmB,KACnBC,eAAgB,IAChBC,qBAAsB,KACtBC,gBAAiB,IACjBC,gBAAiB,KACjBC,aAAc,KACdC,MAAO,IACPC,SAAU,KACVC,OAAQ,KACRC,QAAS,IACTC,QAAS,IACTC,QAAS,IACTC,gBAAiB,IACjBC,mBAAoB,KACpBC,qBAAsB,IACtBC,QAAS,IACTC,aAAc,IACdC,eAAgB,IAChBC,YAAa,KACbC,kBAAmB,KACnBC,aAAc,IACdC,wBAAyB,KACzBC,kBAAmB,KACnBC,MAAO,IACPC,QAAS,IACTC,QAAS,IACTC,QAAS,IACTC,YAAa,IACbC,iBAAkB,KAClBC,sBAAuB,IACvBC,kBAAmB,IACnBC,iBAAkB,IAClBC,oBAAqB,KACrBC,sBAAuB,IACvBC,gBAAiB,KACjBC,qBAAsB,IACtBC,kBAAmB,KACnBC,uBAAwB,IACxBC,UAAW,KACXC,eAAgB,IAChBC,YAAa,IACbC,iBAAkB,KAClBC,sBAAuB,IACvBC,iBAAkB,KAClBC,YAAa,KACbC,iBAAkB,IAClBC,SAAU,IACVC,cAAe,IACfC,kBAAmB,IACnBC,cAAe,IACfC,eAAgB,IAChBC,KAAM,IACNC,UAAW,IACXC,OAAQ,KACRC,MAAO,KACPC,QAAS,IACTC,IAAK,IACLC,OAAQ,IACRC,KAAM,KACNC,MAAO,IACPC,QAAS,KACTC,MAAO,IACPC,MAAO,IACPC,OAAQ,KACRC,OAAQ,KACRC,YAAa,IACbC,YAAa,IACbC,MAAO,IACPC,OAAQ,IACRC,IAAK,IACLC,OAAQ,IACRC,KAAM,KACNC,KAAM,KACNC,KAAM,KACNC,UAAW,IACXC,eAAgB,IAChBC,KAAM,IACNC,MAAO,IACPC,OAAQ,IACRC,MAAO,IACPC,MAAO,IACPC,QAAS,IACTC,QAAS,IACTC,KAAM,IACNC,MAAO,KACPC,MAAO,IACPC,QAAS,KACTC,UAAW,IACXC,WAAY,KACZC,MAAO,IACPC,QAAS,KACTC,KAAM,IACNC,MAAO,KACPC,MAAO,IACPC,QAAS,KACTC,UAAW,IACXC,WAAY,KACZC,KAAM,IACNC,OAAQ,IACRC,OAAQ,IACRC,KAAM,IACNC,cAAe,IACfC,gBAAiB,IACjBC,eAAgB,IAChBC,iBAAkB,IAClBC,GAAI,IACJC,GAAI,IACJC,IAAK,IACLC,OAAQ,IACRC,MAAO,IACPC,KAAM,KACNC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,KAAM,KACNC,KAAM,KACNC,OAAQ,IACRC,QAAS,IACTC,OAAQ,IACRC,KAAM,KACNC,KAAM,KACNC,QAAS,KACTC,OAAQ,IACRC,QAAS,KACTC,MAAO,KACPC,OAAQ,IACRC,MAAO,IACPC,MAAO,IACPC,QAAS,IACTC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,KAAM,IACNC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,IAAK,IACLC,IAAK,IACLC,MAAO,IACPC,OAAQ,IACRC,OAAQ,IACRC,KAAM,IACNC,KAAM,IACNC,OAAQ,IACRC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,IAAK,KACLC,IAAK,KACLC,KAAM,IACNC,OAAQ,IACRC,OAAQ,IACRC,IAAK,IACLC,MAAO,IACPC,IAAK,IACLC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,QAAS,IACTC,MAAO,IACPC,IAAK,IACLC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,QAAS,IACTC,QAAS,IACTC,KAAM,IACNC,OAAQ,IACRC,KAAM,KACNC,KAAM,KACNC,KAAM,IACNC,qBAAsB,IACtBC,eAAgB,IAChBC,MAAO,IACPC,MAAO,IACPC,GAAI,IACJC,GAAI,IACJC,MAAO,IACPC,IAAK,IACLC,MAAO,IACPC,QAAS,IACTC,KAAM,IACNC,KAAM,IACNC,OAAQ,IACRC,KAAM,IACNC,QAAS,IACTC,IAAK,IACLC,GAAI,IACJC,KAAM,KACNC,KAAM,IACNC,OAAQ,IACRC,OAAQ,IACRC,KAAM,IACNC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,SAAU,IACVC,KAAM,IACNC,KAAM,IACNC,MAAO,IACPC,QAAS,IACTC,UAAW,IACXC,YAAa,IACbC,gBAAiB,IACjBC,IAAK,IACLC,KAAM,IACNC,SAAU,IACVC,OAAQ,IACRC,MAAO,IACPC,KAAM,IACNC,SAAU,IACVC,IAAK,IACLC,IAAK,IACLC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,KAAM,IACNC,QAAS,IACTC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,KAAM,IACNC,OAAQ,IACRC,MAAO,IACPC,GAAI,IACJC,GAAI,IACJC,UAAW,IACXC,IAAK,IACLC,OAAQ,IACRC,QAAS,IACTC,OAAQ,IACRC,KAAM,IACNC,SAAU,IACVC,MAAO,IACPC,QAAS,IACTC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,UAAW,IACXC,OAAQ,IACRC,QAAS,IACTC,QAAS,IACTC,GAAI,IACJC,cAAe,IACfC,SAAU,IACVC,KAAM,IACNC,KAAM,KACNC,MAAO,IACPC,GAAI,IACJC,GAAI,IACJC,KAAM,IACNC,MAAO,IACPC,IAAK,IACL77D,IAAK,IACL87D,KAAM,IACNC,WAAY,IACZC,YAAa,IACbC,SAAU,IACVC,cAAe,IACfC,mBAAoB,IACpBC,cAAe,IACfC,OAAQ,IACRC,YAAa,IACbC,SAAU,IACVC,SAAU,IACVC,QAAS,IACTC,MAAO,IACPC,MAAO,IACPC,OAAQ,IACRC,MAAO,IACPC,KAAM,IACNC,OAAQ,IACRC,KAAM,IACNC,QAAS,IACTC,SAAU,IACVC,SAAU,IACVC,SAAU,IACVC,KAAM,IACNC,WAAY,IACZC,aAAc,IACdC,OAAQ,IACRC,MAAO,IACPC,OAAQ,IACRC,KAAM,KACNC,KAAM,KACNC,IAAK,IACLC,IAAK,IACLC,OAAQ,IACRC,IAAK,KACLC,IAAK,KACLC,KAAM,IACNC,KAAM,IACNC,KAAM,KACNC,OAAQ,IACRC,KAAM,KACNC,KAAM,KACNC,YAAa,IACbC,QAAS,IACTC,MAAO,IACPC,QAAS,IACTC,KAAM,IACNt7C,KAAM,IACNu7C,MAAO,IACPC,KAAM,KACNC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,SAAU,IACVC,KAAM,IACNC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,OAAQ,IACRC,MAAO,IACPC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,OAAQ,IACRC,MAAO,IACPC,QAAS,IACTC,MAAO,IACPC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,QAAS,IACTC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,UAAW,IACXC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,QAAS,IACTC,QAAS,IACTC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,KAAM,IACNC,IAAK,IACLC,IAAK,IACLC,KAAM,IACNC,QAAS,IACTC,MAAO,IACPC,OAAQ,IACRC,KAAM,IACNC,GAAI,IACJC,KAAM,IACNC,QAAS,IACTC,SAAU,IACVC,MAAO,IACPC,KAAM,IACNC,IAAK,IACLC,IAAK,IACLC,eAAgB,IAChBC,mBAAoB,IACpBC,qBAAsB,IACtBC,OAAQ,IACRC,OAAQ,IACRC,IAAK,IACLC,IAAK,KACLC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,OAAQ,IACRC,IAAK,IACLC,IAAK,IACLC,KAAM,IACNC,kBAAmB,IACnBC,WAAY,IACZC,WAAY,IACZC,WAAY,IACZC,cAAe,IACfC,oBAAqB,IACrBC,eAAgB,IAChBC,aAAc,IACdC,mBAAoB,IACpBC,mBAAoB,IACpBC,gBAAiB,IACjBC,mBAAoB,IACpBC,WAAY,IACZC,iBAAkB,IAClBC,eAAgB,IAChBC,gBAAiB,IACjBC,kBAAmB,IACnBC,iBAAkB,IAClBC,gBAAiB,IACjBC,SAAU,IACVC,cAAe,IACfC,eAAgB,IAChBC,gBAAiB,IACjBC,cAAe,IACfC,iBAAkB,IAClBC,mBAAoB,IACpBC,kBAAmB,IACnBC,iBAAkB,IAClBC,cAAe,IACfC,iBAAkB,IAClBC,YAAa,IACbC,eAAgB,IAChBC,KAAM,IACNC,aAAc,IACdC,MAAO,IACPC,MAAO,IACPC,IAAK,IACLC,OAAQ,IACRC,WAAY,IACZC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,KAAM,IACNC,KAAM,KACNC,OAAQ,IACRC,QAAS,IACTC,aAAc,IACdC,KAAM,IACNC,OAAQ,IACRC,SAAU,IACVC,MAAO,IACPC,YAAa,IACbC,OAAQ,IACRC,KAAM,IACNC,KAAM,KACNC,IAAK,IACLC,IAAK,IACLC,KAAM,IACNC,MAAO,IACPC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,SAAU,IACVC,YAAa,IACbC,QAAS,IACTC,GAAI,IACJC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,GAAI,IACJC,GAAI,IACJC,KAAM,IACNC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,IAAK,IACLC,IAAK,IACLC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,KAAM,IACNC,OAAQ,IACRC,SAAU,IACVC,MAAO,IACPC,IAAK,IACLC,IAAK,IACLC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,OAAQ,IACRC,MAAO,IACPC,MAAO,IACPC,QAAS,IACTC,KAAM,IACNC,KAAM,IACNC,OAAQ,IACRC,SAAU,IACVC,MAAO,IACPC,KAAM,IACNC,IAAK,KACLC,IAAK,KACLC,OAAQ,IACRC,MAAO,IACPC,OAAQ,IACRC,OAAQ,IACRC,KAAM,IACNC,KAAM,IACNC,eAAgB,IAChBC,eAAgB,IAChBC,SAAU,IACVC,cAAe,IACfC,gBAAiB,IACjBC,aAAc,IACdC,IAAK,IACLC,MAAO,IACPC,MAAO,IACPC,OAAQ,IACRC,OAAQ,IACRC,IAAK,IACLC,OAAQ,IACRC,KAAM,IACNC,MAAO,IACPC,KAAM,IACNC,MAAO,IACPC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,QAAS,IACTC,QAAS,IACTC,MAAO,IACPC,YAAa,IACbC,cAAe,IACfC,OAAQ,IACRC,SAAU,IACVC,KAAM,IACNC,MAAO,IACPC,IAAK,IACLC,KAAM,IACNC,MAAO,KACPC,OAAQ,IACRC,OAAQ,IACRC,IAAK,IACLC,KAAM,IACNC,OAAQ,IACRC,KAAM,KACNC,KAAM,KACNC,OAAQ,IACRC,UAAW,IACXC,KAAM,IACNC,MAAO,IACPC,OAAQ,KACRC,MAAO,IACPC,OAAQ,KACRC,KAAM,IACNC,MAAO,IACPC,OAAQ,IACRC,SAAU,IACVC,WAAY,IACZC,MAAO,IACPC,OAAQ,IACRC,SAAU,IACVC,WAAY,IACZC,IAAK,IACLC,OAAQ,IACRC,OAAQ,IACRC,mBAAoB,IACpBC,aAAc,IACdC,kBAAmB,IACnBC,eAAgB,IAChBC,oBAAqB,IACrBC,YAAa,IACbC,OAAQ,IACRC,KAAM,IACNC,MAAO,IACPC,KAAM,KACNC,KAAM,KACNC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,KAAM,IACNC,KAAM,IACNC,MAAO,IACPC,gBAAiB,IACjBC,YAAa,IACbC,MAAO,IACPC,IAAK,IACLrxD,IAAK,IACLsxD,OAAQ,IACRC,KAAM,IACNC,KAAM,IACNC,QAAS,IACTC,QAAS,IACTC,MAAO,IACPC,MAAO,IACPC,QAAS,IACTC,QAAS,IACTC,OAAQ,IACRC,OAAQ,IACRC,SAAU,IACVC,UAAW,IACXC,YAAa,IACbC,UAAW,IACXC,WAAY,IACZC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,KAAM,IACNC,WAAY,IACZC,YAAa,IACbC,SAAU,IACVC,cAAe,IACfC,mBAAoB,IACpBC,cAAe,IACfC,OAAQ,IACRC,YAAa,IACbC,SAAU,IACVC,SAAU,IACVC,QAAS,IACTC,SAAU,IACVC,IAAK,IACLC,IAAK,IACLC,KAAM,IACNC,IAAK,IACLC,IAAK,IACLC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,OAAQ,IACRC,QAAS,IACTC,KAAM,IACNC,KAAM,IACNC,QAAS,IACTC,SAAU,IACVC,cAAe,IACfC,QAAS,IACTC,QAAS,IACTC,QAAS,IACTC,QAAS,IACTC,MAAO,IACPC,MAAO,IACPC,QAAS,IACTC,OAAQ,IACRC,OAAQ,IACRC,SAAU,IACVC,UAAW,IACXC,UAAW,IACXC,WAAY,IACZC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,MAAO,IACPC,QAAS,IACTC,OAAQ,IACRC,MAAO,IACPC,IAAK,KACLxmE,OAAQ,IACRymE,IAAK,IACLC,IAAK,IACLC,KAAM,IACNC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,IAAK,IACLC,IAAK,IACLC,KAAM,IACNC,OAAQ,IACRC,IAAK,KACLC,IAAK,KACLC,OAAQ,IACRC,UAAW,IACXC,UAAW,IACXC,MAAO,IACPC,MAAO,IACPC,SAAU,IACVC,OAAQ,IACRC,YAAa,IACbC,SAAU,IACVC,WAAY,KACZC,OAAQ,IACRC,UAAW,IACXC,MAAO,IACPC,OAAQ,IACRC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,WAAY,IACZC,eAAgB,IAChBC,WAAY,IACZC,MAAO,IACPC,OAAQ,IACRC,SAAU,IACVC,OAAQ,IACRC,KAAM,IACNC,KAAM,IACNC,IAAK,IACLC,OAAQ,IACRC,OAAQ,IACRC,KAAM,KACNC,KAAM,KACNC,QAAS,IACTC,KAAM,IACNC,OAAQ,IACRC,MAAO,IACPC,MAAO,IACPC,SAAU,IACVC,aAAc,IACdC,aAAc,IACdC,eAAgB,IAChBC,UAAW,IACXC,cAAe,IACfC,gBAAiB,IACjBC,OAAQ,IACRC,KAAM,IACNC,SAAU,IACVC,UAAW,IACXC,QAAS,IACTC,MAAO,IACPC,QAAS,IACTC,SAAU,IACVC,KAAM,KACNC,KAAM,KACNC,KAAM,IACNC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,iBAAkB,IAClBC,kBAAmB,IACnBC,OAAQ,IACRC,OAAQ,IACRC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,SAAU,IACVC,MAAO,IACPC,MAAO,IACPC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,MAAO,IACPC,IAAK,IACLC,IAAK,IACLC,MAAO,IACPC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,OAAQ,IACRC,IAAK,KACLC,IAAK,KACLC,OAAQ,IACRC,OAAQ,IACRC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,OAAQ,IACRC,SAAU,IACVC,OAAQ,IACRC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,IAAK,IACLC,SAAU,IACVC,WAAY,IACZC,aAAc,IACdC,iBAAkB,IAClBC,MAAO,IACPC,UAAW,IACXC,MAAO,IACPC,MAAO,IACPC,KAAM,KACNC,KAAM,KACNC,QAAS,IACTC,QAAS,IACTC,QAAS,IACTC,WAAY,IACZC,iBAAkB,IAClBC,YAAa,IACbC,YAAa,IACbC,YAAa,IACbC,cAAe,IACfC,cAAe,IACfC,eAAgB,IAChBC,MAAO,IACPC,eAAgB,IAChBC,gBAAiB,IACjBC,KAAM,IACNC,KAAM,IACNC,MAAO,IACPC,QAAS,IACTC,QAAS,IACTC,MAAO,IACPC,WAAY,IACZC,WAAY,IACZC,OAAQ,IACRC,SAAU,IACVC,OAAQ,IACRC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,KAAM,KACNC,KAAM,KACNC,MAAO,IACPC,OAAQ,IACRC,OAAQ,IACRC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,KAAM,IACNC,KAAM,IACNC,QAAS,IACTC,OAAQ,IACRC,WAAY,IACZC,SAAU,IACVC,WAAY,IACZC,OAAQ,IACRC,MAAO,IACPC,UAAW,IACXC,KAAM,IACNC,KAAM,IACNC,OAAQ,IACRC,SAAU,IACVC,aAAc,KACdC,cAAe,KACfC,aAAc,KACdC,cAAe,KACfC,SAAU,IACVC,gBAAiB,IACjBC,iBAAkB,IAClBC,KAAM,IACNC,KAAM,IACNC,MAAO,IACPC,IAAK,IACLC,IAAK,IACLC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,MAAO,IACPC,OAAQ,IACRC,IAAK,IACLC,IAAK,IACLC,OAAQ,IACRC,MAAO,IACPC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,KAAM,IACNC,KAAM,IACNC,YAAa,IACbC,aAAc,IACdC,kBAAmB,IACnBC,cAAe,IACfC,cAAe,IACfC,IAAK,KACLC,IAAK,KACLC,MAAO,IACPC,MAAO,KACPC,MAAO,KACPC,KAAM,KACNC,KAAM,KACNC,MAAO,IACPC,MAAO,IACPC,KAAM,KACNC,KAAM,KACNC,OAAQ,KACRC,OAAQ,KACRC,OAAQ,KACRC,OAAQ,KACRC,OAAQ,IACRC,QAAS,IACTC,MAAO,IACPC,MAAO,IACPC,OAAQ,IACRC,MAAO,IACPC,MAAO,IACPC,OAAQ,IACRC,OAAQ,IACRC,IAAK,KACLC,IAAK,KACLC,KAAM,KACNC,KAAM,KACNC,GAAI,IACJC,GAAI,IACJC,OAAQ,IACRC,KAAM,KACNC,KAAM,KACNC,KAAM,IACNC,MAAO,IACPC,KAAM,IACNC,MAAO,IACPC,IAAK,KACLC,IAAK,KACLC,MAAO,IACPC,MAAO,IACPC,GAAI,IACJC,GAAI,IACJC,MAAO,IACPC,MAAO,IACPC,KAAM,IACNC,KAAM,IACNC,MAAO,IACPC,KAAM,KACNC,KAAM,KACNC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,MAAO,IACPC,KAAM,KACNC,KAAM,KACNC,OAAQ,IACRC,OAAQ,IACRC,MAAO,IACPC,KAAM,IACNC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,KAAM,IACNC,KAAM,IACNC,MAAO,IACPC,MAAO,IACPC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,KAAM,IACNC,KAAM,IACNC,KAAM,KACNC,KAAM,KACNC,KAAM,KACNC,KAAM,KACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,KAAM,IACNC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,OAAQ,IACRC,IAAK,IACLC,IAAK,IACLC,KAAM,IACNC,KAAM,IACNC,OAAQ,IACRC,eAAgB,IAChBC,KAAM,IACNC,KAAM,IACNC,IAAK,IACLC,IAAK,KACLC,KAAM,IACNC,KAAM,IACNC,QAAS,IACTC,KAAM,IACNC,KAAM,KACNC,KAAM,KACNC,KAAM,KACNC,IAAK,IACLC,KAAM,MAOPhkE,EAAAikE,UAAoBjkE,EAAQO,wBAnnExB9O,wDCFJ,IAAIU,EAAYQ,KAAyBR,UAKrC+xE,EAAgB,mJAChBC,EAAW,IAAI5vG,OAAO,aAAa2vG,EAAchyF,OAAOla,MAAM,MAAM,0CACpEosG,EAAiB,IAAI7vG,OAAO,IAAI2vG,EAAchyF,OAAOiyF,EAASjyF,OAAO,QAASgyF,EAAchyF,OAAOiyF,EAASjyF,OAAO,QAsBvH,SAASmyF,EAAW5jG,EAAS6jG,GAC5BzhG,KAAKpC,QAAUA,EACfoC,KAAKyhG,QAAUA,EACZ9+F,MAAM0vB,mBAAmB1vB,MAAM0vB,kBAAkBryB,KAAMwhG,EAC3D,CAIA,SAASE,IAET,CAiLA,SAASC,EAAY1mG,EAAEhL,GAGtB,OAFAA,EAAE2xG,WAAa3mG,EAAE2mG,WACjB3xG,EAAE4xG,aAAe5mG,EAAE4mG,aACZ5xG,CACR,CAMA,SAAS6xG,EAAsBzyF,EAAO0X,EAAMzS,EAAGytF,EAAaC,EAAeC,GAO1E,SAASC,EAAaC,EAAOrpG,EAAOspG,GAC/B9tF,EAAG+tF,eAAetwG,eAAeowG,IACpCF,EAAaK,WAAW,aAAeH,EAAQ,cAEhD7tF,EAAGiuF,SACFJ,EAKArpG,EAAMrH,QAAQ,YAAa,KAAKA,QAAQ,WAAYuwG,GACpDI,EAEH,CAKC,IAJA,IAAII,EAEAhpF,IAAMuN,EACN12B,EA7OO,IA8OA,CACV,IAAIa,EAAIme,EAAO/V,OAAOkgB,GACtB,OAAOtoB,GACP,IAAK,IACJ,GAjPU,IAiPPb,EACFmyG,EAAWnzF,EAAOla,MAAM4xB,EAAMvN,GAC9BnpB,EAjPO,MAkPF,IAnPQ,IAmPLA,EAIR,MAAM,IAAIsS,MAAM,uCAHhBtS,EAnPO,CAuPX,CACG,MACD,IAAK,IACL,IAAK,IACJ,GA3PQ,IA2PLA,GA7PO,IA6POA,EACf,CAOD,GArQS,IA+PNA,IACF4xG,EAAaQ,QAAQ,kCACrBD,EAAWnzF,EAAOla,MAAM4xB,EAAMvN,IAE/BuN,EAAQvN,EAAE,KACVA,EAAInK,EAAO9d,QAAQL,EAAE61B,IAChB,GAMJ,MAAM,IAAIpkB,MAAM,2BAA4BzR,EAAE,WAJ9CgxG,EAAaM,EADb1pG,EAAQuW,EAAOla,MAAM4xB,EAAOvN,GACEuN,EAAM,GACpC12B,EApQY,CAyQjB,KAAS,IA1QiB,GA0QdA,EAQR,MAAM,IAAIsS,MAAM,kCANhBu/F,EAAaM,EADb1pG,EAAQuW,EAAOla,MAAM4xB,EAAOvN,GACEuN,GAC9Bk7E,EAAaQ,QAAQ,cAAcD,EAAS,uBAAuBtxG,EAAE,OACrE61B,EAAQvN,EAAE,EACVnpB,EA9Qa,CAkRjB,CACG,MACD,IAAK,IACJ,OAAOA,GACP,KA3RS,EA4RRikB,EAAGouF,WAAWrzF,EAAOla,MAAM4xB,EAAMvN,IAClC,KAxRc,EAyRd,KAxRe,EAyRf,KAxRe,EAyRdnpB,EAzRc,EA0RdikB,EAAGquF,QAAS,EACb,KA9RuB,EA+RvB,KAlSU,EAmST,MACA,KAnSa,EAoSZruF,EAAGquF,QAAS,EACb,MAED,QACC,MAAM,IAAIhgG,MAAM,qCAEjB,MACD,IAAK,GAKJ,OAJAs/F,EAAa57F,MAAM,2BA9SV,GA+SNhW,GACFikB,EAAGouF,WAAWrzF,EAAOla,MAAM4xB,EAAMvN,IAE3BA,EACR,IAAK,IACJ,OAAOnpB,GACP,KArTS,EAsTRikB,EAAGouF,WAAWrzF,EAAOla,MAAM4xB,EAAMvN,IAClC,KAlTc,EAmTd,KAlTe,EAmTf,KAlTe,EAmTd,MACD,KAvTuB,EAwTvB,KA3TU,EA6Tc,OADvB1gB,EAAQuW,EAAOla,MAAM4xB,EAAMvN,IAClBrkB,OAAM,KACdmf,EAAGquF,QAAU,EACb7pG,EAAQA,EAAM3D,MAAM,GAAE,IAExB,KAhUc,MAiUV9E,IACFyI,EAAQ0pG,GAhUa,GAkUnBnyG,GACF4xG,EAAaQ,QAAQ,cAAc3pG,EAAM,qBACzCopG,EAAaM,EAAU1pG,EAAOiuB,KAE1BuI,EAAUL,OAAO8yE,EAAa,MAASjpG,EAAMzH,MAAM,qCACtD4wG,EAAaQ,QAAQ,cAAc3pG,EAAM,qBAAqBA,EAAM,eAErEopG,EAAappG,EAAOA,EAAOiuB,IAE5B,MACD,KA7UQ,EA8UP,MAAM,IAAIpkB,MAAM,4BAGjB,OAAO6W,EAER,IAAK,IACJtoB,EAAI,IACL,QACC,GAAGA,GAAI,IACN,OAAOb,GACP,KA3VQ,EA4VPikB,EAAGouF,WAAWrzF,EAAOla,MAAM4xB,EAAMvN,IACjCnpB,EAvVa,EAwVb,MACD,KA9VS,EA+VRmyG,EAAWnzF,EAAOla,MAAM4xB,EAAMvN,GAC9BnpB,EA/VY,EAgWZ,MACD,KA/VsB,EAgWrB,IAAIyI,EAAQuW,EAAOla,MAAM4xB,EAAOvN,GAChCyoF,EAAaQ,QAAQ,cAAc3pG,EAAM,sBACzCopG,EAAaM,EAAU1pG,EAAOiuB,GAC/B,KAlWa,EAmWZ12B,EAlWa,OA8Wd,OAAOA,GAIP,KAtXa,EAwXPi/B,EAAUL,OAAO8yE,EAAa,MAASS,EAASnxG,MAAM,qCAC1D4wG,EAAaQ,QAAQ,cAAcD,EAAS,qBAAqBA,EAAS,gBAE3EN,EAAaM,EAAUA,EAAUz7E,GACjCA,EAAQvN,EACRnpB,EA9XQ,EA+XR,MACD,KA5Xa,EA6XZ4xG,EAAaQ,QAAQ,+BAA+BD,EAAS,OAC9D,KA7Xc,EA8XbnyG,EAnYQ,EAoYR02B,EAAQvN,EACR,MACD,KApYO,EAqYNnpB,EApYqB,EAqYrB02B,EAAQvN,EACR,MACD,KApYc,EAqYb,MAAM,IAAI7W,MAAM,+DAKnB6W,GACF,CACA,CAIA,SAASopF,EAActuF,EAAGuuF,EAAWd,GAKpC,IAJA,IAAIvrF,EAAUlC,EAAGkC,QACbssF,EAAa,KAEb1xG,EAAIkjB,EAAG5kB,OACL0B,KAAI,CACT,IAAIjB,EAAImkB,EAAGljB,GACP2xG,EAAQ5yG,EAAE4yG,MACVjqG,EAAQ3I,EAAE2I,MAEd,IADIkqG,EAAMD,EAAMxxG,QAAQ,MACjB,EACN,IAAIoiC,EAASxjC,EAAEwjC,OAASovE,EAAM5tG,MAAM,EAAE6tG,GAClCv1F,EAAYs1F,EAAM5tG,MAAM6tG,EAAI,GAC5BC,EAAsB,UAAXtvE,GAAsBlmB,OAErCA,EAAYs1F,EACZpvE,EAAS,KACTsvE,EAAqB,UAAVF,GAAqB,GAGjC5yG,EAAEsd,UAAYA,GAEE,IAAbw1F,IACe,MAAdH,IACFA,EAAa,CAAA,EAEbI,EAAMnB,EAAaA,EAAa,CAAA,IAGjCA,EAAakB,GAAYH,EAAWG,GAAYnqG,EAChD3I,EAAEwd,IAAM2hB,EAAUG,MAClBozE,EAAWM,mBAAmBF,EAAUnqG,GAE3C,CAEC,IADI1H,EAAIkjB,EAAG5kB,OACL0B,KAAI,EAELuiC,GADJxjC,EAAImkB,EAAGljB,IACQuiC,UAEA,QAAXA,IACFxjC,EAAEwd,IAAM2hB,EAAUE,KACJ,UAAXmE,IACHxjC,EAAEwd,IAAMo0F,EAAapuE,GAAU,KAKnC,CACC,IAAIqvE,KAAMxsF,EAAQjlB,QAAQ,MACnB,GACNoiC,EAASrf,EAAGqf,OAASnd,EAAQrhB,MAAM,EAAE6tG,GACrCv1F,EAAY6G,EAAG7G,UAAY+I,EAAQrhB,MAAM6tG,EAAI,KAE7CrvE,EAAS,KACTlmB,EAAY6G,EAAG7G,UAAY+I,GAG5B,IAAI2B,EAAK7D,EAAG3G,IAAMo0F,EAAapuE,GAAU,IAIzC,GAHAkvE,EAAWO,aAAajrF,EAAG1K,EAAU+I,EAAQlC,IAG1CA,EAAGquF,OAaL,OAHAruF,EAAGytF,aAAeA,EAClBztF,EAAGwuF,WAAaA,GAET,EAXP,GADAD,EAAWQ,WAAWlrF,EAAG1K,EAAU+I,GAChCssF,EACF,IAAKnvE,KAAUmvE,EACV3wG,OAAOib,UAAUrb,eAAe49B,KAAKmzE,EAAYnvE,IACpDkvE,EAAWS,iBAAiB3vE,EAUjC,CACA,SAAS4vE,EAAwBl0F,EAAOm0F,EAAWhtF,EAAQwrF,EAAea,GACzE,GAAG,yBAAyBryG,KAAKgmB,GAAS,CACzC,IAAIitF,EAAcp0F,EAAO9d,QAAQ,KAAKilB,EAAQ,IAAIgtF,GAC9ChuG,EAAO6Z,EAAOtB,UAAUy1F,EAAW,EAAEC,GACzC,GAAG,OAAOjzG,KAAKgF,GACd,MAAG,YAAYhF,KAAKgmB,IAGlBqsF,EAAWa,WAAWluG,EAAK,EAAEA,EAAK9F,QAE3B+zG,IAGRjuG,EAAOA,EAAK/D,QAAQ,WAAWuwG,GAC/Ba,EAAWa,WAAWluG,EAAK,EAAEA,EAAK9F,QAC3B+zG,EAIX,CACC,OAAOD,EAAW,CACnB,CACA,SAASG,EAAct0F,EAAOm0F,EAAWhtF,EAAQotF,GAEhD,IAAIC,EAAMD,EAASptF,GASnB,OARU,MAAPqtF,KAEFA,EAAOx0F,EAAOja,YAAY,KAAKohB,EAAQ,MAChCgtF,IACNK,EAAMx0F,EAAOja,YAAY,KAAKohB,IAE/BotF,EAASptF,GAAUqtF,GAEbA,EAAIL,CAEZ,CAEA,SAASN,EAAO7zF,EAAQoY,GACvB,IAAK,IAAIr3B,KAAKif,EACTld,OAAOib,UAAUrb,eAAe49B,KAAKtgB,EAAQjf,KAChDq3B,EAAOr3B,GAAKif,EAAOjf,GAGtB,CAEA,SAAS0zG,EAASz0F,EAAO0X,EAAM87E,EAAWZ,GAEzC,GACK,MAFK5yF,EAAO/V,OAAOytB,EAAM,GAG7B,MAAgC,MAA7B1X,EAAO/V,OAAOytB,EAAQ,IACpBg9E,EAAM10F,EAAO9d,QAAQ,SAAMw1B,EAAM,IAE9BA,GACN87E,EAAWmB,QAAQ30F,EAAO0X,EAAM,EAAEg9E,EAAIh9E,EAAM,GACrCg9E,EAAI,IAEX9B,EAAa57F,MAAM,qBACZ,IAID,EAGR,GAA+B,UAA5BgJ,EAAO40F,OAAOl9E,EAAM,EAAE,GAAe,CACvC,IAAIg9E,EAAM10F,EAAO9d,QAAQ,MAAMw1B,EAAM,GAIrC,OAHA87E,EAAWqB,aACXrB,EAAWa,WAAWr0F,EAAO0X,EAAM,EAAEg9E,EAAIh9E,EAAM,GAC/C87E,EAAWsB,WACJJ,EAAI,CACd,CAGE,IAAIK,EA8EN,SAAe/0F,EAAO0X,GACrB,IAAI11B,EACA+lC,EAAM,GACNwlD,EAAM,6CACVA,EAAI9oD,UAAY/M,EAChB61D,EAAInjE,KAAKpK,GACT,KAAMhe,EAAQurF,EAAInjE,KAAKpK,IAEtB,GADA+nB,EAAIjmC,KAAKE,GACNA,EAAM,GAAG,OAAO+lC,CAErB,CAxFelhC,CAAMmZ,EAAO0X,GACtB8Q,EAAMusE,EAAO10G,OACjB,GAAGmoC,EAAI,GAAK,YAAYrnC,KAAK4zG,EAAO,GAAG,IAAI,CAC1C,IAAI7oG,EAAO6oG,EAAO,GAAG,GACjBlsE,GAAQ,EACRE,GAAQ,EACTP,EAAI,IACH,YAAYrnC,KAAK4zG,EAAO,GAAG,KAC7BlsE,EAAQksE,EAAO,GAAG,GAClBhsE,EAAQP,EAAI,GAAKusE,EAAO,GAAG,IACnB,YAAY5zG,KAAK4zG,EAAO,GAAG,MACnChsE,EAAQgsE,EAAO,GAAG,KAGpB,IAAIC,EAAYD,EAAOvsE,EAAI,GAI3B,OAHAgrE,EAAWyB,SAAS/oG,EAAM28B,EAAOE,GACjCyqE,EAAW0B,SAEJF,EAAUv9E,MAAMu9E,EAAU,GAAG30G,MACvC,CAEC,OAAO,CACR,CAIA,SAAS80G,EAAiBn1F,EAAO0X,EAAM87E,GACtC,IAAIkB,EAAM10F,EAAO9d,QAAQ,KAAKw1B,GAC9B,GAAGg9E,EAAI,CACN,IAAI1yG,EAAQge,EAAOtB,UAAUgZ,EAAMg9E,GAAK1yG,MAAM,8BAC9C,OAAGA,GAEFwxG,EAAW4B,sBAAsBpzG,EAAM,GAAIA,EAAM,IAC1C0yG,EAAI,IAEJ,CAEV,CACC,OAAO,CACR,CAEA,SAASW,IACR1kG,KAAKqiG,eAAiB,CAAA,CACvB,QAnkBAb,EAAWp0F,UAAY,IAAIzK,MAC3B6+F,EAAWp0F,UAAU7R,KAAOimG,EAAWjmG,KAMvCmmG,EAAUt0F,UAAY,CACrBjK,MAAM,SAASkM,EAAOs1F,EAAavD,GAClC,IAAIyB,EAAa7iG,KAAK6iG,WACtBA,EAAW+B,gBACX1B,EAAMyB,EAAcA,EAAe,CAAA,GAMrC,SAAet1F,EAAOw1F,EAAiBzD,EAAUyB,EAAWZ,GAC3D,SAAS6C,EAAkB1yE,GAG1B,GAAIA,EAAO,MAAQ,CAElB,IAAI2yE,EAAa,QADjB3yE,GAAQ,QAC2B,IAChC4yE,EAAa,OAAiB,KAAP5yE,GAE1B,OAAO/c,OAAO4vF,aAAaF,EAAYC,EAC1C,CACG,OAAO3vF,OAAO4vF,aAAa7yE,EAE9B,CACC,SAAS4vE,EAAe7xG,GACvB,IAAIwL,EAAIxL,EAAEgF,MAAM,GAAE,GAClB,OAAIhD,OAAOJ,eAAe49B,KAAKyxE,EAAWzlG,GAClCylG,EAAUzlG,GACO,MAAhBA,EAAErC,OAAO,GACVwrG,EAAkB7uG,SAAS0F,EAAEsoG,OAAO,GAAGxyG,QAAQ,IAAI,SAE1DwwG,EAAa57F,MAAM,oBAAoBlW,GAChCA,EAEV,CACC,SAAS+0G,EAAWnB,GACnB,GAAGA,EAAIh9E,EAAM,CACZ,IAAIo+E,EAAK91F,EAAOtB,UAAUgZ,EAAMg9E,GAAKtyG,QAAQ,WAAWuwG,GACxDP,GAASp9E,EAAS0C,GAClB87E,EAAWa,WAAWyB,EAAG,EAAEpB,EAAIh9E,GAC/BA,EAAQg9E,CACX,CACA,CACC,SAAS1/E,EAAS7K,EAAEhlB,GACnB,KAAMglB,GAAG4rF,IAAY5wG,EAAI6wG,EAAY5rF,KAAKpK,KACzCi2F,EAAY9wG,EAAEsyB,MACds+E,EAAUE,EAAY9wG,EAAE,GAAG9E,OAC3B+xG,EAAQG,aAGTH,EAAQI,aAAeroF,EAAE8rF,EAAU,CACrC,CACC,IAAIA,EAAY,EACZF,EAAU,EACVC,EAAc,sBACd5D,EAAUoB,EAAWpB,QAErB8D,EAAa,CAAC,CAACxD,aAAa8C,IAC5BjB,EAAW,CAAA,EACX78E,EAAQ,EACZ,OAAW,CACV,IACC,IAAIy+E,EAAWn2F,EAAO9d,QAAQ,IAAIw1B,GAClC,GAAGy+E,EAAS,EAAE,CACb,IAAIn2F,EAAO40F,OAAOl9E,GAAO11B,MAAM,SAAS,CACvC,IAAIotB,EAAMokF,EAAWpkF,IACdjpB,EAAOipB,EAAI4c,eAAehsB,EAAO40F,OAAOl9E,IAC5CtI,EAAIuB,YAAYxqB,GAChBqtG,EAAW4C,eAAiBjwG,CACpC,CACI,MACJ,CAIG,OAHGgwG,EAASz+E,GACXm+E,EAAWM,GAELn2F,EAAO/V,OAAOksG,EAAS,IAC9B,IAAK,IACJ,IAAIzB,EAAM10F,EAAO9d,QAAQ,IAAIi0G,EAAS,GAClChvF,EAAUnH,EAAOtB,UAAUy3F,EAAW,EAAGzB,GAAKtyG,QAAQ,eAAgB,IACtEmd,EAAS22F,EAAW/9F,MACrBu8F,EAAI,GAEAvtF,EAAUnH,EAAOtB,UAAUy3F,EAAS,GAAG/zG,QAAQ,UAAU,IACzDwwG,EAAa57F,MAAM,iBAAiBmQ,EAAQ,oBAAoB5H,EAAO4H,SACvEutF,EAAMyB,EAAS,EAAEhvF,EAAQ9mB,QACjB8mB,EAAQnlB,MAAM,SACtBmlB,EAAUA,EAAQ/kB,QAAQ,UAAU,IACpCwwG,EAAa57F,MAAM,iBAAiBmQ,EAAQ,uBAC5CutF,EAAMyB,EAAS,EAAEhvF,EAAQ9mB,QAEhC,IAAIozG,EAAal0F,EAAOk0F,WACpB4C,EAAW92F,EAAO4H,SAAWA,EAE3B,GADkBkvF,GAAY92F,EAAO4H,SAAS5H,EAAO4H,QAAQvY,eAAiBuY,EAAQvY,cACjE,CAE1B,GADM4kG,EAAWQ,WAAWz0F,EAAOjB,IAAIiB,EAAOnB,UAAU+I,GACrDssF,EACF,IAAK,IAAInvE,KAAUmvE,EACd3wG,OAAOib,UAAUrb,eAAe49B,KAAKmzE,EAAYnvE,IACpDkvE,EAAWS,iBAAiB3vE,GAI3B+xE,GACMzD,EAAaK,WAAW,iBAAiB9rF,EAAQ,2CAA2C5H,EAAO4H,QAElH,MACW+uF,EAAWp0G,KAAKyd,GAGvBm1F,IACA,MAED,IAAK,IACJtC,GAASp9E,EAASmhF,GAClBzB,EAAMS,EAAiBn1F,EAAOm2F,EAAS3C,GACvC,MACD,IAAK,IACJpB,GAASp9E,EAASmhF,GAClBzB,EAAMD,EAASz0F,EAAOm2F,EAAS3C,EAAWZ,GAC1C,MACD,QACCR,GAASp9E,EAASmhF,GAClB,IAAIlxF,EAAK,IAAIowF,EACT3C,EAAewD,EAAWA,EAAW71G,OAAO,GAAGqyG,aAG/ClqE,GADAksE,EAAMjC,EAAsBzyF,EAAOm2F,EAASlxF,EAAGytF,EAAaC,EAAeC,GACrE3tF,EAAG5kB,QASb,IANI4kB,EAAGquF,QAAUgB,EAAct0F,EAAO00F,EAAIzvF,EAAGkC,QAAQotF,KACpDtvF,EAAGquF,QAAS,EACRvB,EAAUjhC,MACb8hC,EAAaQ,QAAQ,2BAGpBhB,GAAW5pE,EAAI,CAGjB,IAFA,IAAI8tE,EAAWhE,EAAYF,EAAQ,IAE3BrwG,EAAI,EAAEA,EAAEymC,EAAIzmC,IAAI,CACvB,IAAIjB,EAAImkB,EAAGljB,GACXizB,EAASl0B,EAAEqK,QACXrK,EAAEsxG,QAAUE,EAAYF,EAAQ,CAAA,EACtC,CACKoB,EAAWpB,QAAUkE,EAClB/C,EAActuF,EAAGuuF,EAAWd,IAC9BwD,EAAWp0G,KAAKmjB,GAEjBuuF,EAAWpB,QAAUA,CAC1B,MACQmB,EAActuF,EAAGuuF,EAAWd,IAC9BwD,EAAWp0G,KAAKmjB,GAIdgb,EAAUL,OAAO3a,EAAG3G,OAAS2G,EAAGquF,OACnCoB,EAAMR,EAAwBl0F,EAAO00F,EAAIzvF,EAAGkC,QAAQwrF,EAAea,GAEnEkB,IAGL,CAAG,MAAMv0G,GACN,GAAIA,aAAagyG,EAChB,MAAMhyG,EAEPyyG,EAAa57F,MAAM,wBAAwB7W,GAC3Cu0G,GAAM,CACT,CACKA,EAAIh9E,EACNA,EAAQg9E,EAGRmB,EAAWv0G,KAAK6qB,IAAIgqF,EAASz+E,GAAO,EAEvC,CACA,CAzKE5jB,CAAMkM,EAAOs1F,EAAavD,EACxByB,EAAW7iG,KAAKiiG,cAClBY,EAAW+C,aACb,GAqjBAlB,EAAkBt3F,UAAY,CAC7Bs1F,WAAW,SAASlsF,GACnB,IAAI+qF,EAAe/wG,KAAKgmB,GACvB,MAAM,IAAI7T,MAAM,mBAAmB6T,GAEpCxW,KAAKwW,QAAUA,CACjB,EACC+rF,SAAS,SAASQ,EAAOjqG,EAAO0B,GAC/B,IAAI+mG,EAAe/wG,KAAKuyG,GACvB,MAAM,IAAIpgG,MAAM,qBAAqBogG,GAEtC/iG,KAAKqiG,eAAeU,GAAS/iG,KAAKtQ,OAClCsQ,KAAKA,KAAKtQ,UAAY,CAACqzG,MAAMA,EAAMjqG,MAAMA,EAAM0B,OAAOA,EACxD,EACC9K,OAAO,EACPm2G,aAAa,SAASz0G,GAAG,OAAO4O,KAAK5O,GAAGqc,SAAS,EACjDq4F,WAAW,SAAS10G,GAAG,OAAO4O,KAAK5O,GAAGqwG,OAAO,EAC7CsE,SAAS,SAAS30G,GAAG,OAAO4O,KAAK5O,GAAG2xG,KAAK,EACzCiD,OAAO,SAAS50G,GAAG,OAAO4O,KAAK5O,GAAGuc,GAAG,EACrCs4F,SAAS,SAAS70G,GAAG,OAAO4O,KAAK5O,GAAG0H,KAAK,GA2B1CotG,GAAAxE,UAAoBA,EACpBwE,GAAA1E,WAAqBA,wCCrpBrB,IAAI9xE,EAAcI,KACdoN,EAAMipE,KACNC,EAAWC,KACXH,EAAMI,KAENvyE,EAAoBmJ,EAAInJ,kBAExBzE,EAAYI,EAAYJ,UAExBkyE,EAAa0E,EAAI1E,WACjBE,EAAYwE,EAAIxE,UAuBpB,SAAS6E,EAAqB5yF,GAC7B,OAAOA,EACLliB,QAAQ,gBAAiB,MACzBA,QAAQ,oBAAqB,KAChC,CAiCA,SAAS8U,EAAUigG,GAClBxmG,KAAKwmG,QAAUA,GAAU,CAAC/E,QAAQ,CAAA,EACnC,CAoEA,SAASgF,IACLzmG,KAAK0mG,OAAQ,CACjB,CACA,SAASriF,EAASo9E,EAAQnrF,GACzBA,EAAKsrF,WAAaH,EAAQG,WAC1BtrF,EAAKurF,aAAeJ,EAAQI,YAC7B,CAiHA,SAAS8E,EAASz0G,GACjB,GAAGA,EACF,MAAO,OAAOA,EAAEmmC,UAAW,IAAI,UAAUnmC,EAAE0vG,WAAW,QAAQ1vG,EAAE2vG,aAAa,GAE/E,CACA,SAAS+E,EAAUC,EAAM9/E,EAAMr3B,GAC9B,MAAmB,iBAATm3G,EACFA,EAAM5C,OAAOl9E,EAAMr3B,GAEvBm3G,EAAMn3G,QAAUq3B,EAAMr3B,GAAUq3B,EAC3B,IAAI+/E,KAAKxnF,KAAKjK,OAAOwxF,EAAM9/E,EAAMr3B,GAAQ,GAE1Cm3G,CAET,CAsCA,SAASjE,EAAemE,EAAOzwF,GACtBywF,EAAOtB,eAGRsB,EAAOtB,eAAezlF,YAAY1J,GAFlCywF,EAAOtoF,IAAIuB,YAAY1J,EAI/B,QAnPA/P,EAAU6G,UAAUzG,gBAAkB,SAAS0I,EAAO3V,GACrD,IAAI8sG,EAAUxmG,KAAKwmG,QACfN,EAAO,IAAIxE,EACXmB,EAAa2D,EAAQ3D,YAAc,IAAI4D,EACvCxE,EAAeuE,EAAQvE,aACvBR,EAAU+E,EAAQ/E,QAClBkD,EAAe6B,EAAQQ,OAAO,CAAA,EAC9B/3E,EAAS,aAAaz+B,KAAKkJ,GACzB0nG,EAAYnyE,EAASm3E,EAAS1oE,cAAgB0oE,EAAShpE,aAC1DqkE,GACFoB,EAAWoE,mBAAmBxF,GAG/ByE,EAAIjE,aAkBL,SAA2BiF,EAAUrE,EAAWpB,GAC/C,IAAIyF,EAAU,CACb,GAAGrE,aAAsB4D,EACxB,OAAO5D,EAERqE,EAAYrE,CACd,CACC,IAAIZ,EAAe,CAAA,EACfkF,EAAaD,aAAqBE,SAEtC,SAASC,EAAMl6F,GACd,IAAIm6F,EAAKJ,EAAU/5F,IACfm6F,GAAMH,IACTG,EAAyB,GAApBJ,EAAUx3G,OAAY,SAAS63G,GAAKL,EAAU/5F,EAAIo6F,EAAI,EAAEL,GAE9DjF,EAAa90F,GAAOm6F,GAAM,SAASC,GAClCD,EAAG,WAAWn6F,EAAI,MAAMo6F,EAAIZ,EAASlF,GACxC,GAAK,WAAU,CACf,CAIC,OAbAA,EAAUA,GAAS,CAAA,EAUnB4F,EAAM,WACNA,EAAM,SACNA,EAAM,cACCpF,CACR,CAzCoBuF,CAAkBvF,EAAaY,EAAWpB,GAC7DyE,EAAIrD,WAAa2D,EAAQ3D,YAAcA,EACpC5zE,IACF01E,EAAa,IAAMr1E,EAAUN,MAE9B21E,EAAaj+F,IAAMi+F,EAAaj+F,KAAO4oB,EAAUE,IACjD,IAAIlO,EAAYklF,EAAQD,sBAAwBA,EAUhD,OATIl3F,GAA4B,iBAAXA,EACpB62F,EAAI/iG,MACHme,EAAUjS,GACVs1F,EACAvD,GAGD8E,EAAIjE,aAAa57F,MAAM,sBAEjBw8F,EAAWpkF,GACnB,EA+CAgoF,EAAWr5F,UAAY,CACtBw3F,cAAgB,WACZ5kG,KAAKye,KAAM,IAAIsV,GAAoB4F,eAAe,KAAM,KAAM,MAC1D35B,KAAKyhG,UACLzhG,KAAKye,IAAIgpF,YAAcznG,KAAKyhG,QAAQppE,SAE7C,EACC+qE,aAAa,SAAS3vE,EAAchmB,EAAWs1F,EAAOnrE,GACrD,IAAInZ,EAAMze,KAAKye,IACRnK,EAAKmK,EAAIqb,gBAAgBrG,EAAcsvE,GAAOt1F,GAC9CoqB,EAAMD,EAAMloC,OAChBkzG,EAAc5iG,KAAMsU,GACpBtU,KAAKylG,eAAiBnxF,EAEzBtU,KAAKyhG,SAAWp9E,EAASrkB,KAAKyhG,QAAQntF,GACnC,IAAK,IAAIljB,EAAI,EAAIA,EAAIymC,EAAKzmC,IAAK,CACvBqiC,EAAemE,EAAMouE,OAAO50G,GAAhC,IACI0H,EAAQ8+B,EAAMquE,SAAS70G,GAE7BqlB,GADMssF,EAAQnrE,EAAMmuE,SAAS30G,GACtBqtB,EAAIod,kBAAkBpI,EAAcsvE,IAC/C/iG,KAAKyhG,SAAUp9E,EAASuT,EAAMkuE,WAAW10G,GAAGqlB,GAC5CA,EAAK3d,MAAQ2d,EAAK1gB,UAAY+C,EAC9Bwb,EAAGukB,iBAAiBpiB,EACvB,CACA,EACC4sF,WAAW,SAAS5vE,EAAchmB,EAAWs1F,GAC5C,IAAI1oF,EAAUra,KAAKylG,eAEnBzlG,KAAKylG,eAAiBprF,EAAQ/c,UAChC,EACC6lG,mBAAmB,SAASxvE,EAAQhmB,GACrC,EACC21F,iBAAiB,SAAS3vE,GAC3B,EACC8wE,sBAAsB,SAASh9E,EAAQhjB,GACnC,IAAIijG,EAAM1nG,KAAKye,IAAI+c,4BAA4B/T,EAAQhjB,GACvDzE,KAAKyhG,SAAWp9E,EAASrkB,KAAKyhG,QAAQiG,GACtC9E,EAAc5iG,KAAM0nG,EACzB,EACCC,oBAAoB,SAASC,EAAI7gF,EAAOr3B,GACzC,EACCg0G,WAAW,SAASmD,EAAO9/E,EAAOr3B,GAGjC,GAFAm3G,EAAQD,EAAUiB,MAAM7nG,KAAKvQ,WAEpB,CACR,GAAIuQ,KAAK0mG,MACR,IAAIoB,EAAW9nG,KAAKye,IAAI8c,mBAAmBsrE,QAEvCiB,EAAW9nG,KAAKye,IAAI4c,eAAewrE,GAErC7mG,KAAKylG,eACPzlG,KAAKylG,eAAezlF,YAAY8nF,GACxB,QAAQt3G,KAAKq2G,IACrB7mG,KAAKye,IAAIuB,YAAY8nF,GAGtB9nG,KAAKyhG,SAAWp9E,EAASrkB,KAAKyhG,QAAQqG,EACzC,CACA,EACCC,cAAc,SAASxsG,GACxB,EACCqqG,YAAY,WACX5lG,KAAKye,IAAI6C,WACX,EACC2lF,mBAAmB,SAAUxF,IACtBzhG,KAAKyhG,QAAUA,KACjBA,EAAQG,WAAa,EAE3B,EAECoC,QAAQ,SAAS6C,EAAO9/E,EAAOr3B,GAC9Bm3G,EAAQD,EAAUiB,MAAM7nG,KAAKvQ,WAC1B,IAAIu4G,EAAOhoG,KAAKye,IAAI6c,cAAcurE,GAClC7mG,KAAKyhG,SAAWp9E,EAASrkB,KAAKyhG,QAAQuG,GACtCpF,EAAc5iG,KAAMgoG,EACzB,EAEC9D,WAAW,WAEPlkG,KAAK0mG,OAAQ,CAClB,EACCvC,SAAS,WACLnkG,KAAK0mG,OAAQ,CAClB,EAECpC,SAAS,SAAS/oG,EAAM48B,EAAUE,GACjC,IAAI4vE,EAAOjoG,KAAKye,IAAIob,eACjB,GAAIouE,GAAQA,EAAKluE,mBAAoB,CACjC,IAAImuE,EAAKD,EAAKluE,mBAAmBx+B,EAAM48B,EAAUE,GACjDr4B,KAAKyhG,SAAWp9E,EAASrkB,KAAKyhG,QAAQyG,GACtCtF,EAAc5iG,KAAMkoG,GACxBloG,KAAKye,IAAImb,QAAUsuE,CACxB,CACA,EAKCzF,QAAQ,SAASp8F,GAChB2E,QAAQmM,KAAK,qBAAqB9Q,EAAMsgG,EAAS3mG,KAAKyhG,SACxD,EACCp7F,MAAM,SAASA,GACd2E,QAAQ3E,MAAM,mBAAmBA,EAAMsgG,EAAS3mG,KAAKyhG,SACvD,EACCa,WAAW,SAASj8F,GACnB,MAAM,IAAIm7F,EAAWn7F,EAAOrG,KAAKyhG,QACnC,GAiDA,+JAA+JhwG,QAAQ,OAAO,SAAS0b,GACtLs5F,EAAWr5F,UAAUD,GAAO,WAAW,OAAO,IAAI,CACnD,GAWAg7F,GAAAC,aAAuB3B,EACvB0B,GAAA5B,qBAA+BA,EAC/B4B,GAAA5hG,UAAoBA,wCCjUpB,IAAI22B,EAAMpN,YACVu4E,GAAAt0E,kBAA4BmJ,EAAInJ,kBAChCs0E,GAAAlzF,cAAwB+nB,EAAI/nB,cAC5BkzF,GAAA9hG,eAA4CA","x_google_ignoreList":[0,1,4,5,6,7,8,9]}
|