UNPKG

@vivliostyle/core

Version:

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

4 lines 659 kB
"use strict";var HC=Object.create;var br=Object.defineProperty;var zC=Object.getOwnPropertyDescriptor;var GC=Object.getOwnPropertyNames;var WC=Object.getPrototypeOf,XC=Object.prototype.hasOwnProperty;var Pf=o=>{throw TypeError(o)};var $C=(o,t,e)=>t in o?br(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e;var jC=(o,t)=>()=>(t||o((t={exports:{}}).exports,t),t.exports),YC=(o,t)=>{for(var e in t)br(o,e,{get:t[e],enumerable:!0})},kf=(o,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of GC(t))!XC.call(o,s)&&s!==e&&br(o,s,{get:()=>t[s],enumerable:!(n=zC(t,s))||n.enumerable});return o};var KC=(o,t,e)=>(e=o!=null?HC(WC(o)):{},kf(t||!o||!o.__esModule?br(e,"default",{value:o,enumerable:!0}):e,o)),qC=o=>kf(br({},"__esModule",{value:!0}),o);var p=(o,t,e)=>$C(o,typeof t!="symbol"?t+"":t,e),Xc=(o,t,e)=>t.has(o)||Pf("Cannot "+e);var V=(o,t,e)=>(Xc(o,t,"read from private field"),e?e.call(o):t.get(o)),j=(o,t,e)=>t.has(o)?Pf("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(o):t.set(o,e),Se=(o,t,e,n)=>(Xc(o,t,"write to private field"),n?n.call(o,e):t.set(o,e),e),ae=(o,t,e)=>(Xc(o,t,"access private method"),e);var Ig=jC((OS,Rg)=>{var Dt=-1,pt=1,$e=0;function Ur(o,t,e,n,s){if(o===t)return o?[[$e,o]]:[];if(e!=null){var i=fy(o,t,e);if(i)return i}var r=ud(o,t),a=o.substring(0,r);o=o.substring(r),t=t.substring(r),r=$a(o,t);var l=o.substring(o.length-r);o=o.substring(0,o.length-r),t=t.substring(0,t.length-r);var c=oy(o,t);return a&&c.unshift([$e,a]),l&&c.push([$e,l]),dd(c,s),n&&cy(c),c}function oy(o,t){var e;if(!o)return[[pt,t]];if(!t)return[[Dt,o]];var n=o.length>t.length?o:t,s=o.length>t.length?t:o,i=n.indexOf(s);if(i!==-1)return e=[[pt,n.substring(0,i)],[$e,s],[pt,n.substring(i+s.length)]],o.length>t.length&&(e[0][0]=e[2][0]=Dt),e;if(s.length===1)return[[Dt,o],[pt,t]];var r=ly(o,t);if(r){var a=r[0],l=r[1],c=r[2],u=r[3],d=r[4],h=Ur(a,c),f=Ur(l,u);return h.concat([[$e,d]],f)}return ay(o,t)}function ay(o,t){for(var e=o.length,n=t.length,s=Math.ceil((e+n)/2),i=s,r=2*s,a=new Array(r),l=new Array(r),c=0;c<r;c++)a[c]=-1,l[c]=-1;a[i+1]=0,l[i+1]=0;for(var u=e-n,d=u%2!==0,h=0,f=0,g=0,m=0,y=0;y<s;y++){for(var S=-y+h;S<=y-f;S+=2){var C=i+S,x;S===-y||S!==y&&a[C-1]<a[C+1]?x=a[C+1]:x=a[C-1]+1;for(var v=x-S;x<e&&v<n&&o.charAt(x)===t.charAt(v);)x++,v++;if(a[C]=x,x>e)f+=2;else if(v>n)h+=2;else if(d){var E=i+u-S;if(E>=0&&E<r&&l[E]!==-1){var N=e-l[E];if(x>=N)return Eg(o,t,x,v)}}}for(var L=-y+g;L<=y-m;L+=2){var E=i+L,N;L===-y||L!==y&&l[E-1]<l[E+1]?N=l[E+1]:N=l[E-1]+1;for(var O=N-L;N<e&&O<n&&o.charAt(e-N-1)===t.charAt(n-O-1);)N++,O++;if(l[E]=N,N>e)m+=2;else if(O>n)g+=2;else if(!d){var C=i+u-L;if(C>=0&&C<r&&a[C]!==-1){var x=a[C],v=i+x-C;if(N=e-N,x>=N)return Eg(o,t,x,v)}}}}return[[Dt,o],[pt,t]]}function Eg(o,t,e,n){var s=o.substring(0,e),i=t.substring(0,n),r=o.substring(e),a=t.substring(n),l=Ur(s,i),c=Ur(r,a);return l.concat(c)}function ud(o,t){if(!o||!t||o.charAt(0)!==t.charAt(0))return 0;for(var e=0,n=Math.min(o.length,t.length),s=n,i=0;e<s;)o.substring(i,s)==t.substring(i,s)?(e=s,i=e):n=s,s=Math.floor((n-e)/2+e);return Pg(o.charCodeAt(s-1))&&s--,s}function vg(o,t){var e=o.length,n=t.length;if(e==0||n==0)return 0;e>n?o=o.substring(e-n):e<n&&(t=t.substring(0,e));var s=Math.min(e,n);if(o==t)return s;for(var i=0,r=1;;){var a=o.substring(s-r),l=t.indexOf(a);if(l==-1)return i;r+=l,(l==0||o.substring(s-r)==t.substring(0,r))&&(i=r,r++)}}function $a(o,t){if(!o||!t||o.slice(-1)!==t.slice(-1))return 0;for(var e=0,n=Math.min(o.length,t.length),s=n,i=0;e<s;)o.substring(o.length-s,o.length-i)==t.substring(t.length-s,t.length-i)?(e=s,i=e):n=s,s=Math.floor((n-e)/2+e);return kg(o.charCodeAt(o.length-s))&&s--,s}function ly(o,t){var e=o.length>t.length?o:t,n=o.length>t.length?t:o;if(e.length<4||n.length*2<e.length)return null;function s(f,g,m){for(var y=f.substring(m,m+Math.floor(f.length/4)),S=-1,C="",x,v,E,N;(S=g.indexOf(y,S+1))!==-1;){var L=ud(f.substring(m),g.substring(S)),O=$a(f.substring(0,m),g.substring(0,S));C.length<O+L&&(C=g.substring(S-O,S)+g.substring(S,S+L),x=f.substring(0,m-O),v=f.substring(m+L),E=g.substring(0,S-O),N=g.substring(S+L))}return C.length*2>=f.length?[x,v,E,N,C]:null}var i=s(e,n,Math.ceil(e.length/4)),r=s(e,n,Math.ceil(e.length/2)),a;if(!i&&!r)return null;r?i?a=i[4].length>r[4].length?i:r:a=r:a=i;var l,c,u,d;o.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 cy(o){for(var t=!1,e=[],n=0,s=null,i=0,r=0,a=0,l=0,c=0;i<o.length;)o[i][0]==$e?(e[n++]=i,r=l,a=c,l=0,c=0,s=o[i][1]):(o[i][0]==pt?l+=o[i][1].length:c+=o[i][1].length,s&&s.length<=Math.max(r,a)&&s.length<=Math.max(l,c)&&(o.splice(e[n-1],0,[Dt,s]),o[e[n-1]+1][0]=pt,n--,n--,i=n>0?e[n-1]:-1,r=0,a=0,l=0,c=0,s=null,t=!0)),i++;for(t&&dd(o),py(o),i=1;i<o.length;){if(o[i-1][0]==Dt&&o[i][0]==pt){var u=o[i-1][1],d=o[i][1],h=vg(u,d),f=vg(d,u);h>=f?(h>=u.length/2||h>=d.length/2)&&(o.splice(i,0,[$e,d.substring(0,h)]),o[i-1][1]=u.substring(0,u.length-h),o[i+1][1]=d.substring(h),i++):(f>=u.length/2||f>=d.length/2)&&(o.splice(i,0,[$e,u.substring(0,f)]),o[i-1][0]=pt,o[i-1][1]=d.substring(0,d.length-f),o[i+1][0]=Dt,o[i+1][1]=u.substring(f),i++),i++}i++}}var Ng=/[^a-zA-Z0-9]/,Tg=/\s/,wg=/[\r\n]/,uy=/\n\r?\n$/,dy=/^\r?\n\r?\n/;function py(o){function t(f,g){if(!f||!g)return 6;var m=f.charAt(f.length-1),y=g.charAt(0),S=m.match(Ng),C=y.match(Ng),x=S&&m.match(Tg),v=C&&y.match(Tg),E=x&&m.match(wg),N=v&&y.match(wg),L=E&&f.match(uy),O=N&&g.match(dy);return L||O?5:E||N?4:S&&!x&&v?3:x||v?2:S||C?1:0}for(var e=1;e<o.length-1;){if(o[e-1][0]==$e&&o[e+1][0]==$e){var n=o[e-1][1],s=o[e][1],i=o[e+1][1],r=$a(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),i=a+i}for(var l=n,c=s,u=i,d=t(n,s)+t(s,i);s.charAt(0)===i.charAt(0);){n+=s.charAt(0),s=s.substring(1)+i.charAt(0),i=i.substring(1);var h=t(n,s)+t(s,i);h>=d&&(d=h,l=n,c=s,u=i)}o[e-1][1]!=l&&(l?o[e-1][1]=l:(o.splice(e-1,1),e--),o[e][1]=c,u?o[e+1][1]=u:(o.splice(e+1,1),e--))}e++}}function dd(o,t){o.push([$e,""]);for(var e=0,n=0,s=0,i="",r="",a;e<o.length;){if(e<o.length-1&&!o[e][1]){o.splice(e,1);continue}switch(o[e][0]){case pt:s++,r+=o[e][1],e++;break;case Dt:n++,i+=o[e][1],e++;break;case $e:var l=e-s-n-1;if(t){if(l>=0&&Lg(o[l][1])){var c=o[l][1].slice(-1);if(o[l][1]=o[l][1].slice(0,-1),i=c+i,r=c+r,!o[l][1]){o.splice(l,1),e--;var u=l-1;o[u]&&o[u][0]===pt&&(s++,r=o[u][1]+r,u--),o[u]&&o[u][0]===Dt&&(n++,i=o[u][1]+i,u--),l=u}}if(Ag(o[e][1])){var c=o[e][1].charAt(0);o[e][1]=o[e][1].slice(1),i+=c,r+=c}}if(e<o.length-1&&!o[e][1]){o.splice(e,1);break}if(i.length>0||r.length>0){i.length>0&&r.length>0&&(a=ud(r,i),a!==0&&(l>=0?o[l][1]+=r.substring(0,a):(o.splice(0,0,[$e,r.substring(0,a)]),e++),r=r.substring(a),i=i.substring(a)),a=$a(r,i),a!==0&&(o[e][1]=r.substring(r.length-a)+o[e][1],r=r.substring(0,r.length-a),i=i.substring(0,i.length-a)));var d=s+n;i.length===0&&r.length===0?(o.splice(e-d,d),e=e-d):i.length===0?(o.splice(e-d,d,[pt,r]),e=e-d+1):r.length===0?(o.splice(e-d,d,[Dt,i]),e=e-d+1):(o.splice(e-d,d,[Dt,i],[pt,r]),e=e-d+2)}e!==0&&o[e-1][0]===$e?(o[e-1][1]+=o[e][1],o.splice(e,1)):e++,s=0,n=0,i="",r="";break}}o[o.length-1][1]===""&&o.pop();var h=!1;for(e=1;e<o.length-1;)o[e-1][0]===$e&&o[e+1][0]===$e&&(o[e][1].substring(o[e][1].length-o[e-1][1].length)===o[e-1][1]?(o[e][1]=o[e-1][1]+o[e][1].substring(0,o[e][1].length-o[e-1][1].length),o[e+1][1]=o[e-1][1]+o[e+1][1],o.splice(e-1,1),h=!0):o[e][1].substring(0,o[e+1][1].length)==o[e+1][1]&&(o[e-1][1]+=o[e+1][1],o[e][1]=o[e][1].substring(o[e+1][1].length)+o[e+1][1],o.splice(e+1,1),h=!0)),e++;h&&dd(o,t)}function Pg(o){return o>=55296&&o<=56319}function kg(o){return o>=56320&&o<=57343}function Ag(o){return kg(o.charCodeAt(0))}function Lg(o){return Pg(o.charCodeAt(o.length-1))}function hy(o){for(var t=[],e=0;e<o.length;e++)o[e][1].length>0&&t.push(o[e]);return t}function cd(o,t,e,n){return Lg(o)||Ag(n)?null:hy([[$e,o],[Dt,t],[pt,e],[$e,n]])}function fy(o,t,e){var n=typeof e=="number"?{index:e,length:0}:e.oldRange,s=typeof e=="number"?null:e.newRange,i=o.length,r=t.length;if(n.length===0&&(s===null||s.length===0)){var a=n.index,l=o.slice(0,a),c=o.slice(a),u=s?s.index:null;e:{var d=a+r-i;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),y=h.slice(0,g);if(m!==y)break e;var S=l.slice(g),C=h.slice(g);return cd(m,S,C,c)}e:{if(u!==null&&u!==a)break e;var x=a,h=t.slice(0,x),f=t.slice(x);if(h!==l)break e;var v=Math.min(i-x,r-x),E=c.slice(c.length-v),N=f.slice(f.length-v);if(E!==N)break e;var S=c.slice(0,c.length-v),C=f.slice(0,f.length-v);return cd(l,S,C,E)}}if(n.length>0&&s&&s.length===0)e:{var m=o.slice(0,n.index),E=o.slice(n.index+n.length),g=m.length,v=E.length;if(r<g+v)break e;var y=t.slice(0,g),N=t.slice(r-v);if(m!==y||E!==N)break e;var S=o.slice(g,i-v),C=t.slice(g,r-v);return cd(m,S,C,E)}return null}function ja(o,t,e,n){return Ur(o,t,e,n,!0)}ja.INSERT=pt;ja.DELETE=Dt;ja.EQUAL=$e;Rg.exports=ja});var gS={};YC(gS,{CoreViewer:()=>Qo,HOOKS:()=>It,Navigation:()=>BC,PageProgression:()=>Ms,PageSide:()=>yr,PageViewMode:()=>hS,Profiler:()=>ia,ReadyState:()=>Yc,UserAgentBaseCss:()=>qu,UserAgentCounterStylesCss:()=>Ju,UserAgentPageCss:()=>Ku,UserAgentTocCss:()=>Zu,UserAgentXml:()=>Yu,ValidationTxt:()=>ju,VivliostylePolyfillCss:()=>Qu,VivliostyleViewportCss:()=>$u,VivliostyleViewportScreenCss:()=>Xu,ZoomType:()=>pS,getHooksForName:()=>Ze,isDebug:()=>Ds,pageProgressionOf:()=>jc,plugin:()=>ZC,printHTML:()=>fS,profile:()=>tb,profiler:()=>nt,registerHook:()=>Ke,removeHook:()=>Af,setDebug:()=>$c});module.exports=qC(gS);var Ds=!1;function $c(o){Ds=o}var Ms=(e=>(e.LTR="ltr",e.RTL="rtl",e))(Ms||{});function jc(o){switch(o){case"ltr":return"ltr";case"rtl":return"rtl";default:throw new Error(`unknown PageProgression: ${o}`)}}var yr=(e=>(e.LEFT="left",e.RIGHT="right",e))(yr||{}),Yc=(n=>(n.LOADING="loading",n.INTERACTIVE="interactive",n.COMPLETE="complete",n))(Yc||{});var qc=(s=>(s[s.DEBUG=1]="DEBUG",s[s.INFO=2]="INFO",s[s.WARN=3]="WARN",s[s.ERROR=4]="ERROR",s))(qc||{}),Kc=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=ta(arguments);this.consoleDebug(na(e)),this.triggerListeners(1,e)}info(...t){let e=ta(arguments);this.consoleInfo(na(e)),this.triggerListeners(2,e)}warn(...t){let e=ta(arguments);this.consoleWarn(na(e)),this.triggerListeners(3,e)}error(...t){let e=ta(arguments);this.consoleError(na(e)),this.triggerListeners(4,e)}};function ta(o){let t=Array.from(o),e=null;return t[0]instanceof Error&&(e=t.shift()),{error:e,messages:t}}function na(o){let t=o.error,e=t&&(t.frameTrace||t.stack),n=[].concat(o.messages);return t&&(n.length>0&&(n=n.concat([` `])),n=n.concat([t.toString()]),e&&(n=n.concat([` `]).concat(e))),n}var F=new Kc;var It=(u=>(u.SIMPLE_PROPERTY="SIMPLE_PROPERTY",u.PREPROCESS_SINGLE_DOCUMENT="PREPROCESS_SINGLE_DOCUMENT",u.PREPROCESS_TEXT_CONTENT="PREPROCESS_TEXT_CONTENT",u.PREPROCESS_ELEMENT_STYLE="PREPROCESS_ELEMENT_STYLE",u.POLYFILLED_INHERITED_PROPS="POLYFILLED_INHERITED_PROPS",u.CONFIGURATION="CONFIGURATION",u.RESOLVE_TEXT_NODE_BREAKER="RESOLVE_TEXT_NODE_BREAKER",u.RESOLVE_FORMATTING_CONTEXT="RESOLVE_FORMATTING_CONTEXT",u.RESOLVE_LAYOUT_PROCESSOR="RESOLVE_LAYOUT_PROCESSOR",u.POST_LAYOUT_BLOCK="POST_LAYOUT_BLOCK",u))(It||{}),sa={};function Ke(o,t,e){if(!It[o])F.warn(new Error(`Skipping unknown plugin hook '${o}'.`));else{let n=sa[o];n||(n=sa[o]=[]),e?n.unshift(t):n.push(t)}}function Af(o,t){if(!It[o])F.warn(new Error(`Ignoring unknown plugin hook '${o}'.`));else{let e=sa[o];if(e){let n=e.indexOf(t);n>=0&&e.splice(n,1)}}}function Ze(o){return sa[o]||[]}var ZC={registerHook:Ke,removeHook:Af};var ia=class{constructor(t){this.performanceInstance=t;p(this,"timestamps",{});p(this,"registerTiming");p(this,"registerStartTiming");p(this,"registerEndTiming");this.registerTiming=Ei,this.registerStartTiming=this.registerStartTiming=Ei,this.registerEndTiming=this.registerEndTiming=Ei}forceRegisterStartTiming(t,e){Zc.call(this,t,"start",e)}forceRegisterEndTiming(t,e){Zc.call(this,t,"end",e)}printTimings(){let t=this.timestamps,e="";Object.keys(t).forEach(n=>{let s=t[n],i=s.length;for(let r=0;r<i;r++){let a=s[r];e+=n,i>1&&(e+=`(${r})`),e+=` => start: ${a.start}, end: ${a.end}, duration: ${a.end-a.start} `}}),F.info(e)}disable(){this.registerTiming=Ei,this.registerStartTiming=this.registerStartTiming=Ei,this.registerEndTiming=this.registerEndTiming=Ei}enable(){this.registerTiming=Zc,this.registerStartTiming=this.registerStartTiming=Lf,this.registerEndTiming=this.registerEndTiming=QC}isEnabled(){return this.registerStartTiming===Lf}};function Ei(){}function Zc(o,t,e){e||(e=this.performanceInstance.now());let n=this.timestamps[o];n||(n=this.timestamps[o]=[]);let s,i=n.length;for(let r=i-1;r>=0&&(s=n[r],!(s&&!s[t]));r--)s=null;s||(s={},n.push(s)),s[t]=e}function Lf(o,t){this.registerTiming(o,"start",t)}function QC(o,t){this.registerTiming(o,"end",t)}var JC={now:Date.now},eb=window&&window.performance,nt=new ia(eb||JC);nt.forceRegisterStartTiming("load_vivliostyle");var tb={profiler:{registerStartTiming:nt.registerStartTiming,registerEndTiming:nt.registerEndTiming,printTimings:nt.printTimings,disable:nt.disable,enable:nt.enable}};var oa=navigator.userAgent.includes("Chrome")?"chromium":navigator.userAgent.includes("Firefox")?"firefox":navigator.userAgent.includes("AppleWebKit")?"webkit":"unknown",_s=/^[\s\p{Zs}\p{P}\p{Mn}]*[\p{L}\p{N}]\p{Mn}*(?:[\s\p{Zs}]*\p{P}\p{Mn}*)*/u,Qt="data-adapt-eloff",If={};function Ni(o){return JSON.parse(o)}function Xt(o){let t=o.match(/^([^#]*)/);return t?t[1]:o}function nb(o){let t=o.match(/^([^#?]*)/);return t?t[1]:o}var In=window.location.href;function Qc(o){In=o}var Jt=window.location.href;function Jc(o){Jt=o}function te(o,t){if(/^data:/i.test(t))return o||t;if(!t||o.match(/^\w{2,}:/))return o.toLowerCase().match("^javascript:")?"#":(o.match(/^\w{2,}:\/\/[^\/]+$/)&&(o=`${o}/`),o);t.match(/^\w{2,}:\/\/[^\/]+$/)&&(t=`${t}/`);let e;if(o.match(/^\/\//))return e=t.match(/^(\w{2,}:)\/\//),e?e[1]+o:o;if(o.match(/^\//))return e=t.match(/^(\w{2,}:\/\/[^\/]+)\//),e?e[1]+o:o;if(o.match(/^\.(\/|$)/)&&(o=o.substr(2)),t=nb(t),o.match(/^#/))return t+o;let n=t.lastIndexOf("/");if(n<0)return o;let s=t.substr(0,n+1)+o,i="";for(e=s.match(/^([^?#]*)([?#].*)$/),e&&(s=e[1],i=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,"/")+i}function ns(o){let t;return(t=/^(https?:)\/\/github\.com\/([^/]+\/[^/]+)\/(blob\/|tree\/|raw\/)?(.*)$/.exec(o))?o=`${t[1]}//raw.githubusercontent.com/${t[2]}/${t[3]?"":"master/"}${t[4]}`:(t=/^(https?:)\/\/www\.aozora\.gr\.jp\/(cards\/[^/]+\/files\/[^/.]+\.html)$/.exec(o))?o=`${t[1]}//raw.githubusercontent.com/aozorabunko/aozorabunko/master/${t[2]}`:(t=/^(https?:)\/\/gist\.github\.com\/([^/]+\/\w+)(\/|$)(raw(\/|$))?(.*)$/.exec(o))?o=`${t[1]}//gist.githubusercontent.com/${t[2]}/raw/${t[6]}`:(t=/^(https?:)\/\/gist\.github\.com\/([^/]+\/\w+)(?:#|%23)file-(.*)-(\w+)$/.exec(o))?o=`${t[1]}//gist.githubusercontent.com/${t[2]}/raw/${t[3]}.${t[4]}`:(t=/^(https?:)\/\/(?:[^/.]+\.)?jsbin\.com\/(?!(?:blog|help)\b)(\w+)((\/\d+)?).*$/.exec(o))&&(o=`${t[1]}//output.jsbin.com/${t[2]}${t[3]}/`),o}function eu(o){return o==null?o:o.toString()}var ra=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 i=s*2;if(i>=n)break;if(this.queue[i].compare(e)>0)i+1<n&&this.queue[i+1].compare(this.queue[i])>0&&i++;else if(i+1<n&&this.queue[i+1].compare(e)>0)i++;else break;this.queue[s]=this.queue[i],s=i}this.queue[s]=e}return t}},tu=["","-webkit-","-moz-"],vi={};function Sr(o,t){return CSS.supports(o+t,"unset")}function sb(o){let t=vi[o];if(t||t===null)return t;switch(o){case"behavior":case"template":case"ua-list-item-count":case"x-first-pseudo":return vi[o]=null,null;case"text-combine-upright":if(Sr("-webkit-","text-combine")&&!Sr("","text-combine-upright"))return vi[o]=["-webkit-text-combine"],["-webkit-text-combine"];break}for(let e of tu)if(Sr(e,o))return t=[e+o],vi[o]=t,t;return F.warn("Property not supported by the browser: ",o),vi[o]=null,null}function w(o,t,e){let n=o==null?void 0:o.style;if(!n)return;if(t.startsWith("--")){n.setProperty(t,e||" ");return}let s=sb(t);if(s)for(let i of s){switch(i){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(i,e)}}function en(o,t,e){try{let n=vi[t];return o.style.getPropertyValue(n?n[0]:t)}catch(n){}return e||""}function Er(o){let t=o.getAttributeNS("http://www.w3.org/XML/1998/namespace","lang");return!t&&o.namespaceURI=="http://www.w3.org/1999/xhtml"&&(t=o.getAttribute("lang")),t}var st=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 Vf(o){return`\\${o.charCodeAt(0).toString(16)} `}function fn(o){return o.replace(/[^-_a-zA-Z0-9\u0080-\uFFFF]/g,Vf)}function Us(o){return o.replace(/[\u0000-\u001F"\\]/g,Vf)}function nu(o){return o.replace(/[\s+&?=#\u007F-\uFFFF]+/g,encodeURIComponent)}function su(o){return!!o.match(/^[a-zA-Z\u009E\u009F\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u024F\u037B-\u037D\u0386\u0388-\u0482\u048A-\u0527]$/)}function ib(o,t){return t=typeof t=="string"?t:"\\u",t+(65536|o.charCodeAt(0)).toString(16).substr(1)}function iu(o,t){function e(n){return ib(n,t)}return o.replace(/[^-a-zA-Z0-9_]/g,e)}function Vn(o){return iu(o)}function rb(o,t){return t=typeof t=="string"?t:"\\u",o.indexOf(t)===0?String.fromCharCode(parseInt(o.substring(t.length),16)):o}function Ff(o,t){t=typeof t=="string"?t:"\\u";function e(s){return rb(s,t)}let n=new RegExp(`${Vn(t)}[0-9a-fA-F]{4}`,"g");return o.replace(n,e)}function Vt(o,t){let e=0,n=o;for(;;){if(e<=n,e==0||t(e-1),n==o||t(n),e==n)return e;let s=e+n>>1;t(s)?n=s:e=s+1}}function aa(o,t){return o-t}function ru(o,t){let e={};for(let n of o){let s=t(n);s&&!e[s]&&(e[s]=n)}return e}function Bf(o){let t={};for(let e=0;e<o.length;e++)t[o[e]]=!0;return t}function la(o,t){let e={};for(let n of o){let s=t(n);s&&(e[s]?e[s].push(n):e[s]=[n])}return e}function Of(o,t){let e={};for(let n in o)e[n]=t(o[n],n);return e}var ts=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 i=s.indexOf(e);i>=0&&s.splice(i,1)}}},gn={audio:!0,canvas:!0,embed:!0,iframe:!0,img:!0,math:!0,object:!0,picture:!0,svg:!0,video:!0};function _f(o){if(o.nodeType==1){let t=o.getAttribute("id");if(t)return t}return null}function ob(o){return`^${o}`}function Df(o){return o.replace(/[\[\]\(\),=;^]/g,ob)}function ab(o){return o.substr(1)}function ou(o){return o&&o.replace(/\^[\[\]\(\),=;^]/g,ab)}function lb(o){let t=[];do{let e=o.match(/^(\^,|[^,])*/),n=ou(e[0]);if(o=o.substr(e[0].length+1),!o&&!t.length)return n;t.push(n)}while(o);return t}function Mf(o){let t={};for(;o;){let e=o.match(/^;([^;=]+)=(([^;]|\^;)*)/);if(!e)return t;t[e[1]]=lb(e[2]),o=o.substr(e[0].length)}return t}var ca=class{appendTo(t){t.append("!")}applyTo(t){return!1}},ua=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,i,r=Math.floor(this.index/2)-1;if(r<0||s==0)i=e.firstChild,t.node=i||e;else{if(i=n[Math.min(r,s-1)],this.index&1){let a=i.nextSibling;!a||a.nodeType==1?t.after=!0:i=a}t.node=i}if(this.id&&(t.after||this.id!=_f(t.node))){let a=e.ownerDocument.getElementById(this.id);a?t.node=a:F.warn("E_CFI_ID_MISMATCH:",this.id)}return t.sideBias=this.sideBias,!0}},da=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 i=n.nextSibling;if(3<=s&&s<=5){let r=n.textContent.length;if(e<=r)break;if(!i){e=r;break}e-=r}if(!i){e=0;break}n=i}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(Df(this.textBefore)),t.append(","),this.textAfter&&t.append(Df(this.textAfter))),this.sideBias&&(t.append(";s="),t.append(this.sideBias)),t.append("]"))}},vr=class o{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,i=[];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=Mf(e[4]),i.push(new ua(a,l,eu(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=ou(l));let c=e[7];c&&(c=ou(c)),r=Mf(e[10]),i.push(new da(a,l,c,eu(r.s)));break}case"!":s++,i.push(new ca);break;case"~":case"@":case"":this.steps=i;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 o,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 i=[],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),i.push(new da(e,a,l,s)),s=null);r&&!(!r||r.nodeType==9);){let c=n?null:_f(t),u=n?1:0;for(;t;)t.nodeType==1&&(u+=2),t=t.previousSibling;i.push(new ua(u,c,s)),s=null,t=r,r=r.parentNode,n=!1}i.reverse(),this.steps?(i.push(new ca),this.steps=i.concat(this.steps)):this.steps=i}toString(){if(!this.steps)return"";let t=new st;t.append("epubcfi(");for(let e=0;e<this.steps.length;e++)this.steps[e].appendTo(t);return t.append(")"),t.toString().replace(/%/g,"%25")}};function lu(){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 Ta(o){return{fontFamily:o.fontFamily,lineHeight:o.lineHeight,margin:o.margin,hyphenate:o.hyphenate,columnWidth:o.columnWidth,horizontal:o.horizontal,nightMode:o.nightMode,spreadView:o.spreadView,pageBorder:o.pageBorder,enabledMediaTypes:Object.assign({},o.enabledMediaTypes),defaultPaperSize:o.defaultPaperSize?Object.assign({},o.defaultPaperSize):void 0}}var ub=lu(),Uf={PENDING:{}};function cu(o,t,e,n){let s=Math.min((o-0)/e,(t-0)/n);return`matrix(${s},0,0,${s},0,0)`}function au(o){return`"${Us(`${o}`)}"`}function db(o){return fn(`${o}`)}function Lr(o,t){return o?`${fn(o)}.${fn(t)}`:fn(t)}var Hf=0,Hs=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${Hf++}`,this.zero=new he(this,0),this.one=new he(this,1),this._true=new he(this,!0),this._false=new he(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=cu,n["css-string"]=au,n["css-name"]=db,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 au(this.pubTitle?this.pubTitle:"")}),this.defineBuiltInName("doc-title",function(){return au(this.docTitle?this.docTitle:"")})}}defineBuiltInName(t,e){this.values[t]=new ne(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 zf(o){switch(o==null?void 0:o.toLowerCase()){case"px":case"in":case"pt":case"pc":case"cm":case"mm":case"q":return!0;default:return!1}}function uu(o){switch(o==null?void 0:o.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 Gf(o){switch(o==null?void 0:o.toLowerCase()){case"em":case"rem":case"lh":case"rlh":return!0;default:return!1}}function Wf(o){switch(o==null?void 0:o.toLowerCase()){case"rem":case"rlh":return!0;default:return!1}}var Je={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 wa(o){switch(o){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 Ti=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=ub}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(uu(t)){let s=this.pageWidth()/100,i=this.pageHeight()/100,r=this.pageAreaWidth!=null?this.pageAreaWidth/100:s,a=this.pageAreaHeight!=null?this.pageAreaHeight/100:i,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 i;case"pvi":return l?i:s;case"pvb":return l?s:i;case"pvmin":return s<i?s:i;case"pvmax":return s>i?s:i}}return t=="em"||t=="rem"?e?this.initialFontSize:this.fontSize():t=="lh"||t=="rlh"?this.rootLineHeight:Je[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 i=t.funcs[e];if(i||t.resolver&&(i=t.resolver.call(this,e,!0),i))return i;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 he(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 i=null,r=null;switch(t){case"width":case"height":case"device-width":case"device-height":case"color":e&&(i=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&&i!=null)switch(n){case"min":return r>=Number(i);case"max":return r<=Number(i);default:return r==i}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}},St=class{constructor(t){this.scope=t;p(this,"key");this.scope=t,this.key=`_${Hf++}`}toString(){let t=new st;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===Uf.PENDING?!1:s;{n[this.key]=Uf.PENDING;let i=this.dependCore(t,e,n);return n[this.key]=i,i}}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}},pa=class extends St{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)}},wi=class extends St{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),i=this.rhs.expand(e,n);return s===this.lhs&&i===this.rhs?this:new this.constructor(this.scope,s,i)}},ha=class extends wi{constructor(t,e,n){super(t,e,n)}getPriority(){return 1}},ss=class extends wi{constructor(t,e,n){super(t,e,n)}getPriority(){return 2}},fa=class extends wi{constructor(t,e,n){super(t,e,n)}getPriority(){return 3}},Nr=class extends wi{constructor(t,e,n){super(t,e,n)}getPriority(){return 4}},Ft=class extends pa{constructor(t,e){super(t,e)}getOp(){return"!"}evalPrefix(t){return!t}},ga=class extends Ft{constructor(t,e){super(t,e)}getOp(){return"not "}},mn=class extends pa{constructor(t,e){super(t,e)}getOp(){return"-"}evalPrefix(t){return-t}},Pi=class extends ha{constructor(t,e,n){super(t,e,n)}getOp(){return"&&"}evaluateCore(t){return this.lhs.evaluate(t)&&this.rhs.evaluate(t)}},ma=class extends Pi{constructor(t,e,n){super(t,e,n)}getOp(){return" and "}},ki=class extends ha{constructor(t,e,n){super(t,e,n)}getOp(){return"||"}evaluateCore(t){return this.lhs.evaluate(t)||this.rhs.evaluate(t)}},Ca=class extends ki{constructor(t,e,n){super(t,e,n)}getOp(){return", "}},ba=class extends ki{constructor(t,e,n){super(t,e,n)}getOp(){return" or "}},ya=class extends ss{constructor(t,e,n){super(t,e,n)}getOp(){return"<"}evalInfix(t,e){return t<e}},xa=class extends ss{constructor(t,e,n){super(t,e,n)}getOp(){return"<="}evalInfix(t,e){return t<=e}},Sa=class extends ss{constructor(t,e,n){super(t,e,n)}getOp(){return">"}evalInfix(t,e){return t>e}},zs=class extends ss{constructor(t,e,n){super(t,e,n)}getOp(){return">="}evalInfix(t,e){return t>=e}},is=class extends ss{constructor(t,e,n){super(t,e,n)}getOp(){return"=="}evalInfix(t,e){return t==e}},Ea=class extends ss{constructor(t,e,n){super(t,e,n)}getOp(){return"!="}evalInfix(t,e){return t!=e}},Tr=class extends fa{constructor(t,e,n){super(t,e,n)}getOp(){return"+"}evalInfix(t,e){return t+e}},wr=class extends fa{constructor(t,e,n){super(t,e,n)}getOp(){return" - "}evalInfix(t,e){return t-e}},Gs=class extends Nr{constructor(t,e,n){super(t,e,n)}getOp(){return"*"}evalInfix(t,e){return t*e}},Pr=class extends Nr{constructor(t,e,n){super(t,e,n)}getOp(){return"/"}evalInfix(t,e){return t/e}},Ai=class extends Nr{constructor(t,e,n){super(t,e,n)}getOp(){return"%"}evalInfix(t,e){return t%e}},tn=class extends St{constructor(e,n,s){var i;super(e);this.num=n;p(this,"unit");this.unit=(i=s==null?void 0:s.toLowerCase())!=null?i:""}appendTo(e,n){e.append(this.num.toString()),e.append(fn(this.unit))}evaluateCore(e){return this.num*e.queryUnitSize(this.unit,!1)}},re=class extends St{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)}},kr=class extends St{constructor(e,n,s){super(e);this.not=n;this.name=s}appendTo(e,n){this.not&&e.append("not "),e.append(fn(this.name))}evaluateCore(e){return e.evalMediaName(this.name,this.not)}isMediaName(){return!0}},ne=class extends St{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 pb(o,t){o.append("(");for(let e=0;e<t.length;e++)e&&o.append(","),t[e].appendTo(o,0);o.append(")")}function hb(o,t,e){let n=t;for(let s=0;s<t.length;s++){let i=t[s].expand(o,e);if(t!==n)n[s]=i;else if(i!==t[s]){n=Array(t.length);for(let r=0;r<s;r++)n[r]=t[r];n[s]=i}}return n}var Fn=class o extends St{constructor(e,n,s){super(e);this.qualifiedName=n;this.params=s}appendTo(e,n){e.append(this.qualifiedName),pb(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=hb(e,this.params,n);return s===this.params?this:new o(this.scope,this.qualifiedName,s)}},va=class o extends St{constructor(e,n,s,i){super(e);this.cond=n;this.ifTrue=s;this.ifFalse=i}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),i=this.ifTrue.expand(e,n),r=this.ifFalse.expand(e,n);return s===this.cond&&i===this.ifTrue&&r===this.ifFalse?this:new o(this.scope,s,i,r)}},he=class extends St{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(Us(this.val)),e.append('"');break;default:throw new Error("F_UNEXPECTED_STATE")}}evaluateCore(e){return this.val}},Ar=class o extends St{constructor(e,n,s){super(e);this.name=n;this.value=s}appendTo(e,n){e.append("("),e.append(Us(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 o(this.scope,this.name,s)}},Na=class extends St{constructor(e,n,s,i){super(e);this.name=n;this.value=s;this.isFunc=i}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)}},Li=class extends St{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 ut(o,t,e){return t===o._false||t===o.zero||e==o._false||e==o.zero?o._false:t===o._true||t===o.one?e:e===o._true||e===o.one?t:new Pi(o,t,e)}function $(o,t,e){return t===o.zero?e:e===o.zero?t:new Tr(o,t,e)}function ee(o,t,e){return t===o.zero?new mn(o,e):e===o.zero?t:new wr(o,t,e)}function Ri(o,t,e){return t===o.zero||e===o.zero?o.zero:t===o.one?e:e===o.one?t:new Gs(o,t,e)}function Rr(o,t,e){return t===o.zero?o.zero:e===o.one?t:new Pr(o,t,e)}var Et=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}},$t=class extends Et{constructor(){super();p(this,"error",!1)}visitValues(e){let n=null;for(let s=0;s<e.length;s++){let i=e[s],r=i.visit(this);if(this.error)return[];if(n)n[s]=r;else if(i!==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?H:n===e.values?e:new G(n)}visitCommaList(e){let n=this.visitValues(e.values);return this.error?H:n===e.values?e:new me(n)}visitFunc(e){let n=this.visitValues(e.values);return this.error?H:n===e.values?e:new vt(e.name,n)}visitExpr(e){return e}},Le=class{toString(){let t=new st;return this.appendTo(t,!0),t.toString()}stringValue(){let t=new st;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}},Pa=class Pa extends Le{static get instance(){return this.empty||(this.empty=new Pa),this.empty}constructor(){super()}toExpr(t,e){return new he(t,"")}appendTo(t,e){}visit(t){return t.visitEmpty(this)}};p(Pa,"empty");var du=Pa,H=du.instance,ka=class ka extends Le{static get instance(){return this.slash||(this.slash=new ka),this.slash}constructor(){super()}toExpr(t,e){return new he(t,"/")}appendTo(t,e){t.append("/")}visit(t){return t.visitSlash(this)}};p(ka,"slash");var pu=ka,Bn=pu.instance,M=class extends Le{constructor(e){super();this.str=e}toExpr(e,n){return new he(e,this.str)}appendTo(e,n){n?(e.append('"'),e.append(Us(this.str)),e.append('"')):e.append(this.str)}visit(e){return e.visitStr(this)}},hu={},Y=class extends Le{constructor(e){super();this.name=e;if(hu[e])throw new Error("E_INVALID_CALL");hu[e]=this}toExpr(e,n){return new he(e,this.name)}appendTo(e,n){n?e.append(fn(this.name)):e.append(this.name)}visit(e){return e.visitIdent(this)}isIdent(){return!0}};function k(o){let t=hu[o];return t||(t=new Y(o)),t}var P=class extends Le{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 Gs(e,n,new he(e,this.num/100)):new tn(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}},Re=class extends Le{constructor(e){super();this.num=e}toExpr(e,n){return this.num==0?e.zero:this.num==1?e.one:new he(e,this.num)}appendTo(e,n){e.append(this.num.toString())}visit(e){return e.visitNum(this)}isNum(){return!0}},se=class extends Re{constructor(t){super(t)}visit(t){return t.visitInt(this)}},Ii=class extends Le{constructor(e){super();this.hex=e}appendTo(e,n){e.append("#"),e.append(this.hex)}visit(e){return e.visitHexColor(this)}},ge=class extends Le{constructor(e){super();this.url=e}appendTo(e,n){e.append('url("'),e.append(Us(this.url)),e.append('")')}visit(e){return e.visitURL(this)}},Ir=class extends Le{constructor(e){super();this.urangeText=e}appendTo(e,n){e.append(this.urangeText)}visit(e){return e.visitURange(this)}};function fu(o,t,e,n){var i,r;let s=t.length;if(s>0){(i=t[0])==null||i.appendTo(o,n);for(let a=1;a<s;a++)o.append(e),(r=t[a])==null||r.appendTo(o,n)}}var G=class extends Le{constructor(e){super();this.values=e}appendTo(e,n){fu(e,this.values," ",n)}visit(e){return e.visitSpaceList(this)}isSpaceList(){return!0}},me=class extends Le{constructor(e){super();this.values=e}appendTo(e,n){fu(e,this.values,",",n)}visit(e){return e.visitCommaList(this)}},vt=class extends Le{constructor(e,n){super();this.name=e;this.values=n}appendTo(e,n){e.append(fn(this.name)),e.append("("),fu(e,this.values,",",n),e.append(")")}visit(e){return e.visitFunc(this)}},D=class extends Le{constructor(e){super();this.expr=e}toExpr(){return this.expr}appendTo(e,n){this.expr instanceof he||this.expr instanceof tn?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}},Cn=class extends Le{constructor(e){super();this.text=e}appendTo(e,n){e.append(this.text||" ")}};function Me(o,t){if(o){if(o.isNumeric()){let e=o;return t.queryUnitSize(e.unit,!1)*e.num}if(o.isNum())return o.num}return 0}function Aa(o,t){return new P(Me(o,t),"px")}var b={absolute:k("absolute"),all:k("all"),always:k("always"),anywhere:k("anywhere"),auto:k("auto"),avoid:k("avoid"),balance:k("balance"),balance_all:k("balance-all"),block:k("block"),block_end:k("block-end"),block_start:k("block-start"),both:k("both"),bottom:k("bottom"),border_box:k("border-box"),break_all:k("break-all"),break_word:k("break-word"),clip:k("clip"),crop:k("crop"),cross:k("cross"),column:k("column"),discard:k("discard"),exclusive:k("exclusive"),_false:k("false"),fixed:k("fixed"),flex:k("flex"),flow_root:k("flow-root"),footnote:k("footnote"),footer:k("footer"),grid:k("grid"),header:k("header"),hidden:k("hidden"),horizontal_tb:k("horizontal-tb"),inherit:k("inherit"),initial:k("initial"),inline:k("inline"),inline_block:k("inline-block"),inline_end:k("inline-end"),inline_start:k("inline-start"),inside:k("inside"),keep:k("keep"),landscape:k("landscape"),left:k("left"),line:k("line"),list_item:k("list-item"),ltr:k("ltr"),manual:k("manual"),max_content:k("max-content"),min_content:k("min-content"),none:k("none"),normal:k("normal"),oeb_page_foot:k("oeb-page-foot"),oeb_page_head:k("oeb-page-head"),outside:k("outside"),padding_box:k("padding-box"),page:k("page"),relative:k("relative"),revert:k("revert"),right:k("right"),same:k("same"),scale:k("scale"),snap_block:k("snap-block"),snap_inline:k("snap-inline"),solid:k("solid"),spread:k("spread"),_static:k("static"),rtl:k("rtl"),table:k("table"),table_caption:k("table-caption"),table_cell:k("table-cell"),table_footer_group:k("table-footer-group"),table_header_group:k("table-header-group"),table_row:k("table-row"),top:k("top"),transparent:k("transparent"),unset:k("unset"),vertical_lr:k("vertical-lr"),vertical_rl:k("vertical-rl"),visible:k("visible"),_true:k("true")},gu=new P(100,"%"),rs=new P(100,"pvw"),os=new P(100,"pvh"),le=new P(0,"px"),ES=new Ir("U+0-10FFFF"),Xf={"font-size":1,"line-height":2,color:3};function X(o){return o===b.inherit||o===b.initial||o===b.revert||o===b.unset}function mu(o,t){let e=Xf[o]||Number.MAX_VALUE,n=Xf[t]||Number.MAX_VALUE;return e-n}function Nt(o){return(o==null?void 0:o.length)>2&&o.startsWith("--")}var Ws,Xs,$s,nn=class nn{constructor(t,e,n){j(this,Ws);j(this,Xs);j(this,$s);Se(this,Ws,Math.round(Math.max(0,Math.min(t,nn.MAX)))),Se(this,Xs,Math.round(Math.max(0,Math.min(e,nn.MAX)))),Se(this,$s,Math.round(Math.max(0,Math.min(n,nn.MAX))))}static fromInt(t,e,n){return new nn(t,e,n)}offset(t,e,n){return new nn(V(this,Ws)+t,V(this,Xs)+e,V(this,$s)+n)}toKey(){return JSON.stringify([V(this,Ws),V(this,Xs),V(this,$s)])}toColorFunc(t){return new vt("color",[new G([k("srgb"),new Re(V(this,Ws)/nn.MAX),new Re(V(this,Xs)/nn.MAX),new Re(V(this,$s)/nn.MAX),...t!==null?[Bn,new Re(t)]:[]])])}};Ws=new WeakMap,Xs=new WeakMap,$s=new WeakMap,p(nn,"MAX",1e4);var bn=nn,as,ls,cs,sn,et=class et{constructor(t,e,n,s){j(this,as);j(this,ls);j(this,cs);j(this,sn);Se(this,as,Math.round(Math.max(0,Math.min(t,et.MAX)))),Se(this,ls,Math.round(Math.max(0,Math.min(e,et.MAX)))),Se(this,cs,Math.round(Math.max(0,Math.min(n,et.MAX)))),Se(this,sn,Math.round(Math.max(0,Math.min(s,et.MAX))))}static fromInt(t,e,n,s){return new et(t,e,n,s)}static fromNumber(t,e,n,s){return new et(t*et.MAX,e*et.MAX,n*et.MAX,s*et.MAX)}toSRGB(){let t=et.MAX-V(this,sn);return bn.fromInt(bn.MAX-Math.min(bn.MAX,Math.round(V(this,as)*t/et.MAX)+V(this,sn)),bn.MAX-Math.min(bn.MAX,Math.round(V(this,ls)*t/et.MAX)+V(this,sn)),bn.MAX-Math.min(bn.MAX,Math.round(V(this,cs)*t/et.MAX)+V(this,sn)))}equals(t){return V(this,as)===V(t,as)&&V(this,ls)===V(t,ls)&&V(this,cs)===V(t,cs)&&V(this,sn)===V(t,sn)}toJSON(){return{c:V(this,as),m:V(this,ls),y:V(this,cs),k:V(this,sn)}}};as=new WeakMap,ls=new WeakMap,cs=new WeakMap,sn=new WeakMap,p(et,"MAX",1e4);var Cu=et;function Vi(o){return o instanceof Re?Math.max(0,Math.min(1,o.num)):o instanceof P&&o.unit==="%"?Math.max(0,Math.min(1,o.num/100)):null}function bu(o){if(o.name!=="device-cmyk")return null;let t=o.values.length===1&&o.values[0]instanceof G?o.values[0].values:o.values;if(t.length<4||t.length>6)return null;let e=Vi(t[0]),n=Vi(t[1]),s=Vi(t[2]),i=Vi(t[3]);if(e===null||n===null||s===null||i===null)return null;let r=null;if(t.length>=5){if(t[4]===Bn){if(t.length!==6)return null;r=Vi(t[5])}else{if(t.length!==5)return null;r=Vi(t[4])}if(r===null)return null}return{cmyk:Cu.fromNumber(e,n,s,i),alpha:r}}function*fb(o){for(let t=-o;t<=o;t++)for(let e=-o;e<=o;e++)for(let n=-o;n<=o;n++)Math.abs(t)+Math.abs(e)+Math.abs(n)===o&&(yield[t,e,n])}var us,Di,$f,jf,Vr=class{constructor(){j(this,Di);j(this,us,new Map)}registerDeviceCmyk(t){let e=bu(t);return e?ae(this,Di,$f).call(this,e.cmyk).toColorFunc(e.alpha):null}toJSON(){let t={};return V(this,us).forEach((e,n)=>{t[n]=e.toJSON()}),t}};us=new WeakMap,Di=new WeakSet,$f=function(t){let e=t.toSRGB(),n=e.toKey(),s=V(this,us).get(n);return s?s.equals(t)?e:ae(this,Di,jf).call(this,t,e):(V(this,us).set(n,t),e)},jf=function(t,e){for(let n=1;n<=bn.MAX;n++)for(let[s,i,r]of fb(n)){let a=e.offset(s,i,r),l=a.toKey();if(!V(this,us).has(l))return V(this,us).set(l,t),a}return F.warn(`CmykStore: Exceeded trackable color limit for ${JSON.stringify(t.toJSON())}`),e};var Fr,Fi,Bi,Oi=class extends $t{constructor(e){super();j(this,Fr);j(this,Fi,new Map);j(this,Bi,!1);Se(this,Fr,e!=null?e:new Vr)}reset(){Se(this,Bi,!1)}hadDeviceCmyk(){return V(this,Bi)}recordConversion(e,n){V(this,Fi).set(e,n)}getConversions(){if(V(this,Fi).size===0)return null;let e={};return V(this,Fi).forEach((n,s)=>{e[s]=n}),e}visitFunc(e){let n=V(this,Fr).registerDeviceCmyk(e);return n?(Se(this,Bi,!0),n):super.visitFunc(e)}};Fr=new WeakMap,Fi=new WeakMap,Bi=new WeakMap;var qe=class{constructor(t,e,n,s){this.x1=t;this.y1=e;this.x2=n;this.y2=s}},rn=class{constructor(t,e){this.x=t;this.y=e}},_i=class{constructor(t,e,n,s){this.left=t;this.top=e;this.right=n;this.bottom=s}},La=class{constructor(t,e,n,s){this.low=t;this.high=e;this.winding=n;this.shapeId=s}},on=class{constructor(t,e,n,s){this.y1=t;this.y2=e;this.x1=n;this.x2=s;p(this,"left",null);p(this,"right",null)}};function gb(o,t){return o.low.y-t.low.y||o.low.x-t.low.x}var js=class o{constructor(t){this.points=t}addSegments(t,e){let n=this.points,s=n.length,i=n[s-1];for(let r=0;r<s;r++){let a=n[r],l;i.y<a.y?l=new La(i,a,1,e):l=new La(a,i,-1,e),t.push(l),i=a}}withOffset(t,e){let n=[];for(let s of this.points)n.push(new rn(s.x+t,s.y+e));return new o(n)}};function xu(o,t,e,n){let i=[];for(let r=0;r<20;r++){let a=r*2*Math.PI/20;i.push(new rn(o+e*Math.sin(a),t+n*Math.cos(a)))}return new js(i)}function Br(o,t,e,n){return new js([new rn(o,t),new rn(e,t),new rn(e,n),new rn(o,n)])}var Mi=class{constructor(t,e,n,s){this.x=t;this.winding=e;this.shapeId=n;this.lowOrHigh=s}};function Yf(o,t){let e=o.low.x+(o.high.x-o.low.x)*(t-o.low.y)/(o.high.y-o.low.y);if(isNaN(e))throw new Error("Bad intersection");return e}function mb(o,t