UNPKG

@vivliostyle/core

Version:

Vivliostyle Core library for HTML+CSS typesetting with EPUB/Web publications support

4 lines 740 kB
"use strict";var iy=Object.create;var jr=Object.defineProperty;var ay=Object.getOwnPropertyDescriptor;var ly=Object.getOwnPropertyNames;var cy=Object.getPrototypeOf,uy=Object.prototype.hasOwnProperty;var yg=i=>{throw TypeError(i)};var dy=(i,t,e)=>t in i?jr(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var py=(i,t)=>()=>(t||i((t={exports:{}}).exports,t),t.exports),hy=(i,t)=>{for(var e in t)jr(i,e,{get:t[e],enumerable:!0})},Sg=(i,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of ly(t))!uy.call(i,s)&&s!==e&&jr(i,s,{get:()=>t[s],enumerable:!(n=ay(t,s))||n.enumerable});return i};var fy=(i,t,e)=>(e=i!=null?iy(cy(i)):{},Sg(t||!i||!i.__esModule?jr(e,"default",{value:i,enumerable:!0}):e,i)),gy=i=>Sg(jr({},"__esModule",{value:!0}),i);var p=(i,t,e)=>dy(i,typeof t!="symbol"?t+"":t,e),Pu=(i,t,e)=>t.has(i)||yg("Cannot "+e);var O=(i,t,e)=>(Pu(i,t,"read from private field"),e?e.call(i):t.get(i)),Z=(i,t,e)=>t.has(i)?yg("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(i):t.set(i,e),ke=(i,t,e,n)=>(Pu(i,t,"write to private field"),n?n.call(i,e):t.set(i,e),e),Ce=(i,t,e)=>(Pu(i,t,"access private method"),e);var Km=py((Mv,qm)=>{var qt=-1,Rt=1,st=0;function Si(i,t,e,n,s){if(i===t)return i?[[st,i]]:[];if(e!=null){var o=nx(i,t,e);if(o)return o}var r=Zd(i,t),a=i.substring(0,r);i=i.substring(r),t=t.substring(r),r=Rl(i,t);var l=i.substring(i.length-r);i=i.substring(0,i.length-r),t=t.substring(0,t.length-r);var c=YS(i,t);return a&&c.unshift([st,a]),l&&c.push([st,l]),Qd(c,s),n&&ZS(c),c}function YS(i,t){var e;if(!i)return[[Rt,t]];if(!t)return[[qt,i]];var n=i.length>t.length?i:t,s=i.length>t.length?t:i,o=n.indexOf(s);if(o!==-1)return e=[[Rt,n.substring(0,o)],[st,s],[Rt,n.substring(o+s.length)]],i.length>t.length&&(e[0][0]=e[2][0]=qt),e;if(s.length===1)return[[qt,i],[Rt,t]];var r=KS(i,t);if(r){var a=r[0],l=r[1],c=r[2],u=r[3],d=r[4],h=Si(a,c),f=Si(l,u);return h.concat([[st,d]],f)}return qS(i,t)}function qS(i,t){for(var e=i.length,n=t.length,s=Math.ceil((e+n)/2),o=s,r=2*s,a=new Array(r),l=new Array(r),c=0;c<r;c++)a[c]=-1,l[c]=-1;a[o+1]=0,l[o+1]=0;for(var u=e-n,d=u%2!==0,h=0,f=0,g=0,m=0,b=0;b<s;b++){for(var x=-b+h;x<=b-f;x+=2){var C=o+x,v;x===-b||x!==b&&a[C-1]<a[C+1]?v=a[C+1]:v=a[C-1]+1;for(var y=v-x;v<e&&y<n&&i.charAt(v)===t.charAt(y);)v++,y++;if(a[C]=v,v>e)f+=2;else if(y>n)h+=2;else if(d){var N=o+u-x;if(N>=0&&N<r&&l[N]!==-1){var E=e-l[N];if(v>=E)return Um(i,t,v,y)}}}for(var T=-b+g;T<=b-m;T+=2){var N=o+T,E;T===-b||T!==b&&l[N-1]<l[N+1]?E=l[N+1]:E=l[N-1]+1;for(var k=E-T;E<e&&k<n&&i.charAt(e-E-1)===t.charAt(n-k-1);)E++,k++;if(l[N]=E,E>e)m+=2;else if(k>n)g+=2;else if(!d){var C=o+u-T;if(C>=0&&C<r&&a[C]!==-1){var v=a[C],y=o+v-C;if(E=e-E,v>=E)return Um(i,t,v,y)}}}}return[[qt,i],[Rt,t]]}function Um(i,t,e,n){var s=i.substring(0,e),o=t.substring(0,n),r=i.substring(e),a=t.substring(n),l=Si(s,o),c=Si(r,a);return l.concat(c)}function Zd(i,t){if(!i||!t||i.charAt(0)!==t.charAt(0))return 0;for(var e=0,n=Math.min(i.length,t.length),s=n,o=0;e<s;)i.substring(o,s)==t.substring(o,s)?(e=s,o=e):n=s,s=Math.floor((n-e)/2+e);return $m(i.charCodeAt(s-1))&&s--,s}function Hm(i,t){var e=i.length,n=t.length;if(e==0||n==0)return 0;e>n?i=i.substring(e-n):e<n&&(t=t.substring(0,e));var s=Math.min(e,n);if(i==t)return s;for(var o=0,r=1;;){var a=i.substring(s-r),l=t.indexOf(a);if(l==-1)return o;r+=l,(l==0||i.substring(s-r)==t.substring(0,r))&&(o=r,r++)}}function Rl(i,t){if(!i||!t||i.slice(-1)!==t.slice(-1))return 0;for(var e=0,n=Math.min(i.length,t.length),s=n,o=0;e<s;)i.substring(i.length-s,i.length-o)==t.substring(t.length-s,t.length-o)?(e=s,o=e):n=s,s=Math.floor((n-e)/2+e);return Xm(i.charCodeAt(i.length-s))&&s--,s}function KS(i,t){var e=i.length>t.length?i:t,n=i.length>t.length?t:i;if(e.length<4||n.length*2<e.length)return null;function s(f,g,m){for(var b=f.substring(m,m+Math.floor(f.length/4)),x=-1,C="",v,y,N,E;(x=g.indexOf(b,x+1))!==-1;){var T=Zd(f.substring(m),g.substring(x)),k=Rl(f.substring(0,m),g.substring(0,x));C.length<k+T&&(C=g.substring(x-k,x)+g.substring(x,x+T),v=f.substring(0,m-k),y=f.substring(m+T),N=g.substring(0,x-k),E=g.substring(x+T))}return C.length*2>=f.length?[v,y,N,E,C]:null}var o=s(e,n,Math.ceil(e.length/4)),r=s(e,n,Math.ceil(e.length/2)),a;if(!o&&!r)return null;r?o?a=o[4].length>r[4].length?o:r:a=r:a=o;var l,c,u,d;i.length>t.length?(l=a[0],c=a[1],u=a[2],d=a[3]):(u=a[0],d=a[1],l=a[2],c=a[3]);var h=a[4];return[l,c,u,d,h]}function ZS(i){for(var t=!1,e=[],n=0,s=null,o=0,r=0,a=0,l=0,c=0;o<i.length;)i[o][0]==st?(e[n++]=o,r=l,a=c,l=0,c=0,s=i[o][1]):(i[o][0]==Rt?l+=i[o][1].length:c+=i[o][1].length,s&&s.length<=Math.max(r,a)&&s.length<=Math.max(l,c)&&(i.splice(e[n-1],0,[qt,s]),i[e[n-1]+1][0]=Rt,n--,n--,o=n>0?e[n-1]:-1,r=0,a=0,l=0,c=0,s=null,t=!0)),o++;for(t&&Qd(i),ex(i),o=1;o<i.length;){if(i[o-1][0]==qt&&i[o][0]==Rt){var u=i[o-1][1],d=i[o][1],h=Hm(u,d),f=Hm(d,u);h>=f?(h>=u.length/2||h>=d.length/2)&&(i.splice(o,0,[st,d.substring(0,h)]),i[o-1][1]=u.substring(0,u.length-h),i[o+1][1]=d.substring(h),o++):(f>=u.length/2||f>=d.length/2)&&(i.splice(o,0,[st,u.substring(0,f)]),i[o-1][0]=Rt,i[o-1][1]=d.substring(0,d.length-f),i[o+1][0]=qt,i[o+1][1]=u.substring(f),o++),o++}o++}}var zm=/[^a-zA-Z0-9]/,Gm=/\s/,Wm=/[\r\n]/,QS=/\n\r?\n$/,JS=/^\r?\n\r?\n/;function ex(i){function t(f,g){if(!f||!g)return 6;var m=f.charAt(f.length-1),b=g.charAt(0),x=m.match(zm),C=b.match(zm),v=x&&m.match(Gm),y=C&&b.match(Gm),N=v&&m.match(Wm),E=y&&b.match(Wm),T=N&&f.match(QS),k=E&&g.match(JS);return T||k?5:N||E?4:x&&!v&&y?3:v||y?2:x||C?1:0}for(var e=1;e<i.length-1;){if(i[e-1][0]==st&&i[e+1][0]==st){var n=i[e-1][1],s=i[e][1],o=i[e+1][1],r=Rl(n,s);if(r){var a=s.substring(s.length-r);n=n.substring(0,n.length-r),s=a+s.substring(0,s.length-r),o=a+o}for(var l=n,c=s,u=o,d=t(n,s)+t(s,o);s.charAt(0)===o.charAt(0);){n+=s.charAt(0),s=s.substring(1)+o.charAt(0),o=o.substring(1);var h=t(n,s)+t(s,o);h>=d&&(d=h,l=n,c=s,u=o)}i[e-1][1]!=l&&(l?i[e-1][1]=l:(i.splice(e-1,1),e--),i[e][1]=c,u?i[e+1][1]=u:(i.splice(e+1,1),e--))}e++}}function Qd(i,t){i.push([st,""]);for(var e=0,n=0,s=0,o="",r="",a;e<i.length;){if(e<i.length-1&&!i[e][1]){i.splice(e,1);continue}switch(i[e][0]){case Rt:s++,r+=i[e][1],e++;break;case qt:n++,o+=i[e][1],e++;break;case st:var l=e-s-n-1;if(t){if(l>=0&&Ym(i[l][1])){var c=i[l][1].slice(-1);if(i[l][1]=i[l][1].slice(0,-1),o=c+o,r=c+r,!i[l][1]){i.splice(l,1),e--;var u=l-1;i[u]&&i[u][0]===Rt&&(s++,r=i[u][1]+r,u--),i[u]&&i[u][0]===qt&&(n++,o=i[u][1]+o,u--),l=u}}if(jm(i[e][1])){var c=i[e][1].charAt(0);i[e][1]=i[e][1].slice(1),o+=c,r+=c}}if(e<i.length-1&&!i[e][1]){i.splice(e,1);break}if(o.length>0||r.length>0){o.length>0&&r.length>0&&(a=Zd(r,o),a!==0&&(l>=0?i[l][1]+=r.substring(0,a):(i.splice(0,0,[st,r.substring(0,a)]),e++),r=r.substring(a),o=o.substring(a)),a=Rl(r,o),a!==0&&(i[e][1]=r.substring(r.length-a)+i[e][1],r=r.substring(0,r.length-a),o=o.substring(0,o.length-a)));var d=s+n;o.length===0&&r.length===0?(i.splice(e-d,d),e=e-d):o.length===0?(i.splice(e-d,d,[Rt,r]),e=e-d+1):r.length===0?(i.splice(e-d,d,[qt,o]),e=e-d+1):(i.splice(e-d,d,[qt,o],[Rt,r]),e=e-d+2)}e!==0&&i[e-1][0]===st?(i[e-1][1]+=i[e][1],i.splice(e,1)):e++,s=0,n=0,o="",r="";break}}i[i.length-1][1]===""&&i.pop();var h=!1;for(e=1;e<i.length-1;)i[e-1][0]===st&&i[e+1][0]===st&&(i[e][1].substring(i[e][1].length-i[e-1][1].length)===i[e-1][1]?(i[e][1]=i[e-1][1]+i[e][1].substring(0,i[e][1].length-i[e-1][1].length),i[e+1][1]=i[e-1][1]+i[e+1][1],i.splice(e-1,1),h=!0):i[e][1].substring(0,i[e+1][1].length)==i[e+1][1]&&(i[e-1][1]+=i[e+1][1],i[e][1]=i[e][1].substring(i[e+1][1].length)+i[e+1][1],i.splice(e+1,1),h=!0)),e++;h&&Qd(i,t)}function $m(i){return i>=55296&&i<=56319}function Xm(i){return i>=56320&&i<=57343}function jm(i){return Xm(i.charCodeAt(0))}function Ym(i){return $m(i.charCodeAt(i.length-1))}function tx(i){for(var t=[],e=0;e<i.length;e++)i[e][1].length>0&&t.push(i[e]);return t}function Kd(i,t,e,n){return Ym(i)||jm(n)?null:tx([[st,i],[qt,t],[Rt,e],[st,n]])}function nx(i,t,e){var n=typeof e=="number"?{index:e,length:0}:e.oldRange,s=typeof e=="number"?null:e.newRange,o=i.length,r=t.length;if(n.length===0&&(s===null||s.length===0)){var a=n.index,l=i.slice(0,a),c=i.slice(a),u=s?s.index:null;e:{var d=a+r-o;if(u!==null&&u!==d||d<0||d>r)break e;var h=t.slice(0,d),f=t.slice(d);if(f!==c)break e;var g=Math.min(a,d),m=l.slice(0,g),b=h.slice(0,g);if(m!==b)break e;var x=l.slice(g),C=h.slice(g);return Kd(m,x,C,c)}e:{if(u!==null&&u!==a)break e;var v=a,h=t.slice(0,v),f=t.slice(v);if(h!==l)break e;var y=Math.min(o-v,r-v),N=c.slice(c.length-y),E=f.slice(f.length-y);if(N!==E)break e;var x=c.slice(0,c.length-y),C=f.slice(0,f.length-y);return Kd(l,x,C,N)}}if(n.length>0&&s&&s.length===0)e:{var m=i.slice(0,n.index),N=i.slice(n.index+n.length),g=m.length,y=N.length;if(r<g+y)break e;var b=t.slice(0,g),E=t.slice(r-y);if(m!==b||N!==E)break e;var x=i.slice(g,o-y),C=t.slice(g,r-y);return Kd(m,x,C,N)}return null}function Ll(i,t,e,n){return Si(i,t,e,n,!0)}Ll.INSERT=Rt;Ll.DELETE=qt;Ll.EQUAL=st;qm.exports=Ll});var fv={};hy(fv,{CoreViewer:()=>Ta,HOOKS:()=>Tt,Navigation:()=>ey,PageProgression:()=>Zs,PageSide:()=>Yr,PageViewMode:()=>pv,Profiler:()=>Fa,ReadyState:()=>Ru,UserAgentBaseCss:()=>Ad,UserAgentCounterStylesCss:()=>Id,UserAgentPageCss:()=>kd,UserAgentTocCss:()=>Rd,UserAgentXml:()=>Pd,ValidationTxt:()=>wd,VivliostylePolyfillCss:()=>Ld,VivliostyleViewportCss:()=>Td,VivliostyleViewportScreenCss:()=>Nd,ZoomType:()=>dv,getHooksForName:()=>nt,isDebug:()=>Ks,pageProgressionOf:()=>Au,plugin:()=>my,printHTML:()=>hv,profile:()=>Sy,profiler:()=>Ct,registerHook:()=>qe,removeHook:()=>xg,setDebug:()=>ku});module.exports=gy(fv);var Ks=!1;function ku(i){Ks=i}var Zs=(e=>(e.LTR="ltr",e.RTL="rtl",e))(Zs||{});function Au(i){switch(i){case"ltr":return"ltr";case"rtl":return"rtl";default:throw new Error(`unknown PageProgression: ${i}`)}}var Yr=(e=>(e.LEFT="left",e.RIGHT="right",e))(Yr||{}),Ru=(n=>(n.LOADING="loading",n.INTERACTIVE="interactive",n.COMPLETE="complete",n))(Ru||{});var Iu=(s=>(s[s.DEBUG=1]="DEBUG",s[s.INFO=2]="INFO",s[s.WARN=3]="WARN",s[s.ERROR=4]="ERROR",s))(Iu||{}),Lu=class{constructor(t){this.opt_console=t;p(this,"listeners",{})}consoleDebug(t){this.opt_console?this.opt_console.debug?this.opt_console.debug(...t):this.opt_console.log(...t):console.debug(...t)}consoleInfo(t){this.opt_console?this.opt_console.info?this.opt_console.info(...t):this.opt_console.log(...t):console.info(...t)}consoleWarn(t){this.opt_console?this.opt_console.warn?this.opt_console.warn(...t):this.opt_console.log(...t):console.warn(...t)}consoleError(t){this.opt_console?this.opt_console.error?this.opt_console.error(...t):this.opt_console.log(...t):console.error(...t)}triggerListeners(t,e){let n=this.listeners[t];n&&n(e)}addListener(t,e){this.listeners[t]=e}debug(...t){let e=Ra(arguments);this.consoleDebug(La(e)),this.triggerListeners(1,e)}info(...t){let e=Ra(arguments);this.consoleInfo(La(e)),this.triggerListeners(2,e)}warn(...t){let e=Ra(arguments);this.consoleWarn(La(e)),this.triggerListeners(3,e)}error(...t){let e=Ra(arguments);this.consoleError(La(e)),this.triggerListeners(4,e)}};function Ra(i){let t=Array.from(i),e=null;return t[0]instanceof Error&&(e=t.shift()),{error:e,messages:t}}function La(i){let t=i.error,e=t&&(t.frameTrace||t.stack),n=[].concat(i.messages);return t&&(n.length>0&&(n=n.concat([` `])),n=n.concat([t.toString()]),e&&(n=n.concat([` `]).concat(e))),n}var D=new Lu;var Tt=(d=>(d.SIMPLE_PROPERTY="SIMPLE_PROPERTY",d.PREPROCESS_SINGLE_DOCUMENT="PREPROCESS_SINGLE_DOCUMENT",d.PREPROCESS_TEXT_CONTENT="PREPROCESS_TEXT_CONTENT",d.PREPROCESS_ELEMENT_STYLE="PREPROCESS_ELEMENT_STYLE",d.POLYFILLED_INHERITED_PROPS="POLYFILLED_INHERITED_PROPS",d.CONFIGURATION="CONFIGURATION",d.RESOLVE_TEXT_NODE_BREAKER="RESOLVE_TEXT_NODE_BREAKER",d.RESOLVE_FORMATTING_CONTEXT="RESOLVE_FORMATTING_CONTEXT",d.RESOLVE_LAYOUT_PROCESSOR="RESOLVE_LAYOUT_PROCESSOR",d.POST_LAYOUT_BLOCK="POST_LAYOUT_BLOCK",d.PAGINATION_PROGRESS="PAGINATION_PROGRESS",d))(Tt||{}),Ia={};function qe(i,t,e){if(!Tt[i])D.warn(new Error(`Skipping unknown plugin hook '${i}'.`));else{let n=Ia[i];n||(n=Ia[i]=[]),e?n.unshift(t):n.push(t)}}function xg(i,t){if(!Tt[i])D.warn(new Error(`Ignoring unknown plugin hook '${i}'.`));else{let e=Ia[i];if(e){let n=e.indexOf(t);n>=0&&e.splice(n,1)}}}function nt(i){return Ia[i]||[]}var my={registerHook:qe,removeHook:xg};var Fa=class{constructor(t){this.performanceInstance=t;p(this,"timestamps",{});p(this,"registerTiming");p(this,"registerStartTiming");p(this,"registerEndTiming");this.registerTiming=zo,this.registerStartTiming=this.registerStartTiming=zo,this.registerEndTiming=this.registerEndTiming=zo}forceRegisterStartTiming(t,e){Fu.call(this,t,"start",e)}forceRegisterEndTiming(t,e){Fu.call(this,t,"end",e)}printTimings(){let t=this.timestamps,e="";Object.keys(t).forEach(n=>{let s=t[n],o=s.length;for(let r=0;r<o;r++){let a=s[r];e+=n,o>1&&(e+=`(${r})`),e+=` => start: ${a.start}, end: ${a.end}, duration: ${a.end-a.start} `}}),D.info(e)}disable(){this.registerTiming=zo,this.registerStartTiming=this.registerStartTiming=zo,this.registerEndTiming=this.registerEndTiming=zo}enable(){this.registerTiming=Fu,this.registerStartTiming=this.registerStartTiming=Eg,this.registerEndTiming=this.registerEndTiming=Cy}isEnabled(){return this.registerStartTiming===Eg}};function zo(){}function Fu(i,t,e){e||(e=this.performanceInstance.now());let n=this.timestamps[i];n||(n=this.timestamps[i]=[]);let s,o=n.length;for(let r=o-1;r>=0&&(s=n[r],!(s&&!s[t]));r--)s=null;s||(s={},n.push(s)),s[t]=e}function Eg(i,t){this.registerTiming(i,"start",t)}function Cy(i,t){this.registerTiming(i,"end",t)}var by={now:Date.now},yy=window&&window.performance,Ct=new Fa(yy||by);Ct.forceRegisterStartTiming("load_vivliostyle");var Sy={profiler:{registerStartTiming:Ct.registerStartTiming,registerEndTiming:Ct.registerEndTiming,printTimings:Ct.printTimings,disable:Ct.disable,enable:Ct.enable}};var Wo=navigator.userAgent.includes("Chrome")?"chromium":navigator.userAgent.includes("Firefox")?"firefox":navigator.userAgent.includes("AppleWebKit")?"webkit":"unknown",Qs=/^[\s\p{Zs}\p{P}\p{Mn}]*[\p{L}\p{N}]\p{Mn}*(?:[\s\p{Zs}]*\p{P}\p{Mn}*)*/u,Xt="data-adapt-eloff",Ng={};function $o(i){return JSON.parse(i)}function wt(i){let t=i.match(/^([^#]*)/);return t?t[1]:i}function Tg(i){let t=i.match(/^([^#?]*)/);return t?t[1]:i}var wn=window.location.href;function Vu(i){wn=i}var un=window.location.href;function Bu(i){un=i}function xy(i){let t=Tg(i).match(/^(https?:\/\/raw\.githack\.com\/web-platform-tests\/wpt\/[^/]+)(?:\/|$)/);return t?t[1]:null}function Cs(i){return i.replace(/^(https?:)\/\/raw\.githack\.com\/web-platform-tests\/wpt\/[^/]+\//,"$1//wpt.live/")}function ne(i,t){if(/^data:/i.test(t))return i||t;if(!t||i.match(/^\w{2,}:/))return i.toLowerCase().match("^javascript:")?"#":(i.match(/^\w{2,}:\/\/[^\/]+$/)&&(i=`${i}/`),i);t.match(/^\w{2,}:\/\/[^\/]+$/)&&(t=`${t}/`);let e;if(i.match(/^\/\//))return e=t.match(/^(\w{2,}:)\/\//),e?e[1]+i:i;if(i.match(/^\//)){let r=xy(t);return r?r+i:(e=t.match(/^(\w{2,}:\/\/[^\/]+)\//),e?e[1]+i:i)}if(i.match(/^\.(\/|$)/)&&(i=i.substr(2)),t=Tg(t),i.match(/^#/))return t+i;let n=t.lastIndexOf("/");if(n<0)return i;let s=t.substr(0,n+1)+i,o="";for(e=s.match(/^([^?#]*)([?#].*)$/),e&&(s=e[1],o=e[2]);n=s.indexOf("/../"),!(n<=0);){let r=s.lastIndexOf("/",n-1);if(r<=0)break;s=s.substr(0,r)+s.substr(n+3)}return s.replace(/\/(\.\/)+/g,"/")+o}function Js(i,t){return i.match(/^#/)&&t?wt(t)+i:ne(i,t)}function Ou(i){return/^about:blank($|[?#])/i.test(i)?"data:text/html,":i}function jn(i){let t;return(i=Ou(i))!==i||((t=/^(https?:)\/\/github\.com\/web-platform-tests\/wpt\/(blob\/|tree\/|raw\/)?(.*)$/.exec(i))?i=`${t[1]}//raw.githack.com/web-platform-tests/wpt/${t[2]?"":"master/"}${t[3]}`:(t=/^(https?:)\/\/github\.com\/([^/]+\/[^/]+)\/(blob\/|tree\/|raw\/)?(.*)$/.exec(i))?i=`${t[1]}//raw.githubusercontent.com/${t[2]}/${t[3]?"":"master/"}${t[4]}`:(t=/^(https?:)\/\/wpt\.live\/(.*)$/.exec(i))?/\.sub\.[^/]+(?:[?#].*)?$/.test(t[2])||(i=`${t[1]}//raw.githack.com/web-platform-tests/wpt/master/${t[2]}`):(t=/^(https?:)\/\/www\.aozora\.gr\.jp\/(cards\/[^/]+\/files\/[^/.]+\.html)$/.exec(i))?i=`${t[1]}//raw.githubusercontent.com/aozorabunko/aozorabunko/master/${t[2]}`:(t=/^(https?:)\/\/gist\.github\.com\/([^/]+\/\w+)(\/|$)(raw(\/|$))?(.*)$/.exec(i))?i=`${t[1]}//gist.githubusercontent.com/${t[2]}/raw/${t[6]}`:(t=/^(https?:)\/\/gist\.github\.com\/([^/]+\/\w+)(?:#|%23)file-(.*)-(\w+)$/.exec(i))?i=`${t[1]}//gist.githubusercontent.com/${t[2]}/raw/${t[3]}.${t[4]}`:(t=/^(https?:)\/\/(?:[^/.]+\.)?jsbin\.com\/(?!(?:blog|help)\b)(\w+)((\/\d+)?).*$/.exec(i))&&(i=`${t[1]}//output.jsbin.com/${t[2]}${t[3]}/`)),i}function Du(i){return i==null?i:i.toString()}var Va=class{constructor(){p(this,"queue",[null])}length(){return this.queue.length-1}add(t){let e=this.queue.length;for(;e>1;){let n=Math.floor(e/2),s=this.queue[n];if(s.compare(t)>0){this.queue[e]=t;return}this.queue[e]=s,e=n}this.queue[1]=t}peek(){return this.queue[1]}remove(){let t=this.queue[1],e=this.queue.pop(),n=this.queue.length;if(n>1){let s=1;for(;;){let o=s*2;if(o>=n)break;if(this.queue[o].compare(e)>0)o+1<n&&this.queue[o+1].compare(this.queue[o])>0&&o++;else if(o+1<n&&this.queue[o+1].compare(e)>0)o++;else break;this.queue[s]=this.queue[o],s=o}this.queue[s]=e}return t}},Mu=["","-webkit-","-moz-"],Go={};function Kr(i,t){return CSS.supports(i+t,"unset")}function Ey(i){let t=Go[i];if(t||t===null)return t;switch(i){case"behavior":case"template":case"ua-list-item-count":case"x-first-pseudo":return Go[i]=null,null;case"text-combine-upright":if(Kr("-webkit-","text-combine")&&!Kr("","text-combine-upright"))return Go[i]=["-webkit-text-combine"],["-webkit-text-combine"];break}for(let e of Mu)if(Kr(e,i))return t=[e+i],Go[i]=t,t;return D.warn("Property not supported by the browser: ",i),Go[i]=null,null}function P(i,t,e){let n=i==null?void 0:i.style;if(!n)return;if(t.startsWith("--")){n.setProperty(t,e||" ");return}let s=Ey(t);if(s)for(let o of s){switch(o){case"-webkit-text-combine":switch(e){case"all":e="horizontal";break}break;case"text-combine-upright":switch(e){case"all":n.setProperty("text-indent","0");break}break}n.setProperty(o,e)}}function dn(i,t,e){try{let n=Go[t];return i.style.getPropertyValue(n?n[0]:t)}catch(n){}return e||""}function Zr(i){let t=i.getAttributeNS("http://www.w3.org/XML/1998/namespace","lang");return!t&&i.namespaceURI=="http://www.w3.org/1999/xhtml"&&(t=i.getAttribute("lang")),t}var ut=class{constructor(){p(this,"list",[])}append(t){return this.list.push(t),this}clear(){this.list=[]}toString(){let t=this.list.join("");return this.list=[t],t}};function Ba(i){return`\\${i.charCodeAt(0).toString(16)} `}function Pn(i){return i.replace(/[^-_a-zA-Z0-9\u0080-\uFFFF]/g,Ba)}function eo(i){return i.replace(/[\u0000-\u001F"\\]/g,Ba)}function _u(i){return i.replace(/[\s+&?=#\u007F-\uFFFF]+/g,encodeURIComponent)}function Uu(i){return!!i.match(/^[a-zA-Z\u009E\u009F\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u024F\u037B-\u037D\u0386\u0388-\u0482\u048A-\u0527]$/)}function vy(i,t){return t=typeof t=="string"?t:"\\u",t+(65536|i.charCodeAt(0)).toString(16).substr(1)}function Hu(i,t){function e(n){return vy(n,t)}return i.replace(/[^-a-zA-Z0-9_]/g,e)}function Yn(i){return Hu(i)}function Ny(i,t){return t=typeof t=="string"?t:"\\u",i.indexOf(t)===0?String.fromCharCode(parseInt(i.substring(t.length),16)):i}function wg(i,t){t=typeof t=="string"?t:"\\u";function e(s){return Ny(s,t)}let n=new RegExp(`${Yn(t)}[0-9a-fA-F]{4}`,"g");return i.replace(n,e)}function Mt(i,t){let e=0,n=i;for(;;){if(e<=n,e==0||t(e-1),n==i||t(n),e==n)return e;let s=e+n>>1;t(s)?n=s:e=s+1}}function Oa(i,t){return i-t}function zu(i,t){let e={};for(let n of i){let s=t(n);s&&!e[s]&&(e[s]=n)}return e}function Pg(i){let t={};for(let e=0;e<i.length;e++)t[i[e]]=!0;return t}function Da(i,t){let e={};for(let n of i){let s=t(n);s&&(e[s]?e[s].push(n):e[s]=[n])}return e}function kg(i,t){let e={};for(let n in i)e[n]=t(i[n],n);return e}var ms=class{constructor(){p(this,"listeners",{})}dispatchEvent(t){let e=this.listeners[t.type];if(e){t.target=this,t.currentTarget=this;for(let n=0;n<e.length;n++)e[n](t)}}addEventListener(t,e,n){if(n)return;let s=this.listeners[t];s?s.includes(e)||s.push(e):this.listeners[t]=[e]}removeEventListener(t,e,n){if(n)return;let s=this.listeners[t];if(s){let o=s.indexOf(e);o>=0&&s.splice(o,1)}}},kn={audio:!0,canvas:!0,embed:!0,iframe:!0,img:!0,math:!0,object:!0,picture:!0,svg:!0,video:!0};function Gu(){return{fontFamily:"serif",lineHeight:1.25,margin:8,hyphenate:!1,columnWidth:25,horizontal:!1,nightMode:!1,spreadView:!1,pageBorder:1,enabledMediaTypes:{vivliostyle:!0,print:!0},defaultPaperSize:void 0}}function Za(i){return{fontFamily:i.fontFamily,lineHeight:i.lineHeight,margin:i.margin,hyphenate:i.hyphenate,columnWidth:i.columnWidth,horizontal:i.horizontal,nightMode:i.nightMode,spreadView:i.spreadView,pageBorder:i.pageBorder,enabledMediaTypes:Object.assign({},i.enabledMediaTypes),defaultPaperSize:i.defaultPaperSize?Object.assign({},i.defaultPaperSize):void 0}}var Ty=Gu(),Ag={PENDING:{}};function Wu(i,t,e,n){let s=Math.min((i-0)/e,(t-0)/n);return`matrix(${s},0,0,${s},0,0)`}function wy(i){return`"${eo(`${i}`)}"`}function Py(i){return Pn(`${i}`)}function oi(i,t){return i?`${Pn(i)}.${Pn(t)}`:Pn(t)}var Rg=0,to=class{constructor(t,e){this.parent=t;this.resolver=e;p(this,"scopeKey");p(this,"children",[]);p(this,"zero");p(this,"one");p(this,"_true");p(this,"_false");p(this,"values",{});p(this,"funcs",{});p(this,"builtIns",{});if(this.scopeKey=`S${Rg++}`,this.zero=new Pe(this,0),this.one=new Pe(this,1),this._true=new Pe(this,!0),this._false=new Pe(this,!1),t&&t.children.push(this),!t){let n=this.builtIns;n.floor=Math.floor,n.ceil=Math.ceil,n.round=Math.round,n.sqrt=Math.sqrt,n.min=Math.min,n.max=Math.max,n.letterbox=Wu,n["css-string"]=wy,n["css-name"]=Py,n.typeof=s=>typeof s,this.defineBuiltInName("page-width",function(){return this.pageWidth()}),this.defineBuiltInName("page-height",function(){return this.pageHeight()}),this.defineBuiltInName("pref-font-family",function(){return this.pref.fontFamily}),this.defineBuiltInName("pref-night-mode",function(){return this.pref.nightMode}),this.defineBuiltInName("pref-hyphenate",function(){return this.pref.hyphenate}),this.defineBuiltInName("pref-margin",function(){return this.pref.margin}),this.defineBuiltInName("pref-line-height",function(){return this.pref.lineHeight}),this.defineBuiltInName("pref-column-width",function(){return this.pref.columnWidth*this.fontSize}),this.defineBuiltInName("pref-horizontal",function(){return this.pref.horizontal}),this.defineBuiltInName("pref-spread-view",function(){return this.pref.spreadView}),this.defineBuiltInName("pub-title",function(){return this.pubTitle?this.pubTitle:""}),this.defineBuiltInName("doc-title",function(){return this.docTitle?this.docTitle:""})}}defineBuiltInName(t,e){this.values[t]=new se(this,e,t)}defineName(t,e){this.values[t]=e}defineFunc(t,e){this.funcs[t]=e}defineBuiltIn(t,e){this.builtIns[t]=e}};function Lg(i){switch(i==null?void 0:i.toLowerCase()){case"px":case"in":case"pt":case"pc":case"cm":case"mm":case"q":return!0;default:return!1}}function $u(i){switch(i==null?void 0:i.toLowerCase()){case"vw":case"vh":case"vi":case"vb":case"vmin":case"vmax":case"pvw":case"pvh":case"pvi":case"pvb":case"pvmin":case"pvmax":return!0;default:return!1}}function Ig(i){switch(i==null?void 0:i.toLowerCase()){case"em":case"rem":case"lh":case"rlh":return!0;default:return!1}}function Fg(i){switch(i==null?void 0:i.toLowerCase()){case"rem":case"rlh":return!0;default:return!1}}var dt={px:1,in:96,pt:4/3,pc:96/6,cm:96/2.54,mm:96/25.4,q:96/2.54/40,em:16,rem:16,lh:20,rlh:20,dppx:1,dpi:1/96,dpcm:2.54/96};function Qa(i){switch(i){case"q":return!CSS.supports("font-size","1q");case"lh":return!CSS.supports("line-height","1lh");case"rem":case"rlh":return!0;default:return!1}}var Xo=class{constructor(t,e,n,s){this.rootScope=t;this.viewportWidth=e;this.viewportHeight=n;p(this,"actualPageWidth",null);p(this,"pageWidth");p(this,"actualPageHeight",null);p(this,"pageHeight");p(this,"initialFontSize");p(this,"rootFontSize",null);p(this,"isRelativeRootFontSize",null);p(this,"fontSize");p(this,"rootLineHeight",null);p(this,"pref");p(this,"scopes",{});p(this,"pageAreaWidth",null);p(this,"pageAreaHeight",null);p(this,"pageVertical",null);p(this,"pubTitle",null);p(this,"docTitle",null);this.pageWidth=function(){return this.actualPageWidth?this.actualPageWidth:this.pref.spreadView?Math.floor(e/2)-this.pref.pageBorder:e},this.pageHeight=function(){return this.actualPageHeight?this.actualPageHeight:n},this.initialFontSize=s,this.fontSize=function(){return this.rootFontSize?this.rootFontSize:s},this.pref=Ty}getScopeContext(t){let e=this.scopes[t.scopeKey];return e||(e={},this.scopes[t.scopeKey]=e),e}clearScope(t){this.scopes[t.scopeKey]={};for(let e=0;e<t.children.length;e++)this.clearScope(t.children[e])}queryUnitSize(t,e,n){if($u(t)){let s=this.pageWidth()/100,o=this.pageHeight()/100,r=this.pageAreaWidth!=null?this.pageAreaWidth/100:s,a=this.pageAreaHeight!=null?this.pageAreaHeight/100:o,l=n!=null?n:this.pageVertical;switch(t){case"vw":return r;case"vh":return a;case"vi":return l?a:r;case"vb":return l?r:a;case"vmin":return r<a?r:a;case"vmax":return r>a?r:a;case"pvw":return s;case"pvh":return o;case"pvi":return l?o:s;case"pvb":return l?s:o;case"pvmin":return s<o?s:o;case"pvmax":return s>o?s:o}}return t=="em"||t=="rem"?e?this.initialFontSize:this.fontSize():t=="lh"||t=="rlh"?this.rootLineHeight:dt[t]}evalName(t,e){do{let n=t.values[e];if(n||t.resolver&&(n=t.resolver.call(this,e,!1),n))return n;t=t.parent}while(t);throw new Error(`Name '${e}' is undefined`)}evalCall(t,e,n,s){do{let o=t.funcs[e];if(o||t.resolver&&(o=t.resolver.call(this,e,!0),o))return o;let r=t.builtIns[e];if(r){if(s)return t.zero;let a=Array(n.length);for(let l=0;l<n.length;l++)a[l]=n[l].evaluate(this);return new Pe(t,r.apply(this,a))}t=t.parent}while(t);throw new Error(`Function '${e}' is undefined`)}evalMediaName(t,e){let n=t==="all"||!!this.pref.enabledMediaTypes[t];return e?!n:n}evalMediaTest(t,e){let n="",s=t.match(/^(min|max)-(.*)$/);s&&(n=s[1],t=s[2]);let o=null,r=null;switch(t){case"width":case"height":case"device-width":case"device-height":case"color":e&&(o=e.evaluate(this));break}switch(t){case"width":r=this.pageWidth();break;case"height":r=this.pageHeight();break;case"device-width":r=window.screen.availWidth;break;case"device-height":r=window.screen.availHeight;break;case"color":r=window.screen.pixelDepth;break}if(r!=null&&o!=null)switch(n){case"min":return r>=Number(o);case"max":return r<=Number(o);default:return r==o}else if(r!=null&&e==null)return r!==0;return!1}evalSupportsTest(t,e,n){return!1}queryVal(t,e){let n=t&&this.scopes[t.scopeKey];return n?n[e]:void 0}storeVal(t,e,n){this.getScopeContext(t)[e]=n}},_t=class{constructor(t){this.scope=t;p(this,"key");this.scope=t,this.key=`_${Rg++}`}toString(){let t=new ut;return this.appendTo(t,0),t.toString()}appendTo(t,e){throw new Error("F_ABSTRACT")}evaluateCore(t){throw new Error("F_ABSTRACT")}expand(t,e){return this}dependCore(t,e,n){return t===this}dependOuter(t,e,n){let s=n[this.key];if(s!=null)return s===Ag.PENDING?!1:s;{n[this.key]=Ag.PENDING;let o=this.dependCore(t,e,n);return n[this.key]=o,o}}depend(t,e){return this.dependOuter(t,e,{})}evaluate(t){let e=t.queryVal(this.scope,this.key);return typeof e!="undefined"||(e=this.evaluateCore(t),this.scope&&t.storeVal(this.scope,this.key,e)),e}isMediaName(){return!1}},Ma=class extends _t{constructor(e,n){super(e);this.val=n}getOp(){throw new Error("F_ABSTRACT")}evalPrefix(e){throw new Error("F_ABSTRACT")}evaluateCore(e){let n=this.val.evaluate(e);return this.evalPrefix(n)}dependCore(e,n,s){return e===this||this.val.dependOuter(e,n,s)}appendTo(e,n){10<n&&e.append("("),e.append(this.getOp()),this.val.appendTo(e,10),10<n&&e.append(")")}expand(e,n){let s=this.val.expand(e,n);return s===this.val?this:new this.constructor(this.scope,s)}},jo=class extends _t{constructor(e,n,s){super(e);this.lhs=n;this.rhs=s}getPriority(){throw new Error("F_ABSTRACT")}getOp(){throw new Error("F_ABSTRACT")}evalInfix(e,n){throw new Error("F_ABSTRACT")}evaluateCore(e){let n=this.lhs.evaluate(e),s=this.rhs.evaluate(e);return this.evalInfix(n,s)}dependCore(e,n,s){return e===this||this.lhs.dependOuter(e,n,s)||this.rhs.dependOuter(e,n,s)}appendTo(e,n){let s=this.getPriority();s<=n&&e.append("("),this.lhs.appendTo(e,s),e.append(this.getOp()),this.rhs.appendTo(e,s),s<=n&&e.append(")")}expand(e,n){let s=this.lhs.expand(e,n),o=this.rhs.expand(e,n);return s===this.lhs&&o===this.rhs?this:new this.constructor(this.scope,s,o)}},_a=class extends jo{constructor(t,e,n){super(t,e,n)}getPriority(){return 1}},bs=class extends jo{constructor(t,e,n){super(t,e,n)}getPriority(){return 2}},Ua=class extends jo{constructor(t,e,n){super(t,e,n)}getPriority(){return 3}},Qr=class extends jo{constructor(t,e,n){super(t,e,n)}getPriority(){return 4}},jt=class extends Ma{constructor(t,e){super(t,e)}getOp(){return"!"}evalPrefix(t){return!t}},Ha=class extends jt{constructor(t,e){super(t,e)}getOp(){return"not "}},An=class extends Ma{constructor(t,e){super(t,e)}getOp(){return"-"}evalPrefix(t){return-t}},Yo=class extends _a{constructor(t,e,n){super(t,e,n)}getOp(){return"&&"}evaluateCore(t){return this.lhs.evaluate(t)&&this.rhs.evaluate(t)}},za=class extends Yo{constructor(t,e,n){super(t,e,n)}getOp(){return" and "}},qo=class extends _a{constructor(t,e,n){super(t,e,n)}getOp(){return"||"}evaluateCore(t){return this.lhs.evaluate(t)||this.rhs.evaluate(t)}},Ga=class extends qo{constructor(t,e,n){super(t,e,n)}getOp(){return", "}},Wa=class extends qo{constructor(t,e,n){super(t,e,n)}getOp(){return" or "}},$a=class extends bs{constructor(t,e,n){super(t,e,n)}getOp(){return"<"}evalInfix(t,e){return t<e}},Xa=class extends bs{constructor(t,e,n){super(t,e,n)}getOp(){return"<="}evalInfix(t,e){return t<=e}},ja=class extends bs{constructor(t,e,n){super(t,e,n)}getOp(){return">"}evalInfix(t,e){return t>e}},no=class extends bs{constructor(t,e,n){super(t,e,n)}getOp(){return">="}evalInfix(t,e){return t>=e}},ys=class extends bs{constructor(t,e,n){super(t,e,n)}getOp(){return"=="}evalInfix(t,e){return t==e}},Ya=class extends bs{constructor(t,e,n){super(t,e,n)}getOp(){return"!="}evalInfix(t,e){return t!=e}},Jr=class extends Ua{constructor(t,e,n){super(t,e,n)}getOp(){return"+"}evalInfix(t,e){return t+e}},ei=class extends Ua{constructor(t,e,n){super(t,e,n)}getOp(){return" - "}evalInfix(t,e){return t-e}},so=class extends Qr{constructor(t,e,n){super(t,e,n)}getOp(){return"*"}evalInfix(t,e){return t*e}},ti=class extends Qr{constructor(t,e,n){super(t,e,n)}getOp(){return"/"}evalInfix(t,e){return t/e}},Ko=class extends Qr{constructor(t,e,n){super(t,e,n)}getOp(){return"%"}evalInfix(t,e){return t%e}},pn=class extends _t{constructor(e,n,s){var o;super(e);this.num=n;p(this,"unit");this.unit=(o=s==null?void 0:s.toLowerCase())!=null?o:""}appendTo(e,n){e.append(this.num.toString()),e.append(Pn(this.unit))}evaluateCore(e){return this.num*e.queryUnitSize(this.unit,!1)}},xe=class extends _t{constructor(e,n){super(e);this.qualifiedName=n}appendTo(e,n){e.append(this.qualifiedName)}evaluateCore(e){return e.evalName(this.scope,this.qualifiedName).evaluate(e)}dependCore(e,n,s){return e===this||n.evalName(this.scope,this.qualifiedName).dependOuter(e,n,s)}},ni=class extends _t{constructor(e,n,s){super(e);this.not=n;this.name=s}appendTo(e,n){this.not&&e.append("not "),e.append(Pn(this.name))}evaluateCore(e){return e.evalMediaName(this.name,this.not)}isMediaName(){return!0}},se=class extends _t{constructor(e,n,s){super(e);this.fn=n;this.str=s}appendTo(e,n){e.append(this.str)}evaluateCore(e){return this.fn.call(e)}};function ky(i,t){i.append("(");for(let e=0;e<t.length;e++)e&&i.append(","),t[e].appendTo(i,0);i.append(")")}function Ay(i,t,e){let n=t;for(let s=0;s<t.length;s++){let o=t[s].expand(i,e);if(t!==n)n[s]=o;else if(o!==t[s]){n=Array(t.length);for(let r=0;r<s;r++)n[r]=t[r];n[s]=o}}return n}var qn=class i extends _t{constructor(e,n,s){super(e);this.qualifiedName=n;this.params=s}appendTo(e,n){e.append(this.qualifiedName),ky(e,this.params)}evaluateCore(e){return e.evalCall(this.scope,this.qualifiedName,this.params,!1).expand(e,this.params).evaluate(e)}dependCore(e,n,s){if(e===this)return!0;for(let r=0;r<this.params.length;r++)if(this.params[r].dependOuter(e,n,s))return!0;return n.evalCall(this.scope,this.qualifiedName,this.params,!0).dependOuter(e,n,s)}expand(e,n){let s=Ay(e,this.params,n);return s===this.params?this:new i(this.scope,this.qualifiedName,s)}},qa=class i extends _t{constructor(e,n,s,o){super(e);this.cond=n;this.ifTrue=s;this.ifFalse=o}appendTo(e,n){n>0&&e.append("("),this.cond.appendTo(e,0),e.append("?"),this.ifTrue.appendTo(e,0),e.append(":"),this.ifFalse.appendTo(e,0),n>0&&e.append(")")}evaluateCore(e){return this.cond.evaluate(e)?this.ifTrue.evaluate(e):this.ifFalse.evaluate(e)}dependCore(e,n,s){return e===this||this.cond.dependOuter(e,n,s)||this.ifTrue.dependOuter(e,n,s)||this.ifFalse.dependOuter(e,n,s)}expand(e,n){let s=this.cond.expand(e,n),o=this.ifTrue.expand(e,n),r=this.ifFalse.expand(e,n);return s===this.cond&&o===this.ifTrue&&r===this.ifFalse?this:new i(this.scope,s,o,r)}},Pe=class extends _t{constructor(e,n){super(e);this.val=n}appendTo(e,n){switch(typeof this.val){case"number":case"boolean":e.append(this.val.toString());break;case"string":e.append('"'),e.append(eo(this.val)),e.append('"');break;default:throw new Error("F_UNEXPECTED_STATE")}}evaluateCore(e){return this.val}},si=class i extends _t{constructor(e,n,s){super(e);this.name=n;this.value=s}appendTo(e,n){e.append("("),e.append(eo(this.name.name)),e.append(":"),this.value.appendTo(e,0),e.append(")")}evaluateCore(e){return e.evalMediaTest(this.name.name,this.value)}dependCore(e,n,s){return e===this||this.value.dependOuter(e,n,s)}expand(e,n){let s=this.value.expand(e,n);return s===this.value?this:new i(this.scope,this.name,s)}},Ka=class extends _t{constructor(e,n,s,o){super(e);this.name=n;this.value=s;this.isFunc=o}appendTo(e,n){this.isFunc&&e.append(this.name),e.append("("),!this.isFunc&&this.name&&(e.append(this.name),e.append(":")),e.append(this.value),e.append(")")}evaluateCore(e){return e.evalSupportsTest(this.name,this.value,this.isFunc)}},Zo=class extends _t{constructor(e,n){super(e);this.index=n}appendTo(e,n){e.append("$"),e.append(this.index.toString())}expand(e,n){let s=n[this.index];if(!s)throw new Error(`Parameter missing: ${this.index}`);return s}};function Pt(i,t,e){return t===i._false||t===i.zero||e==i._false||e==i.zero?i._false:t===i._true||t===i.one?e:e===i._true||e===i.one?t:new Yo(i,t,e)}function K(i,t,e){return t===i.zero?e:e===i.zero?t:new Jr(i,t,e)}function ae(i,t,e){return t===i.zero?new An(i,e):e===i.zero?t:new ei(i,t,e)}function Qo(i,t,e){return t===i.zero||e===i.zero?i.zero:t===i.one?e:e===i.one?t:new so(i,t,e)}function ri(i,t,e){return t===i.zero?i.zero:e===i.one?t:new ti(i,t,e)}var Ut=class{visitValues(t){for(let e=0;e<t.length;e++)t[e].visit(this);return null}visitEmpty(t){return null}visitSlash(t){return null}visitStr(t){return null}visitIdent(t){return null}visitNumeric(t){return null}visitNum(t){return null}visitInt(t){return this.visitNum(t)}visitHexColor(t){return null}visitURL(t){return null}visitURange(t){return null}visitSpaceList(t){return this.visitValues(t.values),null}visitCommaList(t){return this.visitValues(t.values),null}visitFunc(t){return this.visitValues(t.values),null}visitExpr(t){return null}},nn=class extends Ut{constructor(){super();p(this,"error",!1)}visitValues(e){let n=null;for(let s=0;s<e.length;s++){let o=e[s],r=o.visit(this);if(this.error)return[];if(n)n[s]=r;else if(o!==r){n=new Array(e.length);for(let a=0;a<s;a++)n[a]=e[a];n[s]=r}}return n||e}visitEmpty(e){return e}visitStr(e){return e}visitIdent(e){return e}visitSlash(e){return e}visitNumeric(e){return e}visitNum(e){return e}visitInt(e){return e}visitHexColor(e){return e}visitURL(e){return e}visitURange(e){return e}visitSpaceList(e){let n=this.visitValues(e.values);return this.error?$:n===e.values?e:new j(n)}visitCommaList(e){let n=this.visitValues(e.values);return this.error?$:n===e.values?e:new Te(n)}visitFunc(e){let n=this.visitValues(e.values);return this.error?$:n===e.values?e:new pt(e.name,n)}visitExpr(e){return e}},Ue=class{toString(){let t=new ut;return this.appendTo(t,!0),t.toString()}stringValue(){let t=new ut;return this.appendTo(t,!1),t.toString()}toExpr(t,e){return null}appendTo(t,e){t.append("[error]")}isExpr(){return!1}isNumeric(){return!1}isNum(){return!1}isIdent(){return!1}isSpaceList(){return!1}visit(t){return this}},Ja=class Ja extends Ue{static get instance(){return this.empty||(this.empty=new Ja),this.empty}constructor(){super()}toExpr(t,e){return new Pe(t,"")}appendTo(t,e){}visit(t){return t.visitEmpty(this)}};p(Ja,"empty");var Xu=Ja,$=Xu.instance,el=class el extends Ue{static get instance(){return this.slash||(this.slash=new el),this.slash}constructor(){super()}toExpr(t,e){return new Pe(t,"/")}appendTo(t,e){t.append("/")}visit(t){return t.visitSlash(this)}};p(el,"slash");var ju=el,Kn=ju.instance,G=class extends Ue{constructor(e){super();this.str=e}toExpr(e,n){return new Pe(e,this.str)}appendTo(e,n){n?(e.append('"'),e.append(eo(this.str)),e.append('"')):e.append(this.str)}visit(e){return e.visitStr(this)}},Yu=Object.create(null),Q=class extends Ue{constructor(e){super();this.name=e;if(Yu[e])throw new Error("E_INVALID_CALL");Yu[e]=this}toExpr(e,n){return new Pe(e,this.name)}appendTo(e,n){n?e.append(Pn(this.name)):e.append(this.name)}visit(e){return e.visitIdent(this)}isIdent(){return!0}};function R(i){let t=Yu[i];return t||(t=new Q(i)),t}var A=class extends Ue{constructor(e,n){var s;super();this.num=e;p(this,"unit");this.unit=(s=n==null?void 0:n.toLowerCase())!=null?s:""}toExpr(e,n){return this.num==0?e.zero:n&&this.unit=="%"?this.num==100?n:new so(e,n,new Pe(e,this.num/100)):new pn(e,this.num,this.unit)}appendTo(e,n){e.append(this.num.toString()),e.append(this.unit)}visit(e){return e.visitNumeric(this)}isNumeric(){return!0}},He=class extends Ue{constructor(e){super();this.num=e}toExpr(e,n){return this.num==0?e.zero:this.num==1?e.one:new Pe(e,this.num)}appendTo(e,n){e.append(this.num.toString())}visit(e){return e.visitNum(this)}isNum(){return!0}},pe=class extends He{constructor(t){super(t)}visit(t){return t.visitInt(this)}},Jo=class extends Ue{constructor(e){super();this.hex=e}appendTo(e,n){e.append("#"),e.append(this.hex)}visit(e){return e.visitHexColor(this)}},Ae=class extends Ue{constructor(e){super();this.url=e}appendTo(e,n){e.append('url("'),e.append(eo(this.url)),e.append('")')}visit(e){return e.visitURL(this)}},ii=class extends Ue{constructor(e){super();this.urangeText=e}appendTo(e,n){e.append(this.urangeText)}visit(e){return e.visitURange(this)}};function qu(i,t,e,n){var o,r;let s=t.length;if(s>0){(o=t[0])==null||o.appendTo(i,n);for(let a=1;a<s;a++)i.append(e),(r=t[a])==null||r.appendTo(i,n)}}var j=class extends Ue{constructor(e){super();this.values=e}appendTo(e,n){qu(e,this.values," ",n)}visit(e){return e.visitSpaceList(this)}isSpaceList(){return!0}},Te=class extends Ue{constructor(e){super();this.values=e}appendTo(e,n){qu(e,this.values,",",n)}visit(e){return e.visitCommaList(this)}},pt=class extends Ue{constructor(e,n){super();this.name=e;this.values=n}appendTo(e,n){e.append(Pn(this.name)),e.append("("),qu(e,this.values,",",n),e.append(")")}visit(e){return e.visitFunc(this)}},_=class extends Ue{constructor(e){super();this.expr=e}toExpr(){return this.expr}appendTo(e,n){this.expr instanceof Pe||this.expr instanceof pn?this.expr.appendTo(e,0):(e.append("-epubx-expr("),this.expr.appendTo(e,0),e.append(")"))}visit(e){return e.visitExpr(this)}isExpr(){return!0}},Rn=class extends Ue{constructor(e){super();this.text=e}appendTo(e,n){e.append(this.text||" ")}};function Ke(i,t){if(i){if(i.isNumeric()){let e=i;return t.queryUnitSize(e.unit,!1)*e.num}if(i.isNum())return i.num}return 0}function tl(i,t){return new A(Ke(i,t),"px")}var S={absolute:R("absolute"),all:R("all"),always:R("always"),anywhere:R("anywhere"),auto:R("auto"),avoid:R("avoid"),balance:R("balance"),balance_all:R("balance-all"),block:R("block"),block_end:R("block-end"),block_start:R("block-start"),both:R("both"),bottom:R("bottom"),border_box:R("border-box"),break_all:R("break-all"),break_word:R("break-word"),clip:R("clip"),crop:R("crop"),cross:R("cross"),column:R("column"),discard:R("discard"),exclusive:R("exclusive"),_false:R("false"),fixed:R("fixed"),flex:R("flex"),flow_root:R("flow-root"),footnote:R("footnote"),footer:R("footer"),grid:R("grid"),header:R("header"),hidden:R("hidden"),horizontal_tb:R("horizontal-tb"),inherit:R("inherit"),initial:R("initial"),inline:R("inline"),inline_block:R("inline-block"),inline_end:R("inline-end"),inline_start:R("inline-start"),inside:R("inside"),keep:R("keep"),landscape:R("landscape"),left:R("left"),line:R("line"),list_item:R("list-item"),ltr:R("ltr"),manual:R("manual"),max_content:R("max-content"),min_content:R("min-content"),none:R("none"),normal:R("normal"),oeb_page_foot:R("oeb-page-foot"),oeb_page_head:R("oeb-page-head"),outside:R("outside"),padding_box:R("padding-box"),page:R("page"),relative:R("relative"),revert:R("revert"),right:R("right"),same:R("same"),scale:R("scale"),snap_block:R("snap-block"),snap_inline:R("snap-inline"),solid:R("solid"),spread:R("spread"),_static:R("static"),rtl:R("rtl"),table:R("table"),table_caption:R("table-caption"),table_cell:R("table-cell"),table_footer_group:R("table-footer-group"),table_header_group:R("table-header-group"),table_row:R("table-row"),top:R("top"),transparent:R("transparent"),unset:R("unset"),vertical_lr:R("vertical-lr"),vertical_rl:R("vertical-rl"),visible:R("visible"),_true:R("true")},Ku=new A(100,"%"),Ss=new A(100,"pvw"),xs=new A(100,"pvh"),be=new A(0,"px"),xv=new ii("U+0-10FFFF"),Vg={"font-size":1,"line-height":2,color:3};function X(i){return i===S.inherit||i===S.initial||i===S.revert||i===S.unset}function Zu(i,t){let e=Vg[i]||Number.MAX_VALUE,n=Vg[t]||Number.MAX_VALUE;return e-n}function Ht(i){return(i==null?void 0:i.length)>2&&i.startsWith("--")}var oo,ro,io,hn=class hn{constructor(t,e,n){Z(this,oo);Z(this,ro);Z(this,io);ke(this,oo,Math.round(Math.max(0,Math.min(t,hn.MAX)))),ke(this,ro,Math.round(Math.max(0,Math.min(e,hn.MAX)))),ke(this,io,Math.round(Math.max(0,Math.min(n,hn.MAX))))}static fromInt(t,e,n){return new hn(t,e,n)}offset(t,e,n){return new hn(O(this,oo)+t,O(this,ro)+e,O(this,io)+n)}toKey(){return JSON.stringify([O(this,oo),O(this,ro),O(this,io)])}toColorFunc(t){return new pt("color",[new j([R("srgb"),new He(O(this,oo)/hn.MAX),new He(O(this,ro)/hn.MAX),new He(O(this,io)/hn.MAX),...t!==null?[Kn,new He(t)]:[]])])}};oo=new WeakMap,ro=new WeakMap,io=new WeakMap,p(hn,"MAX",1e4);var gn=hn;function Bg(i){return Array.isArray(i)?i.every(t=>{if(!Array.isArray(t)||t.length!==2)return!1;let[e,n]=t;if(!e||typeof e!="object"||Array.isArray(e)||!n||typeof n!="object"||Array.isArray(n))return!1;let s=e,o=n;return Number.isFinite(s.r)&&Number.isFinite(s.g)&&Number.isFinite(s.b)&&Number.isFinite(o.c)&&Number.isFinite(o.m)&&Number.isFinite(o.y)&&Number.isFinite(o.k)}):!1}var Es,vs,Ns,fn,ht=class ht{constructor(t,e,n,s){Z(this,Es);Z(this,vs);Z(this,Ns);Z(this,fn);ke(this,Es,Math.round(Math.max(0,Math.min(t,ht.MAX)))),ke(this,vs,Math.round(Math.max(0,Math.min(e,ht.MAX)))),ke(this,Ns,Math.round(Math.max(0,Math.min(n,ht.MAX)))),ke(this,fn,Math.round(Math.max(0,Math.min(s,ht.MAX))))}static fromInt(t,e,n,s){return new ht(t,e,n,s)}static fromNumber(t,e,n,s){return new ht(t*ht.MAX,e*ht.MAX,n*ht.MAX,s*ht.MAX)}toSRGB(){let t=ht.MAX-O(this,fn);return gn.fromInt(gn.MAX-Math.min(gn.MAX,Math.round(O(this,Es)*t/ht.MAX)+O(this,fn)),gn.MAX-Math.min(gn.MAX,Math.round(O(this,vs)*t/ht.MAX)+O(this,fn)),gn.MAX-Math.min(gn.MAX,Math.round(O(this,Ns)*t/ht.MAX)+O(this,fn)))}equals(t){return O(this,Es)===O(t,Es)&&O(this,vs)===O(t,vs)&&O(this,Ns)===O(t,Ns)&&O(this,fn)===O(t,fn)}toJSON(){return{c:O(this,Es),m:O(this,vs),y:O(this,Ns),k:O(this,fn)}}};Es=new WeakMap,vs=new WeakMap,Ns=new WeakMap,fn=new WeakMap,p(ht,"MAX",1e4);var nl=ht;function er(i){return i instanceof He?Math.max(0,Math.min(1,i.num)):i instanceof A&&i.unit==="%"?Math.max(0,Math.min(1,i.num/100)):null}function Qu(i){if(i.name!=="device-cmyk"&&i.name!=="cmyk")return null;let t=i.values.length===1&&i.values[0]instanceof j?i.values[0].values:i.values;if(t.length<4||t.length>6)return null;let e=er(t[0]),n=er(t[1]),s=er(t[2]),o=er(t[3]);if(e===null||n===null||s===null||o===null)return null;let r=null;if(t.length>=5){if(t[4]===Kn){if(t.length!==6)return null;r=er(t[5])}else{if(t.length!==5)return null;r=er(t[4])}if(r===null)return null}return{cmyk:nl.fromNumber(e,n,s,o),alpha:r}}function*Ry(i){for(let t=-i;t<=i;t++)for(let e=-i;e<=i;e++)for(let n=-i;n<=i;n++)Math.abs(t)+Math.abs(e)+Math.abs(n)===i&&(yield[t,e,n])}var Zn,or,Og,Dg,ai=class{constructor(){Z(this,or);Z(this,Zn,new Map)}registerDeviceCmyk(t){let e=Qu(t);return e?Ce(this,or,Og).call(this,e.cmyk).toColorFunc(e.alpha):null}registerCmykReserveMap(t){for(let[e,n]of t){let s=gn.fromInt(e.r,e.g,e.b),o=nl.fromInt(n.c,n.m,n.y,n.k);O(this,Zn).set(s.toKey(),o)}}toJSON(){let t={};return O(this,Zn).forEach((e,n)=>{t[n]=e.toJSON()}),t}};Zn=new WeakMap,or=new WeakSet,Og=function(t){let e=t.toSRGB(),n=e.toKey(),s=O(this,Zn).get(n);return s?s.equals(t)?e:Ce(this,or,Dg).call(this,t,e):(O(this,Zn).set(n,t),e)},Dg=function(t,e){for(let n=1;n<=gn.MAX;n++)for(let[s,o,r]of Ry(n)){let a=e.offset(s,o,r),l=a.toKey();if(!O(this,Zn).has(l))return O(this,Zn).set(l,t),a}return D.warn(`CmykStore: Exceeded trackable color limit for ${JSON.stringify(t.toJSON())}`),e};var li,tr,nr,sr=class extends nn{constructor(e){super();Z(this,li);Z(this,tr,new Map);Z(this,nr,!1);ke(this,li,e!=null?e:new ai)}reset(){ke(this,nr,!1)}hadDeviceCmyk(){return O(this,nr)}recordConversion(e,n){O(this,tr).set(e,n)}getConversions(){if(O(this,tr).size===0)return null;let e={};return O(this,tr).forEach((n,s)=>{e[s]=n}),e}visitFunc(e){let n=O(this,li).registerDeviceCmyk(e);return n?(ke(this,nr,!0),n):super.visitFunc(e)}};li=new WeakMap,tr=new WeakMap,nr=new WeakMap;function Ug(i){if(i.nodeType==1){let t=i.getAttribute("id");if(t)return t}return null}function Ly(i){return`^${i}`}function Mg(i){return i.replace(/[\[\]\(\),=;^]/g,Ly)}function Iy(i){return i.substr(1)}function Ju(i){return i&&i.replace(/\^[\[\]\(\),=;^]/g,Iy)}function Fy(i){let t=[];do{let e=i.match(/^(\^,|[^,])*/),n=Ju(e[0]);if(i=i.substr(e[0].length+1),!i&&!t.length)return n;t.push(n)}while(i);return t}function _g(i){let t={};for(;i;){let e=i.match(/^;([^;=]+)=(([^;]|\^;)*)/);if(!e)return t;t[e[1]]=Fy(e[2]),i=i.substr(e[0].length)}return t}var ol=class{appendTo(t){t.append("!")}applyTo(t){return!1}},rl=class{constructor(t,e,n){this.index=t;this.id=e;this.sideBias=n}appendTo(t){t.append("/"),t.append(this.index.toString()),(this.id||this.sideBias)&&(t.append("["),this.id&&t.append(this.id),this.sideBias&&(t.append(";s="),t.append(this.sideBias)),t.append("]"))}applyTo(t){if(t.node.nodeType!=1)throw new Error("E_CFI_NOT_ELEMENT");let e=t.node,n=e.children,s=n.length,o,r=Math.floor(this.index/2)-1;if(r<0||s==0)o=e.firstChild,t.node=o||e;else{if(o=n[Math.min(r,s-1)],this.index&1){let a=o.nextSibling;!a||a.nodeType==1?t.after=!0:o=a}t.node=o}if(this.id&&(t.after||this.id!=Ug(t.node))){let a=e.ownerDocument.getElementById(this.id);a?t.node=a:D.warn("E_CFI_ID_MISMATCH:",this.id)}return t.sideBias=this.sideBias,!0}},il=class{constructor(t,e,n,s){this.offset=t;this.textBefore=e;this.textAfter=n;this.sideBias=s}applyTo(t){if(this.offset>0&&!t.after){let e=this.offset,n=t.node;for(;;){let s=n.nodeType;if(s==1)break;let o=n.nextSibling;if(3<=s&&s<=5){let r=n.textContent.length;if(e<=r)break;if(!o){e=r;break}e-=r}if(!o){e=0;break}n=o}t.node=n,t.offset=e}return t.sideBias=this.sideBias,!0}appendTo(t){t.append(":"),t.append(this.offset.toString()),(this.textBefore||this.textAfter||this.sideBias)&&(t.append("["),(this.textBefore||this.textAfter)&&(this.textBefore&&t.append(Mg(this.textBefore)),t.append(","),this.textAfter&&t.append(Mg(this.textAfter))),this.sideBias&&(t.append(";s="),t.append(this.sideBias)),t.append("]"))}},ci=class i{constructor(){p(this,"steps",null)}fromString(t){let e=t.match(/^#?epubcfi\((.*)\)$/);if(!e)throw new Error("E_CFI_NOT_CFI");let n=decodeURIComponent(e[1]),s=0,o=[];for(;;){let r;switch(n.charAt(s)){case"/":{if(s++,e=n.substr(s).match(/^(0|[1-9][0-9]*)(\[(.*?)(;([^\]]|\^\])*)?\])?/),!e)throw new Error("E_CFI_NUMBER_EXPECTED");s+=e[0].length;let a=parseInt(e[1],10),l=e[3];r=_g(e[4]),o.push(new rl(a,l,Du(r.s)));break}case":":{if(s++,e=n.substr(s).match(/^(0|[1-9][0-9]*)(\[((([^\];,]|\^[\];,])*)(,(([^\];,]|\^[\];,])*))?)(;([^]]|\^\])*)?\])?/),!e)throw new Error("E_CFI_NUMBER_EXPECTED");s+=e[0].length;let a=parseInt(e[1],10),l=e[4];l&&(l=Ju(l));let c=e[7];c&&(c=Ju(c)),r=_g(e[10]),o.push(new il(a,l,c,Du(r.s)));break}case"!":s++,o.push(new ol);break;case"~":case"@":case"":this.steps=o;return;default:throw new Error("E_CFI_PARSE_ERROR")}}}navigate(t){let e={node:t.documentElement,offset:0,after:!1,sideBias:null,ref:null};for(let n=0;n<this.steps.length;n++)if(!this.steps[n].applyTo(e)){e.ref=new i,e.ref.steps=this.steps.slice(n+1);break}return e}trim(t,e){return t.replace(/\s+/g," ").match(e?/^[ -\uD7FF\uE000-\uFFFF]{0,8}/:/[ -\uD7FF\uE000-\uFFFF]{0,8}$/)[0].replace(/^\s/,"").replace(/\s$/,"")}prependPathFromNode(t,e,n,s){let o=[],r=t.parentNode,a="",l="";for(;t;){switch(t.nodeType){case 3:case 4:case 5:{let c=t.textContent,u=c.length;n?(e+=u,a||(a=c)):(e>u&&(e=u),n=!0,a=c.substr(0,e),l=c.substr(e)),t=t.previousSibling;continue}case 8:t=t.previousSibling;continue}break}for((e>0||a||l)&&(a=this.trim(a,!1),l=this.trim(l,!0),o.push(new il(e,a,l,s)),s=null);r&&!(!r||r.nodeType==9);){let c=n?null:Ug(t),u=n?1:0;for(;t;)t.nodeType==1&&(u+=2),t=t.previousSibling;o.push(new rl(u,c,s)),s=null,t=r,r=r.parentNode,n=!1}o.reverse(),this.steps?(o.push(new ol),this.steps=o.concat(this.steps)):this.steps=o}toString(){if(!this.steps)return"";let t=new ut;t.append("epubcfi(");for(let e=0