/* @license magnet:?xt=urn:btih:8e4f440f4c65981c5bf93c76d35135ba5064d8b7&dn=apache-2.0.txt Apache-2.0 */
var AsciinemaPlayer=function(A){"use strict";function e(A){return"number"==typeof A?A:"string"==typeof A?A.split(":").reverse().map(parseFloat).reduce(((A,e,t)=>A+e*Math.pow(60,t))):void 0}function t(A){return{name:"string"==typeof A?.name?A.name:"Error",message:"string"==typeof A?.message?A.message:String(A)}}const V=/^#[0-9a-f]{6}$/,g=/^#[0-9a-f]{3}$/;function n(A,e=void 0){if("string"!=typeof A)return e;const t=A.trim().toLowerCase();return V.test(t)?t:g.test(t)?`#${t[1]}${t[1]}${t[2]}${t[2]}${t[3]}${t[3]}`:e}function r(A,e,t){return[e[0]+A*(t[0]-e[0]),e[1]+A*(t[1]-e[1]),e[2]+A*(t[2]-e[2])]}function i(A){const[e,t,V]=function(A){return[Number.parseInt(A.slice(1,3),16)/255,Number.parseInt(A.slice(3,5),16)/255,Number.parseInt(A.slice(5,7),16)/255]}(A).map(Q),g=.4122214708*e+.5363325363*t+.0514459929*V,n=.2119034982*e+.6806995451*t+.1073969566*V,r=.0883024619*e+.2817188376*t+.6299787005*V,i=Math.cbrt(g),o=Math.cbrt(n),I=Math.cbrt(r);return[.2104542553*i+.793617785*o-.0040720468*I,1.9779984951*i-2.428592205*o+.4505937099*I,.0259040371*i+.7827717662*o-.808675766*I]}function o(A){const e=I(A);if(E(e))return C(e);const[t,V,g]=function([A,e,t]){return[A,Math.hypot(e,t),Math.atan2(t,e)]}(A);let n=0,r=V,i=[t,0,g];for(let A=0;A<24;A+=1){const A=(n+r)/2,e=[t,A,g];E(I(B(e)))?(n=A,i=e):r=A}return C(I(B(i)))}function I(A){const e=c(A[0],0,1),t=A[1],V=A[2],g=(e+.3963377774*t+.2158037573*V)**3,n=(e-.1055613458*t-.0638541728*V)**3,r=(e-.0894841775*t-1.291485548*V)**3,i=-1.2684380046*g+2.6097574011*n-.3413193965*r,o=-.0041960863*g-.7034186147*n+1.707614701*r;return[a(4.0767416621*g-3.3077115913*n+.2309699292*r),a(i),a(o)]}function B([A,e,t]){return[A,e*Math.cos(t),e*Math.sin(t)]}function s(A,e,t){return`#${l(A)}${l(e)}${l(t)}`}function C(A){return s(255*A[0],255*A[1],255*A[2])}function Q(A){return A<=.04045?A/12.92:((A+.055)/1.055)**2.4}function a(A){return A<=.0031308?12.92*A:1.055*A**(1/2.4)-.055}function E([A,e,t]){return A>=0&&A<=1&&e>=0&&e<=1&&t>=0&&t<=1}function c(A,e,t){return Math.max(e,Math.min(t,A))}function l(A){return Math.round(c(A,0,255)).toString(16).padStart(2,"0")}class u{log(...A){}debug(...A){}info(...A){}warn(...A){}error(...A){}}class d{constructor(A,e){this.logger=A,this.prefix=e}log(A,...e){this.logger.log(`${this.prefix}${A}`,...e)}debug(A,...e){this.logger.debug(`${this.prefix}${A}`,...e)}info(A,...e){this.logger.info(`${this.prefix}${A}`,...e)}warn(A,...e){this.logger.warn(`${this.prefix}${A}`,...e)}error(A,...e){this.logger.error(`${this.prefix}${A}`,...e)}}class f{constructor(A=1){this.speed=A,this.startTime=performance.now()}getTime(){return this.speed*(performance.now()-this.startTime)}setTime(A){this.startTime=performance.now()-A/this.speed}}class w{constructor(){}getTime(A){}setTime(A){}}class h{constructor(A,e){this.input="function"==typeof A.next?A:A[Symbol.iterator](),this.xfs=e??[]}map(A){return this.transform(function(A){return e=>t=>{e(A(t))}}(A))}flatMap(A){return this.transform(function(A){return e=>t=>{A(t).forEach(e)}}(A))}filter(A){return this.transform(function(A){return e=>t=>{A(t)&&e(t)}}(A))}take(A){return this.transform(function(A){let e=0;return t=>V=>{e<A&&t(V),e+=1}}(A))}drop(A){return this.transform(function(A){let e=0;return t=>V=>{e+=1,e>A&&t(V)}}(A))}transform(A){return new h(this.input,this.xfs.concat([A]))}multiplex(A,e){return new h(new y(this[Symbol.iterator](),A[Symbol.iterator](),e))}toArray(){return Array.from(this)}[Symbol.iterator](){let A=0,e=[],t=!1;const V=(g=this.xfs,n=A=>e.push(A),g.reverse().reduce(((A,e)=>{const t=D(e(A.step));return{step:t.step,flush:()=>{t.flush(),A.flush()}}}),D(n)));var g,n;return{next:()=>{for(A===e.length&&(e=[],A=0);0===e.length;){const A=this.input.next();if(A.done)break;V.step(A.value)}return 0!==e.length||t||(V.flush(),t=!0),e.length>0?{done:!1,value:e[A++]}:{done:!0}}}}}function D(A){return"function"==typeof A?{step:A,flush:()=>{}}:A}class y{constructor(A,e,t){this.left=A,this.right=e,this.comparator=t}[Symbol.iterator](){let A,e;return{next:()=>{if(void 0===A&&void 0!==this.left){const e=this.left.next();e.done?this.left=void 0:A=e.value}if(void 0===e&&void 0!==this.right){const A=this.right.next();A.done?this.right=void 0:e=A.value}if(void 0===A&&void 0===e)return{done:!0};if(void 0===A){const A=e;return e=void 0,{done:!1,value:A}}if(void 0===e){const e=A;return A=void 0,{done:!1,value:e}}if(this.comparator(A,e)){const e=A;return A=void 0,{done:!1,value:e}}{const A=e;return e=void 0,{done:!1,value:A}}}}}}async function p(A,e){return function(A){const e={start:0},t=A.events.filter((A=>"m"===A[1])).map((A=>[A[0],A[2].label]));return{cols:A.cols,rows:A.rows,theme:A.theme,duration:A.duration,effectiveStartAt:A.effectiveStartAt,markers:t,segments:[e],async loadSegment(e){if(0!==e)throw new Error("unknown recording segment");return{snapshot:{cols:A.cols,rows:A.rows,init:""},events:A.events}}}}(function(A,{startAt:e=0,idleTimeLimit:t,inputOffset:V,markers:g}){let{events:n}=A;n instanceof h||(n=new h(n));e*=1e3,t=t??A.idleTimeLimit,t=void 0!==t?1e3*t:1/0,V=void 0!==V?1e3*V:void 0;const r={offset:0};n=n.map(function(A,e,t){let V=0,g=0;return function(n){const r=n[0]-V-A;return V=n[0],r>0&&(g+=r,n[0]<e&&(t.offset+=r)),[n[0]-g,n[1],n[2]]}}(t,e,r)),void 0!==g&&(g=new h(g).map(m),n=n.filter((A=>"m"!==A[1])).multiplex(g,((A,e)=>A[0]<e[0])));n=n.map(function(){let A=0;return function(e){return"m"===e[1]?[e[0],e[1],{index:A++,time:e[0],label:e[2]}]:e}}()),n=n.toArray(),void 0!==V&&(n=n.map((A=>"i"===A[1]?[A[0]+V,A[1],A[2]]:A)),n.sort(((A,e)=>A[0]-e[0])));if(0===n.length)throw new Error("recording is missing events");const i=n[n.length-1][0],o=e-r.offset;return{...A,events:n,duration:i,effectiveStartAt:o}}(await async function(A){const{parser:e,encoding:t="utf-8"}=A,V=await async function({url:A,data:e,fetchOpts:t={}}){if("string"==typeof A)return await k(A,t);if(Array.isArray(A))return await Promise.all(A.map((A=>k(A,t))));if(void 0!==e){"function"==typeof e&&(e=e()),e instanceof Promise||(e=Promise.resolve(e));const A=await e;return"string"==typeof A||A instanceof ArrayBuffer?new Response(A):A}throw new Error("failed fetching recording file: url/data missing in src")}(A);return await e(V,{encoding:t})}(A),e))}async function k(A,e){const t=await fetch(A,e);if(!t.ok)throw new Error(`failed fetching recording from ${A}: ${t.status} ${t.statusText}`);return t}function m(A){return"number"==typeof A?[1e3*A,"m",""]:[1e3*A[0],"m",A[1]]}function q(A){const e=n(A.foreground),t=n(A.background),V=A.palette;if(void 0===V)return;if(!e||!t||V.length<8)return;const g=[],r=Math.min(V.length,16);for(let A=0;A<r;A+=1){const e=n(V[A]);if(!e)return;g.push(e)}for(let A=g.length;A<16;A+=1)g.push(g[A-8]);return{foreground:e,background:t,palette:g}}function L(A,e={}){return function(A,{idleTimeLimit:e,markers:t}){if("string"!=typeof A.url)throw new Error("segmented recording source requires a URL");const V=[];void 0!==e&&V.push("idleTimeLimit");void 0!==t&&V.push("markers");for(const e of["inputOffset","parser","encoding"])Object.hasOwn(A,e)&&V.push(e);if(V.length>0)throw new Error(`segmented recordings do not support option: ${V.join(", ")}`)}(A,e),async function(A,{startAt:e=0}){const t=await F(A.url,A.fetchOpts??{});let V;try{V=await t.json()}catch(e){throw new Error(`failed parsing segmented recording index from ${A.url}: ${e.message}`)}!function(A){if(1!==A?.version)throw new Error(`unsupported segmented recording version: ${JSON.stringify(A?.version)}`);if(M(A.duration,"recording duration"),R(A.term,"recording terminal"),!Array.isArray(A.segments)||0===A.segments.length)throw new Error("segmented recording index is missing segments");let e=-1;if(A.segments.forEach(((t,V)=>{if(M(t?.start,`segment ${V} start`),"string"!=typeof t?.url||0===t.url.length)throw new Error(`segment ${V} is missing its URL`);if(0===V&&0!==t.start)throw new Error("first segment must start at 0");if(V>0&&(t.start<=e||t.start>=A.duration))throw new Error(`segment ${V} start must be strictly increasing and before duration`);e=t.start})),void 0!==A.markers&&!Array.isArray(A.markers))throw new Error("segmented recording markers must be an array");let t=-1;for(const[e,V]of(A.markers??[]).entries()){if(!Array.isArray(V)||2!==V.length||"string"!=typeof V[1])throw new Error(`invalid marker ${e} in segmented recording index`);if(M(V[0],`marker ${e} time`),V[0]<t||V[0]>A.duration)throw new Error(`marker ${e} time is out of order or range`);t=V[0]}}(V);const g=1e3*V.duration,n=(V.markers??[]).map((([A,e])=>[1e3*A,e])),r=V.segments.map((e=>({start:1e3*e.start,url:v(e.url,t.url||A.url)}))),i={cols:V.term.cols,rows:V.term.rows,theme:N(V.term.theme),duration:g,effectiveStartAt:Math.min(Math.max(1e3*e,0),g),markers:n,segments:r,async loadSegment(e){if(!Number.isInteger(e)||e<0||e>=r.length)throw new Error("unknown recording segment");const t=r[e],V=await F(t.url,A.fetchOpts??{});let g;try{g=await V.json()}catch(A){throw new Error(`failed parsing recording segment from ${t.url}: ${A.message}`)}return function(A,e,t){const V=t?.snapshot;if(R(V,`segment ${e} snapshot`),"string"!=typeof V.init)throw new Error(`segment ${e} snapshot init must be a string`);if(!Array.isArray(t.events)||0===t.events.length)throw new Error(`segment ${e} is missing events`);const g=A.segments[e].start,n=A.segments[e+1]?.start??A.duration;let r=-1,i=A.markers.findIndex((([A])=>A>=g));-1===i&&(i=A.markers.length);const o=t.events.map(((t,V)=>{if(!Array.isArray(t)||3!==t.length||"string"!=typeof t[1])throw new Error(`invalid event ${V} in segment ${e}`);const o=1e3*t[0];if(M(o,`event ${V} time in segment ${e}`,!0),o<r||o<g||(e+1<A.segments.length?o>=n:o>n))throw new Error(`event ${V} time is out of range in segment ${e}`);if(r=o,"m"===t[1]){if("string"!=typeof t[2])throw new Error(`marker event ${V} in segment ${e} must have a string label`);return[o,"m",{index:i++,time:o,label:t[2]}]}return[o,t[1],t[2]]}));if(e>0&&o[0][0]!==g)throw new Error(`segment ${e} first event must match its start`);if(e===A.segments.length-1&&o[o.length-1][0]!==A.duration)throw new Error("final segment event must match recording duration");return{snapshot:{cols:V.cols,rows:V.rows,init:V.init},events:o}}(i,e,g)}};return i}(A,e)}async function F(A,e){const t=await fetch(A,e);if(!t.ok)throw new Error(`failed fetching recording from ${A}: ${t.status} ${t.statusText}`);return t}function M(A,e,t=!1){if(!Number.isFinite(A)||A<0)throw new Error(`${e} must be a finite non-negative ${t?"millisecond":"second"} value`)}function R(A,e){if(!Number.isInteger(A?.cols)||A.cols<=0||!Number.isInteger(A?.rows)||A.rows<=0)throw new Error(`${e} must have positive integer cols and rows`)}function N(A){return q({foreground:A?.fg,background:A?.bg,palette:"string"==typeof A?.palette?A.palette.split(":"):void 0})}function v(A,e){return new URL(A,new URL(e,globalThis.location?.href??"http://localhost/")).href}function b(A,e){let t=0,V=A.segments.length;for(;t+1<V;){const g=Math.floor((t+V)/2);A.segments[g].start<=e?t=g:V=g}return t}async function G(A){if(A instanceof Response){const e=await A.text(),t=function(A){const e=A.split("\n");let t;try{t=JSON.parse(e[0])}catch(A){return}const V=new h(e).drop(1).filter((A=>"["===A[0])).map(JSON.parse);return{header:t,events:V}}(e);if(void 0!==t){const{header:A,events:e}=t;if(2===A.version)return S(A,e);if(3===A.version)return J(A,e);throw new Error(`asciicast v${A.version} format not supported`)}{const A=JSON.parse(e);if(1===A.version)return U(A)}}else{if("object"==typeof A&&1===A.version)return U(A);if(Array.isArray(A)){const e=A[0];if(2===e.version){return S(e,A.slice(1,A.length))}if(3===e.version){return J(e,A.slice(1,A.length))}throw new Error(`asciicast v${e.version} format not supported`)}}throw new Error("invalid data")}function U(A){let e=0;const t=new h(A.stdout).map((A=>(e+=1e3*A[0],[e,"o",A[1]])));return{cols:0===A.width?80:A.width,rows:0===A.height?24:A.height,events:t}}function S(A,e){return e instanceof h||(e=new h(e)),e=e.map((A=>[1e3*A[0],A[1],A[2]])),{cols:0===A.width?80:A.width,rows:0===A.height?24:A.height,theme:Y(A.theme),events:e,idleTimeLimit:A.idle_time_limit}}function J(A,e){e instanceof h||(e=new h(e));let t=0;return e=e.map((A=>(t+=1e3*A[0],[t,A[1],A[2]]))),{cols:0===A.term.cols?80:A.term.cols,rows:0===A.term.rows?24:A.term.rows,theme:Y(A.term?.theme),events:e,idleTimeLimit:A.idle_time_limit}}function Y(A){const e="string"==typeof A?.palette?A.palette.split(":"):void 0;return q({foreground:A?.fg,background:A?.bg,palette:e})}function T(A,e,t,V,g,n){const r=function(A){return function(e,t){"o"===e?A("output",t):"i"===e?A("input",{data:t}):"r"===e?A("resize",t):"m"===e&&A("marker",t)}}(e);if(0===A)return n.debug("using no buffer"),function(A){return{pushEvent(e){A(e[1],e[2])},pushText(e){A("o",e)},stop(){}}}(r);{let e;return"number"==typeof(A=A??{})?(n.debug(`using fixed time buffer (${A} ms)`),e=e=>A):"function"==typeof A?(n.debug("using custom dynamic buffer"),e=A({logger:n})):(n.debug("using adaptive buffer",A),e=function({logger:A}={},{minBufferTime:e=50,bufferLevelStep:t=100,maxBufferLevel:V=50,transitionDuration:g=500,peakHalfLifeUp:n=100,peakHalfLifeDown:r=1e4,floorHalfLifeUp:i=5e3,floorHalfLifeDown:o=100,idealHalfLifeUp:I=1e3,idealHalfLifeDown:B=5e3,safetyMultiplier:s=1.2,minImprovementDuration:C=3e3}={}){function Q(A){return 0===A?e:t*A}let a=1,E=Q(a),c=performance.now(),l=null,u=null,d=null,f=null,w=null,h=null;return function(D){const y=performance.now(),p=Math.max(0,y-c);if(c=y,null===l)l=D;else if(D>l){const A=1-Math.pow(2,-p/n);l+=A*(D-l)}else{const A=1-Math.pow(2,-p/r);l+=A*(D-l)}if(l=Math.max(l,0),null===u)u=D;else if(D>u){const A=1-Math.pow(2,-p/i);u+=A*(D-u)}else{const A=1-Math.pow(2,-p/o);u+=A*(D-u)}u=Math.max(u,0);const k=s*(l+(l-u));if(null===d)d=k;else if(k>d){const A=1-Math.pow(2,-p/I);d+=+A*(k-d)}else{const A=1-Math.pow(2,-p/B);d+=+A*(k-d)}let m;var q,L,F;return d<=e?m=0:(q=Math.ceil(d/t),L=1,F=V,m=Math.min(F,Math.max(L,q))),D>E&&A.debug("buffer underrun",{latency:D,bufferTime:E}),m>a?(D>E?a=Math.min(m,a+3):a+=1,w=Q(a),h=(w-E)/g,f=null,A.debug("raising buffer",{latency:D,bufferTime:E,targetBufferTime:w})):m<a?(null==f&&(f=y),y-f>=C&&(a-=1,w=Q(a),h=(w-E)/g,f=y,A.debug("lowering buffer",{latency:D,bufferTime:E,targetBufferTime:w}))):f=null,null!==w&&(E+=h*p,(h>=0&&E>w||h<0&&E<w)&&(E=w,w=null)),E}}({logger:n},A)),function(A,e,t,V,g,n=1/60){const r=1e3*n;let i,o=performance.now()-g,I=A(0),B=[],s=-r,C=!1;function Q(){return performance.now()-o}function a(A){B.push(A),void 0!==i&&(i(E()),i=void 0)}function E(){if(B.length>0){const A=B;return B=[],A}return new Promise((A=>{i=A}))}async function c(){for(;!C;){const A=await E();if(C)return;let e=0;for(;e<A.length;)e=await l(A,e)}}async function l(A,V){const g=A[V],n=g[3];if(n-s>=r){const e=n-Q();if(e>0&&(await(i=e,new Promise((A=>{setTimeout(A,i)}))),C))return A.length;t(g[0]),s=n}var i;return"o"===g[1]?u(A,V):(e(g[1],g[2]),V+1)}function u(A,t){const V=A[t],g=V[0]+r,n=[];let i=V;for(;void 0!==i&&"o"===i[1]&&i[0]<g;)n.push(i[2]),i=A[++t];return e("o",n),t}return queueMicrotask(c),{pushEvent(e){let t=Q()-e[0];t<0&&(V.debug(`correcting epoch by ${t} ms`),o+=t,t=0),I=A(t),a([e[0],e[1],e[2],e[0]+I])},pushText(A){const e=Q();a([e,"o",A,e+I])},stop(){C=!0,void 0!==i&&(i([]),i=void 0)}}}(e,r,t,n,V??0,g)}}const K=1e3,H=1e6;function O(A){const e=new TextDecoder,t=new TextDecoder;let V,g=function(A){const e=(new TextDecoder).decode(A);if("ALiS"!==e)throw new Error("not an ALiS v1 live stream");g=r},n=0;function r(A){const e=new $(new DataView(A)),t=e.getUint8();if(1!==t)throw new Error(`expected reset (0x01) frame, got ${t}`);return i(e,A)}function i(A,t){A.decodeVarUint();let r=A.decodeVarUint();V=r,r/=K,n=0;const i=A.decodeVarUint(),I=A.decodeVarUint(),B=A.getUint8();let s;if(8===B){const e=30;s=x(new Uint8Array(t,A.offset,e)),A.forward(e)}else if(16===B){const e=54;s=x(new Uint8Array(t,A.offset,e)),A.forward(e)}else if(0!==B)throw new Error(`alis: invalid theme format (${B})`);const C=A.decodeVarUint();let Q;return C>0&&(Q=e.decode(new Uint8Array(t,A.offset,C))),g=o,{time:r,term:{size:{cols:i,rows:I},theme:s,init:Q}}}function o(o){const I=new $(new DataView(o)),B=I.getUint8();return 1===B?i(I,o):111===B?function(A,t){A.decodeVarUint();const g=A.decodeVarUint();V+=g;const n=A.decodeVarUint(),r=e.decode(new Uint8Array(t,A.offset,n));return[V/K,"o",r]}(I,o):105===B?function(A,e){A.decodeVarUint();const g=A.decodeVarUint();V+=g;const n=A.decodeVarUint(),r=t.decode(new Uint8Array(e,A.offset,n));return[V/K,"i",r]}(I,o):114===B?function(A){A.decodeVarUint();const e=A.decodeVarUint();V+=e;const t=A.decodeVarUint(),g=A.decodeVarUint();return[V/K,"r",{cols:t,rows:g}]}(I):109===B?function(A,e){A.decodeVarUint();const t=A.decodeVarUint();V+=t;const g=A.decodeVarUint(),r=new TextDecoder,i=n++,o=V/K,I=V/H,B=r.decode(new Uint8Array(e,A.offset,g));return[o,"m",{index:i,time:I,label:B}]}(I,o):120===B?function(A){A.decodeVarUint();const e=A.decodeVarUint();V+=e;const t=A.decodeVarUint();return[V/K,"x",{status:t}]}(I):4===B?(g=r,!1):void A.debug(`alis: unknown frame type: ${B}`)}return function(A){return g(A)}}function x(A){const e=A.length/3,t=Z(A[0],A[1],A[2]),V=Z(A[3],A[4],A[5]),g=[];for(let t=2;t<e;t++)g.push(Z(A[3*t],A[3*t+1],A[3*t+2]));return q({foreground:t,background:V,palette:g})}function Z(A,e,t){return`#${W(A)}${W(e)}${W(t)}`}function W(A){return A.toString(16).padStart(2,"0")}class ${constructor(A,e=0){this.inner=A,this.offset=e}forward(A){this.offset+=A}getUint8(){const A=this.inner.getUint8(this.offset);return this.offset+=1,A}decodeVarUint(){let A=BigInt(0),e=BigInt(0),t=this.getUint8();for(;t>127;)t&=127,A+=BigInt(t)<<e,e+=BigInt(7),t=this.getUint8();return A+=BigInt(t)<<e,Number(A)}}function j(){const A=new TextDecoder;let e=function(V){const g=A.decode(V,{stream:!0}),[n,r]=function(A){const e=A.match(/\x1b\[8;(\d+);(\d+)t/);if(null!==e)return[parseInt(e[2],10),parseInt(e[1],10)]}(g)??function(A){const e=A.match(/\[.*COLUMNS="(\d{1,3})" LINES="(\d{1,3})".*\]/);if(null!==e)return[parseInt(e[1],10),parseInt(e[2],10)]}(g)??[80,24];return e=t,{time:0,term:{size:{cols:n,rows:r},init:g}}};function t(e){return A.decode(e,{stream:!0})}return function(A){return e(A)}}function z(A){const e=Math.min(500*Math.pow(2,A),1e4);return Math.random()*e}function X(A){if(A.length<13)return;const e=function(A){const e=P(A.subarray(0,4)),t=P(A.subarray(4,8));return e+t/1e6}(A.subarray(0,8)),t=P(A.subarray(8,12));return{time:e,data:A.subarray(12,12+t),len:t+12}}function P(A){return A[0]+256*A[1]+256*A[2]*256+256*A[3]*256*256}class _{constructor(A,t){this.logger=t.logger,this.driverFactory=function(A){if("function"==typeof A)return A;"string"==typeof A&&(A="ws://"==A.substring(0,5)||"wss://"==A.substring(0,6)?{driver:"websocket",url:A}:"clock:"==A.substring(0,6)?{driver:"clock"}:"random:"==A.substring(0,7)?{driver:"random"}:"benchmark:"==A.substring(0,10)?{driver:"benchmark",url:A.substring(10)}:{driver:"recording",url:A});void 0===A.driver&&(A.driver="recording");if("recording"==A.driver&&("segmented"!==A.format&&void 0===A.parser&&(A.parser="asciicast"),"string"==typeof A.parser)){if(!eA.has(A.parser))throw new Error(`unknown parser: ${A.parser}`);A.parser=eA.get(A.parser)}if(AA.has(A.driver)){const e=AA.get(A.driver);return(t,V)=>e(A,t,V)}throw new Error(`unsupported driver: ${JSON.stringify(A)}`)}(A),this.driver=null,this.cols=t.cols,this.rows=t.rows,this.speed=t.speed,this.loop=t.loop,this.autoPlay=t.autoPlay,this.idleTimeLimit=t.idleTimeLimit,this.preload=t.preload,this.startAt=e(t.startAt),this.poster=this._parsePoster(t.poster),this.markers=t.markers,this.pauseOnMarkers=t.pauseOnMarkers,this.audioUrl=t.audioUrl,this.initPromise=null,this.commandQueue=Promise.resolve(),this.startupPromise=new Promise((A=>{this.resolveStartup=A})),this.eventHandlers=new Map([["ended",[]],["error",[]],["input",[]],["loading",[]],["marker",[]],["metadata",[]],["muted",[]],["offline",[]],["output",[]],["pause",[]],["play",[]],["playing",[]],["reset",[]],["resize",[]],["ready",[]],["seeked",[]]])}init(){return null===this.initPromise&&(this.initPromise=this._init()),this.initPromise}terminalReady(){this.resolveStartup()}async _init(){await this.startupPromise,this.driver=this.driverFactory({dispatch:this._dispatchEvent.bind(this),logger:this.logger},{cols:this.cols,rows:this.rows,speed:this.speed,idleTimeLimit:this.idleTimeLimit,startAt:this.startAt,preload:this.preload,loop:this.loop,poster:this.autoPlay?void 0:this.poster,markers:this.markers,pauseOnMarkers:this.pauseOnMarkers,audioUrl:this.audioUrl});const A={isPausable:!!this.driver.pause,isSeekable:!!this.driver.seek};this._installDriverDefaults(),this.driver.init&&await this.driver.init(),this.autoPlay&&await this.driver.play(),this._dispatchEvent("ready",A)}_installDriverDefaults(){if(void 0===this.driver.stop&&(this.driver.stop=()=>{}),void 0===this.driver.pause&&(this.driver.pause=()=>{}),void 0===this.driver.seek&&(this.driver.seek=A=>!1),void 0===this.driver.step&&(this.driver.step=A=>{}),void 0===this.driver.mute&&(this.driver.mute=()=>{}),void 0===this.driver.unmute&&(this.driver.unmute=()=>{}),void 0===this.driver.getDuration&&(this.driver.getDuration=()=>{}),void 0===this.driver.getCurrentTime){const A=this.driver.play;let e=new w;this.driver.play=()=>(e=new f(this.speed),A()),this.driver.getCurrentTime=()=>{const A=e.getTime();return"number"==typeof A?A/1e3:A}}}_enqueue(A){const e=async()=>(await this.init(),A.call(this)),t=this.commandQueue.then(e,e);return this.commandQueue=t.catch((()=>{})),t}play(){return this._enqueue((function(){return this.driver.play()}))}pause(){return this._enqueue((function(){return this.driver.pause()}))}seek(A){return this._enqueue((function(){return this.driver.seek(A)}))}step(A){return this._enqueue((function(){return this.driver.step(A)}))}stop(){return this._enqueue((function(){return this.driver.stop()}))}mute(){return this._enqueue((function(){return this.driver.mute()}))}unmute(){return this._enqueue((function(){return this.driver.unmute()}))}getCurrentTime(){return this.driver?this.driver.getCurrentTime():0}getRemainingTime(){const A=this.getDuration();if("number"==typeof A)return A-Math.min(this.getCurrentTime(),A)}getProgress(){const A=this.getDuration();if("number"==typeof A)return Math.min(this.getCurrentTime(),A)/A}getDuration(){if(this.driver)return this.driver.getDuration()}addEventListener(A,e){this.eventHandlers.get(A).push(e)}removeEventListener(A,e){const t=this.eventHandlers.get(A);if(!t)return;const V=t.indexOf(e);-1!==V&&t.splice(V,1)}_dispatchEvent(A,e={}){for(const t of[...this.eventHandlers.get(A)])try{t(e)}catch(e){this.logger.error(`event handler for "${A}" failed`,e),"function"==typeof globalThis.reportError?globalThis.reportError(e):setTimeout((()=>{throw e}),0)}}_parsePoster(A){if("string"==typeof A)return"data:text/plain,"==A.substring(0,16)?{type:"text",value:A.substring(16)}:"npt:"==A.substring(0,4)?{type:"npt",value:e(A.substring(4))}:void 0}}const AA=new Map([["benchmark",function({url:A,iterations:e=10},{dispatch:t}){let V,g=0;return{async init(){const e=await G(await fetch(A)),{cols:n,rows:r,events:i}=e;V=Array.from(i).filter((([A,e,t])=>"o"===e)).map((([A,e,t])=>[A,t]));for(const[A,e]of V)g+=new Blob([e]).size;t("reset",{size:{cols:n,rows:r}})},play(){const A=performance.now();for(let A=0;A<e;A++){for(const[A,e]of V)t("output",e);t("output","c")}const n=(performance.now()-A)/1e3,r=g*e/n,i=g/1048576*e/n;return console.info("benchmark: result",{byteCount:g,iterations:e,duration:n,throughput:r,throughputMbs:i}),setTimeout((()=>{t("ended")}),0),!0}}}],["clock",function({hourColor:A=3,minuteColor:e=4,separatorColor:t=9},{dispatch:V},{cols:g=5,rows:n=1}){const r=Math.floor(n/2),i=Math.floor(g/2)-2,o=`[?25l[1m[${r}B`;let I;const B=()=>{(()=>{const V=new Date,g=V.getHours(),n=V.getMinutes(),r=[];r.push("\r");for(let A=0;A<i;A++)r.push(" ");return r.push(`[3${A}m`),g<10&&r.push("0"),r.push(`${g}`),r.push(`[3${t};5m:[25m`),r.push(`[3${e}m`),n<10&&r.push("0"),r.push(`${n}`),r})().forEach((A=>{V("output",A)}))};return{init:()=>{V("reset",{size:{cols:g,rows:n}}),V("output",o),B()},play:()=>(void 0!==I||(V("play"),V("playing"),V("output",o),B(),I=setInterval(B,1e3)),!0),stop:()=>{clearInterval(I)},getCurrentTime:()=>{const A=new Date;return 60*A.getHours()+A.getMinutes()}}}],["eventsource",function({url:A,bufferTime:e,minFrameTime:t},{dispatch:V,logger:g}){let n,r;g=new d(g,"eventsource: ");let i=new w;function o(A){void 0!==r&&r.stop(),r=T(e,V,(A=>i.setTime(A)),A,t,g)}return{play:()=>(n||(V("play"),n=new EventSource(A),n.addEventListener("open",(()=>{g.info("opened"),o()})),n.addEventListener("error",(A=>{g.info("errored"),g.debug({e:A}),V("loading")})),n.addEventListener("message",(A=>{const e=JSON.parse(A.data);if(Array.isArray(e))r.pushEvent([1e3*e[0],e[1],e[2]]);else if(void 0!==e.cols||void 0!==e.width){const A=e.cols??e.width,t=e.rows??e.height,n="number"==typeof e.time?1e3*e.time:void 0;g.debug(`vt reset (${A}x${t})`),o(n),V("reset",{size:{cols:A,rows:t},init:e.init??void 0}),i=new f,void 0!==n&&i.setTime(n),V("playing")}else"offline"===e.state&&(g.info("stream offline"),V("offline",{message:"Stream offline"}),i=new w)})),n.addEventListener("done",(()=>{g.info("closed"),n.close(),V("ended",{message:"Stream ended"})}))),!0),stop:()=>{void 0!==r&&r.stop(),void 0!==n&&n.close()},getCurrentTime:()=>{const A=i.getTime();return"number"==typeof A?A/1e3:A}}}],["random",function(A,{dispatch:e},{speed:t}){const V=" ".charCodeAt(0),g="~".charCodeAt(0)-V;let n;const r=()=>{const A=Math.pow(5,4*Math.random());n=setTimeout(i,A/t)},i=()=>{r();const A=String.fromCharCode(V+Math.floor(Math.random()*g));e("output",A)};return{play(){if(void 0!==n)return!0;e("play"),e("playing"),r()},stop(){clearInterval(n)}}}],["recording",function(A,{dispatch:e,logger:V},{speed:g,idleTimeLimit:n,startAt:r,preload:i,loop:o,poster:I,markers:B,pauseOnMarkers:s,cols:C,rows:Q,audioUrl:a}){const E="cold",c="loading",l="ready.initial",u="ready.paused",d="ready.starting",f="ready.playing",w="ready.buffering.whilePaused",h="ready.buffering.toResume",D="ready.ended",y="failed",k="stopped",m="initRequested",q="playRequested",F="deferredPlayReady",M="pauseRequested",R="seekRequested",N="stepRequested",v="stopRequested",G="loadSucceeded",U="loadFailed",S="playbackStartConfirmed",J="playbackStartRejected",Y="playbackEnded",T="audioWaiting",K="audioPlaying",H="segmentWaiting",O="segmentReady",x="markerReached",Z="play",W="seek",$=1e3*(A.minFrameTime??1/60);let j=()=>performance.now()*g,z=E,X=[],P=!1;const _={recording:void 0,segmentIndex:void 0,segment:void 0,segmentCache:new Map,positionGeneration:0,markers:void 0,duration:void 0,effectiveStartAt:void 0,recordingEventTimeoutId:void 0,nextEventIndex:0,lastEventTime:0,startTime:void 0,pauseElapsedTime:void 0,playCount:0,waitingTimeout:void 0,loadingTimeout:void 0,audioCtx:void 0,audioElement:void 0,audioSeekable:!1,loaded:void 0,posterVisible:!1,posterRenderableAfterLoad:void 0!==I,failureError:null,segmentWaiting:!1};function AA(A=z){return A===w||A===h}function eA(){return!0===o||"number"==typeof o&&_.playCount<o}function tA(t){return void 0===_.loaded&&(_.loaded=async function(t){const g=_.positionGeneration;_.loadingTimeout=setTimeout((()=>{e("loading")}),3e3);try{const e=function(A,e){if("segmented"===A.format)return L(A,e);return p(A,e)}(A,{idleTimeLimit:n,startAt:r,markers:B,inputOffset:A.inputOffset}),i=async function(A){if(!A)return!1;_.audioElement=await async function(A){const e=new Audio;let t,V;e.preload="metadata",e.loop=!1,e.crossOrigin="anonymous";const g=new Promise(((A,e)=>{t=A,V=e}));function n(){e.removeEventListener("canplay",r),e.removeEventListener("error",i),e.removeEventListener("abort",o)}function r(){n(),t()}function i(){n(),V(new Error(`failed loading audio from ${A}`))}function o(){n(),V(new Error(`audio loading aborted for ${A}`))}return e.addEventListener("canplay",r),e.addEventListener("error",i),e.addEventListener("abort",o),e.src=A,e.load(),await g,e}(A),_.audioSeekable=!Number.isNaN(_.audioElement.duration)&&_.audioElement.duration!==1/0&&_.audioElement.seekable.length>0&&_.audioElement.seekable.end(_.audioElement.seekable.length-1)===_.audioElement.duration,_.audioSeekable?(_.audioElement.addEventListener("playing",vA),_.audioElement.addEventListener("waiting",NA)):V.warn(`audio is not seekable - you must enable range request support on the server providing ${_.audioElement.src} for audio seeking to work`);return!0}(a).catch((A=>(V.warn(`audio load failed: ${A.message}`),!1))),o=await e;if(g!==_.positionGeneration)return!1;_.recording=o,_.duration=o.duration,_.effectiveStartAt=o.effectiveStartAt,_.markers=o.markers;const s=b(o,t??("npt"===I?.type?1e3*I.value:_.effectiveStartAt)??0),C=await aA(s,!0);if(g!==_.positionGeneration)return!1;QA(s,C);const Q=await i;if(g!==_.positionGeneration)return!1;IA(G,{hasAudio:Q})}catch(A){throw BA(U,{error:A}),A}finally{WA()}}(t),_.loaded.catch((()=>{}))),_.loaded}function VA(A,n,r={}){switch(n){case m:if(A===E){if(i||"npt"==I?.type)return{nextState:c,action:()=>tA()};if("text"==I?.type)return{nextState:A,action:()=>(sA(),void(_.posterRenderableAfterLoad=!1))}}return{nextState:A};case G:return A!==c?{nextState:A}:{nextState:l,action:()=>{e("metadata",{duration:_.duration/1e3,markers:_.markers.map((([A,e])=>[A/1e3,e])),hasAudio:r.hasAudio}),YA(_.segment),sA()}};case U:return A!==c?{nextState:A}:{nextState:y,action:()=>{_.failureError=r.error,e("error",t(r.error))}};case q:return A===E?{nextState:c,action:()=>(CA(),e("play"),tA().then((()=>IA(F))))}:A===l||A===u||A===D?{nextState:d,action:()=>(e("play"),CA(),HA(Z))}:A===w?{nextState:h,action:()=>(e("play"),!!_.segmentWaiting||(!_.audioElement||_.audioElement.play().catch((A=>{throw IA(J),A}))))}:A===h||A===f?{nextState:A,action:()=>(e("play"),!0)}:{nextState:A};case F:return A===l?{nextState:d,action:()=>(CA(),HA(Z))}:{nextState:A};case S:return A!==d?{nextState:A}:{nextState:f,action:()=>(qA(),r.reason===W?e("seeked"):e("playing"),!0)};case J:return A===d?{nextState:u}:A===h?{nextState:w}:{nextState:A};case Y:return A!==f?{nextState:A}:eA()?{nextState:f,action:jA}:{nextState:D,action:zA};case T:return A===f?{nextState:h,action:()=>{V.debug("pausing session playback"),kA(),xA()}}:A===w||A===h?{nextState:A,action:xA}:{nextState:A};case K:return _.segmentWaiting?{nextState:A}:A===h?{nextState:f,action:()=>{V.debug("resuming session playback"),ZA(),qA(),e("playing")}}:A===w?{nextState:u,action:()=>{ZA()}}:{nextState:A};case H:return A===f?{nextState:h,action:()=>{var A;_.segmentWaiting=!0,A=r.time,yA(),_.pauseElapsedTime=A,xA(),_.audioElement&&_.audioElement.pause()}}:{nextState:A};case O:return _.segmentWaiting=!1,A===h?{nextState:A,action:dA}:A===w?{nextState:u,action:ZA}:{nextState:A};case M:return A===f?{nextState:u,action:OA}:A===h?{nextState:w,action:()=>(_.audioElement&&_.audioElement.pause(),!0)}:{nextState:A,action:()=>!0};case R:{if(A===E)return{nextState:c,action:()=>tA("number"==typeof r.where?1e3*r.where:void 0).then((()=>LA(r.where)))};if(AA(A)&&!_.segmentWaiting)return{nextState:A,action:()=>!1};if(A!==l&&A!==u&&A!==D&&A!==f&&A!==w&&A!==h)return{nextState:A};const t=r.seekOperation;return t.noOp?{nextState:A,action:()=>!1}:{nextState:t.reachedEnd?D:A===f||A===h?d:u,action:()=>(CA(),async function(A,t){const V=t===f||t===h,g=++_.positionGeneration;t===f&&kA();_.segmentWaiting=!1,ZA(),_.audioElement&&_.audioElement.pause();if(!await KA(A.targetTime,g))return!1;if(g!==_.positionGeneration)return!1;if(A.reachedEnd)return e("seeked"),e("ended"),!0;if(V)return await HA(W);return e("seeked"),!0}(t,A))}}case N:return A===E?{nextState:c,action:()=>tA().then((()=>oA(N,r)))}:A===f||AA(A)||A!==l&&A!==u&&A!==D?{nextState:A}:{nextState:A,action:()=>async function(A=1){const t=++_.positionGeneration,V=await async function(A,e){let t,V=Math.abs(A),g=_.segmentIndex,n=A>0?_.nextEventIndex:_.nextEventIndex-2;for(;g>=0&&g<_.recording.segments.length;){if(e!==_.positionGeneration)return;cA([g-1,g,g+1]);const r=await EA(g,e);if(e!==_.positionGeneration)return;if(A>0){for(let A=Math.max(n,0);A<r.events.length;A++)if("o"===r.events[A][1]&&0===--V){t={time:r.events[A][0]};break}if(t)break;g++,n=0}else{for(let A=Math.min(n,r.events.length-1);A>=0;A--)if("o"===r.events[A][1]&&0===--V){t={time:r.events[A][0]};break}if(t)break;g--,n=Number.MAX_SAFE_INTEGER}}t&&(t.reachedEnd=t.time>=_.duration);return t}(A,t);if(void 0===V||t!==_.positionGeneration)return;if(CA(),!await KA(V.time,t,A<0))return;_.audioElement&&_.audioSeekable&&(_.audioElement.currentTime=V.time/1e3/g);V.reachedEnd?(z=D,e("ended")):z=u}(r.n)};case x:return A!==f?{nextState:A}:s?{nextState:u,action:()=>(GA(r.data),OA(r.time))}:{nextState:A,action:()=>GA(r.data)};case v:return{nextState:k,action:XA};default:return{nextState:A}}}function gA(A,e={}){X.push({event:A,payload:e})}function nA(A,e={}){const t=z,{nextState:V,action:g}=VA(t,A,e);return V!==z&&(z=V),g?.()}function rA(A){_.failureError||z===k||(X.length=0,_.segmentWaiting=!1,$A(),_.audioElement&&_.audioElement.pause(),_.failureError=A,z=y,e("error",t(A)))}function iA(){if(_.failureError)throw _.failureError;if(z===k)throw new Error("driver has been stopped")}function oA(A,e={}){return iA(),IA(A,e)}function IA(A,e={}){if(!_.failureError&&z!==k){if(P)throw new Error("re-entrant sendDriverEvent() is not allowed during queue processing");P=!0;try{const t=nA(A,e);for(;X.length>0;){const A=X.shift();nA(A.event,A.payload)}return t}catch(A){throw rA(A),A}finally{P=!1,X.length=0}}}function BA(A,e={}){return P?(gA(A,e),!0):IA(A,e)}function sA(){_.posterRenderableAfterLoad&&("npt"==I.type?TA(1e3*I.value,!1,!1):"text"==I.type&&bA(I.value),_.posterVisible=!0)}function CA(){_.posterVisible&&bA("c"),_.posterVisible=!1,_.posterRenderableAfterLoad=!1}function QA(A,e){_.segmentIndex=A,_.segment=e,_.nextEventIndex=0,_.lastEventTime=_.recording.segments[A].start}function aA(A,e=!1){let t=_.segmentCache.get(A);return void 0===t&&(t={},t.promise=_.recording.loadSegment(A).then((e=>(_.segmentCache.get(A)===t&&(t.data=e),e)),(g=>{throw _.segmentCache.get(A)===t&&_.segmentCache.delete(A),e||V.warn(`segment prefetch failed: ${g.message}`),g})),_.segmentCache.set(A,t),e||t.promise.catch((()=>{}))),t.promise}async function EA(A,e,t){void 0===_.segmentCache.get(A)?.data&&t?.();try{return await aA(A,!0)}catch(A){throw e===_.positionGeneration&&z!==k&&rA(A),A}}function cA(A){const e=new Set(A.filter((A=>A>=0)));for(const A of _.segmentCache.keys())e.has(A)||_.segmentCache.delete(A)}function lA(){const A=_.recording.segments.length-1,e=_.segmentIndex<A?_.segmentIndex+1:eA()?0:void 0;cA([_.segmentIndex-1,_.segmentIndex,e]),void 0!==e&&aA(e)}async function uA(){const A=_.segmentIndex+1,e=_.recording.segments[A].start,t=++_.positionGeneration;try{const V=await EA(A,t,(()=>{IA(H,{time:e})}));if(t!==_.positionGeneration||z===k)return;QA(A,V),lA(),z===h||z===w?await IA(O):z===f&&fA()}catch{}}function dA(){if(ZA(),_.audioElement)return _.audioElement.play().then((()=>IA(K)),(A=>(IA(J),V.warn(`audio resume failed: ${A.message}`),!1)));gA(K)}function fA(){const A=_.segment.events[_.nextEventIndex];if(A)_.recordingEventTimeoutId=wA(hA,A[0]);else if(_.segmentIndex<_.recording.segments.length-1){const A=_.recording.segments[_.segmentIndex+1].start;_.recordingEventTimeoutId=wA(uA,A)}else BA(Y)}function wA(A,e){let t=(e-(j()-_.startTime))/g;return t<0&&(t=0),setTimeout(A,t)}function hA(){for(;void 0!==_.segment.events[_.nextEventIndex];){if(DA())return;const A=_.segment.events[_.nextEventIndex];if(void 0===A)break;if(j()-_.startTime<=A[0])break}fA()}function DA(){const A=_.segment.events[_.nextEventIndex];return"o"===A[1]?(function(){const A=_.segment.events[_.nextEventIndex],e=A[0]+$,t=[];let V=A;for(;void 0!==V&&"o"===V[1]&&V[0]<e;)t.push(V[2]),_.lastEventTime=V[0],_.nextEventIndex++,V=_.segment.events[_.nextEventIndex];bA(t)}(),!1):(_.lastEventTime=A[0],_.nextEventIndex++,pA(A))}function yA(){clearTimeout(_.recordingEventTimeoutId),_.recordingEventTimeoutId=null}function pA(A){const[t,V,g]=A;if("o"===V)bA(g);else if("i"===V)e("input",{data:g});else if("r"===V){const[A,t]=g.split("x").map((A=>Number.parseInt(A,10)));e("resize",JA(A,t))}else if("m"===V)return!0===IA(x,{data:g,time:t});return!1}function kA(){yA(),_.pauseElapsedTime=j()-_.startTime}function mA(){_.audioElement&&!_.audioCtx&&function(){_.audioCtx=new AudioContext({latencyHint:"interactive"});const A=_.audioCtx.createMediaElementSource(_.audioElement);A.connect(_.audioCtx.destination),j=RA}()}function qA(){_.startTime=j()-_.pauseElapsedTime,_.pauseElapsedTime=null,fA()}function LA(A){return iA(),function(A){if("number"==typeof A){if(Number.isFinite(A))return}else if("string"==typeof A){if(function(A){return"<<"===A||">>"===A||"<<<"===A||">>>"===A}(A)||void 0!==UA(A))return}else if("object"==typeof A&&null!==A&&("prev"===A.marker||"next"===A.marker||Number.isInteger(A.marker)&&A.marker>=0))return;throw new Error(`invalid seek target: ${JSON.stringify(A)}`)}(A),IA(R,z===E?{where:A}:{seekOperation:SA(z,A)})}function FA(A){if(0==_.markers.length)return;let e,t=0,V=_.markers[t];for(;V&&V[0]<A;)e=V[0],V=_.markers[++t];return e}function MA(){return z===f?j()-_.startTime:_.pauseElapsedTime??0}function RA(){if(!_.audioCtx)throw new Error("audio context not started - can't tell time!");const{contextTime:A,performanceTime:e}=_.audioCtx.getOutputTimestamp();return 0===e?1e3*A:1e3*A+(performance.now()-e)}function NA(){V.debug("audio buffering"),IA(T)}function vA(){V.debug("audio resumed"),IA(K)}function bA(A){e("output",A)}function GA(A){e("marker",{...A,time:A.time/1e3})}function UA(A){if(!A.endsWith("%"))return;const e=Number(A.slice(0,-1));return Number.isFinite(e)?e:void 0}function SA(A,e){const t=MA(),V=A===f;let g=e;if("number"==typeof g)g*=1e3;else if("string"==typeof g)"<<"===g?g=t-5e3:">>"===g?g=t+5e3:"<<<"===g?g=t-.1*_.duration:">>>"===g?g=t+.1*_.duration:"%"===g[g.length-1]&&(g=UA(g)/100*_.duration);else if("object"==typeof g)if("prev"===g.marker)g=FA(t)??0,V&&t-g<1e3&&(g=FA(g)??0);else if("next"===g.marker)g=function(A){if(0==_.markers.length)return;let e,t=_.markers.length-1,V=_.markers[t];for(;V&&V[0]>A;)e=V[0],V=_.markers[--t];return e}(t)??_.duration;else if("number"==typeof g.marker){const A=_.markers[g.marker];if(void 0===A)throw new Error(`invalid marker index: ${g.marker}`);g=A[0]}const n=Math.min(Math.max(g,0),_.duration);return{targetTime:n,reachedEnd:n>=_.duration,noOp:n===_.pauseElapsedTime}}function JA(A,e){return{cols:C??A,rows:Q??e}}function YA(A,t=!1){t&&bA("c"),e("reset",{size:JA(A.snapshot.cols,A.snapshot.rows),init:A.snapshot.init,theme:_.recording.theme??null})}function TA(A,e=!0,t=!0){let V=_.segment.events[_.nextEventIndex],n=[];for(;V&&(t?V[0]<=A:V[0]<A);)"o"===V[1]?n.push(V[2]):"r"===V[1]&&(n.length>0&&(bA(n),n=[]),pA(V)),_.lastEventTime=V[0],V=_.segment.events[++_.nextEventIndex];n.length>0&&bA(n),_.pauseElapsedTime=A,e&&(_.effectiveStartAt=null),_.audioElement&&_.audioSeekable&&(_.audioElement.currentTime=A/1e3/g)}async function KA(A,e,t=!1){const V=b(_.recording,A);if(e!==_.positionGeneration)return!1;if(!t&&V===_.segmentIndex&&A>=_.lastEventTime)return TA(A),!0;cA([V-1,V,V+1]);const g=await EA(V,e);return e===_.positionGeneration&&(QA(V,g),YA(g,!0),TA(A),!0)}async function HA(A){const e=_.positionGeneration;if(_.segmentIndex===_.recording.segments.length-1&&void 0===_.segment.events[_.nextEventIndex]){if(!await KA(0,e,!0))return!1}else if(null!==_.effectiveStartAt&&!await KA(_.effectiveStartAt,e))return!1;if(e!==_.positionGeneration)return!1;if(lA(),mA(),_.audioElement)try{return await _.audioElement.play(),IA(S,{reason:A})}catch(A){throw IA(J),A}return BA(S,{reason:A})}function OA(A){return _.audioElement&&_.audioElement.pause(),kA(),void 0!==A&&(_.pauseElapsedTime=A),e("pause"),!0}function xA(){clearTimeout(_.waitingTimeout),_.waitingTimeout=setTimeout((()=>{e("loading")}),1e3)}function ZA(){clearTimeout(_.waitingTimeout),_.waitingTimeout=null}function WA(){clearTimeout(_.loadingTimeout),_.loadingTimeout=null}function $A(){WA(),ZA(),yA()}async function jA(){yA(),_.playCount++;const A=++_.positionGeneration;try{const e=await EA(0,A,(()=>{gA(H,{time:_.duration})}));if(A!==_.positionGeneration)return;QA(0,e),YA(e,!0),_.pauseElapsedTime=0,_.startTime=j(),lA(),_.audioElement&&_.audioSeekable&&(_.audioElement.currentTime=0),z===h||z===w?await IA(O):(_.pauseElapsedTime=null,fA())}catch{}}function zA(){yA(),_.playCount++,_.pauseElapsedTime=_.duration,_.audioElement&&_.audioElement.pause(),cA([_.segmentIndex-1,_.segmentIndex]),e("ended")}function XA(){return _.positionGeneration++,_.segmentCache.clear(),$A(),async function(){clearTimeout(_.waitingTimeout),_.audioElement&&(_.audioElement.removeEventListener("playing",vA),_.audioElement.removeEventListener("waiting",NA),_.audioElement.pause(),_.audioElement.src="",_.audioElement.load(),_.audioElement=void 0),_.audioCtx&&(await _.audioCtx.close(),_.audioCtx=void 0)}()}return{init:function(){return oA(m)},stop:function(){return oA(v)},getDuration:function(){return void 0===_.duration?void 0:_.duration/1e3},getCurrentTime:function(){return MA()/1e3},play:function(){return oA(q)},pause:function(){return oA(M)},seek:LA,step:function(A){return oA(N,{n:A})},mute:function(){if(_.audioElement)return _.audioElement.muted=!0,e("muted",!0),!0},unmute:function(){if(_.audioElement)return _.audioElement.muted=!1,e("muted",!1),!0}}}],["websocket",function({url:A,bufferTime:e,reconnectDelay:t=z,minFrameTime:V},{dispatch:g,logger:n},{audioUrl:r}){let i,o;n=new d(n,"websocket: ");let I,B,s,C=new w,Q=0,a=!1,E=!1,c=!1,l=!1;function u(){let e;i=new WebSocket(A,["v1.alis","v2.asciicast","v3.asciicast","raw"]),i.binaryType="arraybuffer",i.onopen=()=>{e=i.protocol||"raw",n.info("opened"),n.info(`activating ${e} protocol handler`),"v1.alis"===e?i.onmessage=h(O(n)):"v2.asciicast"===e?i.onmessage=h(function(){let A=function(t){const V=JSON.parse(t);if(2!==V.version)throw new Error("not an asciicast v2 stream");return A=e,{time:0,term:{size:{cols:V.width,rows:V.height}}}};function e(A){const e=JSON.parse(A),t=1e3*e[0];if("r"===e[1]){const[A,V]=e[2].split("x");return[t,"r",{cols:parseInt(A,10),rows:parseInt(V,10)}]}return[t,e[1],e[2]]}return function(e){return A(e)}}()):"v3.asciicast"===e?i.onmessage=h(function(){let A=function(e){const V=JSON.parse(e);if(3!==V.version)throw new Error("not an asciicast v3 stream");A=t;const g={size:{cols:V.term.cols,rows:V.term.rows}};if(V.term.theme){const A="string"==typeof V.term.theme.palette?V.term.theme.palette.split(":"):void 0,e=q({foreground:V.term.theme.fg,background:V.term.theme.bg,palette:A});e&&(g.theme=e)}return{time:0,term:g}},e=0;function t(A){const t=JSON.parse(A),[V,g,n]=t;if(e+=1e3*V,"r"===g){const[A,t]=n.split("x");return[e,"r",{cols:parseInt(A,10),rows:parseInt(t,10)}]}return[e,g,n]}return function(e){return A(e)}}()):"raw"===e&&(i.onmessage=h(j())),I=setTimeout((()=>{Q=0}),1e3)},i.onclose=A=>{if(clearTimeout(B),p(),a)return;let V=!1,r="Stream ended";if("v1.alis"===e?(l||A.code>=4e3&&A.code<=4100)&&(V=!0,r=A.reason||r):(c||1e3===A.code||1005===A.code)&&(V=!0),V)n.info("closed"),g("ended",{message:r});else if(1002===A.code)n.debug(`close reason: ${A.reason}`),g("ended",{message:"Err: Player not compatible with the server"});else{clearTimeout(I);const A=t(Q++);n.info(`unexpected close, reconnecting in ${A}...`),g("loading"),setTimeout(u,A)}},E=!1}function h(A){return B=setTimeout(y,5e3),function(e){try{const t=A(e.data);if(o)if(Array.isArray(t))o.pushEvent(t),"x"===t[1]&&(c=!0);else if("string"==typeof t)o.pushText(t);else if("object"!=typeof t||Array.isArray(t)){if(!1===t)y(),l=!0;else if(void 0!==t)throw new Error(`unexpected value from protocol handler: ${t}`)}else D(t);else if("object"!=typeof t||Array.isArray(t)){if(void 0!==t)throw clearTimeout(B),new Error(`unexpected value from protocol handler: ${t}`);clearTimeout(B),B=setTimeout(y,1e3)}else D(t),clearTimeout(B)}catch(A){throw i.close(),A}}}function D({time:A,term:t}){const{size:r,init:i,theme:I}=t,{cols:B,rows:s}=r;n.info(`stream reset (${B}x${s} @${A})`),p(),o=T(e,g,(A=>C.setTime(A)),A,V,n),g("reset",{size:{cols:B,rows:s},init:i,theme:I??null}),C=new f,E=!0,c=!1,l=!1,"number"==typeof A&&C.setTime(A),g("playing")}function y(){p(),E?(n.info("stream ended"),g("offline",{message:"Stream ended"})):(n.info("stream offline"),g("offline",{message:"Stream offline"})),C=new w}function p(){o&&o.stop(),o=null}return{init:()=>{g("metadata",{hasAudio:!!r})},play:()=>(i||(g("play"),u(),r&&(s=new Audio,s.preload="auto",s.crossOrigin="anonymous",s.src=r,s.play())),!0),stop:()=>{a=!0,p(),void 0!==i&&i.close(),s&&s.pause()},mute:function(){if(s)return s.muted=!0,!0},unmute:function(){if(s)return s.muted=!1,!0},getCurrentTime:()=>{const A=C.getTime();return"number"==typeof A?A/1e3:A}}}]]),eA=new Map([["asciicast",G],["typescript",async function(A,{encoding:e}){const t=new TextDecoder(e);let V,g,n=(await A[0].text()).split("\n").filter((A=>A.length>0)).map((A=>A.split(" ")));n[0].length<3&&(n=n.map((A=>["O",A[0],A[1]])));const r=await A[1].arrayBuffer(),i=new Uint8Array(r),o=i.findIndex((A=>10==A))+1,I=t.decode(i.subarray(0,o)).match(/COLUMNS="(\d+)" LINES="(\d+)"/);null!==I&&(V=parseInt(I[1],10),g=parseInt(I[2],10));const B={array:i,cursor:o};let s=B;if(void 0!==A[2]){const e=await A[2].arrayBuffer();s={array:new Uint8Array(e),cursor:o}}const C=[];let Q=0;for(const A of n)if(Q+=1e3*parseFloat(A[1]),"O"===A[0]){const e=parseInt(A[2],10),V=B.array.subarray(B.cursor,B.cursor+e),g=t.decode(V);C.push([Q,"o",g]),B.cursor+=e}else if("I"===A[0]){const e=parseInt(A[2],10),V=s.array.subarray(s.cursor,s.cursor+e),g=t.decode(V);C.push([Q,"i",g]),s.cursor+=e}else if("S"===A[0]&&"SIGWINCH"===A[2]){const e=parseInt(A[4].slice(5),10),t=parseInt(A[3].slice(5),10);C.push([Q,"r",`${e}x${t}`])}else"H"===A[0]&&"COLUMNS"===A[2]?V=parseInt(A[3],10):"H"===A[0]&&"LINES"===A[2]&&(g=parseInt(A[3],10));return V=V??80,g=g??24,{cols:V,rows:g,events:C}}],["ttyrec",async function(A,{encoding:e}){const t=new TextDecoder(e),V=await A.arrayBuffer(),g=new Uint8Array(V),n=X(g),r=n.time,i=t.decode(n.data).match(/\x1b\[8;(\d+);(\d+)t/),o=[];let I=80,B=24;null!==i&&(I=parseInt(i[2],10),B=parseInt(i[1],10));let s=0,C=X(g);for(;void 0!==C;){const A=1e3*(C.time-r),e=t.decode(C.data);o.push([A,"o",e]),s+=C.len,C=X(g.subarray(s))}return{cols:I,rows:B,events:o}}]]);const tA=Symbol("solid-track"),VA={equals:(A,e)=>A===e};let gA=RA;const nA=1,rA=2,iA={owned:null,cleanups:null,context:null,owner:null};var oA=null;let IA=null,BA=null,sA=null,CA=null,QA=0;function aA(A,e){const t=BA,V=oA,g=0===A.length,n=void 0===e?V:e,r=g?iA:{owned:null,cleanups:null,context:n?n.context:null,owner:n},i=g?A:()=>A((()=>fA((()=>GA(r)))));oA=r,BA=null;try{return MA(i,!0)}finally{BA=t,oA=V}}function EA(A,e){const t={value:A,observers:null,observerSlots:null,comparator:(e=e?Object.assign({},VA,e):VA).equals||void 0};return[kA.bind(t),A=>("function"==typeof A&&(A=A(t.value)),mA(t,A))]}function cA(A,e,t){qA(LA(A,e,!1,nA))}function lA(A,e,t){gA=NA;const V=LA(A,e,!1,nA);V.user=!0,CA?CA.push(V):qA(V)}function uA(A,e,t){t=t?Object.assign({},VA,t):VA;const V=LA(A,e,!0,0);return V.observers=null,V.observerSlots=null,V.comparator=t.equals||void 0,qA(V),kA.bind(V)}function dA(A){return MA(A,!1)}function fA(A){if(null===BA)return A();const e=BA;BA=null;try{return A()}finally{BA=e}}function wA(A){lA((()=>fA(A)))}function hA(A){return null===oA||(null===oA.cleanups?oA.cleanups=[A]:oA.cleanups.push(A)),A}function DA(A){const e=BA,t=oA;return Promise.resolve().then((()=>{BA=e,oA=t,MA(A,!1),BA=oA=null}))}const[yA]=EA(!1);function pA(A){const e=uA(A),t=uA((()=>SA(e())));return t.toArray=()=>{const A=t();return Array.isArray(A)?A:null!=A?[A]:[]},t}function kA(){if(this.sources&&this.state)if(this.state===nA)qA(this);else{const A=sA;sA=null,MA((()=>vA(this)),!1),sA=A}if(BA){const A=this.observers?this.observers.length:0;BA.sources?(BA.sources.push(this),BA.sourceSlots.push(A)):(BA.sources=[this],BA.sourceSlots=[A]),this.observers?(this.observers.push(BA),this.observerSlots.push(BA.sources.length-1)):(this.observers=[BA],this.observerSlots=[BA.sources.length-1])}return this.value}function mA(A,e,t){let V=A.value;return A.comparator&&A.comparator(V,e)||(A.value=e,A.observers&&A.observers.length&&MA((()=>{for(let e=0;e<A.observers.length;e+=1){const t=A.observers[e],V=IA&&IA.running;V&&IA.disposed.has(t),(V?t.tState:t.state)||(t.pure?sA.push(t):CA.push(t),t.observers&&bA(t)),V||(t.state=nA)}if(sA.length>1e6)throw sA=[],new Error}),!1)),e}function qA(A){if(!A.fn)return;GA(A);const e=QA;!function(A,e,t){let V;const g=oA,n=BA;BA=oA=A;try{V=A.fn(e)}catch(e){return A.pure&&(A.state=nA,A.owned&&A.owned.forEach(GA),A.owned=null),A.updatedAt=t+1,UA(e)}finally{BA=n,oA=g}(!A.updatedAt||A.updatedAt<=t)&&(null!=A.updatedAt&&"observers"in A?mA(A,V):A.value=V,A.updatedAt=t)}(A,A.value,e)}function LA(A,e,t,V=nA,g){const n={fn:A,state:V,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:e,owner:oA,context:oA?oA.context:null,pure:t};return null===oA||oA!==iA&&(oA.owned?oA.owned.push(n):oA.owned=[n]),n}function FA(A){if(0===A.state)return;if(A.state===rA)return vA(A);if(A.suspense&&fA(A.suspense.inFallback))return A.suspense.effects.push(A);const e=[A];for(;(A=A.owner)&&(!A.updatedAt||A.updatedAt<QA);)A.state&&e.push(A);for(let t=e.length-1;t>=0;t--)if((A=e[t]).state===nA)qA(A);else if(A.state===rA){const t=sA;sA=null,MA((()=>vA(A,e[0])),!1),sA=t}}function MA(A,e){if(sA)return A();let t=!1;e||(sA=[]),CA?t=!0:CA=[],QA++;try{const e=A();return function(A){sA&&(RA(sA),sA=null);if(A)return;const e=CA;CA=null,e.length&&MA((()=>gA(e)),!1)}(t),e}catch(A){t||(CA=null),sA=null,UA(A)}}function RA(A){for(let e=0;e<A.length;e++)FA(A[e])}function NA(A){let e,t=0;for(e=0;e<A.length;e++){const V=A[e];V.user?A[t++]=V:FA(V)}for(e=0;e<t;e++)FA(A[e])}function vA(A,e){A.state=0;for(let t=0;t<A.sources.length;t+=1){const V=A.sources[t];if(V.sources){const A=V.state;A===nA?V!==e&&(!V.updatedAt||V.updatedAt<QA)&&FA(V):A===rA&&vA(V,e)}}}function bA(A){for(let e=0;e<A.observers.length;e+=1){const t=A.observers[e];t.state||(t.state=rA,t.pure?sA.push(t):CA.push(t),t.observers&&bA(t))}}function GA(A){let e;if(A.sources)for(;A.sources.length;){const e=A.sources.pop(),t=A.sourceSlots.pop(),V=e.observers;if(V&&V.length){const A=V.pop(),g=e.observerSlots.pop();t<V.length&&(A.sourceSlots[g]=t,V[t]=A,e.observerSlots[t]=g)}}if(A.tOwned){for(e=A.tOwned.length-1;e>=0;e--)GA(A.tOwned[e]);delete A.tOwned}if(A.owned){for(e=A.owned.length-1;e>=0;e--)GA(A.owned[e]);A.owned=null}if(A.cleanups){for(e=A.cleanups.length-1;e>=0;e--)A.cleanups[e]();A.cleanups=null}A.state=0}function UA(A,e=oA){const t=function(A){return A instanceof Error?A:new Error("string"==typeof A?A:"Unknown error",{cause:A})}(A);throw t}function SA(A){if("function"==typeof A&&!A.length)return SA(A());if(Array.isArray(A)){const e=[];for(let t=0;t<A.length;t++){const V=SA(A[t]);Array.isArray(V)?e.push.apply(e,V):e.push(V)}return e}return A}const JA=Symbol("fallback");function YA(A){for(let e=0;e<A.length;e++)A[e]()}function TA(A,e){return fA((()=>A(e||{})))}const KA=A=>`Stale read from <${A}>.`;function HA(A){const e="fallback"in A&&{fallback:()=>A.fallback};return uA(function(A,e,t={}){let V=[],g=[],n=[],r=0,i=e.length>1?[]:null;return hA((()=>YA(n))),()=>{let o,I,B=A()||[],s=B.length;return B[tA],fA((()=>{let A,e,Q,a,E,c,l,u,d;if(0===s)0!==r&&(YA(n),n=[],V=[],g=[],r=0,i&&(i=[])),t.fallback&&(V=[JA],g[0]=aA((A=>(n[0]=A,t.fallback()))),r=1);else if(0===r){for(g=new Array(s),I=0;I<s;I++)V[I]=B[I],g[I]=aA(C);r=s}else{for(Q=new Array(s),a=new Array(s),i&&(E=new Array(s)),c=0,l=Math.min(r,s);c<l&&V[c]===B[c];c++);for(l=r-1,u=s-1;l>=c&&u>=c&&V[l]===B[u];l--,u--)Q[u]=g[l],a[u]=n[l],i&&(E[u]=i[l]);for(A=new Map,e=new Array(u+1),I=u;I>=c;I--)d=B[I],o=A.get(d),e[I]=void 0===o?-1:o,A.set(d,I);for(o=c;o<=l;o++)d=V[o],I=A.get(d),void 0!==I&&-1!==I?(Q[I]=g[o],a[I]=n[o],i&&(E[I]=i[o]),I=e[I],A.set(d,I)):n[o]();for(I=c;I<s;I++)I in Q?(g[I]=Q[I],n[I]=a[I],i&&(i[I]=E[I],i[I](I))):g[I]=aA(C);g=g.slice(0,r=s),V=B.slice(0)}return g}));function C(A){if(n[I]=A,i){const[A,t]=EA(I);return i[I]=t,e(B[I],A)}return e(B[I])}}}((()=>A.each),A.children,e||void 0))}function OA(A){const e=A.keyed,t=uA((()=>A.when),void 0,void 0),V=e?t:uA(t,void 0,{equals:(A,e)=>!A==!e});return uA((()=>{const g=V();if(g){const n=A.children;return"function"==typeof n&&n.length>0?fA((()=>n(e?g:()=>{if(!fA(V))throw KA("Show");return t()}))):n}return A.fallback}),void 0,void 0)}function xA(A){const e=pA((()=>A.children)),t=uA((()=>{const A=e(),t=Array.isArray(A)?A:[A];let V=()=>{};for(let A=0;A<t.length;A++){const e=A,g=t[A],n=V,r=uA((()=>n()?void 0:g.when),void 0,void 0),i=g.keyed?r:uA(r,void 0,{equals:(A,e)=>!A==!e});V=()=>n()||(i()?[e,r,g]:void 0)}return V}));return uA((()=>{const e=t()();if(!e)return A.fallback;const[V,g,n]=e,r=n.children;return"function"==typeof r&&r.length>0?fA((()=>r(n.keyed?g():()=>{if(fA(t)()?.[0]!==V)throw KA("Match");return g()}))):r}),void 0,void 0)}function ZA(A){return A}const WA="_$DX_DELEGATE";function $A(A,e,t,V){let g;const n=()=>{const e=document.createElement("template");return e.innerHTML=A,e.content.firstChild},r=e?()=>fA((()=>document.importNode(g||(g=n()),!0))):()=>(g||(g=n())).cloneNode(!0);return r.cloneNode=r,r}function jA(A,e=window.document){const t=e[WA]||(e[WA]=new Set);for(let V=0,g=A.length;V<g;V++){const g=A[V];t.has(g)||(t.add(g),e.addEventListener(g,te))}}function zA(A,e,t){null==t?A.removeAttribute(e):A.setAttribute(e,t)}function XA(A,e){null==e?A.removeAttribute("class"):A.className=e}function PA(A,e,t,V){Array.isArray(t)?(A[`$$${e}`]=t[0],A[`$$${e}Data`]=t[1]):A[`$$${e}`]=t}function _A(A,e,t){if(!e)return t?zA(A,"style"):e;const V=A.style;if("string"==typeof e)return V.cssText=e;let g,n;for(n in"string"==typeof t&&(V.cssText=t=void 0),t||(t={}),e||(e={}),t)null==e[n]&&V.removeProperty(n),delete t[n];for(n in e)g=e[n],g!==t[n]&&(V.setProperty(n,g),t[n]=g);return t}function Ae(A,e,t){return fA((()=>A(e,t)))}function ee(A,e,t,V){if(void 0===t||V||(V=[]),"function"!=typeof e)return Ve(A,e,V,t);cA((V=>Ve(A,e(),V,t)),V)}function te(A){let e=A.target;const t=`$$${A.type}`,V=A.target,g=A.currentTarget,n=e=>Object.defineProperty(A,"target",{configurable:!0,value:e}),r=()=>{const V=e[t];if(V&&!e.disabled){const g=e[`${t}Data`];if(void 0!==g?V.call(e,g,A):V.call(e,A),A.cancelBubble)return}return e.host&&"string"!=typeof e.host&&!e.host._$host&&e.contains(A.target)&&n(e.host),!0},i=()=>{for(;r()&&(e=e._$host||e.parentNode||e.host););};if(Object.defineProperty(A,"currentTarget",{configurable:!0,get:()=>e||document}),A.composedPath){const t=A.composedPath();n(t[0]);for(let A=0;A<t.length-2&&(e=t[A],r());A++){if(e._$host){e=e._$host,i();break}if(e.parentNode===g)break}}else i();n(V)}function Ve(A,e,t,V,g){for(;"function"==typeof t;)t=t();if(e===t)return t;const n=typeof e,r=void 0!==V;if(A=r&&t[0]&&t[0].parentNode||A,"string"===n||"number"===n){if("number"===n&&(e=e.toString())===t)return t;if(r){let g=t[0];g&&3===g.nodeType?g.data!==e&&(g.data=e):g=document.createTextNode(e),t=re(A,t,V,g)}else t=""!==t&&"string"==typeof t?A.firstChild.data=e:A.textContent=e}else if(null==e||"boolean"===n)t=re(A,t,V);else{if("function"===n)return cA((()=>{let g=e();for(;"function"==typeof g;)g=g();t=Ve(A,g,t,V)})),()=>t;if(Array.isArray(e)){const n=[],i=t&&Array.isArray(t);if(ge(n,e,t,g))return cA((()=>t=Ve(A,n,t,V,!0))),()=>t;if(0===n.length){if(t=re(A,t,V),r)return t}else i?0===t.length?ne(A,n,V):function(A,e,t){let V=t.length,g=e.length,n=V,r=0,i=0,o=e[g-1].nextSibling,I=null;for(;r<g||i<n;)if(e[r]!==t[i]){for(;e[g-1]===t[n-1];)g--,n--;if(g===r){const e=n<V?i?t[i-1].nextSibling:t[n-i]:o;for(;i<n;)A.insertBefore(t[i++],e)}else if(n===i)for(;r<g;)I&&I.has(e[r])||e[r].remove(),r++;else if(e[r]===t[n-1]&&t[i]===e[g-1]){const V=e[--g].nextSibling;A.insertBefore(t[i++],e[r++].nextSibling),A.insertBefore(t[--n],V),e[g]=t[n]}else{if(!I){I=new Map;let A=i;for(;A<n;)I.set(t[A],A++)}const V=I.get(e[r]);if(null!=V)if(i<V&&V<n){let o,B=r,s=1;for(;++B<g&&B<n&&null!=(o=I.get(e[B]))&&o===V+s;)s++;if(s>V-i){const g=e[r];for(;i<V;)A.insertBefore(t[i++],g)}else A.replaceChild(t[i++],e[r++])}else r++;else e[r++].remove()}}else r++,i++}(A,t,n):(t&&re(A),ne(A,n));t=n}else if(e.nodeType){if(Array.isArray(t)){if(r)return t=re(A,t,V,e);re(A,t,null,e)}else null!=t&&""!==t&&A.firstChild?A.replaceChild(e,A.firstChild):A.appendChild(e);t=e}}return t}function ge(A,e,t,V){let g=!1;for(let n=0,r=e.length;n<r;n++){let r,i=e[n],o=t&&t[A.length];if(null==i||!0===i||!1===i);else if("object"==(r=typeof i)&&i.nodeType)A.push(i);else if(Array.isArray(i))g=ge(A,i,o)||g;else if("function"===r)if(V){for(;"function"==typeof i;)i=i();g=ge(A,Array.isArray(i)?i:[i],Array.isArray(o)?o:[o])||g}else A.push(i),g=!0;else{const e=String(i);o&&3===o.nodeType&&o.data===e?A.push(o):A.push(document.createTextNode(e))}}return g}function ne(A,e,t=null){for(let V=0,g=e.length;V<g;V++)A.insertBefore(e[V],t)}function re(A,e,t,V){if(void 0===t)return A.textContent="";const g=V||document.createTextNode("");if(e.length){let V=!1;for(let n=e.length-1;n>=0;n--){const r=e[n];if(g!==r){const e=r.parentNode===A;V||n?e&&r.remove():e?A.replaceChild(g,r):A.insertBefore(g,t)}else V=!0}}else A.insertBefore(g,t);return[g]}const ie=()=>{},oe=(A,e)=>e();function Ie(A,e){const t=fA(A),V=t?[t]:[],{onEnter:g=oe,onExit:n=oe}=e,[r,i]=EA(e.appear?[]:V),[o]=[yA,DA];let I,B=!1;function s(A,e){if(!A)return e&&e();B=!0,n(A,(()=>{dA((()=>{B=!1,i((e=>e.filter((e=>e!==A)))),e&&e()}))}))}function C(A){const e=I;if(!e)return A&&A();I=void 0,i((A=>[e,...A])),g(e,A??ie)}const Q="out-in"===e.mode?A=>B||s(A,C):"in-out"===e.mode?A=>C((()=>s(A))):A=>{s(A),C()};var a,E;return a=e=>{const t=A();return fA(o)?(o(),e):(t!==e&&(I=t,dA((()=>fA((()=>Q(e)))))),t)},E=e.appear?void 0:t,qA(LA(a,E,!0,nA)),r}const Be=A=>A instanceof Element;function se(A,e){if(e(A))return A;if("function"==typeof A&&!A.length)return se(A(),e);if(Array.isArray(A))for(const t of A){const A=se(t,e);if(A)return A}return null}function Ce(A,e=Be,t=Be){const V=uA(A);return uA((()=>se(V(),e)))}function Qe(A){requestAnimationFrame((()=>requestAnimationFrame(A)))}var ae={inout:"in-out",outin:"out-in"},Ee=A=>{const e=function(A){return uA((()=>{const e=A.name||"s";return{enterActive:(A.enterActiveClass||e+"-enter-active").split(" "),enter:(A.enterClass||e+"-enter").split(" "),enterTo:(A.enterToClass||e+"-enter-to").split(" "),exitActive:(A.exitActiveClass||e+"-exit-active").split(" "),exit:(A.exitClass||e+"-exit").split(" "),exitTo:(A.exitToClass||e+"-exit-to").split(" "),move:(A.moveClass||e+"-move").split(" ")}}))}(A);return Ie(Ce((()=>A.children)),{mode:ae[A.mode],appear:A.appear,onEnter(t,V){!function(A,e,t,V){const{onBeforeEnter:g,onEnter:n,onAfterEnter:r}=e;function i(e){e&&e.target!==t||(V?.(),t.removeEventListener("transitionend",i),t.removeEventListener("animationend",i),t.classList.remove(...A.enterActive),t.classList.remove(...A.enterTo),r?.(t))}g?.(t),t.classList.add(...A.enter),t.classList.add(...A.enterActive),queueMicrotask((()=>{if(!t.parentNode)return V?.();n?.(t,(()=>i()))})),Qe((()=>{t.classList.remove(...A.enter),t.classList.add(...A.enterTo),(!n||n.length<2)&&(t.addEventListener("transitionend",i),t.addEventListener("animationend",i))}))}(e(),A,t,V)},onExit(t,V){!function(A,e,t,V){const{onBeforeExit:g,onExit:n,onAfterExit:r}=e;if(!t.parentNode)return V?.();function i(e){e&&e.target!==t||(V?.(),t.removeEventListener("transitionend",i),t.removeEventListener("animationend",i),t.classList.remove(...A.exitActive),t.classList.remove(...A.exitTo),r?.(t))}g?.(t),t.classList.add(...A.exit),t.classList.add(...A.exitActive),n?.(t,(()=>i())),Qe((()=>{t.classList.remove(...A.exit),t.classList.add(...A.exitTo),(!n||n.length<2)&&(t.addEventListener("transitionend",i),t.addEventListener("animationend",i))}))}(e(),A,t,V)}})};let ce;function le(A){qe===me.length&&me.push(me.length+1);const e=qe;return qe=me[e],me[e]=A,e}function ue(A){const e=typeof A;if("number"==e||"boolean"==e||null==A)return`${A}`;if("string"==e)return`"${A}"`;if("symbol"==e){const e=A.description;return null==e?"Symbol":`Symbol(${e})`}if("function"==e){const e=A.name;return"string"==typeof e&&e.length>0?`Function(${e})`:"Function"}if(Array.isArray(A)){const e=A.length;let t="[";e>0&&(t+=ue(A[0]));for(let V=1;V<e;V++)t+=", "+ue(A[V]);return t+="]",t}const t=/\[object ([^\]]+)\]/.exec(toString.call(A));let V;if(!(t&&t.length>1))return toString.call(A);if(V=t[1],"Object"==V)try{return"Object("+JSON.stringify(A)+")"}catch(A){return"Object"}return A instanceof Error?`${A.name}: ${A.message}\n${A.stack}`:V}function de(A,e){return A>>>=0,function(){null!==De&&0!==De.byteLength||(De=new Uint32Array(ce.memory.buffer));return De}().subarray(A/4,A/4+e)}let fe=null;function we(){return(null===fe||!0===fe.buffer.detached||void 0===fe.buffer.detached&&fe.buffer!==ce.memory.buffer)&&(fe=new DataView(ce.memory.buffer)),fe}function he(A,e){return function(A,e){Ne+=e,Ne>=Re&&(Me=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),Me.decode(),Ne=e);return Me.decode(pe().subarray(A,A+e))}(A>>>=0,e)}let De=null;let ye=null;function pe(){return null!==ye&&0!==ye.byteLength||(ye=new Uint8Array(ce.memory.buffer)),ye}function ke(A){return me[A]}let me=new Array(128).fill(void 0);me.push(void 0,null,!0,!1);let qe=me.length;function Le(A,e,t){if(void 0===t){const t=ve.encode(A),V=e(t.length,1)>>>0;return pe().subarray(V,V+t.length).set(t),be=t.length,V}let V=A.length,g=e(V,1)>>>0;const n=pe();let r=0;for(;r<V;r++){const e=A.charCodeAt(r);if(e>127)break;n[g+r]=e}if(r!==V){0!==r&&(A=A.slice(r)),g=t(g,V,V=r+3*A.length,1)>>>0;const e=pe().subarray(g+r,g+V);r+=ve.encodeInto(A,e).written,g=t(g,V,r,1)>>>0}return be=r,g}function Fe(A){const e=ke(A);return function(A){A<132||(me[A]=qe,qe=A)}(A),e}let Me=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});Me.decode();const Re=2146435072;let Ne=0;const ve=new TextEncoder;"encodeInto"in ve||(ve.encodeInto=function(A,e){const t=ve.encode(A);return e.set(t),{read:A.length,written:t.length}});let be=0;const Ge="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((A=>ce.__wbg_vt_free(A>>>0,1)));let Ue=class A{static __wrap(e){e>>>=0;const t=Object.create(A.prototype);return t.__wbg_ptr=e,Ge.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,Ge.unregister(this),A}free(){const A=this.__destroy_into_raw();ce.__wbg_vt_free(A,0)}feed(A){const e=Le(A,ce.__wbindgen_export,ce.__wbindgen_export2),t=be;return Fe(ce.vt_feed(this.__wbg_ptr,e,t))}resize(A,e){return Fe(ce.vt_resize(this.__wbg_ptr,A,e))}getSize(){try{const V=ce.__wbindgen_add_to_stack_pointer(-16);ce.vt_getSize(V,this.__wbg_ptr);var A=we().getInt32(V+0,!0),e=we().getInt32(V+4,!0),t=de(A,e).slice();return ce.__wbindgen_export3(A,4*e,4),t}finally{ce.__wbindgen_add_to_stack_pointer(16)}}getLine(A,e){return Fe(ce.vt_getLine(this.__wbg_ptr,A,e))}getCursor(){return Fe(ce.vt_getCursor(this.__wbg_ptr))}};Symbol.dispose&&(Ue.prototype[Symbol.dispose]=Ue.prototype.free);const Se=new Set(["basic","cors","default"]);function Je(){const A={wbg:{}};return A.wbg.__wbg___wbindgen_debug_string_adfb662ae34724b6=function(A,e){const t=Le(ue(ke(e)),ce.__wbindgen_export,ce.__wbindgen_export2),V=be;we().setInt32(A+4,V,!0),we().setInt32(A+0,t,!0)},A.wbg.__wbg___wbindgen_throw_dd24417ed36fc46e=function(A,e){throw new Error(he(A,e))},A.wbg.__wbg_new_13317ed16189158e=function(){return le(new Array)},A.wbg.__wbg_new_4ceb6a766bf78b04=function(){return le(new Object)},A.wbg.__wbg_set_3f1d0b984ed272ed=function(A,e,t){ke(A)[Fe(e)]=Fe(t)},A.wbg.__wbg_set_8b6a9a61e98a8881=function(A,e,t){ke(A)[e>>>0]=Fe(t)},A.wbg.__wbindgen_cast_2241b6af4c4b2941=function(A,e){return le(he(A,e))},A.wbg.__wbindgen_cast_4625c577ab2ec9ee=function(A){return le(BigInt.asUintN(64,A))},A.wbg.__wbindgen_cast_d6cd19b81560fd6e=function(A){return le(A)},A.wbg.__wbindgen_object_clone_ref=function(A){return le(ke(A))},A.wbg.__wbindgen_object_drop_ref=function(A){Fe(A)},A}function Ye(A,e){return ce=A.exports,Te.__wbindgen_wasm_module=e,fe=null,De=null,ye=null,ce}async function Te(A){if(void 0!==ce)return ce;void 0!==A&&(Object.getPrototypeOf(A)===Object.prototype?({module_or_path:A}=A):console.warn("using deprecated parameters for the initialization function; pass a single object instead"));const e=Je();("string"==typeof A||"function"==typeof Request&&A instanceof Request||"function"==typeof URL&&A instanceof URL)&&(A=fetch(A));const{instance:t,module:V}=await async function(A,e){if("function"==typeof Response&&A instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(A,e)}catch(e){if(!A.ok||!Se.has(A.type)||"application/wasm"===A.headers.get("Content-Type"))throw e;console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",e)}const t=await A.arrayBuffer();return await WebAssembly.instantiate(t,e)}{const t=await WebAssembly.instantiate(A,e);return t instanceof WebAssembly.Instance?{instance:t,module:A}:t}}(await A,e);return Ye(t,V)}var Ke=Object.freeze({__proto__:null,Vt:Ue,create:function(A,e,t,V){const g=ce.create(A,e,t,V);return Ue.__wrap(g)},default:Te,initSync:function(A){if(void 0!==ce)return ce;void 0!==A&&(Object.getPrototypeOf(A)===Object.prototype?({module:A}=A):console.warn("using deprecated parameters for `initSync()`; pass a single object instead"));const e=Je();return A instanceof WebAssembly.Module||(A=new WebAssembly.Module(A)),Ye(new WebAssembly.Instance(A,e),A)}});const He=[62,0,0,0,63,52,53,54,55,56,57,58,59,60,61,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,0,0,0,0,0,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51];function Oe(A){return He[A-43]}var xe=function(A){let e,t=A.endsWith("==")?2:A.endsWith("=")?1:0,V=A.length,g=new Uint8Array(V/4*3);for(let t=0,n=0;t<V;t+=4,n+=3)e=Oe(A.charCodeAt(t))<<18|Oe(A.charCodeAt(t+1))<<12|Oe(A.charCodeAt(t+2))<<6|Oe(A.charCodeAt(t+3)),g[n]=e>>16,g[n+1]=e>>8&255,g[n+2]=255&e;return g.subarray(0,g.length-t)}("AGFzbQEAAAABnAEXYAJ/fwBgA39/fwBgAX8AYAF/AX9gBX9/f39/AGACf38Bf2ADf39/AX9gBH9/f38AYAR/f39/AX9gBn9/f39/fwBgAAF/YAV/f39/fwF/YAF8AX9gAX4Bf2AHf39/f39/fwBgA39/fgF/YAR/f39+AGADf35/AGAGf39/f39/AX9gBX9/fH9/AGAFf39+f38AYAV/f31/fwBgAAAC6wIKA3diZxpfX3diZ19uZXdfMTMzMTdlZDE2MTg5MTU4ZQAKA3diZxpfX3diZ19zZXRfOGI2YTlhNjFlOThhODg4MQABA3diZxpfX3diaW5kZ2VuX29iamVjdF9kcm9wX3JlZgACA3diZxtfX3diaW5kZ2VuX29iamVjdF9jbG9uZV9yZWYAAwN3YmcaX193Ymdfc2V0XzNmMWQwYjk4NGVkMjcyZWQAAQN3YmcaX193YmdfbmV3XzRjZWI2YTc2NmJmNzhiMDQACgN3YmcnX193YmdfX193YmluZGdlbl90aHJvd19kZDI0NDE3ZWQzNmZjNDZlAAADd2JnIF9fd2JpbmRnZW5fY2FzdF9kNmNkMTliODE1NjBmZDZlAAwDd2JnIF9fd2JpbmRnZW5fY2FzdF80NjI1YzU3N2FiMmVjOWVlAA0Dd2JnIF9fd2JpbmRnZW5fY2FzdF8yMjQxYjZhZjRjNGIyOTQxAAUDpgGkAQYABgEAAgELBQEGBQYBCA4EBgkEAAkBAAgBCQQBAQcBAgEHAwAGBQQAAQkHBwAAAQEAAAAPAAMBAQEAAwMCBQAHAAAAAQIDAwECAQAABAIABgEQAgAEAAEACQQCAAEAAAAAAgcFBREBBQIDBAEECAAAAAAAAQIAAgEAAAAIAQgSBBMLFBUDBwUCAgIBAgAAAgIAAQACAAAAAQEBAgMWAAACAAACBAUBcAElJQUDAQARBgkBfwFBgIDAAAsHxAEMBm1lbW9yeQIADV9fd2JnX3Z0X2ZyZWUANwZjcmVhdGUAGAd2dF9mZWVkAAoJdnRfcmVzaXplAC8KdnRfZ2V0U2l6ZQBeCnZ0X2dldExpbmUADAx2dF9nZXRDdXJzb3IALRFfX3diaW5kZ2VuX2V4cG9ydABuEl9fd2JpbmRnZW5fZXhwb3J0MgB4H19fd2JpbmRnZW5fYWRkX3RvX3N0YWNrX3BvaW50ZXIApgESX193YmluZGdlbl9leHBvcnQzAJwBCTsBAEEBCyQSBwgJEhISEowBiQE0igGMARaQAYoBigGOAYsBjQGsAakBqgESqwGfARJUrQFphQESVBYSEgwBIArQtAKkAa01ARB/IwBBoAFrIgQkACAEQTBqIAAQVSAEKAIwIQMgBEEoaiIAIAI2AgQgACABNgIAIANB3ABqIQsgA0HQAGohDCADQTBqIQ8gA0EkaiEQIANBDGohESADQbIBaiEHIANBxAFqIQkgBCgCKCINIAQoAiwiDmohEiANIQIDQAJAAkACQAJAAkACQCADAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAIgEkYNAAJ/IAIsAAAiAEEATgRAIABB/wFxIQAgAkEBagwBCyACLQABQT9xIQUgAEEfcSEBIABBX00EQCABQQZ0IAVyIQAgAkECagwBCyACLQACQT9xIAVBBnRyIQUgAEFwSQRAIAUgAUEMdHIhACACQQNqDAELIAFBEnRBgIDwAHEgAi0AA0E/cSAFQQZ0cnIiAEGAgMQARg0BIAJBBGoLIQJBwQAgACAAQZ8BSxshAQJAAkACQCADLQDMBSIGDgUABAQEAQQLIAFBIGtB4ABJDQEMAwsgAUEwa0EMTw0CDCALIAQgADYCQCAEQSE6ADwMAgsgBEHwAGoiASADQeAAaigCACADQeQAaigCABAgIARBCGogAxAhIAQgBCkDCDcCfCAEIAQoAnQgBCgCeBBSIAQoAgQhACAEKAIAQQFxRQRAIAEQbCAOBEAgDSAOEDsLIAQoAjQgBCgCOBChASAEQaABaiQAIAAPCyAEIAA2AkwgBEHMAGpB3MLAABA8AAsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAUH/AXEiBUEbRwRAIAVB2wBGDQEgBg4NAwQFBgcOCA4ODgIOCQ4LIANBAToAzAUgCRAqDFQLIAYODQEjAwQFDQYNDQ0ADQcNCyABQSBrQd8ASQ1SDAsLAkAgAUEYSQ0AIAFBGUYNACABQfwBcUEcRw0LCyAEQTxqIAAQPwwyCyABQfABcUEgRg0GIAFBMGtBIEkNCCABQdEAa0EHSQ0IAkAgBUHZAGsOBQkJAAkfAAsgAUHgAGtBH08NCQwICyABQTBrQc8ATw0IIANBADoAzAUgBEE8aiAJIAAQKwwwCyABQS9LBEAgAUE7RyABQTpPcUUEQCADQQQ6AMwFDE8LIAFBQGpBP0kNBAsgAUH8AXFBPEcNByADIAA2AsQBIANBBDoAzAUMTgsgAUFAakE/SQ0EIAFB/AFxQTxHDQYMSwsgAUFAakE/Tw0FDEkLIAFBIGtB4ABJDUsCQCAFQRhrDgMHBgcACyAFQZkBa0ECSQ0GIAVB0ABGDUsgBUEHRg1IDAULIANBADoAzAUgBEE8aiAJIAAQDQwrCyADIAA2AsQBIANBAjoAzAUMSQsgA0EAOgDMBSAEQTxqIAkgABANDCkLIANBADoAzAUgBEE8aiAJIAAQKwwoCwJAIAVBGGsOAwIBAgALIAVBmQFrQQJJDQEgBUHQAEcNACAGQQFrDgoVAwgJCiQLDA0ORgsgAUHwAXEiCEGAAUYNACABQZEBa0EGSw0BCyADQQA6AMwFIARBPGogABA/DCULIAhBIEcNASAGQQRHDQEMPwsgAUHwAXEhCAwBCyAGQQFrDgoBAAMEBQ4GBwgJDgsgCEEgRw0BDDsLIAFBGE8NCgwLCwJAIAFBGEkNACABQRlGDQAgAUH8AXFBHEcNDAsgBEE8aiAAED8MHwsCQAJAIAFBGEkNACABQRlGDQAgAUH8AXFBHEcNAQsgBEE8aiAAED8MHwsgAUHwAXFBIEYNOQwKCwJAIAFBGEkNACABQRlGDQAgAUH8AXFBHEcNCgsgBEE8aiAAED8MHQsgAUFAakE/TwRAIAFB8AFxIghBIEYNNyAIQTBGDToMCQsgA0EAOgDMBSAEQTxqIAkgABANDBwLIAFB/AFxQTxGDQMgAUHwAXFBIEYNLyABQUBqQT9PDQcMBAsgAUEvTQ0GIAFBOkkNOCABQTtGDTggAUFAakE+TQ0DDAYLIAFBQGpBP0kNAgwFCyABQRhJDTcgAUEZRg03IAFB/AFxQRxGDTcMBAsgAyAANgLEASADQQg6AMwFDDYLIANBCjoAzAUMNQsgBUHYAGsiCEEHTUEAQQEgCHRBwQFxGw0FIAVBGUYNACABQfwBcUEcRw0BCyAEQTxqIAAQPwwUCyAFQZABaw4QAQUFBQUFBQUDBQUCLwADAwQLIANBDDoAzAUMMQsgA0EHOgDMBSAJECoMMAsgA0EDOgDMBSAJECoMLwsgA0ENOgDMBQwuCwJAIAVBOmsOAgQCAAsgBUEZRg0CCyAGQQNrDgcJLAMKBQsHLAsgBkEDaw4HCCsrCQUKBysLIAZBA2sOBwcqAggqCQYqCyAGQQNrDgcGKSkHCQgFKQsgAUEYSQ0AIAFB/AFxQRxHDSgLIARBPGogABA/DAgLIAFBMGtBCk8NJgsgA0EIOgDMBQwkCyABQfABcUEgRg0fCyABQfABcUEwRw0jDAMLIAFBOkcNIgwgCwJAIAFBGEkNACABQRlGDQAgAUH8AXFBHEcNIgsgBEE8aiAAED8MAgsgAUHwAXFBIEYNFSABQTpGDQAgAUH8AXFBPEcNIAsgA0ELOgDMBQwfCyAELQA8IgBBMkYNHwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEEBaw4xAgMEBQYHCAkKCwwNDg8lECYREhMUFRYXGBkaGxwdHh8AISIjJCUmJygpKissLTAxMgELIAQoAkAhAAwfCyADQX5BfyADKAJoIAMoApwBRhsQeww9CyAELwE+IQAgBCADKAJoNgJMIARBADoAfCAEIANB1ABqKAIAIgE2AnAgBCABIAMoAlhBAnRqNgJ0QQEgACAAQQFNGyEAIAQgBEHMAGo2AngDQCAAQQFrIgAEQCAEQfAAahBGDQEMNgsLIARB8ABqEEYiAEUNNCAAKAIADDULIANBASAELwE+IgAgAEEBTRtBAWsiACADKAKcASIBQQFrIAAgAUkbNgJoDDsLIANBASAELwE+IgAgAEEBTRsQLgw6CyADQQEgBC8BPiIAIABBAU0bEFYgA0EANgJoDDkLIANBASAELwE+IgAgAEEBTRsQWSADQQA2AmgMOAsgA0EANgJoDDcLAkAgBC0APUEBaw4CJgATCyADQQA2AlgMNgsgA0EBIAQvAT4iACAAQQFNGyIAQX9zQQAgAGsgAygCaCADKAKcAUYbEHsMNQsgA0EBIAQvAT4iACAAQQFNGxBWDDQLIANBASAELwE+IgAgAEEBTRsQewwzCyADQQEgBC8BQCIAIABBAU0bQQFrIgAgAygCnAEiAUEBayAAIAFJGzYCaCADQQEgBC8BPiIAIABBAU0bQQFrEEkMMgsgA0EBIAQvAT4iACAAQQFNGxBZDDELIAMoAmgiACADKAKcASIBTwRAIAMgAUEBayIANgJoC0EBIAQvAT4iASABQQFNGyIBIAMoAhggAGsiBSABIAVJGyEBIAMgAygCbEGwzcAAEFoiBSgCBCAFKAIIIABBqNnAABCGASgCBEUEQCAFKAIEIAUoAgggAEEBa0G42cAAEIYBIgZCoICAgBA3AgAgBiAHKQEANwEIIAZBEGogB0EIai8BADsBAAsgBEEYaiAFKAIEIAUoAgggAEHI2cAAEHUgBCgCGCAEKAIcIAEQfiAFKAIEIAUoAgggAEHY2cAAEIYBIgAoAgRFBEAgAEKggICAEDcCACAAIAcpAQA3AQggAEEQaiAHQQhqLwEAOwEACyAEQRBqIAUoAgQgBSgCCCIAIAAgAWtB6NnAABB1IAQoAhAhACAEKAIUIARB+ABqIAdBCGovAQA7AQAgBCAHKQEANwNwQRRsIQEDQCABBEAgAEKggICAEDcCACAAIAQpA3A3AgggAEEQaiAEQfgAai8BADsBACABQRRrIQEgAEEUaiEADAELCyAFQQA6AAwgA0HgAGooAgAgA0HkAGooAgAgAygCbBCHAQwwCyADKAKcASEFIAMoAqABIQZBACEBA0AgASAGRg0wQQAhAANAIAAgBUYEQCADQeAAaigCACADQeQAaigCACABEIcBIAFBAWohAQwCBSAEQQA7AHggBEECOgB0IARBAjoAcCADIAAgAUHFACAEQfAAahARGiAAQQFqIQAMAQsACwALAAsgBCgCSCEBIAQoAkQhACAEIAQoAkA2AnggBCAANgJwIAQgAUEBdCIBIABqIgU2AnwDQCABBEACQAJAAkACQAJAAkACQAJAAkACQCAALwEAIgZBAWsOBwExMTExAgMACyAGQZcIaw4DBAUGAwsgA0EAOgDBAQwHCyADQgA3AmggA0EAOgC+AQwGCyADQQA6AL8BDAULIANBADoAcAwECyADEGUMAgsgAxB/DAILIAMQZSADEH8LIAMQDwsgAEECaiEAIAFBAmshAQwBCwsgBCAFNgJ0IARB8ABqEJ4BDC4LIAQoAkghASAEKAJEIQAgBCAEKAJANgJ4IAQgADYCcCAEIAFBAXQiASAAaiIGNgJ8A0AgAQRAAkACQAJAAkACQAJAAkACQAJAIAAvAQAiBUEBaw4HAS8vLy8CAwALIAVBlwhrDgMGBAUDCyADQQE6AMEBDAYLIANBAToAvgEgA0EANgJoIAMgAygCqAE2AmwMBQsgA0EBOgC/AQwECyADQQE6AHAMAwsgAxBdDAILIAMQXQsjAEEwayIFJAAgAy0AvAFFBEAgA0EBOgC8ASADQfQAaiADQYgBahBqIAMgA0EkahBrIAVBDGoiCCADKAKcASADKAKgASIKQQFBACADQbIBahAcIANBDGoQlAEgAyAIQSQQFCIIKAJgIAgoAmRBACAKEEoLIAVBMGokACADEA8LIABBAmohACABQQJrIQEMAQsLIAQgBjYCdCAEQfAAahCeAQwtCwJAQQEgBC8BPiIAIABBAU0bQQFrIgAgBC8BQCIBIAMoAqABIgUgARtBAWsiAUkgASAFSXFFBEAgAygCqAEhAAwBCyADIAE2AqwBIAMgADYCqAELIANBADYCaCADIABBACADLQC+ARs2AmwMLAsgA0EBOgBwIANBADsAvQEgA0EAOwG6ASADQQI6ALYBIANBAjoAsgEgA0EAOwGwASADQgA3AqQBIANBgICACDYChAEgA0ECOgCAASADQQI6AHwgA0IANwJ0IAMgAygCoAFBAWs2AqwBDCsLIAMoAqABIAMoAqwBIgBBAWogACADKAJsIgBJGyEBIAMgACABQQEgBC8BPiIFIAVBAU0bIAcQGiADQeAAaigCACADQeQAaigCACAAIAEQSgwqCyADIAMoAmggAygCbCIAQQBBASAELwE+IgEgAUEBTRsgBxAfIANB4ABqKAIAIANB5ABqKAIAIAAQhwEMKQsCQAJAAkAgBC0APUEBaw4DAQIrAAsgAyADKAJoIAMoAmwiAEEBIAQgBxAfIANB4ABqKAIAIANB5ABqKAIAIAAgAygCoAEQSgwqCyADIAMoAmggAygCbCIAQQIgBCAHEB8gA0HgAGooAgAgA0HkAGooAgBBACAAQQFqEEoMKQsgA0EAIAMoAhwgBxAoIANB4ABqKAIAIANB5ABqKAIAQQAgAygCoAEQSgwoCyADIAMoAmggAygCbCIAIAQtAD1BBHIgBCAHEB8gA0HgAGooAgAgA0HkAGooAgAgABCHAQwnCyADIAQtAD06ALEBDCYLIAMgBC0APToAsAEMJQsgA0EBEC4MJAsjAEEQayIFJAACQAJAAkAgAygCaCIIRQ0AIAggAygCnAFPDQAgBUEIaiADKAJUIgAgAygCWCIBIAgQNSAFKAIIQQFHDQAgBSgCDCIGIAFLDQEgA0HQAGoiCigCACABRgR/IApBvOLAABBiIAMoAlQFIAALIAZBAnRqIQAgASAGSwRAIABBBGogACABIAZrQQJ0EBALIAAgCDYCACADIAFBAWo2AlgLIAVBEGokAAwBCyAGIAFBvOLAABBDAAsMIwsgAygCaCIAIAMoApwBIgVGBEAgAyAAQQFrIgA2AmgLIAMgACADKAJsIgFBASAELwE+IgYgBkEBTRsiBiAFIABrIgUgBSAGSxsiBSAHEB0gACAAIAVqIgUgACAFSxshBQNAIAAgBUcEQCADIAAgAUEgIAcQERogAEEBaiEADAELCyADQeAAaigCACADQeQAaigCACABEIcBDCILIAMoAqABIAMoAqwBIgBBAWogACADKAJsIgBJGyEBIAMgACABQQEgBC8BPiIFIAVBAU0bIAcQMSADQeAAaigCACADQeQAaigCACAAIAEQSgwhCyADEFMgAy0AwAFBAUcNICADQQA2AmgMIAsgAxBTIANBADYCaAwfCyADIAAQHgweCyADKAJoIgVFDR0gBC8BPiEAIAMoAmwhASAEQSBqIAMQZiAEKAIkIgYgAU0NEkEBIAAgAEEBTRshACAEKAIgIAFBBHRqIgFBBGooAgAgAUEIaigCACAFQQFrQbjlwAAQhgEoAgAhAQNAIABFDR4gAyABEB4gAEEBayEADAALAAsgAygCbCIAIAMoAqgBRg0SIABFDRwgAyAAQQFrEEkMHAsgBEHMAGoiACADKAKcASIFIAMoAqABIgEgAygCSCADKAJMQQAQHCAEQfAAaiIGIAUgAUEBQQBBABAcIBEQlAEgAyAAQSQQFCEAIA8QlAEgECAGQSQQFBogAEEAOgC8ASAEQZQBaiIGIAUQMiAAKAJQIABB1ABqKAIAQQQQlQEgDEEIaiAGQQhqIgUoAgA2AgAgDCAEKQKUATcCACAAQQA7AboBIABBAjoAtgEgAEECOgCyASAAQQE6AHAgAEIANwJoIABBADsBsAEgAEGAgAQ2AL0BIAAgAUEBazYCrAEgAEIANwKkASAAQYCAgAg2ApgBIABBAjoAlAEgAEECOgCQASAAQQA2AowBIABCgICACDcChAEgAEECOgCAASAAQQI6AHwgAEIANwJ0IAYgARBMIAAoAlwgAEHgAGooAgBBARCVASALQQhqIAUoAgA2AgAgCyAEKQKUATcCAAwbCyAEKAJIIQEgBCgCRCEAIAQgBCgCQDYCeCAEIAA2AnAgBCABQQF0IgEgAGoiBTYCfANAIAEEQAJAIAAvAQBBFEcEQCADQQA6AL0BDAELIANBADoAwAELIABBAmohACABQQJrIQEMAQsLIAQgBTYCdCAEQfAAahCeAQwaCyADEH8MGQsgAxBdDBgLIANBASAELwE+IgAgAEEBTRsQfAwXCyAEKAJIQQVsIQEgAy0AuwEhBSAEKAJAIAQoAkQiCiEAA0ACQCABRQ0AIAAoAAEhBgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAtAABBAWsOEgECAwQFBgcICQoLDA0ODxAREwALQQAhBSADQQA7AboBIANBAjoAtgEgA0ECOgCyAQwRCyADQQE6ALoBDBALIANBAjoAugEMDwsgAyAFQQFyIgU6ALsBDA4LIAMgBUECciIFOgC7AQwNCyADIAVBCHIiBToAuwEMDAsgAyAFQRByIgU6ALsBDAsLIAMgBUEEciIFOgC7AQwKCyADQQA6ALoBDAkLIAMgBUH+AXEiBToAuwEMCAsgAyAFQf0BcSIFOgC7AQwHCyADIAVB9wFxIgU6ALsBDAYLIAMgBUHvAXEiBToAuwEMBQsgAyAFQfsBcSIFOgC7AQwECyAHIAY2AQAMAwsgB0ECOgAADAILIAMgBjYBtgEMAQsgA0ECOgC2AQsgAEEFaiEAIAFBBWshAQwBCwsgCkEFEJUBDBYLIANBADYCpAEMFQsgBCgCSCEBIAQoAkQhACAEIAQoAkA2AnggBCAANgJwIAQgAUEBdCIBIABqIgU2AnwDQCABBEACQCAALwEAQRRHBEAgA0EBOgC9AQwBCyADQQE6AMABCyAAQQJqIQAgAUECayEBDAELCyAEIAU2AnQgBEHwAGoQngEMFAsgA0EBNgKkAQwTCyADQQEgBC8BPiIAIABBAU0bEH0MEgsgBC0APQ0BCyMAQRBrIgAkACAAQQhqIAMoAlQiBiADKAJYIgEgAygCaBA1AkACQCAAKAIIRQRAIAAoAgwiBSABTw0BIAYgBUECdGoiBiAGQQRqIAEgBUF/c2pBAnQQECADIAFBAWs2AlgLIABBEGokAAwBCyMAQTBrIgAkACAAIAE2AgQgACAFNgIAIABBAzYCDCAAQcjFwAA2AgggAEICNwIUIAAgAEEEaq1CgICAgIABhDcDKCAAIACtQoCAgICAAYQ3AyAgACAAQSBqNgIQIABBCGpBzOLAABCAAQALDBALIANBADYCWAwPCyADQQEgBC8BPiIAIABBAU0bQQFrEEkMDgsgA0EBIAQvAT4iACAAQQFNGxBWDA0LIAMtAMIBQQFHDQwgAyAELwE+IgAgAygCnAEgABsgBC8BQCIAIAMoAqABIAAbECMMDAsgAyAANgLEASADQQk6AMwFDAoLIAEgBkG45cAAEEIACyADQQEQfAwJCwALQQALIgAgAygCnAEiAUEBayAAIAFJGzYCaAwGCyAJIAA2AgAMBAsgAyAANgLEASADQQU6AMwFDAMLIANBADoAzAUMAgsgA0EGOgDMBQwBCyAJKAKEBCEBAkACQAJAAkACQCAAQTprDgIBAAILIAlBHyABQQFqIgAgAEEgRhs2AoQEDAMLIAFBIEkNASABQSBB5NvAABBCAAsgAUEgTwRAIAFBIEH028AAEEIACyAJIAFBBHRqQQRqIgUoAgAiAUEGSQRAIAUgAUEBdGpBBGoiASABLwEAQQpsIABBMGtB/wFxajsBAAwCCyABQQZBtOHAABBCAAsgCSABQQR0akEEaiIBKAIAQQFqIQAgAUEFIAAgAEEFTxs2AgALCyAEQTI6ADwMAAsAC7oUAQZ/IwBBwAJrIgIkACABKAIEIQMDQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMEQCACQbgCaiABKAIAEGAgAigCuAIhAyACKAK8AkEBaw4GAQUEBQIDBQsgAEESOgAADAsLAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMvAQAiAw4eAAECAwQFDgYOBw4ODg4ODg4ODg4OCAgJCgsODA4NDgsgAkGoAWpBASABKAIAIAEoAgRB1NzAABB3IAEgAikDqAE3AgAgAEEAOgAADBgLIAJBsAFqQQEgASgCACABKAIEQeTcwAAQdyABIAIpA7ABNwIAIABBAToAAAwXCyACQbgBakEBIAEoAgAgASgCBEH03MAAEHcgASACKQO4ATcCACAAQQI6AAAMFgsgAkHAAWpBASABKAIAIAEoAgRBhN3AABB3IAEgAikDwAE3AgAgAEEDOgAADBULIAJByAFqQQEgASgCACABKAIEQZTdwAAQdyABIAIpA8gBNwIAIABBBDoAAAwUCyACQdABakEBIAEoAgAgASgCBEGk3cAAEHcgASACKQPQATcCACAAQQU6AAAMEwsgAkHYAWpBASABKAIAIAEoAgRBtN3AABB3IAEgAikD2AE3AgAgAEEGOgAADBILIAJB4AFqQQEgASgCACABKAIEQcTdwAAQdyABIAIpA+ABNwIAIABBBzoAAAwRCyACQegBakEBIAEoAgAgASgCBEHU3cAAEHcgASACKQPoATcCACAAQQg6AAAMEAsgAkHwAWpBASABKAIAIAEoAgRB5N3AABB3IAEgAikD8AE3AgAgAEEJOgAADA8LIAJB+AFqQQEgASgCACABKAIEQfTdwAAQdyABIAIpA/gBNwIAIABBCjoAAAwOCyACQYACakEBIAEoAgAgASgCBEGE3sAAEHcgASACKQOAAjcCACAAQQs6AAAMDQsgAkGIAmpBASABKAIAIAEoAgRBlN7AABB3IAEgAikDiAI3AgAgAEEMOgAADAwLIAJBkAJqQQEgASgCACABKAIEQaTewAAQdyABIAIpA5ACNwIAIABBDToAAAwLCwJAAkAgA0Eea0H//wNxQQhPBEAgA0Emaw4CAQgCCyACQQhqQQEgASgCACABKAIEQcTgwAAQdyABIAIpAwg3AgAgACADQR5rOgACIABBDjsAAAwMCwJAIAEoAgQiA0ECTwRAIAJBmAFqIAEoAgBBEGoQYCACKAKYASIDDQEgASgCBCEDCyACQegAakEBIAEoAgAgA0G03sAAEHcgAigCbCEDIAIoAmghBAwNCwJAAkACQCACKAKcAUEBRw0AIAMvAQBBAmsOBAEAAAIACyACQfAAakEBIAEoAgAgASgCBEGE38AAEHcgAigCdCEDIAIoAnAhBAwOCyABKAIAIQMgASgCBCIEQQVPBEAgAy0AJCEFIAMvATQhBiADLwFEIQcgAkGAAWpBBSADIARBxN7AABB3IAEgAikDgAE3AgAgAEEOOgAAIAAgBSAGQQh0QYD+A3EgB0EQdHJyQQh0QQFyNgABDA0LIAJB+ABqQQIgAyAEQdTewAAQdyACKAJ8IQMgAigCeCEEDA0LIAEoAgAhAyABKAIEIgRBA08EQCADLQAkIQUgAkGQAWpBAyADIARB5N7AABB3IAEgAikDkAE3AgAgACAFOgACIABBDjsAAAwMCyACQYgBakECIAMgBEH03sAAEHcgAigCjAEhAyACKAKIASEEDAwLAkACQCADQfj/A3FBKEcEQCADQTBrDgIBCQILIAJBEGpBASABKAIAIAEoAgRBtODAABB3IAEgAikDEDcCACAAIANBKGs6AAIgAEEQOwAADAwLAkAgASgCBCIDQQJPBEAgAkHYAGogASgCAEEQahBgIAIoAlgiAw0BIAEoAgQhAwsgAkEoakEBIAEoAgAgA0Gk38AAEHcgAigCLCEDIAIoAighBAwNCwJAAkACQCACKAJcQQFHDQAgAy8BAEECaw4EAQAAAgALIAJBMGpBASABKAIAIAEoAgRB9N/AABB3IAIoAjQhAyACKAIwIQQMDgsgASgCACEDIAEoAgQiBEEFTwRAIAMtACQhBSADLwE0IQYgAy8BRCEHIAJBQGtBBSADIARBtN/AABB3IAEgAikDQDcCACAAQRA6AAAgACAFIAZBCHRBgP4DcSAHQRB0cnJBCHRBAXI2AAEMDQsgAkE4akECIAMgBEHE38AAEHcgAigCPCEDIAIoAjghBAwNCyABKAIAIQMgASgCBCIEQQNPBEAgAy0AJCEFIAJB0ABqQQMgAyAEQdTfwAAQdyABIAIpA1A3AgAgACAFOgACIABBEDsAAAwMCyACQcgAakECIAMgBEHk38AAEHcgAigCTCEDIAIoAkghBAwMCyADQdoAa0H//wNxQQhJDQcgA0HkAGtB//8DcUEITw0DIAJBIGpBASABKAIAIAEoAgRBlODAABB3IAEgAikDIDcCACAAIANB3ABrOgACIABBEDsAAAwKCyADLwEAIgRBMEcEQCAEQSZHDQMgAy8BAkECRw0DQQghBEEGIQVBBCEGDAkLIAMvAQJBAkcNAkEIIQRBBiEFQQQhBgwHCyADLwEAIgRBMEcEQCAEQSZHDQIgAy8BAkECRw0CQQohBEEIIQVBBiEGDAgLIAMvAQJBAkcNAUEKIQRBCCEFQQYhBgwGCyADLwEAIgRBMEcEQCAEQSZHDQEgAy8BAkEFRw0BIAMtAAQhAyACQagCakEBIAEoAgAgASgCBEH04MAAEHcgASACKQOoAjcCACAAIAM6AAIgAEEOOwAADAgLIAMvAQJBBUYNAQsgAkEBIAEoAgAgASgCBEGU4cAAEHcgAigCBCEDIAIoAgAhBAwHCyADLQAEIQMgAkGwAmpBASABKAIAIAEoAgRBhOHAABB3IAEgAikDsAI3AgAgACADOgACIABBEDsAAAwFCyACQaABakEBIAEoAgAgASgCBEGU38AAEHcgASACKQOgATcCACAAQQ86AAAMBAsgAkHgAGpBASABKAIAIAEoAgRBhODAABB3IAEgAikDYDcCACAAQRE6AAAMAwsgAkEYakEBIAEoAgAgASgCBEGk4MAAEHcgASACKQMYNwIAIAAgA0HSAGs6AAIgAEEOOwAADAILIAMgBmotAAAhBiADIAVqLwEAIQUgAyAEai8BACEDIAJBoAJqQQEgASgCACABKAIEQeTgwAAQdyABIAIpA6ACNwIAIABBEDoAACAAIAYgBUEIdEGA/gNxIANBEHRyckEIdEEBcjYAAQwBCyACQZgCakEBIAEoAgAgASgCBEHU4MAAEHcgASACKQOYAjcCACADIAZqLQAAIQEgAyAFai8BACEFIAMgBGovAQAhAyAAQQ46AAAgACABIAVBCHRBgP4DcSADQRB0cnJBCHRBAXI2AAELIAJBwAJqJAAPCyABIAQ2AgAgASADNgIEDAALAAuXEwIkfwF+IwBB8ABrIgMkACADQTRqIAAQVSADKAI0IgVBADYCiAYgBUEANgL8BSAFQQA2AvAFIAVBADYC5AUgBUEANgLYBSAFLQBwQQFxBEAgBSgCbCABRiACQQBHcSEhIAUoAmghBgsgA0EoaiAFEGYgAygCLCIAIAFLBEAgBUGABmohHSAFQfwFaiEUIAVB9AVqIR4gBUHwBWohFSAFQegFaiEfIAVB3AVqIRYgBUHQBWohGCADKAIoIAFBBHRqIgEoAgQhACAAIAEoAghBFGxqISIgA0HWAGohIyADQdAAaiIBQQRyISQgBkH//wNxISUgAUEJaiEmQQUhAUEFIQkDQAJAAkACQCAAIgggIkcEQCAIQRRqIQAgCCgCBCIORQ0EIAgoAgAhBiAIQQhqISACQAJAIAMCfwJAICEgJSAPQf//A3EiGUZxIAhBEWoiEC0AAEEQcUEEdkcEQEEBICAoAAAiBEH/AXFBAkYNAhogBEEBcQ0BIARBgP4DcUEDcgwCCyADQQUgCCgADCICQYB+cUEEQQMgAkEBcRtyIAJB/wFxQQJGGyIENgJsQQAhCiAIKAAIIgdB/wFxQQJHDQJBACECDAcLIARBgH5xQQRyCyIENgJsQQIhAiAIKAAMIgdB/wFxQQJHDQFBACEKDAULIAdBCHYhCiAHQQFxDQNBAyECIAdBgPADcQ0EIAUtAIwGQQFHDQQMAgsgB0EIdiEKIAdBAXENAkEDIQIgB0GA8ANxDQMgBS0AjAYNAQwDCyAJQf8BcUEFRwRAIBggEa0gCa1C/wGDQiCGIBqtQiiGhIRB/MLAABBwCyABQf8BcUEFRwRAIAMgCzsAVyADQdkAaiALQRB2OgAAIAMgDDoAWiADIAE6AFYgAyANOwFUIAMgFzYCUCAWIANB0ABqQYzDwAAQWwsgBSgCiAYhASAFKAKEBiECIAUoAvwFIQQgBSgC+AUhCCAFKALwBSEUIAUoAuwFIRUgBSgC5AUhBiAFKALgBSEHIAUoAtgFIQkgBSgC1AUhBSADQQA2AmwgA0EgaiADQewAahAFIgBB38HAAEECIAUgCRAZAkACfyADKAIgBEAgAygCJAwBCyADQRhqIANB7ABqIABB4cHAAEEEIAcgBhAZIAMoAhgEQCADKAIcDAELIANBEGogA0HsAGogAEHlwcAAQQogAiABEBkgAygCEARAIAMoAhQMAQsgA0EIaiADQewAaiAAQe/BwABBDiAVIBQQGSADKAIIBEAgAygCDAwBCyADIANB7ABqIABB/cHAAEEOIAggBBAZIAMoAgBFDQEgAygCBAshASAAEJoBIAMgATYCbCADQewAakGcw8AAEDwACyADKAI4IAMoAjwQoQEgA0HwAGokACAADwsgCkEIciAKIAgtABBBAUYbIQoMAQtBBCECCyADIApBCHRBgP4DcSAHQYCAfHFyIgogAnIiBzYCQCADQQAgA0HsAGoiEiAEQf8BcUEFRiIEGzYCWCADIBGtIAmtQv8Bg0IghiAarUIohoSEIic3A1ACQCAJQf8BcUEFRgRAQQUhCSAEDQEgDkEQdCAZciERIBIQUCIJQQh2IRoMAQsgBEUEQCAkIANB7ABqIgQQSEUEQCAYICdBvMPAABBwIA5BEHQgGXIhESAEEFAiCUEIdiEaDAILIA5BEHQgEWohEQwBCyAYICdBrMPAABBwQQUhCQtBiMHAACAGEG8hBAJAAkACQAJAAn8CQCAGQaDLAEYNACAGQYPKAEYNACAGQf3//wBxQfnKAEYNACAEDQBBlMHAACAGEG8NAEHYwMAAIAYQbyEEAkAgBkGPzQBGDQAgBA0AQeTAwAAgBhBvDQBB8MDAACAGEG8NAEH8wMAAIAYQb0UNAwsgA0FAaxBQIRIgEC0AAEECdEH8AHFBAiAIQRBqLQAAIgRBAUYgBEECRhtyQf8BcSETIB4oAgAiGyAUKAIAIgdGBEAjAEEQayIEJAAgBEEIaiAeIBtBAUEEQRAQJCAEKAIIIhtBgYCAgHhHBEAgBCgCDBogG0HMw8AAEJ0BAAsgBEEQaiQACyAFKAL4BSAHQQR0aiIEIBM6AAwgBCASNgIIIAQgBjYCBCAEIA87AQAgFAwBCyADQUBrEFAhEiAfKAIAIhMgFSgCACIHRgRAIwBBEGsiBCQAIARBCGogHyATQQFBBEEMECQgBCgCCCITQYGAgIB4RwRAIAQoAgwaIBNB3MPAABCdAQALIARBEGokAAsgBSgC7AUgB0EMbGoiBCASNgIIIAQgBjYCBCAEIA87AQAgFQsgB0EBajYCAEEgIQYMAQsgBkGAAUkNACAOQf//A3FBAUsNASAGQf//A00EQCAGQQN2QcCAwABqLQAAIAZBB3F2QQFxRQ0BDAILQczAwAAgBhBvDQELIAMgCzsAVyAmIAtBEHYiBDoAACADICA2AlwgAyAMOgBaIAMgDTsBVCADIBc2AlAgAyABOgBWAkAgAUH/AXFBBUYNAAJAIANBQGsgIxBIBEAgEC0AAEECdEH8AHFBAiAIQRBqLQAAIgdBAUYgB0ECRhtyQb8BcSAMc0G/AXFFDQELAkAgBkEgRw0AIAxBCHFBA3YgEC0AACIHQQJxQQF2Rw0AIAxBEHFBBHYgB0EEcUECdkYNAQsgAyALOwBnIANB4ABqIgdBCWogBDoAACADIAw6AGogAyABOgBmIAMgDTsBZCADIBc2AmAgFiAHQezDwAAQWwwBCyANQQFqIQ0gASECDAILIBxBEHQgGXIhFyAQLQAAQQJ0QfwAcUECIAhBEGotAAAiAUEBRiABQQJGG3JB/wFxIQwgCkEIdiELQQEhDQwBCyABQf8BcUEFRwRAIAMgCzsASyADQcQAaiICQQlqIAtBEHY6AAAgAyAMOgBOIAMgAToASiADIA07AUggAyAXNgJEIBYgAkH8w8AAEFsLIBAtAAAhAiAIQRBqLQAAIQEgAyAHNgFWIANBATsBVCADIBw7AVIgAyAPOwFQIAMgAkECdEH8AHFBAiABQQFGIAFBAkYbcjoAWiAWIANB0ABqQYzEwAAQW0EFIQILIAUoAogGIgQgBSgCgAZGBEAjAEEQayIBJAAgAUEIaiAdIB0oAgBBAUEEQQQQJCABKAIIIghBgYCAgHhHBEAgASgCDBogCEGcxMAAEJ0BAAsgAUEQaiQACyAcQQFqIRwgBSgChAYgBEECdGogBjYCACAFIARBAWo2AogGIA4gD2ohDyACIQEMAAsACyABIABBmOXAABBCAAu5DgEDfyMAQeAAayIDJAAgAUEEaiEEAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgVBgIDEAEYEQCACQUBqDjYBAgMEBQYHCAkKCwwNDjc3Dzc3EBE3NxITNxQ3Nzc3NxUWFzcYGRobHDc3Nx0eNzc3Nx8gMiE3CwJAIAJB7ABrDgU1Nzc3MwALIAJB6ABGDTMMNgsgAEEdOgAAIAAgAS8BCDsBAgw2CyAAQQw6AAAgACABLwEIOwECDDULIABBCToAACAAIAEvAQg7AQIMNAsgAEEKOgAAIAAgAS8BCDsBAgwzCyAAQQg6AAAgACABLwEIOwECDDILIABBBDoAACAAIAEvAQg7AQIMMQsgAEEFOgAAIAAgAS8BCDsBAgwwCyAAQQI6AAAgACABLwEIOwECDC8LIABBCzoAACAAIAEvARg7AQQgACABLwEIOwECDC4LIABBAzoAACAAIAEvAQg7AQIMLQsgAS8BCA4EFxgZGhYLIAEvAQgOAxscHRoLIABBHjoAACAAIAEvAQg7AQIMKgsgAEEVOgAAIAAgAS8BCDsBAgwpCyAAQQ06AAAgACABLwEIOwECDCgLIABBLToAACAAIAEvAQg7AQIMJwsgAEEoOgAAIAAgAS8BCDsBAgwmCyABLwEIDgYZGBoYGBsYCyAAQRY6AAAgACABLwEIOwECDCQLIABBAToAACAAIAEvAQg7AQIMIwsgAEECOgAAIAAgAS8BCDsBAgwiCyAAQQo6AAAgACABLwEIOwECDCELIABBIjoAACAAIAEvAQg7AQIMIAsgAEEvOgAAIAAgAS8BCDsBAgwfCyAAQTA6AAAgACABLwEIOwECDB4LIABBCzoAACAAIAEvARg7AQQgACABLwEIOwECDB0LIAEvAQgOBBQTExUTCyADIAQgASgChARBhNzAABBtIANBQGsiASADKAIAIgIgAiADKAIEQQR0ahAmIANBO2ogAUEIaigCADYAACADIAMpAkA3ADMgAEErOgAAIAAgAykAMDcAASAAQQhqIANBN2opAAA3AAAMGwsgA0EIaiAEIAEoAoQEQZTcwAAQbSADQUBrIgEgAygCCCICIAIgAygCDEEEdGoQJiADQTtqIAFBCGooAgA2AAAgAyADKQJANwAzIABBJToAACAAIAMpADA3AAEgAEEIaiADQTdqKQAANwAADBoLIANBGGogBCABKAKEBEGk3MAAEG0gAyADKQMYNwJMIANB1gBqIANBzABqEAsCfyADLQBWQRJGBEBBACEBQQAhBEEBDAELIANBEGpBBEEBQQVBlMjAABBXIANB2gBqLQAAIQEgAygCECECIAMoAhQiBCADKABWNgAAIARBBGogAToAACADQQE2AjggAyAENgI0IAMgAjYCMCADIAMpAkw3AkBBBSECQQEhAQNAIANB2wBqIANBQGsQCyADLQBbQRJGRQRAIAMoAjAgAUYEQCADQTBqIAFBAUEBQQUQZCADKAI0IQQLIAIgBGoiBSADKABbNgAAIAVBBGogA0HfAGotAAA6AAAgAyABQQFqIgE2AjggAkEFaiECDAELCyADKAIwIQQgAygCNAshAiAAIAE2AgwgACACNgIIIAAgBDYCBCAAQSk6AAAMGQsgAEETOgAAIAAgAS8BGDsBBCAAIAEvAQg7AQIMGAsgAEEnOgAADBcLIABBJjoAAAwWCyAAQTI6AAAMFQsgAEEXOwEADBQLIABBlwI7AQAMEwsgAEGXBDsBAAwSCyAAQZcGOwEADBELIABBMjoAAAwQCyAAQRg7AQAMDwsgAEGYAjsBAAwOCyAAQZgEOwEADA0LIABBMjoAAAwMCyAAQQc7AQAMCwsgAEGHAjsBAAwKCyAAQYcEOwEADAkLIABBMjoAAAwICyAAQS47AQAMBwsgAEGuAjsBAAwGCyABLwEIQQhGDQMgAEEyOgAADAULIAVBIUcNAyAAQRQ6AAAMBAsgBUE/Rw0CIANBIGogBCABKAKEBEG03MAAEG0gA0FAayIBIAMoAiAiAiACIAMoAiRBBHRqECcgA0E7aiABQQhqKAIANgAAIAMgAykCQDcAMyAAQRI6AAAgACADKQAwNwABIABBCGogA0E3aikAADcAAAwDCyAFQT9HDQEgA0EoaiAEIAEoAoQEQcTcwAAQbSADQUBrIgEgAygCKCICIAIgAygCLEEEdGoQJyADQTtqIAFBCGooAgA2AAAgAyADKQJANwAzIABBEDoAACAAIAMpADA3AAEgAEEIaiADQTdqKQAANwAADAILIABBMToAACAAIAEvARg7AQQgACABLwEoOwECDAELIABBMjoAAAsgA0HgAGokAAvaCwIPfwJ+IwBB0ABrIgIkACABQQRqIQwgAkFAayENIAJBJWohDiACQRxqIQ8gASgCJCEFIAEoAhQhECABKAIQIQMCQAJAAn8CQANAIAEoAgAhBiABQYCAgIB4NgIAIAEoAgQhCwJAAkACQAJAAkAgBkGAgICAeEcEQCABKQIIIREgCyEHDAELAkAgAyAQRgRAQYCAgIB4IQYMAQsgASADQRBqIgg2AhAgAykCCCERIAMoAgQhByADKAIAIQYgCCEDC0GAgICAeCALEJgBIAZBgICAgHhGDQELIAIgBzYCDCACIAY2AgggAiARNwIQIBFCIIghEkF/IAUgEaciBEcgBCAFSxtB/wFxDgICAwELQYCAgIB4IAcQmAEgAEGAgICAeDYCACABQYCAgIB4NgIADAcLAkAgEqdBAXENACAFIAQgByAEEDBrIgMgAyAFSRsiAyAESw0AIAIgAzYCECADIQQLAn9BgICAgHggBCAFTQ0AGgJAAkAgByAEIAVBuNrAABCGASgCBEUEQCACQThqIgMgAkEIaiIIIAVBAWsQOSACQTBqIANBCGooAgA2AgAgAiACKQI4NwMoIAItABQhBCADQRBqIAIoAgwgAigCECIHIAdBAWtB2NrAABCGASIHQRBqLwEAOwEAIAJCoICAgBA3AjggAiAHKQIINwJAIAggA0Ho2sAAEE4gAiAEOgA0IAItABRBAXFFDQEMAgsgAkE4aiIDIAJBCGogBRA5IAJBMGogA0EIaigCADYCACACIAIpAjg3AyggAiACLQAUIgM6ADQgAw0BCyACQShqEIEBCyACKAIwBEAgAkFAayACQTRqKAIANgIAIAJBAToAFCACIAIpAiw3AzggAigCKAwBCyACKAIoIAIoAixBFBCVAUGAgICAeAshA0GAgICAeCALEJgBIAEgAzYCACAMIAIpAzg3AgAgDEEIaiACQUBrKAIANgIAIABBCGogAkEQaikCADcCACAAIAIpAgg3AgAMBgsgACARNwIIIAAgBzYCBCAAIAY2AgAMBQsCQCADIBBHBEAgASADQRBqIgg2AhAgAygCACIGQYCAgIB4Rw0BCyACQQA7AEAgAkECOgA8IAJBAjoAOCACQQhqIgEgBSACQThqEDogACACKQIINwIAIAJBADoAFCAAQQhqIAFBCGopAgA3AgAMBQsgA0EMaigCACEJIA8gAykCBDcCACAPQQhqIAk2AgAgAiAGNgIYIAUgBGsiCUUNASASp0EBcUUEQCACQQA7AEAgAkECOgA8IAJBAjoAOCACQQhqIAUgAkE4ahA6DAILIAItACRFBEAgAkEYahCBAQsgAigCHCEDIAIoAiAiCiAJTQRAIAJBCGoiBCADIAoQdgJAIAItACQiBg0AIAJBADoAFCACKAIQIAVPDQAgAkEAOwBAIAJBAjoAPCACQQI6ADggBCAFIAJBOGoQOgsgAigCGCADQRQQlQEgBkUNBEGAgICAeCALEJgBIAFBCGogAkEQaikCADcCACABIAIpAgg3AgBBgICAgHggAhCYASAIIQMMAQsLIAMgCiAJQfjZwAAQhgEoAgRFBEAgDUEIaiAHIAQgBEEBa0GI2sAAEIYBIghBEGovAQA7AQAgDSAIKQIINwIAIAJCoICAgBA3AjggAkEIaiACQThqQZjawAAQTiAJQQFrIQkLIAkgCk0EQCACQQhqIAMgCRB2IAIoAhghBiADIAogCRB+IAZBgICAgHhGDQMgCiAKIAlrIgggCCAKSxshBCACLQAkDAILIAkgCkGo2sAAEKIBAAsgAkEqaiAOQQJqLQAAOgAAIAIgDi8AADsBKCACKAIgIQQgAigCHCEDIAItACQLIQhBgICAgHggCxCYASABIAg6AAwgASAENgIIIAEgAzYCBCABIAY2AgAgASACLwEoOwAN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AiAAEHogAiADEHogASgCGAVBgAELIAEoAgggASgCDBCXASABQSBqJAALpwEBAn8jAEEgayICJAAgAiAAKAJoNgIMIAJBADoAHCACIAAoAlQiAzYCECACIAMgACgCWEECdGo2AhQgAiACQQxqNgIYIAACfwJAAkADQCABQQFrIgEEQCACQRBqEEANAQwCCwsgAkEQahBAIgENAQsgACgCnAEiA0EBayIADAELIAAoApwBIgNBAWshACABKAIACyIBIAAgASADSRs2AmggAkEgaiQAC6MBAQF/IwBBQGoiAyQAIANBHGogABBVIAMoAhwiACABIAIQIyADQShqIABB4ABqKAIAIABB5ABqKAIAECAgA0EQaiAAECEgAyADKQMQNwI0IANBCGogAygCLCADKAIwEFIgAygCDCEAIAMoAghBAXEEQCADIAA2AjwgA0E8akHswsAAEDwACyADQShqEGwgAygCICADKAIkEKEBIANBQGskACAAC5kBAQN/IAFBbGwhAiABQf////8DcSEDIAAgAUEUbGohAUEAIQACQANAIAJFDQECQCABQRRrIgQoAgBBIEcNACABQRBrKAIAQQFHDQAgAUEMay0AAEECRw0AIAFBCGstAABBAkcNACABQQRrLQAADQAgAUEDay0AAEEfcQ0AIAJBFGohAiAAQQFqIQAgBCEBDAELCyAAIQMLIAMLoAEBA38jAEEQayIFJAAgBUEIaiAAIAEgAkHgzsAAEF8gBSgCDCIGIAMgAiABayIHIAMgB0kbIgNPBEAgBiADayIGIAUoAgggBkEEdGogAxATIAAgASABIANqIAQQKCABBEAgACABQQFrQfDOwAAQWkEAOgAMCyAAIAJBAWtBgM/AABBaQQA6AAwgBUEQaiQADwtBzMnAAEEhQfDJwAAQZwALiwEBAn8jAEEQayICJAAgAkKAgICAwAA3AgQgAkEANgIMIAFBCGsiA0EAIAEgA08bIgFBA3YgAUEHcUEAR2ohAUEIIQMDQCABBEAgAkEEaiADQaziwAAQcSABQQFrIQEgA0EIaiEDDAEFIAAgAikCBDcCACAAQQhqIAJBDGooAgA2AgAgAkEQaiQACwsLjQEBBH8gASAAKAIAIAAoAggiBGtLBEAgACAEIAFBAUEBEGQgACgCCCEECyAAKAIEIARqIQVBASABIAFBAU0bIgZB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dGo2AgALRAEBfyABKAIAIgIgASgCBEYEQCAAQYCAgIB4NgIADwsgASACQRBqNgIAIAAgAikCADcCACAAQQhqIAJBCGopAgA3AgALOwEDfwNAIAJBFEZFBEAgACACaiIDKAIAIQQgAyABIAJqIgMoAgA2AgAgAyAENgIAIAJBBGohAgwBCwsLOwEDfwNAIAJBJEZFBEAgACACaiIDKAIAIQQgAyABIAJqIgMoAgA2AgAgAyAENgIAIAJBBGohAgwBCwsLQAECfyAAKAIAIAAoAgRBBBCVASAAKAIMIQEgACgCECIAKAIAIgIEQCABIAIRAgALIAAoAgQiAARAIAEgABA7Cws6AQF/AkAgAkF/RwRAIAJBAWohBCACQSBJDQEgBEEgIAMQogEACyADEHMACyAAIAQ2AgQgACABNgIACzgAAkAgAWlBAUcNAEGAgICAeCABayAASQ0AIAAEQEH4qsEALQAAGiABIAAQFSIBRQ0BCyABDwsACy0BAX8gASAAKAIATwR/IAAoAgQhAiAALQAIRQRAIAEgAk0PCyABIAJJBUEACwtwAQN/IAAoAgAiBCAAKAIIIgVGBEAjAEEQayIDJAAgA0EIaiAAIARBAUECQQgQJCADKAIIIgRBgYCAgHhHBEAgAygCDBogBCACEJ0BAAsgA0EQaiQACyAAIAVBAWo2AgggACgCBCAFQQN0aiABNwEACzQBAX8gACgCCCIDIAAoAgBGBEAgACACEGILIAAgA0EBajYCCCAAKAIEIANBAnRqIAE2AgALLgEBfyMAQRBrIgIkACACQQhqIAEgABCCASACKAIIIgAEQCACQRBqJAAgAA8LAAs3AQF/IwBBIGsiASQAIAFBADYCGCABQQE2AgwgAUGM6cAANgIIIAFCBDcCECABQQhqIAAQgAEACyUAIABBgQJPBEAgAEEeIABnIgBrdiAAQQF0a0E8ag8LIABBBHYLKwAgAiADSQRAIAMgAiAEEKMBAAsgACACIANrNgIEIAAgASADQRRsajYCAAsvAQF/IAAgAhCEASAAKAIEIAAoAggiA0EUbGogASACQRRsEBQaIAAgAiADajYCCAsrACABIANLBEAgASADIAQQowEACyAAIAMgAWs2AgQgACACIAFBBHRqNgIACy8AAkACQCADaUEBRw0AQYCAgIB4IANrIAFJDQAgACABIAMgAhAiIgANAQsACyAACywAA0AgAQRAIAAoAgAgAEEEaigCAEEUEJUBIAFBAWshASAAQRBqIQAMAQsLCzIBAX8gACgCCCECIAEgACgCAEECai0AABCRASEBIAAoAgQgAiABEAEgACACQQFqNgIICyoAIAAgACgCaCABaiIBIAAoApwBIgBBAWsgACABSxtBACABQQBOGzYCaAszAQJ/IAAgACgCqAEiAiAAKAKsAUEBaiIDIAEgAEGyAWoQMSAAKAJgIAAoAmQgAiADEEoLMwECfyAAIAAoAqgBIgIgACgCrAFBAWoiAyABIABBsgFqEBogACgCYCAAKAJkIAIgAxBKCyoAIAEgAkkEQEGkyMAAQSNBvMnAABBnAAsgAiAAIAJBFGxqIAEgAmsQFws1ACAAIAApAnQ3AmggACAAKQF8NwGyASAAIAAvAYYBOwG+ASAAQboBaiAAQYQBai8BADsBAAvsAQICfwF+IwBBEGsiAiQAIAJBATsBDCACIAE2AgggAiAANgIEIwBBEGsiASQAIAJBBGoiACkCACEEIAEgADYCDCABIAQ3AgQjAEEQayIAJAAgAUEEaiIBKAIAIgIoAgwhAwJAAkACQAJAIAIoAgQOAgABAgsgAw0BQQEhAkEAIQMMAgsgAw0AIAIoAgAiAigCBCEDIAIoAgAhAgwBCyAAQYCAgIB4NgIAIAAgATYCDCABKAIIIgEtAAkaIABBFSABLQAIEEEACyAAIAM2AgQgACACNgIAIAEoAggiAS0ACRogAEEWIAEtAAgQQQALKwECfwJAIAAoAgQgACgCCCIBEDAiAkUNACABIAJJDQAgACABIAJrNgIICwsmACACBEBB+KrBAC0AABogASACEBUhAQsgACACNgIEIAAgATYCAAsjAQF/IAEgACgCACAAKAIIIgJrSwRAIAAgAiABQQRBEBBkCwsjAQF/IAEgACgCACAAKAIIIgJrSwRAIAAgAiABQQRBFBBkCwslACAAQQE2AgQgACABKAIEIAEoAgBrQQR2IgE2AgggACABNgIACxsAIAEgAk0EQCACIAEgAxBCAAsgACACQRRsagsgACABIAJNBEAgAiABQeTjwAAQQgALIAAgAmpBAToAAAsbACABIAJNBEAgAiABIAMQQgALIAAgAkEEdGoLAwAACwMAAAsDAAALAwAACwMAAAsDAAALGgBB+KrBAC0AABpBBCAAEBUiAARAIAAPCwALAwAACxYAIAFBAXFFBEAgALgQBw8LIACtEAgLRAEBfyAAIAAoAgBBAWsiATYCACABRQRAIABBDGoQRwJAIABBf0YNACAAIAAoAgRBAWsiATYCBCABDQAgAEGcBhA7CwsLHgEBfyAAKAIQIgEgACgCFBB5IAAoAgwgAUEQEJUBCx4BAX8gACgCBCIBIAAoAggQeSAAKAIAIAFBEBCVAQsQACAABEAgASAAIAJsEDsLCxYAIABBEGoQTyAAKAIAIAAoAgQQmAELFAAgACAAKAIAQQFrNgIAIAEQkgELFwAgAEGAgICAeEcEQCAAIAFBFBCVAQsLEwAgAARADwtBpKnBAEEbEKgBAAsPACAAQYQBTwRAIAAQAgsLDQAgAQRAIAAgARA7CwsNACABBEAgACABEDsLCzwAIABFBEAjAEEgayIAJAAgAEEANgIYIABBATYCDCAAQdDEwAA2AgggAEIENwIQIABBCGogARCAAQALAAsRACAAKAIIIAAoAgBBAhCVAQsUACAAQQA2AgggAEKAgICAEDcCAAsSACAAIAFBkM3AABBaQQE6AAwLDgAgAEEANgIAIAEQkgELawEBfyMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBAjYCDCADQejpwAA2AgggA0ICNwIUIAMgA0EEaq1CgICAgIABhDcDKCADIAOtQoCAgICAAYQ3AyAgAyADQSBqNgIQIANBCGogAhCAAQALawEBfyMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBAjYCDCADQcjpwAA2AgggA0ICNwIUIAMgA0EEaq1CgICAgIABhDcDKCADIAOtQoCAgICAAYQ3AyAgAyADQSBqNgIQIANBCGogAhCAAQALawEBfyMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBAjYCDCADQZzqwAA2AgggA0ICNwIUIAMgA0EEaq1CgICAgIABhDcDKCADIAOtQoCAgICAAYQ3AyAgAyADQSBqNgIQIANBCGogAhCAAQALDgBB8OXAAEErIAAQZwALCwAgACMAaiQAIwALDgBBv6nBAEHPABCoAQALCQAgACABEAYACwwAIAAgASkCADcDAAsKACAAKAIAEJoBCw0AIABBgICAgHg2AgALCQAgAEEANgIACwYAIAAQTwsL0m0gAEGAgMAAC0AXAAAABAAAAAQAAAAYAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZUVycm9yAEG/icAACwF4AEHgicAACxD/////////////////////AEGGisAACw8BAAAAAAAgAAAAAAAAAAIAQcCKwAALIP//////////////////////////////////////////AEGki8AACwgQAAAAAAAAAQBBwLjAAAsC/wcAQdS4wAALBw8A////9f8AQYC5wAALFv///////////////////////////wMAQaC5wAALHf////////////////////////////////////8PAEH/ucAACxj8//////////////////////////////8AQaC6wAALPv//////////////////////////////////////////////////////////////////////////////////AEGMu8AACzj/////////////////////////////////////////////////////////////////////////fwBB4LvAAAvRAf////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8DAEHAvcAACyf//////////////////////////////////////////////////w8AQcDAwAALwSNzcmMvbGliLnJzAAABAA8A8BoPAAAAAADiJQAA5SUAAAAAAACw4AAAv+AAAAAAAAA8+wEAafsBAAAAAABq+wEAbPsBAAAAAACAJQAAnyUAAAAAAAAA+wEAO/sBAAAAAABhdHRlbXB0ZWQgdG8gdGFrZSBvd25lcnNoaXAgb2YgUnVzdCB2YWx1ZSB3aGlsZSBpdCB3YXMgYm9ycm93ZWRiZ3RleHRjb2RlcG9pbnRzcmFzdGVyX3N5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VVVVVRVRVVVVVVVVVQAAAAAAAEBVVVVVVVVVVVXVV1VVVVVVVVVVVVVVBQAAVFVVVVVVVVVVVVVVVVUVAABVVVFVVVVVVQUQAAABAVBVVVVVVVVVVVVVAVVVVVVV/////39VVVVQVQAAVVVVVVVVVVVVVQUAQcD8wAALmARAVVVVVVVVVVVVVVVVVUVUAQBUUQEAVVUFVVVVVVVVVVFVVVVVVVVVVVVVVVVVVUQBVFVRVRVVVQVVVVVVVVVFQVVVVVVVVVVVVVVVVVVVVEEVFFBRVVVVVVVVVVBRVVVBVVVVVVVVVVVVVVVVVVVUARBUUVVVVVUFVVVVVVUFAFFVVVVVVVVVVVVVVVVVVQQBVFVRVQFVVQVVVVVVVVVVRVVVVVVVVVVVVVVVVVVVRVRVVVFVFVVVVVVVVVVVVVVUVFVVVVVVVVVVVVVVVVUEVAUEUFVBVVUFVVVVVVVVVVFVVVVVVVVVVVVVVVVVVRREBQRQVUFVVQVVVVVVVVVVUFVVVVVVVVVVVVVVVVUVRAFUVUFVFVVVBVVVVVVVVVVRVVVVVVVVVVVVVVVVVVVVVVVFFQVEVRVVVVVVVVVVVVVVVVVVVVVVVVVVVVEAQFVVFQBAVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUQAAVFVVAEBVVVVVVVVVVVVVVVVVVVVVVVVQVVVVVVVVEVFVVVVVVVVVVVVVVVVVAQAAQAAEVQEAAAEAAAAAAAAAAFRVRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUBBABBQVVVVVVVVVAFVFVVVQFUVVVFQVVRVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqgBBgIHBAAuQA1VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAVVVVVVVVVVVVVVVVQVUVVVVVVVVBVVVVVVVVVUFVVVVVVVVVQVVVVV///33//3XX3fW1ddVEABQVUUBAABVV1FVVVVVVVVVVVVVFQBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUFVVVVVVVVVVVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUAVVFVFVQFVVVVVVVVVVVVVVVVVVVVVVVVVVVVXFRRVVVVVVVVVVVVVVVVVVUUAQEQBAFQVAAAUVVVVVVVVVVVVVVVVAAAAAAAAAEBVVVVVVVVVVVVVVVUAVVVVVVVVVVVVVVVVAABQBVVVVVVVVVVVVRUAAFVVVVBVVVVVVVVVBVAQUFVVVVVVVVVVVVVVVVVFUBFQVVVVVVVVVVVVVVVVVVUAAAVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUAAAAAEAFRRVVRQVVVVVVVVVVVVVVVVVVVVVVUAQaCEwQALkwhVVRUAVVVVVVVVBUBVVVVVVVVVVVVVVVUAAAAAVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAAAAAAAAAABUVVVVVVVVVVVV9VVVVWlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf1X11VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV9VVVVVVVfVVVVVVVVVVVVVVVV////VVVVVVVVVVVVVdVVVVVV1VVVVV1V9VVVVVV9VV9VdVVXVVVVVXVV9V11XVVd9VVVVVVVVVVXVVVVVVVVVVV31d9VVVVVVVVVVVVVVVVVVVX9VVVVVVVVV1VV1VVVVVVVVVVVVVVVVVVVVVVVVVVVVVXVV1VVVVVVVVVVVVVVVVddVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRVQVVVVVVVVVVVVVVVVVVVV/f///////////////19V1VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUAAAAAAAAAAKqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqVVVVqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpaVVVVVVVVqqqqqqqqqqqqqqqqqqoKAKqqqmqpqqqqqqqqqqqqqqqqqqqqqqqqqqpqgaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpVqaqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqKqqqqqqqqqqqmqqqqqqqqqqqqqqqqqqqqqqqqqqqqpVVZWqqqqqqqqqqqqqqmqqqqqqqqqqqqqqVVWqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqVVVVVVVVVVVVVVVVVVVVVaqqqlaqqqqqqqqqqqqqqqqqalVVVVVVVVVVVVVVVVVfVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFUAAAFBVVVVVVVVVBVVVVVVVVVVVVVVVVVVVVVVVVVVVUFVVVUVFFVVVVVVVVUFVVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQVVVVVVVVAAAAAFBVRRVVVVVVVVVVVVUFAFBVVVVVVRUAAFBVVVWqqqqqqqqqVkBVVVVVVVVVVVVVVRUFUFBVVVVVVVVVVVVRVVVVVVVVVVVVVVVVVVVVVQFAQUFVVRVVVVRVVVVVVVVVVVVVVVRVVVVVVVVVVVVVVVUEFFQFUVVVVVVVVVVVVVVQVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRVFFVVVVVqqqqqqqqqqqqVVVVAAAAAABAFQBBv4zBAAvhDFVVVVVVVVVVRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQAAAPCqqlpVAAAAAKqqqqqqqqqqaqqqqqpqqlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRWpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpWVVVVVVVVVVVVVVVVVVUFVFVVVVVVVVVVVVVVVVVVVapqVVUAAFRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVBUBVAUFVAFVVVVVVVVVVVVVAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQVVVVVVVVdVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFVRVVVVVVVVVVVVVVVVVVVVVVVVVAVVVVVVVVVVVVVVVVVVVVVVVBQAAVFVVVVVVVVVVVVVVBVBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRVVVVVVVVVVVVVVVVVQAAAEBVVVVVVVVVVVVVFFRVFVBVVVVVVVVVVVVVVRVAQVVFVVVVVVVVVVVVVVVVVVVVQFVVVVVVVVVVFQABAFRVVVVVVVVVVVVVVVVVVRVVVVVQVVVVVVVVVVVVVVVVBQBABVUBFFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFVAEVUVRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVFQBAVVVVVVVQVVVVVVVVVVVVVVVVVRVEVFVVVVUVVVVVBQBUAFRVVVVVVVVVVVVVVVVVVVVVAAAFRFVVVVVVRVVVVVVVVVVVVVVVVVVVVVVVVVVVFABEEQRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRUFUFUQVFVVVVVVVVBVVVVVVVVVVVVVVVVVVVVVVVVVVRUAQBFUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRVRABBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAQUQAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFQAAQVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFUVBBFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUABVVUVVVVVVVVVQEAQFVVVVVVVVVVVRUABEBVFVVVAUABVVVVVVVVVVVVVQAAAABAUFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUAQAAQVVVVVVVVVVVVVVVVVVVVVVVVVVUFAAAAAAAFAARBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAUBFEAAAVVVVVVVVVVVVVVVVVVVVVVVVUBFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVFVVQFVVVVVVVVVVVVVVVQVAVURVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVBUAAABQVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUAVFVVVVVVVVVVVVVVVVVVAEBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFVVVVVVVVVVVVVVVVVVVVRVAVVVVVVVVVVVVVVVVVVVVVVVVVapUVVVaVVVVqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqVVWqqqqqqqqqqqqqqqqqqqqqqqqqqqpaVVVVVVVVVVVVVaqqVlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVaqpqmmqqqqqqqqqqmpVVVVlVVVVVVVVVWpZVVVVqlVVqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpVVVVVVVVVVUEAVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUAQauZwQALdVAAAAAAAEBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVURUAUAAAAAQAEAVVVVVVVVVQVQVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVBVRVVVVVVVVVVVVVVVVVVQBBrZrBAAsCQBUAQbuawQALxQZUVVFVVVVUVVVVVRUAAQAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVAEAAAAAAFAAQBEBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRVVVVVVVVVVVVVVVVVVVVQBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQBAVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAEBVVVVVVVVVVVVVVVVVVVdVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV1VVVVVVVVVVVVVVVVVVVVXX9/39VVVVVVVVVVVVVVVVVVVVVVVX1////////blVVVaqquqqqqqrq+r+/VaqqVlVfVVVVqlpVVVVVVVX//////////1dVVf3/3///////////////////////9///////VVVV/////////////3/V/1VVVf////9XV///////////////////////f/f/////////////////////////////////////////////////////////////1////////////////////19VVdV/////////VVVVVXVVVVVVVVV9VVVVV1VVVVVVVVVVVVVVVVVVVVVVVVVV1f///////////////////////////1VVVVVVVVVVVVVVVf//////////////////////X1VXf/1V/1VV1VdV//9XVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV////VVdVVVVVVVX//////////////3///9//////////////////////////////////////////////////////////////VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf///1f//1dV///////////////f/19V9f///1X//1dV//9XVaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpaVVVVVVVVVVVZllVhqqVZqlVVVVVVlVVVVVVVVVWVVVUAQY6hwQALAQMAQZyhwQALiQlVVVVVVZVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRUAlmpaWmqqBUCmWZVlVVVVVVVVVVUAAAAAVVZVValWVVVVVVVVVVVVVlVVVVVVVVVVAAAAAAAAAABUVVVVlVlZVVVlVVVpVVVVVVVVVVVVVVWVVpVqqqqqVaqqWlVVVVlVqqqqVVVVVWVVVVpVVVVVpWVWVVVVlVVVVVVVVaaWmpZZWWWplqqqZlWqVVpZVVpWZVVVVWqqpaVaVVVVpapaVVVZWVVVWVVVVVVVlVVVVVVVVVVVVVVVVVVVVVVVVVVVZVX1VVVVaVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqVaqqqqqqqqqqqlVVVaqqqqqlWlVVmqpaVaWlVVpapZalWlVVVaVaVZVVVVV9VWlZpVVfVWZVVVVVVVVVVWZV////VVVVmppqmlVVVdVVVVVV1VVVpV1V9VVVVVW9Va+quqqrqqqaVbqq+q66rlVd9VVVVVVVVVVXVVVVVVlVVVV31d9VVVVVVVVVpaqqVVVVVVVV1VdVVVVVVVVVVVVVVVVXrVpVVVVVVVVVVVWqqqqqqqqqaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqgAAAMCqqlpVAAAAAKqqqqqqqqqqaqqqqqpqqlVVVVVVVVVVVVVVVQVUVVVVVVVVVVVVVVVVVVVVqmpVVQAAVFmqqmpVqqqqqqqqqlqqqqqqqqqqqqqqqqqqqlpVqqqqqqqqqrr+/7+qqqqqVlVVVVVVVVVVVVVVVVX1////////L25peC9zdG9yZS8yOGh5emZsMzM4a3M0YW1oYTd2cHBubGJxMXMxbnFhdi1ydXN0LWRlZmF1bHQtMS44NS4wL2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMucnMvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi93YXNtLWJpbmRnZW4tMC4yLjEwNi9zcmMvY29udmVydC9zbGljZXMucnMvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi93YXNtLWJpbmRnZW4tMC4yLjEwNi9zcmMvZXh0ZXJucmVmLnJzHVQQAGcAAAB/AAAAEQAAAB1UEABnAAAAjAAAABEAAABudWxsIHBvaW50ZXIgcGFzc2VkIHRvIHJ1c3RyZWN1cnNpdmUgdXNlIG9mIGFuIG9iamVjdCBkZXRlY3RlZCB3aGljaCB3b3VsZCBsZWFkIHRvIHVuc2FmZSBhbGlhc2luZyBpbiBydXN0SnNWYWx1ZSgpAA5VEAAIAAAAFlUQAAEAQaiqwQALAQQASAlwcm9kdWNlcnMBDHByb2Nlc3NlZC1ieQIGd2FscnVzBjAuMjQuNAx3YXNtLWJpbmRnZW4TMC4yLjEwNiAoMTE4MzFmYjg5KQ==");const Ze=async function(A){return await Te({module_or_path:await A.module,memory:A.memory}),Ke}({module:xe}),We=Ze.then((A=>A.default())).then((A=>A.memory));class $e{static async build(A,e,t,V){return new $e(await Ze,await We,V,A,e,t)}constructor(A,e,t,V,g,n){this.wasm=A,this.memory=e,this.logger=t,this.cols=V,this.rows=g,this.boldIsBright=n,this.vt=A.create(V,g,100,n)}feed(A){return this.vt.feed(A)}reset(A,e,t=void 0){return this.logger.debug(`vt: reset (${A}x${e})`),this.vt=this.wasm.create(A,e,100,this.boldIsBright),this.cols=A,this.rows=e,void 0!==t&&""!==t&&this.vt.feed(t),Array.from({length:e},((A,e)=>e))}resize(A,e){if(A===this.cols&&e===this.rows)return;this.logger.debug(`vt: resize (${A}x${e})`);const t=this.vt.resize(A,e);return this.cols=A,this.rows=e,t}getLine(A,e){return this.vt.getLine(A,e)}getDataView([A,e],t){return new DataView(this.memory.buffer,A,e*t)}getUint32Array([A,e]){return new Uint32Array(this.memory.buffer,A,e)}getCursor(){const A=this.vt.getCursor();return A?{col:A[0],row:A[1],visible:!0}:{col:0,row:0,visible:!1}}}const je=$A('<div class="ap-term"><canvas></canvas><svg class="ap-term-symbols" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" width="100%" height="100%" aria-hidden="true"><defs></defs><g></g></svg><pre class="ap-term-text" aria-live="off" tabindex="0"></pre></div>',12),ze="http://www.w3.org/2000/svg",Xe=24;var Pe=A=>{const e=A.core,t=[],V=[],g=[],r=new Set,i=new Map,o=new Map,I=$e.build(A.cols,A.rows,A.boldIsBright,A.logger);let B;const[s,C]=EA({cols:A.cols,rows:A.rows},{equals:(A,e)=>A.cols===e.cols&&A.rows===e.rows}),[Q,a]=EA(_e(it,A.adaptivePalette)),E=()=>A.lineHeight??1.3333333333,[c,l]=EA(!0),u=uA((()=>"hidden"!==A.cursorMode&&("steady"===A.cursorMode||(c()||R)))),d=uA((()=>({width:`${s().cols}ch`,height:E()*s().rows+"em","font-size":100*(A.scale||1)+"%","--term-line-height":`${E()}em`,"--term-cols":s().cols,"--term-rows":s().rows})));let f,w,h,D,y,p,k,m,q,L,F={col:0,row:0,visible:!1},M={size:void 0,theme:void 0,rows:new Set},R=!1;function N({size:A,theme:e,init:t}){G({size:A,theme:e,changedRows:B.reset(A.cols,A.rows,t)})}function v(A){const e=B.resize(A.cols,A.rows);void 0!==e&&G({size:A,changedRows:e})}function b(A){let e;if(Array.isArray(A)){e=new Set;for(const t of A)for(const A of B.feed(t))e.add(A)}else e=B.feed(A);G({changedRows:e})}function G({size:e,theme:t,changedRows:V}){let g=!1;if(void 0!==V)for(const A of V)M.rows.add(A),R=!0,g=!0;if(void 0!==t&&A.preferEmbeddedTheme){M.theme=t;for(let A=0;A<s().rows;A++)M.rows.add(A)}const n=B.getCursor();if(n.visible==F.visible&&n.col==F.col&&n.row==F.row||(F.visible&&M.rows.add(F.row),n.visible&&M.rows.add(n.row),F=n,R=!0,g=!0),void 0!==e){M.size=e;for(const A of M.rows)A>=e.rows&&M.rows.delete(A)}g&&F.visible&&M.rows.add(F.row),S()}function U(){l((A=>(A||(R=!1),!A)))}function S(){void 0===m&&(m=requestAnimationFrame(J))}function J(){m=void 0;const{size:e,theme:t,rows:V}=M;dA((function(){void 0!==e&&(!function({cols:A,rows:e}){w.width=8*A,w.height=e*Xe,h.imageSmoothingEnabled=!1}(e),H(e.rows),O(e.rows),C(e)),void 0!==t&&(a(_e(null===t?L:t,A.adaptivePalette)),i.clear());const g=Q(),n=u();for(const A of V)Y(A,g,n)})),M.size=void 0,M.theme=void 0,M.rows.clear(),A.stats.renders+=1}function Y(A,e,t){const V=B.getLine(A,t);!function(A){h.clearRect(0,A*Xe,8*s().cols,Xe)}(A),function(A,e,t){const V=B.getDataView(e,8),g=A*Xe;let n=0;for(;n<V.byteLength;){const A=V.getUint16(n+0,!0),e=V.getUint16(n+2,!0),r=K(V,n+4,t);n+=8,h.fillStyle=r,h.fillRect(8*A,g,8*e,Xe)}}(A,V.bg,e),function(A,e,t){const V=B.getDataView(e,12),g=A*Xe;let n=0;for(;n<V.byteLength;){const A=V.getUint16(n+0,!0),e=V.getUint32(n+4,!0),r=K(V,n+8,t)||t.fg;n+=12,h.fillStyle=r,tt(h,e,8*A,g)}}(A,V.raster_symbols,e),function(A,e,t){const V=B.getDataView(e,16),n=document.createDocumentFragment(),r=k.children[A];let i=0;for(;i<V.byteLength;){const A=V.getUint16(i+0,!0),e=V.getUint32(i+4,!0),g=K(V,i+8,t),r=V.getUint8(i+12);i+=16;const o=W(e,A,g,!!(32&r));o&&n.appendChild(o)}(function(A){for(;A.firstChild;){const e=A.firstChild;A.removeChild(e),g.push(e)}})(r),r.replaceChildren(n)}(A,V.vector_symbols,e),function(A,e,t,V){const g=B.getDataView(e,12),n=B.getUint32Array(t),r=document.createDocumentFragment();let i=0;for(;i<g.byteLength;){const A=g.getUint16(i+0,!0),e=g.getUint16(i+2,!0),t=g.getUint16(i+4,!0),o=K(g,i+6,V),I=g.getUint8(i+10),B=String.fromCodePoint(...n.subarray(e,e+t));i+=12;const s=document.createElement("span"),C=s.style;C.setProperty("--offset",A),s.textContent=B,o&&(C.color=o);const Q=T(I);null!==Q&&(s.className=Q),r.appendChild(s)}D.children[A].replaceChildren(r)}(A,V.text,V.codepoints,e)}function T(A){let e=o.get(A);return void 0===e&&(e=function(A){let e="";1&A?e+="ap-bold ":2&A&&(e+="ap-faint ");4&A&&(e+="ap-italic ");8&A&&(e+="ap-underline ");16&A&&(e+="ap-strike ");32&A&&(e+="ap-blink ");return""===e?null:e}(A),o.set(A,e)),e}function K(A,e,t){const V=A.getUint8(e);if(0===V)return null;if(1===V)return t.fg;if(2===V)return t.bg;if(3===V)return t.palette[A.getUint8(e+1)];if(4===V){const t=A.getUint32(e,!0);let V=i.get(t);if(void 0===V){V="rgb("+A.getUint8(e+1)+","+A.getUint8(e+2)+","+A.getUint8(e+3)+")",i.set(t,V)}return V}throw new Error(`invalid color tag: ${V}`)}function H(A){let e=D.children.length;if(e<A){const t=document.createDocumentFragment();for(;e<A;){const A=x();A.style.setProperty("--row",e),t.appendChild(A),e+=1}D.appendChild(t)}for(;D.children.length>A;){const A=D.lastElementChild;D.removeChild(A),t.push(A)}}function O(A){let e=k.children.length;if(e<A){const t=document.createDocumentFragment();for(;e<A;){const A=Z();A.setAttribute("transform",`translate(0 ${e})`),t.appendChild(A),e+=1}k.appendChild(t)}for(;k.children.length>A;){const A=k.lastElementChild;k.removeChild(A),V.push(A)}}function x(){let A=t.pop();return void 0===A&&(A=document.createElement("span"),A.className="ap-line"),A}function Z(){let A=V.pop();return void 0===A&&(A=document.createElementNS(ze,"g"),A.setAttribute("class","ap-symbol-line")),A}function W(A,e,t,V){if(!function(A){const e=function(A){const e=`stroke="currentColor" stroke-width="${Vt}" stroke-linejoin="miter" stroke-linecap="square"`,t=`stroke="currentColor" stroke-width="${Vt}" stroke-linejoin="miter" stroke-linecap="butt"`,V=A=>`<path d="${A}" fill="none" ${e}/>`,g=1/3,n=2/3;switch(A){case 9698:return'<path d="M1,1 L1,0 L0,1 Z" fill="currentColor"/>'+V("M1,1 L1,0 L0,1 Z");case 9699:return'<path d="M0,1 L0,0 L1,1 Z" fill="currentColor"/>'+V("M0,1 L0,0 L1,1 Z");case 9700:return'<path d="M0,0 L1,0 L0,1 Z" fill="currentColor"/>'+V("M0,0 L1,0 L0,1 Z");case 9701:return'<path d="M1,0 L1,1 L0,0 Z" fill="currentColor"/>'+V("M1,0 L1,1 L0,0 Z");case 9871:{const A=.17,e=.15/2,t=.2/2,V=A=>.5+A*gt,g=.5-e,n=.5+e,r=1.02,i=V(-t-A),o=V(-t),I=V(t),B=V(t+A),s=(A,e,t,V)=>`M${A},${t} L${e},${t} L${e},${V} L${A},${V} Z`;return`<path d="${s(0,g,i,o)} ${s(n,r,i,o)} ${s(0,g,I,B)} ${s(n,r,I,B)}" fill="currentColor"/>`}case 129852:return`<path d="M0,${n} L0,1 L0.5,1 Z" fill="currentColor"/>`+V(`M0,${n} L0,1 L0.5,1 Z`);case 129853:return`<path d="M0,${n} L0,1 L1,1 Z" fill="currentColor"/>`+V(`M0,${n} L0,1 L1,1 Z`);case 129854:return`<path d="M0,${g} L0.5,1 L0,1 Z" fill="currentColor"/>`+V(`M0,${g} L0.5,1 L0,1 Z`);case 129855:return`<path d="M0,${g} L1,1 L0,1 Z" fill="currentColor"/>`+V(`M0,${g} L1,1 L0,1 Z`);case 129856:return'<path d="M0,0 L0.5,1 L0,1 Z" fill="currentColor"/>'+V("M0,0 L0.5,1 L0,1 Z");case 129857:return`<path d="M0,${g} L0,1 L1,1 L1,0 L0.5,0 Z" fill="currentColor"/>`+V(`M0,${g} L0,1 L1,1 L1,0 L0.5,0 Z`);case 129858:return`<path d="M0,${g} L0,1 L1,1 L1,0 Z" fill="currentColor"/>`+V(`M0,${g} L0,1 L1,1 L1,0 Z`);case 129859:return`<path d="M0,${n} L0,1 L1,1 L1,0 L0.5,0 Z" fill="currentColor"/>`+V(`M0,${n} L0,1 L1,1 L1,0 L0.5,0 Z`);case 129860:return`<path d="M0,${n} L0,1 L1,1 L1,0 Z" fill="currentColor"/>`+V(`M0,${n} L0,1 L1,1 L1,0 Z`);case 129861:return'<path d="M0.5,0 L1,0 L1,1 L0,1 Z" fill="currentColor"/>'+V("M0.5,0 L1,0 L1,1 L0,1 Z");case 129862:return`<path d="M0,${n} L0,1 L1,1 L1,${g} Z" fill="currentColor"/>`+V(`M0,${n} L0,1 L1,1 L1,${g} Z`);case 129863:return`<path d="M0.5,1 L1,1 L1,${n} Z" fill="currentColor"/>`+V(`M0.5,1 L1,1 L1,${n} Z`);case 129864:return`<path d="M0,1 L1,1 L1,${n} Z" fill="currentColor"/>`+V(`M0,1 L1,1 L1,${n} Z`);case 129865:return`<path d="M0.5,1 L1,1 L1,${g} Z" fill="currentColor"/>`+V(`M0.5,1 L1,1 L1,${g} Z`);case 129866:return`<path d="M0,1 L1,1 L1,${g} Z" fill="currentColor"/>`+V(`M0,1 L1,1 L1,${g} Z`);case 129867:return'<path d="M0.5,1 L1,0 L1,1 Z" fill="currentColor"/>'+V("M0.5,1 L1,0 L1,1 Z");case 129868:return`<path d="M0,0 L0.5,0 L1,${g} L1,1 L0,1 Z" fill="currentColor"/>`+V(`M0,0 L0.5,0 L1,${g} L1,1 L0,1 Z`);case 129869:return`<path d="M0,0 L0,1 L1,1 L1,${g} Z" fill="currentColor"/>`+V(`M0,0 L0,1 L1,1 L1,${g} Z`);case 129870:return`<path d="M0,0 L0.5,0 L1,${n} L1,1 L0,1 Z" fill="currentColor"/>`+V(`M0,0 L0.5,0 L1,${n} L1,1 L0,1 Z`);case 129871:return`<path d="M0,0 L1,${n} L1,1 L0,1 Z" fill="currentColor"/>`+V(`M0,0 L1,${n} L1,1 L0,1 Z`);case 129872:return'<path d="M0,0 L0.5,0 L1,1 L0,1 Z" fill="currentColor"/>'+V("M0,0 L0.5,0 L1,1 L0,1 Z");case 129873:return`<path d="M0,${g} L1,${n} L1,1 L0,1 Z" fill="currentColor"/>`+V(`M0,${g} L1,${n} L1,1 L0,1 Z`);case 129874:return`<path d="M0,${n} L0,0 L1,0 L1,1 L0.5,1 Z" fill="currentColor"/>`+V(`M0,${n} L0,0 L1,0 L1,1 L0.5,1 Z`);case 129875:return`<path d="M0,${n} L0,0 L1,0 L1,1 Z" fill="currentColor"/>`+V(`M0,${n} L0,0 L1,0 L1,1 Z`);case 129876:return`<path d="M0,${g} L0,0 L1,0 L1,1 L0.5,1 Z" fill="currentColor"/>`+V(`M0,${g} L0,0 L1,0 L1,1 L0.5,1 Z`);case 129877:return`<path d="M0,${g} L0,0 L1,0 L1,1 Z" fill="currentColor"/>`+V(`M0,${g} L0,0 L1,0 L1,1 Z`);case 129878:return'<path d="M0,0 L1,0 L1,1 L0.5,1 Z" fill="currentColor"/>'+V("M0,0 L1,0 L1,1 L0.5,1 Z");case 129879:return`<path d="M0,${g} L0.5,0 L0,0 Z" fill="currentColor"/>`+V(`M0,${g} L0.5,0 L0,0 Z`);case 129880:return`<path d="M0,0 L1,0 L0,${g} Z" fill="currentColor"/>`+V(`M0,0 L1,0 L0,${g} Z`);case 129881:return`<path d="M0,0 L0.5,0 L0,${n} Z" fill="currentColor"/>`+V(`M0,0 L0.5,0 L0,${n} Z`);case 129882:return`<path d="M0,0 L1,0 L0,${n} Z" fill="currentColor"/>`+V(`M0,0 L1,0 L0,${n} Z`);case 129883:return'<path d="M0,0 L0.5,0 L0,1 Z" fill="currentColor"/>'+V("M0,0 L0.5,0 L0,1 Z");case 129884:return`<path d="M0,0 L1,0 L1,${g} L0,${n} Z" fill="currentColor"/>`+V(`M0,0 L1,0 L1,${g} L0,${n} Z`);case 129885:return`<path d="M0,0 L1,0 L1,${n} L0.5,1 L0,1 Z" fill="currentColor"/>`+V(`M0,0 L1,0 L1,${n} L0.5,1 L0,1 Z`);case 129886:return`<path d="M0,0 L1,0 L1,${n} L0,1 Z" fill="currentColor"/>`+V(`M0,0 L1,0 L1,${n} L0,1 Z`);case 129887:return`<path d="M0,0 L1,0 L1,${g} L0.5,1 L0,1 Z" fill="currentColor"/>`+V(`M0,0 L1,0 L1,${g} L0.5,1 L0,1 Z`);case 129888:return`<path d="M0,0 L1,0 L1,${g} L0,1 Z" fill="currentColor"/>`+V(`M0,0 L1,0 L1,${g} L0,1 Z`);case 129889:return'<path d="M0,0 L1,0 L0.5,1 L0,1 Z" fill="currentColor"/>'+V("M0,0 L1,0 L0.5,1 L0,1 Z");case 129890:return`<path d="M0.5,0 L1,0 L1,${g} Z" fill="currentColor"/>`+V(`M0.5,0 L1,0 L1,${g} Z`);case 129891:return`<path d="M0,0 L1,0 L1,${g} Z" fill="currentColor"/>`+V(`M0,0 L1,0 L1,${g} Z`);case 129892:return`<path d="M0.5,0 L1,0 L1,${n} Z" fill="currentColor"/>`+V(`M0.5,0 L1,0 L1,${n} Z`);case 129893:return`<path d="M0,0 L1,0 L1,${n} Z" fill="currentColor"/>`+V(`M0,0 L1,0 L1,${n} Z`);case 129894:return'<path d="M0.5,0 L1,0 L1,1 Z" fill="currentColor"/>'+V("M0.5,0 L1,0 L1,1 Z");case 129895:return`<path d="M0,${g} L0,0 L1,0 L1,${n} Z" fill="currentColor"/>`+V(`M0,${g} L0,0 L1,0 L1,${n} Z`);case 129896:return`<path fill-rule="evenodd" d="M0,0 L1,0 L1,1 L0,1 Z M0,0 L0,1 L0.5,0.5 Z" fill="currentColor"/><path d="M0,0 L1,0 M0,1 L1,1 M1,0 L1,1" fill="none" ${e}/><path d="M0,0 L0.5,0.5 M0,1 L0.5,0.5" fill="none" ${t}/>`;case 129897:return`<path fill-rule="evenodd" d="M0,0 L1,0 L1,1 L0,1 Z M0,0 L1,0 L0.5,0.5 Z" fill="currentColor"/><path d="M0,0 L0,1 M1,0 L1,1 M0,1 L1,1" fill="none" ${e}/><path d="M0,0 L0.5,0.5 M1,0 L0.5,0.5" fill="none" ${t}/>`;case 129898:return`<path fill-rule="evenodd" d="M0,0 L1,0 L1,1 L0,1 Z M1,0 L1,1 L0.5,0.5 Z" fill="currentColor"/><path d="M0,0 L1,0 M0,1 L1,1 M0,0 L0,1" fill="none" ${e}/><path d="M1,0 L0.5,0.5 M1,1 L0.5,0.5" fill="none" ${t}/>`;case 129899:return`<path fill-rule="evenodd" d="M0,0 L1,0 L1,1 L0,1 Z M0,1 L1,1 L0.5,0.5 Z" fill="currentColor"/><path d="M0,0 L1,0 M0,0 L0,1 M1,0 L1,1" fill="none" ${e}/><path d="M0,1 L0.5,0.5 M1,1 L0.5,0.5" fill="none" ${t}/>`;case 129900:return'<path d="M0,0 L0,1 L0.5,0.5 Z" fill="currentColor"/>'+V("M0,0 L0,1 L0.5,0.5 Z");case 57520:return'<path d="M0,0 L1,0.5 L0,1 Z" fill="currentColor"/>';case 57521:return'<path d="M0,0 L1,0.5 L0,1" fill="none" stroke="currentColor" stroke-width="0.07" stroke-linejoin="miter"/>';case 57522:return'<path d="M1,0 L0,0.5 L1,1 Z" fill="currentColor"/>';case 57523:return'<path d="M1,0 L0,0.5 L1,1" fill="none" stroke="currentColor" stroke-width="0.07" stroke-linejoin="miter"/>';case 57524:return'<path d="M0,0 A1,0.5 0 0 1 0,1 Z" fill="currentColor"/>';case 57525:return'<path d="M0,0 A1,0.5 0 0 1 0,1" fill="none" stroke="currentColor" stroke-width="0.07"/>';case 57526:return'<path d="M1,0 A1,0.5 0 0 0 1,1 Z" fill="currentColor"/>';case 57527:return'<path d="M1,0 A1,0.5 0 0 0 1,1" fill="none" stroke="currentColor" stroke-width="0.07"/>';case 57528:return'<path d="M0,1 L0,0 L1,1 Z" fill="currentColor"/>';case 57529:case 57535:return'<path d="M0,0 L1,1" fill="none" stroke="currentColor" stroke-width="0.07"/>';case 57530:return'<path d="M1,1 L1,0 L0,1 Z" fill="currentColor"/>';case 57531:case 57533:return'<path d="M0,1 L1,0" fill="none" stroke="currentColor" stroke-width="0.07"/>';case 57532:return'<path d="M0,0 L1,0 L0,1 Z" fill="currentColor"/>';case 57534:return'<path d="M1,0 L1,1 L0,0 Z" fill="currentColor"/>';default:return null}}(A);if(!e)return!1;if(r.has(A))return!0;const t=`sym-${A}`,V=document.createElementNS(ze,"symbol");return V.setAttribute("id",t),V.setAttribute("viewBox","0 0 1 1"),V.setAttribute("preserveAspectRatio","none"),V.setAttribute("overflow","visible"),V.innerHTML=e,p.appendChild(V),r.add(A),!0}(A))return null;const n=nt.has(A),i=n?e-rt:e,o=n?1+2*rt:1,I=function(){let A=g.pop();void 0===A&&(A=document.createElementNS(ze,"use"));return A}();return I.setAttribute("href",`#sym-${A}`),I.setAttribute("x",i),I.setAttribute("y",0),I.setAttribute("width",o),I.setAttribute("height","1"),t?I.style.setProperty("color",t):I.style.removeProperty("color"),V?I.classList.add("ap-blink"):I.classList.remove("ap-blink"),I}return wA((()=>{!function(){if(h=w.getContext("2d"),!h)throw new Error("2D ctx not available");const{cols:A,rows:e}=s();w.width=8*A,w.height=e*Xe,w.style.imageRendering="pixelated",h.imageSmoothingEnabled=!1}(),L=function(A){const e=getComputedStyle(A),t=n(e.getPropertyValue("--term-color-foreground"),it.foreground),V=n(e.getPropertyValue("--term-color-background"),it.background),g=[];for(let A=0;A<16;A++){const t=A>=8?g[A-8]:it.palette[A];g[A]=n(e.getPropertyValue(`--term-color-${A}`),t)}return{foreground:t,background:V,palette:g}}(f),M.theme=L,H(s().rows),O(s().rows),I.then((t=>{B=t,e.addEventListener("reset",N),e.addEventListener("resize",v),e.addEventListener("output",b),A.onReady?.()}))})),hA((()=>{e.removeEventListener("reset",N),e.removeEventListener("resize",v),e.removeEventListener("output",b),clearInterval(q),cancelAnimationFrame(m)})),lA((()=>{A.blinking&&void 0===q?q=setInterval(U,600):(clearInterval(q),q=void 0,l(!0))})),lA((()=>{u(),F.visible&&(M.rows.add(F.row),S())})),(()=>{const A=je.cloneNode(!0),e=A.firstChild,t=e.nextSibling,V=t.firstChild,g=V.nextSibling,n=t.nextSibling;"function"==typeof f?Ae(f,A):f=A;"function"==typeof w?Ae(w,e):w=e;"function"==typeof y?Ae(y,t):y=t;"function"==typeof p?Ae(p,V):p=V;"function"==typeof k?Ae(k,g):k=g;return"function"==typeof D?Ae(D,n):D=n,cA((e=>{const V=d(),g=`0 0 ${s().cols} ${s().rows}`,r=!!c(),i=!!c();return e._v$=_A(A,V,e._v$),g!==e._v$2&&zA(t,"viewBox",e._v$2=g),r!==e._v$3&&t.classList.toggle("ap-blink",e._v$3=r),i!==e._v$4&&n.classList.toggle("ap-blink",e._v$4=i),e}),{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0}),A})()};function _e(A,e=!1){return{fg:A.foreground,bg:A.background,palette:e?At(A.palette,A.background,A.foreground):et(A.palette)}}function At(A,e,t){const V=i(e),g=i(t),n=i(A[1]),I=i(A[2]),B=i(A[3]),s=i(A[4]),C=i(A[5]),Q=i(A[6]),a=[...A];for(let A=0;A<6;A+=1){const e=A/5,t=r(e,V,n),i=r(e,I,B),E=r(e,s,C),c=r(e,Q,g);for(let A=0;A<6;A+=1){const e=A/5,V=r(e,t,i),g=r(e,E,c);for(let A=0;A<6;A+=1){const e=r(A/5,V,g);a.push(o(e))}}}for(let A=0;A<24;A+=1){const e=(A+1)/25;a.push(o(r(e,V,g)))}return a}function et(A){const e=[...A],t=[0,95,135,175,215,255];for(let A=0;A<6;A+=1)for(let V=0;V<6;V+=1)for(let g=0;g<6;g+=1)e.push(s(t[A],t[V],t[g]));for(let A=0;A<24;A+=1){const t=8+10*A;e.push(s(t,t,t))}return e}function tt(A,e,t,V){const g=12;switch(e){case 9475:A.fillRect(t+3,V,2,Xe);break;case 9593:A.fillRect(t+3,V,2,g);break;case 9595:A.fillRect(t+3,V+g,2,g);break;case 9600:A.fillRect(t,V,8,g);break;case 9601:A.fillRect(t,V+21,8,3);break;case 9602:A.fillRect(t,V+18,8,6);break;case 9603:A.fillRect(t,V+15,8,9);break;case 9604:A.fillRect(t,V+g,8,g);break;case 9605:A.fillRect(t,V+9,8,15);break;case 9606:A.fillRect(t,V+6,8,18);break;case 9607:A.fillRect(t,V+3,8,21);break;case 9608:A.fillRect(t,V,8,Xe);break;case 9632:A.fillRect(t,V+6,8,12);break;case 9609:A.fillRect(t,V,7,Xe);break;case 9610:A.fillRect(t,V,6,Xe);break;case 9611:A.fillRect(t,V,5,Xe);break;case 9612:A.fillRect(t,V,4,Xe);break;case 9613:A.fillRect(t,V,3,Xe);break;case 9614:A.fillRect(t,V,2,Xe);break;case 9615:A.fillRect(t,V,1,Xe);break;case 9616:A.fillRect(t+4,V,4,Xe);break;case 9617:A.save(),A.globalAlpha=.25,A.fillRect(t,V,8,Xe),A.restore();break;case 9618:A.save(),A.globalAlpha=.5,A.fillRect(t,V,8,Xe),A.restore();break;case 9619:A.save(),A.globalAlpha=.75,A.fillRect(t,V,8,Xe),A.restore();break;case 9620:A.fillRect(t,V,8,3);break;case 9621:A.fillRect(t+7,V,1,Xe);break;case 9622:A.fillRect(t,V+g,4,g);break;case 9623:A.fillRect(t+4,V+g,4,g);break;case 9624:A.fillRect(t,V,4,g);break;case 9625:A.fillRect(t,V,4,Xe),A.fillRect(t+4,V+g,4,g);break;case 9626:A.fillRect(t,V,4,g),A.fillRect(t+4,V+g,4,g);break;case 9627:A.fillRect(t,V,8,g),A.fillRect(t,V+g,4,g);break;case 9628:A.fillRect(t,V,8,g),A.fillRect(t+4,V+g,4,g);break;case 9629:A.fillRect(t+4,V,4,g);break;case 9630:A.fillRect(t+4,V,4,g),A.fillRect(t,V+g,4,g);break;case 9631:A.fillRect(t+4,V,4,Xe),A.fillRect(t,V+g,4,g);break;case 129792:A.fillRect(t,V,4,8);break;case 129793:A.fillRect(t+4,V,4,8);break;case 129794:A.fillRect(t,V,8,8);break;case 129795:A.fillRect(t,V+8,4,8);break;case 129796:A.fillRect(t,V,4,8),A.fillRect(t,V+8,4,8);break;case 129797:A.fillRect(t+4,V,4,8),A.fillRect(t,V+8,4,8);break;case 129798:A.fillRect(t,V,8,8),A.fillRect(t,V+8,4,8);break;case 129799:A.fillRect(t+4,V+8,4,8);break;case 129800:A.fillRect(t,V,4,8),A.fillRect(t+4,V+8,4,8);break;case 129801:A.fillRect(t+4,V,4,8),A.fillRect(t+4,V+8,4,8);break;case 129802:A.fillRect(t,V,8,8),A.fillRect(t+4,V+8,4,8);break;case 129803:A.fillRect(t,V+8,8,8);break;case 129804:A.fillRect(t,V,4,8),A.fillRect(t,V+8,8,8);break;case 129805:A.fillRect(t+4,V,4,8),A.fillRect(t,V+8,8,8);break;case 129806:A.fillRect(t,V,8,8),A.fillRect(t,V+8,8,8);break;case 129807:A.fillRect(t,V+16,4,8);break;case 129808:A.fillRect(t,V,4,8),A.fillRect(t,V+16,4,8);break;case 129809:A.fillRect(t+4,V,4,8),A.fillRect(t,V+16,4,8);break;case 129810:A.fillRect(t,V,8,8),A.fillRect(t,V+16,4,8);break;case 129811:A.fillRect(t,V+8,4,16);break;case 129812:A.fillRect(t+4,V,4,8),A.fillRect(t,V+8,4,16);break;case 129813:A.fillRect(t,V,8,8),A.fillRect(t,V+8,4,16);break;case 129814:A.fillRect(t+4,V+8,4,8),A.fillRect(t,V+16,4,8);break;case 129815:A.fillRect(t,V,4,8),A.fillRect(t+4,V+8,4,8),A.fillRect(t,V+16,4,8);break;case 129816:A.fillRect(t+4,V,4,16),A.fillRect(t,V+16,4,8);break;case 129817:A.fillRect(t,V,8,8),A.fillRect(t+4,V+8,4,8),A.fillRect(t,V+16,4,8);break;case 129818:A.fillRect(t,V+8,8,8),A.fillRect(t,V+16,4,8);break;case 129819:A.fillRect(t,V,4,24),A.fillRect(t+4,V+8,4,8);break;case 129820:A.fillRect(t+4,V,4,8),A.fillRect(t,V+8,8,8),A.fillRect(t,V+16,4,8);break;case 129821:A.fillRect(t,V,8,16),A.fillRect(t,V+16,4,8);break;case 129822:A.fillRect(t+4,V+16,4,8);break;case 129823:A.fillRect(t,V,4,8),A.fillRect(t+4,V+16,4,8);break;case 129824:A.fillRect(t+4,V,4,8),A.fillRect(t+4,V+16,4,8);break;case 129825:A.fillRect(t,V,8,8),A.fillRect(t+4,V+16,4,8);break;case 129826:A.fillRect(t,V+8,4,8),A.fillRect(t+4,V+16,4,8);break;case 129827:A.fillRect(t,V,4,16),A.fillRect(t+4,V+16,4,8);break;case 129828:A.fillRect(t+4,V,4,8),A.fillRect(t,V+8,4,8),A.fillRect(t+4,V+16,4,8);break;case 129829:A.fillRect(t,V,8,8),A.fillRect(t,V+8,4,8),A.fillRect(t+4,V+16,4,8);break;case 129830:A.fillRect(t+4,V+8,4,16);break;case 129831:A.fillRect(t,V,4,8),A.fillRect(t+4,V+8,4,16);break;case 129832:A.fillRect(t,V,8,8),A.fillRect(t+4,V+8,4,16);break;case 129833:A.fillRect(t,V+8,8,8),A.fillRect(t+4,V+16,4,8);break;case 129834:A.fillRect(t,V,4,16),A.fillRect(t+4,V+8,4,16);break;case 129835:A.fillRect(t+4,V,4,8),A.fillRect(t,V+8,8,8),A.fillRect(t+4,V+16,4,8);break;case 129836:A.fillRect(t,V,8,16),A.fillRect(t+4,V+16,4,8);break;case 129837:A.fillRect(t,V+16,8,8);break;case 129838:A.fillRect(t,V,4,8),A.fillRect(t,V+16,8,8);break;case 129839:A.fillRect(t+4,V,4,8),A.fillRect(t,V+16,8,8);break;case 129840:A.fillRect(t,V,8,8),A.fillRect(t,V+16,8,8);break;case 129841:A.fillRect(t,V+8,4,8),A.fillRect(t,V+16,8,8);break;case 129842:A.fillRect(t,V,4,16),A.fillRect(t,V+16,8,8);break;case 129843:A.fillRect(t+4,V,4,8),A.fillRect(t,V+8,4,8),A.fillRect(t,V+16,8,8);break;case 129844:A.fillRect(t,V,8,8),A.fillRect(t,V+8,4,8),A.fillRect(t,V+16,8,8);break;case 129845:A.fillRect(t+4,V+8,4,8),A.fillRect(t,V+16,8,8);break;case 129846:A.fillRect(t,V,4,8),A.fillRect(t+4,V+8,4,8),A.fillRect(t,V+16,8,8);break;case 129847:A.fillRect(t+4,V,4,16),A.fillRect(t,V+16,8,8);break;case 129848:A.fillRect(t,V,8,8),A.fillRect(t+4,V+8,4,8),A.fillRect(t,V+16,8,8);break;case 129849:A.fillRect(t,V+8,8,16);break;case 129850:A.fillRect(t,V,4,24),A.fillRect(t+4,V+8,4,8),A.fillRect(t+4,V+16,4,8);break;case 129851:A.fillRect(t+4,V,4,8),A.fillRect(t,V+8,8,16)}}const Vt=.05,gt=9.0375/20;const nt=new Set([57520,57521,57522,57523,57524,57525,57526,57527,57528,57529,57530,57531,57532,57533,57534,57535]),rt=.02,it={foreground:"#000000",background:"#000000",palette:["#000000","#000000","#000000","#000000","#000000","#000000","#000000","#000000","#000000","#000000","#000000","#000000","#000000","#000000","#000000","#000000"]},ot=$A('<svg version="1.1" viewBox="0 0 12 12" class="ap-icon ap-icon-fullscreen-off" aria-hidden="true"><path d="M7,5 L7,0 L9,2 L11,0 L12,1 L10,3 L12,5 Z"></path><path d="M5,7 L0,7 L2,9 L0,11 L1,12 L3,10 L5,12 Z"></path></svg>',6);var It=A=>ot.cloneNode(!0);const Bt=$A('<svg version="1.1" viewBox="6 8 14 16" class="ap-icon" aria-hidden="true"><path d="M0.938 8.313h22.125c0.5 0 0.938 0.438 0.938 0.938v13.5c0 0.5-0.438 0.938-0.938 0.938h-22.125c-0.5 0-0.938-0.438-0.938-0.938v-13.5c0-0.5 0.438-0.938 0.938-0.938zM1.594 22.063h20.813v-12.156h-20.813v12.156zM3.844 11.188h1.906v1.938h-1.906v-1.938zM7.469 11.188h1.906v1.938h-1.906v-1.938zM11.031 11.188h1.938v1.938h-1.938v-1.938zM14.656 11.188h1.875v1.938h-1.875v-1.938zM18.25 11.188h1.906v1.938h-1.906v-1.938zM5.656 15.031h1.938v1.938h-1.938v-1.938zM9.281 16.969v-1.938h1.906v1.938h-1.906zM12.875 16.969v-1.938h1.906v1.938h-1.906zM18.406 16.969h-1.938v-1.938h1.938v1.938zM16.531 20.781h-9.063v-1.906h9.063v1.906z"></path></svg>',4);var st=A=>Bt.cloneNode(!0);const Ct=$A('<svg version="1.1" viewBox="0 0 12 12" class="ap-icon" aria-hidden="true"><path d="M1,0 L4,0 L4,12 L1,12 Z"></path><path d="M8,0 L11,0 L11,12 L8,12 Z"></path></svg>',6);var Qt=A=>Ct.cloneNode(!0);const at=$A('<svg version="1.1" viewBox="0 0 12 12" class="ap-icon" aria-hidden="true"><path d="M1,0 L11,6 L1,12 Z"></path></svg>',4);var Et=A=>at.cloneNode(!0);const ct=$A('<svg version="1.1" viewBox="0 0 12 12" class="ap-icon ap-icon-fullscreen-on" aria-hidden="true"><path d="M12,0 L7,0 L9,2 L7,4 L8,5 L10,3 L12,5 Z"></path><path d="M0,12 L0,7 L2,9 L4,7 L5,8 L3,10 L5,12 Z"></path></svg>',6);var lt=A=>ct.cloneNode(!0);const ut=$A('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true"><path d="M10.5 3.75a.75.75 0 0 0-1.264-.546L5.203 7H2.667a.75.75 0 0 0-.7.48A6.985 6.985 0 0 0 1.5 10c0 .887.165 1.737.468 2.52.111.29.39.48.7.48h2.535l4.033 3.796a.75.75 0 0 0 1.264-.546V3.75ZM16.45 5.05a.75.75 0 0 0-1.06 1.061 5.5 5.5 0 0 1 0 7.778.75.75 0 0 0 1.06 1.06 7 7 0 0 0 0-9.899Z"></path><path d="M14.329 7.172a.75.75 0 0 0-1.061 1.06 2.5 2.5 0 0 1 0 3.536.75.75 0 0 0 1.06 1.06 4 4 0 0 0 0-5.656Z"></path></svg>',6);var dt=A=>ut.cloneNode(!0);const ft=$A('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="size-5" aria-hidden="true"><path d="M10.047 3.062a.75.75 0 0 1 .453.688v12.5a.75.75 0 0 1-1.264.546L5.203 13H2.667a.75.75 0 0 1-.7-.48A6.985 6.985 0 0 1 1.5 10c0-.887.165-1.737.468-2.52a.75.75 0 0 1 .7-.48h2.535l4.033-3.796a.75.75 0 0 1 .811-.142ZM13.78 7.22a.75.75 0 1 0-1.06 1.06L14.44 10l-1.72 1.72a.75.75 0 0 0 1.06 1.06l1.72-1.72 1.72 1.72a.75.75 0 1 0 1.06-1.06L16.56 10l1.72-1.72a.75.75 0 0 0-1.06-1.06L15.5 8.94l-1.72-1.72Z"></path></svg>',4);var wt=A=>ft.cloneNode(!0);const ht=$A('<button class="ap-button ap-playback-button" type="button"></button>',2),Dt=$A('<span class="ap-bar"><span class="ap-gutter ap-gutter-empty"></span><span class="ap-gutter ap-gutter-full"></span></span>',6),yt=$A('<span class="ap-tooltip">Unmute (m)</span>',2),pt=$A('<span class="ap-tooltip">Mute (m)</span>',2),kt=$A('<button class="ap-button ap-speaker-button ap-tooltip-container" type="button" aria-label="Mute / unmute"></button>',2),mt=$A('<div class="ap-control-bar"><span class="ap-timer"><span class="ap-time-elapsed"></span><span class="ap-time-remaining"></span></span><span class="ap-progressbar"></span><button class="ap-button ap-kbd-button ap-tooltip-container" type="button" aria-label="Show keyboard shortcuts"><span class="ap-tooltip">Keyboard shortcuts (?)</span></button><button class="ap-button ap-fullscreen-button ap-tooltip-container" type="button" aria-label="Toggle fullscreen mode"><span class="ap-tooltip">Fullscreen (f)</span></button></div>',18),qt=$A('<span class="ap-marker-container ap-tooltip-container"><span class="ap-marker"></span><span class="ap-tooltip"></span></span>',6);function Lt(A){let e=Math.floor(A);const t=Math.floor(e/86400);e%=86400;const V=Math.floor(e/3600);e%=3600;const g=Math.floor(e/60);return e%=60,t>0?`${Ft(t)}:${Ft(V)}:${Ft(g)}:${Ft(e)}`:V>0?`${Ft(V)}:${Ft(g)}:${Ft(e)}`:`${Ft(g)}:${Ft(e)}`}function Ft(A){return A<10?`0${A}`:A.toString()}var Mt=A=>{const e=A=>e=>{e.preventDefault(),A(e)},t=()=>"number"==typeof A.currentTime?Lt(A.currentTime):"--:--",V=()=>"number"==typeof A.remainingTime?"-"+Lt(A.remainingTime):t(),g=uA((()=>"number"==typeof A.duration?A.markers.filter((e=>e[0]<A.duration)):[])),n=A=>{const e=A.currentTarget.offsetWidth,t=A.currentTarget.getBoundingClientRect(),V=A.clientX-t.left;return 100*Math.max(0,V/e)+"%"},[r,i]=EA(!1),o=function(A,e){let t=!0;return function(...V){t&&(t=!1,A.apply(this,V),setTimeout((()=>t=!0),e))}}(A.onSeekClick,50),I=e=>{e._marker||e.altKey||e.shiftKey||e.metaKey||e.ctrlKey||0!==e.button||(i(!0),A.onSeekClick(n(e)))},B=A=>{A.altKey||A.shiftKey||A.metaKey||A.ctrlKey||r()&&o(n(A))},s=()=>{i(!1)};return document.addEventListener("mouseup",s),hA((()=>{document.removeEventListener("mouseup",s)})),(()=>{const n=mt.cloneNode(!0),r=n.firstChild,i=r.firstChild,o=i.nextSibling,s=r.nextSibling,C=s.nextSibling,Q=C.firstChild,a=C.nextSibling,E=a.firstChild,c=A.ref;return"function"==typeof c?Ae(c,n):A.ref=n,ee(n,TA(OA,{get when(){return A.isPausable},get children(){const t=ht.cloneNode(!0);return PA(t,"click",e(A.onPlayClick)),ee(t,TA(xA,{get children(){return[TA(ZA,{get when(){return A.isPlaying},get children(){return TA(Qt,{})}}),TA(ZA,{when:!0,get children(){return TA(Et,{})}})]}})),cA((()=>zA(t,"aria-label",A.isPlaying?"Pause":"Play"))),t}}),r),ee(i,t),ee(o,V),ee(s,TA(OA,{get when(){return"number"==typeof A.progress||A.isSeekable},get children(){const t=Dt.cloneNode(!0),V=t.firstChild.nextSibling;return t.$$mousemove=B,t.$$mousedown=I,ee(t,TA(HA,{get each(){return g()},children:(t,V)=>(()=>{const g=qt.cloneNode(!0),n=g.firstChild,r=n.nextSibling;var i;return g.$$mousedown=A=>{A._marker=!0},PA(g,"click",(i=V(),e((()=>{A.onSeekClick({marker:i})})))),ee(r,(()=>(A=>""===A[1]?Lt(A[0]):`${Lt(A[0])} - ${A[1]}`)(t))),cA((e=>{const V=(e=>e[0]/A.duration*100+"%")(t),r=!!(e=>"number"==typeof A.currentTime&&e[0]<=A.currentTime)(t);return V!==e._v$&&g.style.setProperty("left",e._v$=V),r!==e._v$2&&n.classList.toggle("ap-marker-past",e._v$2=r),e}),{_v$:void 0,_v$2:void 0}),g})()}),null),cA((e=>_A(V,{transform:`scaleX(${A.progress||0}`},e))),t}})),ee(n,TA(OA,{get when(){return void 0!==A.isMuted},get children(){const t=kt.cloneNode(!0);return PA(t,"click",e(A.onMuteClick)),ee(t,TA(xA,{get children(){return[TA(ZA,{get when(){return!0===A.isMuted},get children(){return[TA(wt,{}),yt.cloneNode(!0)]}}),TA(ZA,{get when(){return!1===A.isMuted},get children(){return[TA(dt,{}),pt.cloneNode(!0)]}})]}})),t}}),C),PA(C,"click",e(A.onHelpClick)),ee(C,TA(st,{}),Q),PA(a,"click",e(A.onFullscreenClick)),ee(a,TA(lt,{}),E),ee(a,TA(It,{}),E),cA((()=>n.classList.toggle("ap-seekable",!!A.isSeekable))),n})()};jA(["click","mousedown","mousemove"]);const Rt=$A('<div class="ap-overlay ap-overlay-error"><span>💥</span></div>',4);var Nt=A=>Rt.cloneNode(!0);const vt=$A('<div class="ap-overlay ap-overlay-loading"><span class="ap-loader"></span></div>',4);var bt=A=>vt.cloneNode(!0);const Gt=$A('<div class="ap-overlay ap-overlay-info"><span></span></div>',4);var Ut=A=>(()=>{const e=Gt.cloneNode(!0);return ee(e.firstChild,(()=>A.message)),cA((()=>e.classList.toggle("ap-was-playing",!!A.wasPlaying))),e})();const St=$A('<div class="ap-overlay ap-overlay-start"><div class="ap-play-button"><div><span><svg version="1.1" viewBox="0 0 1000.0 1000.0" class="ap-icon"><defs><mask id="small-triangle-mask"><rect width="100%" height="100%" fill="white"></rect><polygon points="700.0 500.0, 400.00000000000006 326.7949192431122, 399.9999999999999 673.2050807568877" fill="black"></polygon></mask></defs><polygon points="1000.0 500.0, 250.0000000000001 66.98729810778059, 249.99999999999977 933.0127018922192" mask="url(#small-triangle-mask)" fill="white" class="ap-play-btn-fill"></polygon><polyline points="673.2050807568878 400.0, 326.7949192431123 600.0" stroke="white" stroke-width="90" class="ap-play-btn-stroke"></polyline></svg></span></div></div></div>',22);var Jt=A=>(()=>{const e=St.cloneNode(!0);var t;return PA(e,"click",(t=A.onClick,A=>{A.preventDefault(),t(A)})),e})();jA(["click"]);const Yt=$A("<li><kbd>space</kbd> - pause / resume</li>",4),Tt=$A("<li><kbd>←</kbd> / <kbd>→</kbd> - rewind / fast-forward by 5 seconds</li>",6),Kt=$A("<li><kbd>Shift</kbd> + <kbd>←</kbd> / <kbd>→</kbd> - rewind / fast-forward by 10%</li>",8),Ht=$A("<li><kbd>[</kbd> / <kbd>]</kbd> - jump to the previous / next marker</li>",6),Ot=$A("<li><kbd>0</kbd>, <kbd>1</kbd>, <kbd>2</kbd> ... <kbd>9</kbd> - jump to 0%, 10%, 20% ... 90%</li>",10),xt=$A("<li><kbd>,</kbd> / <kbd>.</kbd> - step back / forward, a frame at a time (when paused)</li>",6),Zt=$A("<li><kbd>m</kbd> - mute / unmute audio</li>",4),Wt=$A('<div class="ap-overlay ap-overlay-help"><div><div><p>Keyboard shortcuts</p><ul><li><kbd>f</kbd> - toggle fullscreen mode</li><li><kbd>k</kbd> - toggle keystroke overlay</li><li><kbd>?</kbd> - show this help popup</li></ul></div></div></div>',22);var $t=A=>(()=>{const e=Wt.cloneNode(!0),t=e.firstChild,V=t.firstChild.firstChild.nextSibling,g=V.firstChild,n=g.nextSibling.nextSibling;var r;return PA(e,"click",(r=A.onClose,A=>{A.preventDefault(),r(A)})),t.$$click=A=>{A.stopPropagation()},ee(V,TA(OA,{get when(){return A.isPausable},get children(){return Yt.cloneNode(!0)}}),g),ee(V,TA(OA,{get when(){return A.isSeekable},get children(){return[Tt.cloneNode(!0),Kt.cloneNode(!0),Ht.cloneNode(!0),Ot.cloneNode(!0),xt.cloneNode(!0)]}}),g),ee(V,TA(OA,{get when(){return A.hasAudio},get children(){return Zt.cloneNode(!0)}}),n),e})();jA(["click"]);const jt=$A("<div><kbd></kbd></div>",4),zt=$A('<div class="ap-overlay ap-overlay-keystrokes"></div>',2);function Xt(A){const[e,t]=EA(!1);return lA((()=>{const{id:e}=A.keystroke;A.keystroke.rev(),t(!1);const V=setTimeout((function(){t(!0)}),2e3),g=setTimeout((function(){A.onExpired(e)}),2700);hA((()=>{clearTimeout(V),clearTimeout(g)}))})),(()=>{const t=jt.cloneNode(!0);return ee(t.firstChild,(()=>A.keystroke.label())),cA((()=>XA(t,e()?"ap-keystroke-pill fading":"ap-keystroke-pill"))),t})()}var Pt=A=>(()=>{const e=zt.cloneNode(!0);return ee(e,TA(HA,{get each(){return A.keystrokes},children:e=>TA(Xt,{keystroke:e,get onExpired(){return A.onExpired}})})),cA((()=>e.style.setProperty("--ap-keystrokes-bottom",`${(A.bottomOffset??0)+12}px`))),e})();const _t={...Object.fromEntries(Array.from({length:26},((A,e)=>[String.fromCharCode(e+1),`C-${String.fromCharCode(97+e)}`]))),"\b":"Back","\r":"Ret","\t":"Tab","":"Esc","":"Back"},AV={" ":"Spc"},eV={57358:"Caps",57359:"Scroll",57360:"Num",57361:"Print",57362:"Pause",57363:"Menu",57414:"Enter",57421:"PgUp",57422:"PgDn"},tV={A:"↑",B:"↓",C:"→",D:"←",F:"End",H:"Home",P:"F1",Q:"F2",R:"F3",S:"F4"},VV={2:"Ins",3:"Del",5:"PgUp",6:"PgDn",15:"F5",17:"F6",18:"F7",19:"F8",20:"F9",21:"F10",23:"F11",24:"F12"};function gV(A,e){const t=Number.parseInt(e.split(":")[0],10);if(!Number.isFinite(t)||t<=1)return A;const V=t-1,g=[];return 4&V&&g.push("C"),2&V&&g.push("A"),1&V&&g.push("S"),0===g.length?A:`${g.join("-")}-${A}`}function nV(A){if(A in eV)return eV[A];const e=String.fromCodePoint(A);return e in _t?_t[e]:e in AV?AV[e]:e}function rV(A){const e=A.match(/^(\d+);;(\d+)u$/);if(null!==e)return`A-${nV(Number.parseInt(e[2],10))}`;const t=A.match(/^(\d+)(?:;([\d:]+))?u$/);if(null!==t){const A=nV(Number.parseInt(t[1],10));return void 0===t[2]?A:gV(A,t[2])}const V=A.match(/^O?([A-Z])$/);if(null!==V&&V[1]in tV)return tV[V[1]];const g=A.match(/^(\d+)~$/);if(null!==g&&g[1]in VV)return VV[g[1]];const n=A.match(/^27;([\d:]+);(\d+)~$/);if(null!==n){return gV(nV(Number.parseInt(n[2],10)),n[1])}const r=A.match(/^(?:1;)?([\d:]+)([A-Z])$/);if(null!==r&&r[2]in tV)return gV(tV[r[2]],r[1]);const i=A.match(/^(\d+);([\d:]+)~$/);return null!==i&&i[1]in VV?gV(VV[i[1]],i[2]):""}function iV(A){if(A in _t)return{kind:"special",label:_t[A]};if(1===A.length)return A in AV?{kind:"special",label:AV[A]}:{kind:"text",label:A};if(A.startsWith("")){const e=function(A){const e=A.slice(1);return 1===e.length?e in _t?"A-"+_t[e]:e in AV?"A-"+AV[e]:"A-"+e:e.startsWith("[")?rV(e.slice(1)):e.startsWith("O")?rV(e):""}(A);if(""!==e)return{kind:"special",label:e}}return null}const oV=$A('<div class="ap-wrapper" tabindex="-1"><div></div></div>',4);var IV=A=>{const e=A.logger,t=A.core,V=A.autoPlay,g=A.charW,n=A.charH,r=A.bordersW,i=A.bordersH,o=A.theme??"auto/asciinema",I="auto/"===o.slice(0,5),B=I?o.slice(5):o,[s,C]=(Q=A.cols,a=A.rows,EA({cols:Q,rows:a},{equals:(A,e)=>A.cols===e.cols&&A.rows===e.rows}));var Q,a;const[E,c]=EA({width:0,height:0},{equals:(A,e)=>A.width===e.width&&A.height===e.height}),[l,u]=EA(!0),[d,f]=EA(!0),[w,h]=EA(!1),[D,y]=EA(null),[p,k]=EA(null),[m,q]=EA(null),[L,F]=EA(!1),[M,R]=EA(void 0),[N,v]=EA(!1),[b,G]=EA(V?null:"start"),[U,S]=EA(null),[J,Y]=EA(!1),[T,K]=EA(null),[H,O]=EA([]),[x,Z]=EA(!1),[W,$]=EA(!1),[j,z]=EA(null),X=uA((()=>s().cols||80)),P=uA((()=>s().rows||24)),_=()=>!1===A.controls?0:32,[AA,eA]=EA(!1!==A.keystrokeOverlay),[tA,VA]=EA([]);let gA,nA,rA,iA,oA,IA,BA=1;function sA(){Y(!1),jA(),zA()}const CA=({isPausable:A,isSeekable:e})=>{dA((()=>{u(A),f(e)}))},QA=A=>{dA((()=>{void 0!==A.duration&&(K(A.duration),y(0),k(A.duration),q(0)),void 0!==A.markers&&O(A.markers),void 0!==A.hasAudio&&R(!A.hasAudio&&void 0)}))},aA=({size:A,theme:e})=>{dA((()=>{C(A),void 0!==e&&z(e)}))},lA=A=>{C(A)},fA=()=>{G(null)},DA=()=>{dA((()=>{F(!0),v(!0),G(null),Y(!0),$A()}))},yA=()=>{dA((()=>{F(!1),sA()}))},pA=()=>{dA((()=>{F(!1),sA(),G("loader"),NA()}))},kA=({message:A})=>{dA((()=>{F(!1),sA(),NA(),void 0!==A&&(S(A),G("info"))}))},mA=A=>{R(A)},qA={renders:0},LA=({message:A})=>{dA((()=>{F(!1),sA(),void 0!==A&&(S(A),G("info"))})),e.debug("stats",qA)},FA=()=>{NA(),G("error")},MA=({data:A})=>{if(!AA())return;const e=iV(A);if(null===e)return;const t=tA(),V=t[t.length-1];"text"!==V?.kind||"text"!==e.kind?"special"!==V?.kind||"special"!==e.kind||V.key!==e.label?VA([...t,bA(e)].slice(-4)):V.increment():V.append(e.label)},RA=()=>{zA(),NA()},NA=()=>{VA([])},vA=A=>{VA((e=>e.filter((e=>e.id!==A))))},bA=({kind:A,label:e})=>{const[t,V]=EA(e),[g,n]=EA(1),[r,i]=EA(0);return{id:BA++,kind:A,key:e,label:()=>1===g()?t():`${t()} × ${g()}`,rev:r,append:A=>{V((e=>(e+A).slice(-10))),i((A=>A+1))},increment:()=>{n((A=>A+1)),i((A=>A+1))}}};t.addEventListener("ready",CA),t.addEventListener("metadata",QA),t.addEventListener("play",fA),t.addEventListener("playing",DA),t.addEventListener("pause",yA),t.addEventListener("loading",pA),t.addEventListener("offline",kA),t.addEventListener("muted",mA),t.addEventListener("ended",LA),t.addEventListener("error",FA),t.addEventListener("input",MA),t.addEventListener("seeked",RA),t.addEventListener("reset",aA),t.addEventListener("resize",lA);const GA=()=>{IA=new ResizeObserver(function(A,e){let t;return function(...V){clearTimeout(t),t=setTimeout((()=>A.apply(this,V)),e)}}((A=>{c({width:rA.offsetWidth,height:rA.offsetHeight}),rA.dispatchEvent(new CustomEvent("resize",{detail:{el:iA}}))}),10)),IA.observe(rA)};wA((async()=>{e.info("view: mounted"),e.debug("view: font measurements",{charW:g,charH:n}),GA(),c({width:rA.offsetWidth,height:rA.offsetHeight})})),hA((()=>{t.removeEventListener("ready",CA),t.removeEventListener("metadata",QA),t.removeEventListener("play",fA),t.removeEventListener("playing",DA),t.removeEventListener("pause",yA),t.removeEventListener("loading",pA),t.removeEventListener("offline",kA),t.removeEventListener("muted",mA),t.removeEventListener("ended",LA),t.removeEventListener("error",FA),t.removeEventListener("input",MA),t.removeEventListener("seeked",RA),t.removeEventListener("reset",aA),t.removeEventListener("resize",lA),t.stop(),jA(),IA.disconnect()}));const UA=uA((()=>{const e=g*X()+r,t=n*P()+i;let V=A.fit??"width";const o=E();if("both"===V||w()){V=o.width/(o.height-_())>e/t?"height":"width"}if(!1===V||"none"===V)return{};if("width"===V){const A=o.width/e;return{scale:A,width:o.width,height:t*A+_()}}if("height"===V){const A=(o.height-_())/t;return{scale:A,width:e*A,height:o.height}}throw new Error(`unsupported fit mode: ${V}`)})),SA=()=>{h(document.fullscreenElement??document.webkitFullscreenElement)},JA=()=>{w()?(document.exitFullscreen??document.webkitExitFullscreen??(()=>{})).apply(document):(rA.requestFullscreen??rA.webkitRequestFullscreen??(()=>{})).apply(rA)},YA=()=>{W()?$(!1):(t.pause(),$(!0))},KA=A=>{if(!(A.altKey||A.metaKey||A.ctrlKey||(" "==A.key||"Enter"==A.key)&&A.target instanceof HTMLButtonElement)){if(" "==A.key)ge();else if(","==A.key)t.step(-1).then(zA);else if("."==A.key)t.step().then(zA);else if("f"==A.key)JA();else if("m"==A.key)ne();else if("["==A.key)t.seek({marker:"prev"});else if("]"==A.key)t.seek({marker:"next"});else if(A.key.charCodeAt(0)>=48&&A.key.charCodeAt(0)<=57){const e=(A.key.charCodeAt(0)-48)/10;t.seek(100*e+"%")}else if("?"==A.key)YA();else if("k"==A.key)AA()?(NA(),eA(!1)):eA(!0);else if("ArrowLeft"==A.key)A.shiftKey?t.seek("<<<"):t.seek("<<");else if("ArrowRight"==A.key)A.shiftKey?t.seek(">>>"):t.seek(">>");else{if("Escape"!=A.key)return;$(!1)}A.stopPropagation(),A.preventDefault()}},HA=()=>{w()&&PA(!0)},WA=()=>{w()||PA(!1)},$A=()=>{clearInterval(nA),nA=setInterval(zA,100)},jA=()=>{clearInterval(nA)},zA=async()=>{const A=await t.getCurrentTime(),e=await t.getRemainingTime(),V=await t.getProgress();dA((()=>{y(A),k(e),q(V)}))},PA=A=>{clearTimeout(gA),A&&(gA=setTimeout((()=>PA(!1)),2e3)),Z(A)},te=uA((()=>I?j():null)),Ve=()=>{t.play()},ge=()=>{L()?t.pause():t.play()},ne=()=>{!0===M()?t.unmute():t.mute()},re=A=>{t.seek(A)},ie=(()=>{const V=oV.cloneNode(!0),g=V.firstChild;"function"==typeof rA?Ae(rA,V):rA=V,V.addEventListener("webkitfullscreenchange",SA),V.addEventListener("fullscreenchange",SA),V.$$mousemove=HA,V.$$keydown=KA;return"function"==typeof iA?Ae(iA,g):iA=g,g.$$mousemove=()=>PA(!0),g.addEventListener("mouseleave",WA),ee(g,TA(Pe,{get cols(){return X()},get rows(){return P()},get scale(){return UA()?.scale},get blinking(){return J()},get cursorMode(){return A.cursorMode},get boldIsBright(){return A.boldIsBright},get adaptivePalette(){return A.adaptivePalette},get lineHeight(){return A.terminalLineHeight},preferEmbeddedTheme:I,core:t,logger:e,get onReady(){return A.onTerminalReady},get stats(){return qA}}),null),ee(g,TA(OA,{get when(){return!1!==A.controls},get children(){return TA(Mt,{get duration(){return T()},get currentTime(){return D()},get remainingTime(){return p()},get progress(){return m()},get markers(){return H()},get isPlaying(){return L()||"loader"==b()},get isPausable(){return l()},get isSeekable(){return d()},get isMuted(){return M()},onPlayClick:ge,onFullscreenClick:JA,onHelpClick:YA,onSeekClick:re,onMuteClick:ne,ref(A){"function"==typeof oA?oA(A):oA=A}})}}),null),ee(g,TA(OA,{get when(){return tA().length>0},get children(){return TA(Pt,{get bottomOffset(){return _()},get keystrokes(){return tA()},onExpired:vA})}}),null),ee(g,TA(xA,{get children(){return[TA(ZA,{get when(){return"start"==b()},get children(){return TA(Jt,{onClick:Ve})}}),TA(ZA,{get when(){return"loader"==b()},get children(){return TA(bt,{})}}),TA(ZA,{get when(){return"error"==b()},get children(){return TA(Nt,{})}})]}}),null),ee(g,TA(Ee,{name:"slide",get children(){return TA(OA,{get when(){return"info"==b()},get children(){return TA(Ut,{get message(){return U()},get wasPlaying(){return N()}})}})}}),null),ee(g,TA(OA,{get when(){return W()},get children(){return TA($t,{onClose:()=>$(!1),get isPausable(){return l()},get isSeekable(){return d()},get hasAudio(){return void 0!==M()}})}}),null),cA((e=>{const t=!!(!0===A.controls||"auto"===A.controls&&x()),n=`ap-player ap-default-term-ff asciinema-player-theme-${B}`,r=(()=>{const e={};!1!==A.fit&&"none"!==A.fit||void 0===A.terminalFontSize||("small"===A.terminalFontSize?e["font-size"]="12px":"medium"===A.terminalFontSize?e["font-size"]="18px":"big"===A.terminalFontSize?e["font-size"]="24px":e["font-size"]=A.terminalFontSize);const t=UA();void 0!==t.width&&(e.width=`${t.width}px`,e.height=`${t.height}px`),void 0!==A.terminalFontFamily&&(e["--term-font-family"]=A.terminalFontFamily);const V=te();return V&&(e["--term-color-foreground"]=V.foreground,e["--term-color-background"]=V.background),e})();return t!==e._v$&&V.classList.toggle("ap-hud",e._v$=t),n!==e._v$2&&XA(g,e._v$2=n),e._v$3=_A(g,r,e._v$3),e}),{_v$:void 0,_v$2:void 0,_v$3:void 0}),V})();return ie};function BV(A,e,t={}){const V=function(A,e){const t=80,V=24,g=document.createElement("div");g.className="ap-default-term-ff",g.style.height="0px",g.style.overflow="hidden",g.style.fontSize="15px",void 0!==A&&g.style.setProperty("--term-font-family",A);const n=document.createElement("div");n.className="ap-term",n.style.width=`${t}ch`,n.style.height=V*(e??1.3333333333)+"em",n.style.fontSize="100%",g.appendChild(n),document.body.appendChild(g);const r={charW:n.clientWidth/t,charH:n.clientHeight/V,bordersW:n.offsetWidth-n.clientWidth,bordersH:n.offsetHeight-n.clientHeight};return document.body.removeChild(g),r}(t.terminalFontFamily,t.terminalLineHeight),g={core:A,logger:t.logger,cols:t.cols,rows:t.rows,fit:t.fit,controls:t.controls,cursorMode:t.cursorMode,keystrokeOverlay:t.keystrokeOverlay,autoPlay:t.autoPlay,boldIsBright:t.boldIsBright,adaptivePalette:t.adaptivePalette,terminalFontSize:t.terminalFontSize,terminalFontFamily:t.terminalFontFamily,terminalLineHeight:t.terminalLineHeight,theme:t.theme,onTerminalReady:t.onTerminalReady,...V};let n;const r=function(A,e,t,V={}){let g;return aA((V=>{g=V,e===document?A():ee(e,A(),e.firstChild?null:void 0,t)}),V.owner),()=>{g(),e.textContent=""}}((()=>(n=TA(IV,g),n)),e);return{el:n,dispose:r}}jA(["keydown","mousemove"]);const sV=["audioUrl","autoPlay","autoplay","cols","idleTimeLimit","loop","markers","pauseOnMarkers","poster","preload","rows","speed","startAt"],CV=["autoPlay","autoplay","boldIsBright","cols","adaptivePalette","controls","cursorMode","fit","keystrokeOverlay","rows","terminalFontFamily","terminalFontSize","terminalLineHeight","theme"];return A.create=function(A,e,t={}){const V=t.logger??new u,g=new _(A,function(A,e={}){const t=Object.fromEntries(Object.entries(A).filter((([A])=>sV.includes(A))));return t.autoPlay??=t.autoplay,t.speed??=1,{...t,...e}}(t,{logger:V})),{el:n,dispose:r}=BV(g,e,function(A,e={}){const t=Object.fromEntries(Object.entries(A).filter((([A])=>CV.includes(A))));if(t.autoPlay??=t.autoplay,t.adaptivePalette??=!1,t.controls??="auto",t.cursorMode??="blinking",t.keystrokeOverlay??=!1,!["blinking","steady","hidden"].includes(t.cursorMode))throw new Error(`unsupported cursor mode: ${t.cursorMode}`);if("boolean"!=typeof t.keystrokeOverlay)throw new Error(`unsupported keystroke overlay option: ${t.keystrokeOverlay}`);return{...t,...e}}(t,{logger:V,onTerminalReady:()=>g.terminalReady()}));g.init().catch((()=>{}));const i={el:n,dispose:r,getCurrentTime:()=>g.getCurrentTime(),getDuration:()=>g.getDuration(),play:()=>g.play(),pause:()=>g.pause(),seek:A=>g.seek(A),addEventListener:(A,e)=>g.addEventListener(A,e.bind(i))};return i},A}({});
/* @license-end */