| 1 |
- !function(){"use strict";(()=>{const e=globalThis.singlefileBootstrap,t=["a","area","audio","base","br","col","command","embed","hr","img","iframe","input","keygen","link","meta","param","source","track","video","wbr"],n="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAgMAAAAOFJJnAAABhGlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9TtaIVETuIOASsThZERRylikWwUNoKrTqYXPohNGlIUlwcBdeCgx+LVQcXZ10dXAVB8APEydFJ0UVK/F9SaBHjwXE/3t173L0DhFqJqWbbOKBqlpGMRcVMdkUMvKIbfQCG0SExU4+nFtLwHF/38PH1LsKzvM/9OXqUnMkAn0g8y3TDIl4nnt60dM77xCFWlBTic+Ixgy5I/Mh12eU3zgWHBZ4ZMtLJOeIQsVhoYbmFWdFQiaeIw4qqUb6QcVnhvMVZLVVY4578hcGctpziOs0hxLCIOBIQIaOCDZRgIUKrRoqJJO1HPfyDjj9BLplcG2DkmEcZKiTHD/4Hv7s185MTblIwCrS/2PbHCBDYBepV2/4+tu36CeB/Bq60pr9cA2Y+Sa82tfAR0LsNXFw3NXkPuNwBBp50yZAcyU9TyOeB9zP6pizQfwt0rbq9NfZx+gCkqaulG+DgEBgtUPaax7s7W3v790yjvx825XKP2aKCdAAAAAlwSFlzAAAuIwAALiMBeKU/dgAAAAd0SU1FB+QLEQA4M3Y7LzIAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAACVBMVEUAAAAAAACKioqjwG1pAAAAAXRSTlMAQObYZgAAAAFiS0dEAmYLfGQAAABkSURBVBjThc47CsNADIThWfD0bnSfbdIroP/+V0mhsN5gTNToK0YPaSvnF9B9wGykG54j/2GF1/hauE4E1AOuNxrBdA5KUXIqdiCnqC1zIZ2mFJQzKJ3wesOhcwDM4+fo7cOuD9C4HTQ9HAAQAAAAAElFTkSuQmCC",o="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAgMAAAAOFJJnAAABhGlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9TtaIVETuIOASsThZERRylikWwUNoKrTqYXPohNGlIUlwcBdeCgx+LVQcXZ10dXAVB8APEydFJ0UVK/F9SaBHjwXE/3t173L0DhFqJqWbbOKBqlpGMRcVMdkUMvKIbfQCG0SExU4+nFtLwHF/38PH1LsKzvM/9OXqUnMkAn0g8y3TDIl4nnt60dM77xCFWlBTic+Ixgy5I/Mh12eU3zgWHBZ4ZMtLJOeIQsVhoYbmFWdFQiaeIw4qqUb6QcVnhvMVZLVVY4578hcGctpziOs0hxLCIOBIQIaOCDZRgIUKrRoqJJO1HPfyDjj9BLplcG2DkmEcZKiTHD/4Hv7s185MTblIwCrS/2PbHCBDYBepV2/4+tu36CeB/Bq60pr9cA2Y+Sa82tfAR0LsNXFw3NXkPuNwBBp50yZAcyU9TyOeB9zP6pizQfwt0rbq9NfZx+gCkqaulG+DgEBgtUPaax7s7W3v790yjvx825XKP2aKCdAAAAAlwSFlzAAAuIwAALiMBeKU/dgAAAAd0SU1FB+QLEQA6Na1u6IUAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAACVBMVEUAAAAAAACKioqjwG1pAAAAAXRSTlMAQObYZgAAAAFiS0dEAmYLfGQAAABlSURBVBhXTc/BEUQhCAPQ58ES6McSPED/rfwDI7vOMCoJIeGd6CvFgZXiwk47Ia5VUKdrVXcb39kfqxqmTg+I2xJ2tqhVTaGaQjTl7/GgIc/4CL4Vs3RsjLFndcxPnAn4iww8A3yQjRZjti1t6AAAAABJRU5ErkJggg==",r="shadowmode",i="single-file-note",l="note",d="note-mask",s="note-hidden",a="note-anchored",c="note-selected",m="note-moving",u="note-mask-moving",h="page-mask",p="single-file-mask",g="single-file-page-mask",f="single-file-highlight",b="single-file-removed",y="single-file-highlight-hidden",E="page-mask-active",A="single-file-cut-hover",w="single-file-cut-outer-hover",v="single-file-cut-selected",x="single-file-cut-outer-selected",S=150,C=150,L="data-single-file-disabled-noscript",z="Page saved with SingleFile",N="Archive processed by SingleFile";let k,R,T,O,M,P,B,q,I,D,H,F,J,V,X,K,U,Q,G,_=[],$=0;async function Y(e,{filename:t,reset:n}={}){await async function(){[k,R,T]=await Promise.all([ze(await(await fetch("../pages/editor-note-web.css")).text()),ze(await(await fetch("../pages/editor-mask-web.css")).text()),ze(await(await fetch("../pages/editor-frame-web.css")).text())])}();const o=e.match(/<script data-template-shadow-root.*<\/script>/);o&&o[0]&&(G=o[0]),e=e.replace(/<script data-template-shadow-root.*<\/script>/g,"<script data-template-shadow-root src=/dist/web/editor/editor-init-web.js><\/script>");const r=(new DOMParser).parseFromString(e,"text/html");if(function(e){const t=e.documentElement.firstChild;return t.nodeType==Node.COMMENT_NODE&&(t.textContent.includes(z)||t.textContent.includes(N))}(r)){r.doctype?document.doctype?document.replaceChild(r.doctype,document.doctype):document.insertBefore(r.doctype,document.documentElement):document.doctype.remove(),r.querySelectorAll("noscript").forEach((e=>{e.setAttribute(L,e.innerHTML),e.textContent=""})),r.querySelectorAll("iframe").forEach((e=>{const t="pointer-events";e.style.setProperty("-sf-pointer-events",e.style.getPropertyValue(t),e.style.getPropertyPriority(t)),e.style.setProperty(t,"none","important")})),document.replaceChild(r.documentElement,document.documentElement),Ee(document),document.querySelectorAll(i).forEach((e=>Z(e,!0))),document.documentElement.appendChild(we(T)),B=Ae(h,g),P=Ae(d),document.documentElement.onmousedown=document.documentElement.ontouchstart=W,document.documentElement.onmouseup=document.documentElement.ontouchend=j,document.documentElement.onmouseover=ee,document.documentElement.onmouseout=te,document.documentElement.onkeydown=ne,window.onclick=e=>e.preventDefault();const e=document.querySelector("link[rel*=icon]");window.parent.postMessage(JSON.stringify({method:"onInit",title:document.title,icon:e&&e.href,filename:t,reset:n,formatPageEnabled:isProbablyReaderable(document)}),"*")}}function Z(e,t=!1){const n=e.shadowRoot,o=n.childNodes[1],r=n.querySelector("header"),l=n.querySelector("textarea"),d=e.dataset.noteId,s=n.querySelector(".note-resize"),h=n.querySelector(".note-anchor"),g=n.querySelector(".note-remove");function f(n,r,i){n.preventDefault();const{clientX:l,clientY:s}=ue(n);o.classList.add(m),t&&(o.classList.contains(a)?(Se(e,d),M=function(e,t){const n=Array.from(document.elementsFromPoint(e,t)).filter((e=>e.matches("html *:not(single-file-note):not(."+p+")")));n.includes(document.documentElement)||n.push(document.documentElement);let o,r=n[0],i=r.getBoundingClientRect();o=v("floor",r,e-i.left,w(r,"left")),o==r&&(o=v("ceil",r,i.left+i.width-e,w(r,"right")));o==r&&(o=v("floor",r,t-i.top,w(r,"top")));o==r&&(o=v("ceil",r,i.top+i.height-t,w(r,"bottom")));r=o;for(;i=r&&r.getBoundingClientRect(),i&&i.width<=4&&i.height<=4;)r=r.parentElement;return r}(l,s)||document.documentElement,xe(M,d)):M=document.documentElement),document.documentElement.insertBefore(e,B.getRootNode().host),o.style.setProperty("left",l-r+"px"),o.style.setProperty("top",s-i+"px"),o.style.setProperty("position","fixed"),b()}function b(){if(M==document.documentElement||M==document.documentElement)y();else{const e=M.getBoundingClientRect();P.classList.add(u),O&&P.classList.add(O.dataset.color),P.style.setProperty("top",e.y-3+"px"),P.style.setProperty("left",e.x-3+"px"),P.style.setProperty("width",e.width+3+"px"),P.style.setProperty("height",e.height+3+"px")}}function y(){P.classList.remove(u),O&&P.classList.remove(O.dataset.color)}function A(e){O&&(O.classList.remove(c),P.classList.remove(O.dataset.color)),e.classList.add(c),e.classList.add(e.dataset.color),O=e}function w(e,t){let n,o=e,r=[];do{const e=o.getBoundingClientRect();if(o.parentElement&&!o.parentElement.tagName.toLowerCase()!=i&&!o.classList.contains(p)){const i=o.parentElement.getBoundingClientRect();n=Math.abs(i[t]-e[t])<=4,n&&(o.parentElement.clientWidth>4&&o.parentElement.clientHeight>4&&(o.parentElement.clientWidth-o.clientWidth>4||o.parentElement.clientHeight-o.clientHeight>4)&&r.push(o.parentElement),o=o.parentElement)}else n=!1}while(n&&o);return r}function v(e,t,n,o){return Math[e](n/4)<=o.length&&(t=o[o.length-Math[e](n/4)-1]),t}l.readOnly=!t,t?h.style.removeProperty("display"):h.style.setProperty("display","none","important"),r.ontouchstart=r.onmousedown=t=>{if(t.target==r){J=setTimeout((()=>{o.classList.toggle("note-collapsed"),y()}),750),t.preventDefault();const n=ue(t),r=n.clientX,i=n.clientY,l=o.getBoundingClientRect(),d=r-l.left,s=i-l.top;B.classList.add(E),document.documentElement.style.setProperty("user-select","none","important"),M=ve(e),b(),A(o),f(t,d,s),H={event:t,deltaX:d,deltaY:s},document.documentElement.ontouchmove=document.documentElement.onmousemove=e=>{clearTimeout(J),H||(H={deltaX:d,deltaY:s}),H.event=e,f(e,d,s)}}},s.ontouchstart=s.onmousedown=e=>{e.preventDefault(),D=!0,A(o),B.classList.add(E),document.documentElement.style.setProperty("user-select","none","important"),document.documentElement.ontouchmove=document.documentElement.onmousemove=e=>{e.preventDefault();const{clientX:t,clientY:n}=ue(e),r=o.getBoundingClientRect();o.style.width=t-r.left+"px",o.style.height=n-r.top+"px"}},h.ontouchend=h.onclick=t=>{t.preventDefault(),o.classList.toggle(a),o.classList.contains(a)||(Se(e,d),xe(document.documentElement,d)),ge(!1)},g.ontouchend=g.onclick=t=>{t.preventDefault(),Se(e,d),e.remove()},o.onmousedown=()=>{A(o)}}function W(e){(X||V)&&K&&e.preventDefault()}function j(e){if(q&&(!function(){let e=0;document.querySelectorAll("."+f).forEach((t=>e=Math.max(e,t.dataset.singlefileHighlightId))),e++;const t=window.getSelection(),n=new Set;for(let e=0;e<t.rangeCount;e++){const n=t.getRangeAt(e);if(!n.collapsed)if(n.commonAncestorContainer.nodeType==n.commonAncestorContainer.TEXT_NODE){let e=n.startContainer.splitText(n.startOffset);e=e.splitText(n.endOffset),o(e.previousSibling)}else{const e=document.createTreeWalker(n.commonAncestorContainer,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT);let t;for(;e.nextNode();){if(t&&!e.currentNode.contains(n.endContainer)&&o(e.currentNode),e.currentNode==n.startContainer){if(n.startContainer.nodeType==n.startContainer.TEXT_NODE){const t=n.startContainer.splitText(n.startOffset);e.nextNode(),o(t)}else o(n.startContainer.childNodes[n.startOffset]);t=!0}if(e.currentNode==n.endContainer){if(n.endContainer.nodeType==n.endContainer.TEXT_NODE){const t=n.endContainer.splitText(n.endOffset);e.nextNode(),o(t.previousSibling)}else o(n.endContainer.childNodes[n.endOffset]);t=!1}}n.collapse()}}function o(e){e&&e.textContent.trim()&&(e.nodeType==e.TEXT_NODE&&1==e.parentElement.childNodes.length&&e.parentElement.classList.contains(f)?n.add(e.parentElement):n.add(e))}function r(t){t.nodeType==t.ELEMENT_NODE?(be(t),t.classList.add(f),t.classList.add(F),t.dataset.singlefileHighlightId=e):t.parentElement&&i(t)}function i(t){const n=document.createElement("span");return n.classList.add(f),n.classList.add(F),n.textContent=t.textContent,n.dataset.singlefileHighlightId=e,t.parentNode.replaceChild(n,t),n}n.forEach((e=>r(e)))}(),ge(!1)),I){let t,n=e.target;for(;n&&!t;)n.classList.contains(f)&&(document.querySelectorAll("."+f+"[data-singlefile-highlight-id="+JSON.stringify(n.dataset.singlefileHighlightId)+"]").forEach((e=>{be(e),ge(!1)})),t=!0),n=n.parentElement}if(D&&(D=!1,document.documentElement.style.removeProperty("user-select"),B.classList.remove(E),document.documentElement.ontouchmove=document.documentElement.onmousemove=null,ge(!1)),H&&(ce(H.event||e,O,H.deltaX,H.deltaY),H=null,document.documentElement.ontouchmove=document.documentElement.onmousemove=null,ge(!1)),J&&(clearTimeout(J),J=null),(X||V)&&K)if(e.ctrlKey){K[U].classList.toggle(X?v:x)}else se(e.shiftKey)}function ee(e){if(X||V){const t=e.target;if(t.classList){let n;document.querySelectorAll("."+(X?v:x)).forEach((e=>{(e==t||Ne(e,t)||Ne(t,e))&&(n=e)})),K=n?[n]:function(e){const t=[];for(;e;)t.push(e),e=e.parentElement;return t}(e.target),U=0,re()}}}function te(){(X||V)&&K&&(ie(),K=null)}function ne(e){if(X||V){if("Tab"==e.code){if(K){const t=e.shiftKey?-1:1;let n=K[U],o=K[U+t];if(o){let e=U+t;for(;o&&(1==t&&n.getBoundingClientRect().width>=o.getBoundingClientRect().width&&n.getBoundingClientRect().height>=o.getBoundingClientRect().height||-1==t&&n.getBoundingClientRect().width<=o.getBoundingClientRect().width&&n.getBoundingClientRect().height<=o.getBoundingClientRect().height);)e+=t,o=K[e];o&&o.classList&&o!=document.body&&o!=document.documentElement&&(ie(),U=e,re())}}e.preventDefault()}if("Space"==e.code&&K){if(e.ctrlKey){K[U].classList.add(X?v:x)}else se(e.shiftKey);e.preventDefault()}"Escape"==e.code&&(ae(),e.preventDefault()),"z"==e.key.toLowerCase()&&e.ctrlKey&&(e.shiftKey?de():le(),e.preventDefault())}"s"==e.key.toLowerCase()&&e.ctrlKey&&(window.parent.postMessage(JSON.stringify({method:"savePage"}),"*"),e.preventDefault()),"p"==e.key.toLowerCase()&&e.ctrlKey&&(oe(),e.preventDefault())}function oe(){ie(),ae(),window.print()}function re(){K[U].classList.add(X?A:w)}function ie(){if(K){const e=K[U];e.classList.remove(A),e.classList.remove(w)}}function le(){$&&(_[$-1].forEach((e=>e.classList.remove(b))),$--)}function de(){$<_.length&&(_[$].forEach((e=>e.classList.add(b))),$++)}function se(e){const t=K[U];if(X&&!e||V&&e){if(document.documentElement!=t&&t.tagName.toLowerCase()!=i){const e=[t].concat(...document.querySelectorAll("."+v+",."+v+" *,."+A+" *"));ae(),e.length&&(e.forEach((e=>{e.tagName.toLowerCase()==i?me(e):e.classList.add(b)})),_[$]=e,$++,_.length=$,ge(!1))}}else if(document.documentElement!=t&&t.tagName.toLowerCase()!=i){const e=[],n="*:not(style):not(meta):not(.single-file-removed)",o=[t].concat(...document.querySelectorAll("."+x));document.body.querySelectorAll(n).forEach((t=>{let n=!0;o.forEach((e=>n=n&&e!=t&&!Ne(e,t)&&!Ne(t,e))),n&&(t.tagName.toLowerCase()==i?me(t):e.push(t))})),o.forEach((t=>{const o=t.getBoundingClientRect();t.querySelectorAll(n).forEach((t=>{const n=t.getBoundingClientRect();n.width&&n.height&&(n.left+n.width<o.left||n.right>o.right+o.width||n.top+n.height<o.top||n.bottom>o.bottom+o.height)&&e.push(t)}))})),ae(),e.length&&(e.forEach((e=>e.classList.add(b))),_[$]=e,$++,_.length=$,ge(!1))}}function ae(e=document){e.querySelectorAll("."+x+",."+v).forEach((e=>{e.classList.remove(x),e.classList.remove(v)}))}function ce(e,n,o,r){e.preventDefault();const{clientX:i,clientY:l}=ue(e);document.documentElement.style.removeProperty("user-select"),n.classList.remove(m),P.classList.remove(u),B.classList.remove(E),P.classList.remove(n.dataset.color);n.querySelector("header").ontouchmove=document.documentElement.onmousemove=null;let d,s=M;for(;s.parentElement&&!d;){if(!t.includes(s.tagName.toLowerCase())){"static"!=getComputedStyle(s).position&&(d=s)}s=s.parentElement}d||(d=document.documentElement);const a=n.getRootNode().host;if(d==document.documentElement){const e=document.querySelector("."+p);e.parentElement.insertBefore(a,e)}else d.appendChild(a);const c=d.getBoundingClientRect(),h=window.getComputedStyle(d),g=parseInt(h.getPropertyValue("border-left-width")),f=parseInt(h.getPropertyValue("border-top-width"));n.style.setProperty("position","absolute"),n.style.setProperty("left",i-c.x-o-g+"px"),n.style.setProperty("top",l-c.y-r-f+"px")}function me(e){const t=e.dataset.noteId;e.shadowRoot.childNodes[1].classList.remove(a),Se(e,t),xe(document.documentElement,t),document.documentElement.insertBefore(e,B.getRootNode().host)}function ue(e){if(e.touches&&e.touches.length){return e.touches[0]}return e}function he(e){Q=pe(!1,[]);const t={},n=["single-file-highlight","single-file-highlight-yellow","single-file-highlight-green","single-file-highlight-pink","single-file-highlight-blue"];document.querySelectorAll(i).forEach((e=>{t[e.dataset.noteId]=e.shadowRoot;const o="singlefile-note-id-"+e.dataset.noteId;e.classList.add(o),n.push(o)}));const o=new Readability(document,{classesToPreserve:n}).parse();_=[],$=0,document.body.innerHTML="";const r=(new DOMParser).parseFromString(o.content,"text/html"),l=document.body.contentEditable;document.documentElement.replaceChild(r.body,document.body),document.querySelectorAll(i).forEach((e=>{const n=Array.from(e.classList).find((e=>/singlefile-note-id-\d+/.test(e))).split("singlefile-note-id-")[1];e.classList.remove("singlefile-note-id-"+n),e.dataset.noteId=n,e.shadowRoot||(e.attachShadow({mode:"open"}),e.shadowRoot.appendChild(t[n]))})),document.querySelectorAll(i).forEach((e=>e.shadowRoot=t[e.dataset.noteId])),document.body.contentEditable=l,document.head.querySelectorAll("style").forEach((e=>e.remove()));const s=document.createElement("style");s.textContent='\n\t/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this file,\n * You can obtain one at http://mozilla.org/MPL/2.0/. */\n\n/* Avoid adding ID selector rules in this style sheet, since they could\n * inadvertently match elements in the article content. */\n:root {\n --close-button-hover: #d94141;\n}\nbody {\n --toolbar-bgcolor: #fbfbfb;\n --toolbar-border: #b5b5b5;\n --toolbar-hover: #ebebeb;\n --popup-bgcolor: #fbfbfb;\n --popup-border: #b5b5b5;\n --font-color: #4c4c4c;\n --icon-fill: #808080;\n /* light colours */\n}\n\nbody.dark {\n --toolbar-bgcolor: #2a2a2d;\n --toolbar-border: #4B4A50;\n --toolbar-hover: #737373;\n --popup-bgcolor: #4b4a50;\n --popup-border: #65646a;\n --font-color: #fff;\n --icon-fill: #fff;\n /* dark colours */\n}\n\nbody {\n padding: 64px 51px;\n}\n\nbody.loaded {\n transition: color 0.4s, background-color 0.4s;\n}\n\nbody.light {\n color: #333333;\n background-color: #ffffff;\n}\n\nbody.dark {\n color: #eeeeee;\n background-color: #333333;\n}\n\nbody.dark *::-moz-selection {\n background-color: #FFFFFF;\n color: #0095DD;\n}\nbody.dark a::-moz-selection {\n color: #DD4800;\n}\n\nbody.sepia {\n color: #5b4636;\n background-color: #f4ecd8;\n}\n\nbody.sans-serif,\nbody.sans-serif .remove-button {\n font-family: Helvetica, Arial, sans-serif;\n}\n\nbody.serif,\nbody.serif .remove-button {\n font-family: Georgia, "Times New Roman", serif;\n}\n\n.container {\n --font-size: 12;\n max-width: 30em;\n margin: 0 auto;\n font-size: var(--font-size);\n}\n\n.container.content-width1 {\n max-width: 20em;\n}\n\n.container.content-width2 {\n max-width: 25em;\n}\n\n.container.content-width3 {\n max-width: 30em;\n}\n\n.container.content-width4 {\n max-width: 35em;\n}\n\n.container.content-width5 {\n max-width: 40em;\n}\n\n.container.content-width6 {\n max-width: 45em;\n}\n\n.container.content-width7 {\n max-width: 50em;\n}\n\n.container.content-width8 {\n max-width: 55em;\n}\n\n.container.content-width9 {\n max-width: 60em;\n}\n\n/* Override some controls and content styles based on color scheme */\n\nbody.light > .container > .header > .domain {\n border-bottom-color: #333333 !important;\n}\n\nbody.sepia > .container > .header > .domain {\n border-bottom-color: #5b4636 !important;\n}\n\nbody.dark > .container > .header > .domain {\n border-bottom-color: #eeeeee !important;\n}\n\nbody.sepia > .container > .footer {\n background-color: #dedad4 !important;\n}\n\nbody.light blockquote {\n border-inline-start: 2px solid #333333 !important;\n}\n\nbody.sepia blockquote {\n border-inline-start: 2px solid #5b4636 !important;\n}\n\nbody.dark blockquote {\n border-inline-start: 2px solid #eeeeee !important;\n}\n\n/* Add toolbar transition base on loaded class */\n\nbody.loaded .toolbar {\n transition: transform 0.3s ease-out;\n}\n\nbody:not(.loaded) .toolbar:-moz-locale-dir(ltr) {\n transform: translateX(-100%);\n}\n\nbody:not(.loaded) .toolbar:-moz-locale-dir(rtl) {\n transform: translateX(100%);\n}\n\n.light-button {\n color: #333333;\n background-color: #ffffff;\n}\n\n.dark-button {\n color: #eeeeee;\n background-color: #333333;\n}\n\n.sepia-button {\n color: #5b4636;\n background-color: #f4ecd8;\n}\n\n.sans-serif-button {\n font-family: Helvetica, Arial, sans-serif;\n}\n\n.serif-button {\n font-family: Georgia, "Times New Roman", serif;\n}\n\n/* Loading/error message */\n\n.reader-message {\n margin-top: 40px;\n display: none;\n text-align: center;\n width: 100%;\n font-size: 0.9em;\n}\n\n/* Header */\n\n.header {\n text-align: start;\n display: none;\n}\n\n.domain {\n font-size: 0.9em;\n line-height: 1.48em;\n padding-bottom: 4px;\n font-family: Helvetica, Arial, sans-serif;\n text-decoration: none;\n border-bottom: 1px solid;\n color: #0095dd;\n}\n\n.header > h1 {\n font-size: 1.6em;\n line-height: 1.25em;\n width: 100%;\n margin: 30px 0;\n padding: 0;\n}\n\n.header > .credits {\n font-size: 0.9em;\n line-height: 1.48em;\n margin: 0 0 10px 0;\n padding: 0;\n font-style: italic;\n}\n\n.header > .meta-data {\n font-size: 0.65em;\n margin: 0 0 15px 0;\n}\n\n/*======= Controls toolbar =======*/\n\n.toolbar {\n font-family: Helvetica, Arial, sans-serif;\n position: fixed;\n height: 100%;\n top: 0;\n left: 0;\n margin: 0;\n padding: 0;\n list-style: none;\n background-color: var(--toolbar-bgcolor);\n -moz-user-select: none;\n border-right: 1px solid var(--toolbar-border);\n z-index: 1;\n}\n\n.button {\n display: block;\n background-size: 24px 24px;\n background-repeat: no-repeat;\n color: #333;\n background-color: var(--toolbar-bgcolor);\n height: 40px;\n padding: 0;\n}\n\nbutton {\n -moz-context-properties: fill;\n color: var(--font-color);\n fill: var(--icon-fill);\n}\n\n.toolbar .button {\n width: 40px;\n background-position: center;\n margin-right: -1px;\n border-top: 0;\n border-left: 0;\n border-right: 1px solid var(--toolbar-border);\n border-bottom: 1px solid var(--toolbar-border);\n background-color: var(--toolbar-bgcolor);\n}\n\n.button[hidden] {\n display: none;\n}\n\n.dropdown {\n text-align: center;\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.dropdown li {\n margin: 0;\n padding: 0;\n}\n\n/*======= Popup =======*/\n\n.dropdown-popup {\n min-width: 300px;\n text-align: start;\n position: absolute;\n left: 48px; /* offset to account for toolbar width */\n z-index: 1000;\n background-color: var(--popup-bgcolor);\n visibility: hidden;\n border-radius: 4px;\n border: 1px solid var(--popup-border);\n border-bottom-width: 0;\n box-shadow: 0 1px 3px #c1c1c1;\n}\n\n.keep-open .dropdown-popup {\n z-index: initial;\n}\n\n.dropdown-popup > hr {\n display: none;\n}\n\n.open > .dropdown-popup {\n visibility: visible;\n}\n\n.dropdown-arrow {\n position: absolute;\n top: 30px; /* offset arrow from top of popup */\n left: -16px;\n width: 16px;\n height: 24px;\n background-image: url("chrome://global/skin/reader/RM-Type-Controls-Arrow.svg");\n display: block;\n -moz-context-properties: fill, stroke;\n fill: var(--popup-bgcolor);\n stroke: var(--popup-border);\n}\n\n\n/*======= Font style popup =======*/\n\n.font-type-buttons,\n.font-size-buttons,\n.color-scheme-buttons,\n.content-width-buttons,\n.line-height-buttons {\n display: flex;\n flex-direction: row;\n}\n\n.font-type-buttons > button:first-child {\n border-top-left-radius: 3px;\n}\n.font-type-buttons > button:last-child {\n border-top-right-radius: 3px;\n}\n.color-scheme-buttons > button:first-child {\n border-bottom-left-radius: 3px;\n}\n.color-scheme-buttons > button:last-child {\n border-bottom-right-radius: 3px;\n}\n\n.font-type-buttons > button,\n.font-size-buttons > button,\n.color-scheme-buttons > button,\n.content-width-buttons > button,\n.line-height-buttons > button {\n text-align: center;\n border: 0;\n}\n\n.font-type-buttons > button,\n.font-size-buttons > button,\n.content-width-buttons > button,\n.line-height-buttons > button {\n width: 50%;\n background-color: transparent;\n border-left: 1px solid var(--popup-border);\n border-bottom: 1px solid var(--popup-border);\n}\n\n.color-scheme-buttons > button {\n width: 33.33%;\n font-size: 14px;\n}\n\n.color-scheme-buttons > .dark-button {\n margin-top: -1px;\n height: 61px;\n}\n\n.font-type-buttons > button:first-child,\n.font-size-buttons > button:first-child,\n.content-width-buttons > button:first-child,\n.line-height-buttons > button:first-child {\n border-left: 0;\n}\n\n.font-type-buttons > button {\n display: inline-block;\n font-size: 62px;\n height: 100px;\n}\n\n.font-size-buttons > button,\n.color-scheme-buttons > button,\n.content-width-buttons > button,\n.line-height-buttons > button {\n height: 60px;\n}\n\n.font-type-buttons > button:active:hover,\n.font-type-buttons > button.selected,\n.color-scheme-buttons > button:active:hover,\n.color-scheme-buttons > button.selected {\n box-shadow: inset 0 -3px 0 0 #fc6420;\n}\n\n.font-type-buttons > button:active:hover,\n.font-type-buttons > button.selected {\n border-bottom: 1px solid #FC6420;\n}\n\n/* Make the serif button content the same size as the sans-serif button content. */\n.font-type-buttons > button > .description {\n font-size: 12px;\n margin-top: -5px;\n}\n\n/* Font sizes are different per-platform, so we need custom CSS to line them up. */\n.font-type-buttons > .sans-serif-button > .name {\n margin-top: 2px;\n}\n\n.font-type-buttons > .sans-serif-button > .description {\n margin-top: -4px;\n}\n\n.font-type-buttons > .serif-button > .name {\n font-size: 63px;\n}\n\n.button:hover,\n.font-size-buttons > button:hover,\n.font-type-buttons > button:hover,\n.content-width-buttons > button:hover,\n.line-height-buttons > button:hover {\n background-color: var(--toolbar-hover);\n}\n\n.dropdown.open,\n.button:active,\n.font-size-buttons > button:active,\n.font-size-buttons > button.selected,\n.content-width-buttons > button:active,\n.content-width-buttons > button.selected,\n.line-height-buttons > button:active,\n.line-height-buttons > button.selected {\n background-color: #dadada;\n}\n\n/* Only used on Android */\n.font-size-sample {\n display: none;\n}\n\n.minus-button,\n.plus-button,\n.content-width-minus-button,\n.content-width-plus-button,\n.line-height-minus-button,\n.line-height-plus-button {\n background-color: transparent;\n border: 0;\n background-size: 18px 18px;\n background-repeat: no-repeat;\n background-position: center;\n}\n\n/*======= Toolbar icons =======*/\n\n.close-button {\n background-image: url("chrome://global/skin/reader/RM-Close-24x24.svg");\n height: 68px;\n background-position: center 8px;\n}\n\n.close-button:hover {\n fill: #fff;\n background-color: var(--close-button-hover);\n border-bottom: 1px solid var(--close-button-hover);\n border-right: 1px solid var(--close-button-hover);\n}\n\n.close-button:hover:active {\n background-color: #AE2325;\n border-bottom: 1px solid #AE2325;\n border-right: 1px solid #AE2325;\n}\n\n.style-button {\n background-image: url("chrome://global/skin/reader/RM-Type-Controls-24x24.svg");\n}\n\n.minus-button {\n background-image: url("chrome://global/skin/reader/RM-Minus-24x24.svg");\n}\n\n.plus-button {\n background-image: url("chrome://global/skin/reader/RM-Plus-24x24.svg");\n}\n\n.content-width-minus-button {\n background-size: 42px 16px;\n background-image: url("chrome://global/skin/reader/RM-Content-Width-Minus-42x16.svg");\n}\n\n.content-width-plus-button {\n background-size: 44px 16px;\n background-image: url("chrome://global/skin/reader/RM-Content-Width-Plus-44x16.svg");\n}\n\n.line-height-minus-button {\n background-size: 34px 14px;\n background-image: url("chrome://global/skin/reader/RM-Line-Height-Minus-38x14.svg");\n}\n\n.line-height-plus-button {\n background-size: 34px 24px;\n background-image: url("chrome://global/skin/reader/RM-Line-Height-Plus-38x24.svg");\n}\n\n@media print {\n .toolbar {\n display: none !important;\n }\n}\n\n/*======= Article content =======*/\n\n/* Note that any class names from the original article that we want to match on\n * must be added to CLASSES_TO_PRESERVE in ReaderMode.jsm, so that\n * Readability.js doesn\'t strip them out */\n\n.moz-reader-content {\n display: none;\n font-size: 1em;\n line-height: 1.6em;\n}\n\n.moz-reader-content.line-height1 {\n line-height: 1em;\n}\n\n.moz-reader-content.line-height2 {\n line-height: 1.2em;\n}\n\n.moz-reader-content.line-height3 {\n line-height: 1.4em;\n}\n\n.moz-reader-content.line-height4 {\n line-height: 1.6em;\n}\n\n.moz-reader-content.line-height5 {\n line-height: 1.8em;\n}\n\n.moz-reader-content.line-height6 {\n line-height: 2.0em;\n}\n\n.moz-reader-content.line-height7 {\n line-height: 2.2em;\n}\n\n.moz-reader-content.line-height8 {\n line-height: 2.4em;\n}\n\n.moz-reader-content.line-height9 {\n line-height: 2.6em;\n}\n\n@media print {\n .moz-reader-content p,\n .moz-reader-content code,\n .moz-reader-content pre,\n .moz-reader-content blockquote,\n .moz-reader-content ul,\n .moz-reader-content ol,\n .moz-reader-content li,\n .moz-reader-content figure,\n .moz-reader-content .wp-caption {\n margin: 0 0 10px 0 !important;\n padding: 0 !important;\n }\n}\n\n.moz-reader-content h1,\n.moz-reader-content h2,\n.moz-reader-content h3 {\n font-weight: bold;\n}\n\n.moz-reader-content h1 {\n font-size: 1.6em;\n line-height: 1.25em;\n}\n\n.moz-reader-content h2 {\n font-size: 1.2em;\n line-height: 1.51em;\n}\n\n.moz-reader-content h3 {\n font-size: 1em;\n line-height: 1.66em;\n}\n\n.moz-reader-content a:link {\n text-decoration: underline;\n font-weight: normal;\n}\n\n.moz-reader-content a:link,\n.moz-reader-content a:link:hover,\n.moz-reader-content a:link:active {\n color: #0095dd;\n}\n\n.moz-reader-content a:visited {\n color: #c2e;\n}\n\n.moz-reader-content * {\n max-width: 100%;\n height: auto;\n}\n\n.moz-reader-content p,\n.moz-reader-content p,\n.moz-reader-content code,\n.moz-reader-content pre,\n.moz-reader-content blockquote,\n.moz-reader-content ul,\n.moz-reader-content ol,\n.moz-reader-content li,\n.moz-reader-content figure,\n.moz-reader-content .wp-caption {\n margin: -10px -10px 20px -10px;\n padding: 10px;\n border-radius: 5px;\n}\n\n.moz-reader-content li {\n margin-bottom: 0;\n}\n\n.moz-reader-content li > ul,\n.moz-reader-content li > ol {\n margin-bottom: -10px;\n}\n\n.moz-reader-content p > img:only-child,\n.moz-reader-content p > a:only-child > img:only-child,\n.moz-reader-content .wp-caption img,\n.moz-reader-content figure img {\n display: block;\n}\n\n.moz-reader-content img[moz-reader-center] {\n margin-left: auto;\n margin-right: auto;\n}\n\n.moz-reader-content .caption,\n.moz-reader-content .wp-caption-text\n.moz-reader-content figcaption {\n font-size: 0.9em;\n line-height: 1.48em;\n font-style: italic;\n}\n\n.moz-reader-content code,\n.moz-reader-content pre {\n white-space: pre-wrap;\n}\n\n.moz-reader-content blockquote {\n padding: 0;\n padding-inline-start: 16px;\n}\n\n.moz-reader-content ul,\n.moz-reader-content ol {\n padding: 0;\n}\n\n.moz-reader-content ul {\n padding-inline-start: 30px;\n list-style: disc;\n}\n\n.moz-reader-content ol {\n padding-inline-start: 30px;\n list-style: decimal;\n}\n\ntable,\nth,\ntd {\n border: 1px solid currentColor;\n border-collapse: collapse;\n padding: 6px;\n vertical-align: top;\n}\n\ntable {\n margin: 5px;\n}\n\n/* Visually hide (but don\'t display: none) screen reader elements */\n.moz-reader-content .visually-hidden,\n.moz-reader-content .visuallyhidden,\n.moz-reader-content .sr-only {\n display: inline-block;\n width: 1px;\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n border-width: 0;\n}\n\n/* Hide elements with common "hidden" class names */\n.moz-reader-content .hidden,\n.moz-reader-content .invisible {\n display: none;\n}\n\n/* Enforce wordpress and similar emoji/smileys aren\'t sized to be full-width,\n * see bug 1399616 for context. */\n.moz-reader-content img.wp-smiley,\n.moz-reader-content img.emoji {\n display: inline-block;\n border-width: 0;\n /* height: auto is implied from .moz-reader-content * rule. */\n width: 1em;\n margin: 0 .07em;\n padding: 0;\n}\n\n.reader-show-element {\n display: initial;\n}',document.head.appendChild(s),document.body.classList.add("moz-reader-content"),document.body.classList.add("content-width6"),document.body.classList.add("reader-show-element"),document.body.classList.add("sans-serif"),document.body.classList.add("container"),document.body.classList.add("line-height4");const a=matchMedia("(prefers-color-scheme: dark)");e&&a&&a.matches&&document.body.classList.add("dark"),document.body.style.setProperty("display","block"),document.body.style.setProperty("padding","24px");const c=document.createElement("h1");c.classList.add("reader-title"),c.textContent=o.title,document.body.insertBefore(c,document.body.firstChild),document.documentElement.appendChild(we(T)),B=Ae(h,g),P=Ae(d),fe(),ge(!1)}function pe(n,o){ie(),ye(document);const r=document.cloneNode(!0);ae(r),Ee(r),Ee(document),r.querySelectorAll("[data-single-file-disabled-noscript]").forEach((e=>{e.textContent=e.getAttribute(L),e.removeAttribute(L)})),r.querySelectorAll(".single-file-mask, .single-file-removed").forEach((e=>e.remove())),r.querySelectorAll("."+f).forEach((e=>e.classList.remove(y))),r.querySelectorAll("template[shadowmode]").forEach((e=>{const t=e.querySelector(".note");t&&t.classList.remove(s);const n=e.querySelector("textarea");n&&(n.textContent=n.value)})),r.querySelectorAll("iframe").forEach((e=>{const t="pointer-events";e.style.setProperty(t,e.style.getPropertyValue("-sf-pointer-events"),e.style.getPropertyPriority("-sf-pointer-events")),e.style.removeProperty("-sf-pointer-events")})),r.body.removeAttribute("contentEditable");const A=r.createElement("script");A.setAttribute("data-template-shadow-root",""),A.textContent=ze(`(() => {\n\t\t\tdocument.currentScript.remove();\n\t\t\tconst processNode = node => {\n\t\t\t\tnode.querySelectorAll("template[shadowmode]").forEach(element=>{\n\t\t\t\t\tlet shadowRoot = getShadowRoot(element.parentElement);\n\t\t\t\t\tif (!shadowRoot) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tshadowRoot = element.parentElement.attachShadow({mode:element.getAttribute("shadowmode"),delegatesFocus:Boolean(element.getAttribute("delegatesfocus"))});\n\t\t\t\t\t\t\tshadowRoot.innerHTML = element.innerHTML;\n\t\t\t\t\t\t\telement.remove();\n\t\t\t\t\t\t} catch (error) {}\t\t\t\t\t\t\n\t\t\t\t\t\tif (shadowRoot) {\n\t\t\t\t\t\t\tprocessNode(shadowRoot);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\t\t\t\t\t\n\t\t\t\t})\n\t\t\t};\n\t\t\tconst FORBIDDEN_TAG_NAMES = ${JSON.stringify(t)};\n\t\t\tconst NOTE_TAGNAME = ${JSON.stringify(i)};\n\t\t\tconst NOTE_CLASS = ${JSON.stringify(l)};\n\t\t\tconst NOTE_ANCHORED_CLASS = ${JSON.stringify(a)};\n\t\t\tconst NOTE_SELECTED_CLASS = ${JSON.stringify(c)};\n\t\t\tconst NOTE_MOVING_CLASS = ${JSON.stringify(m)};\n\t\t\tconst NOTE_MASK_MOVING_CLASS = ${JSON.stringify(u)};\n\t\t\tconst MASK_CLASS = ${JSON.stringify(p)};\n\t\t\tconst HIGHLIGHT_CLASS = ${JSON.stringify(f)};\n\t\t\tconst NOTES_WEB_STYLESHEET = ${JSON.stringify(k)};\n\t\t\tconst MASK_WEB_STYLESHEET = ${JSON.stringify(R)};\n\t\t\tconst NOTE_HEADER_HEIGHT = ${JSON.stringify(25)};\n\t\t\tconst PAGE_MASK_ACTIVE_CLASS = ${JSON.stringify(E)};\n\t\t\tconst REMOVED_CONTENT_CLASS = ${JSON.stringify(b)};\n\t\t\tconst reflowNotes = ${ze(fe.toString())};\t\t\t\n\t\t\tconst addNoteRef = ${ze(xe.toString())};\n\t\t\tconst deleteNoteRef = ${ze(Se.toString())};\n\t\t\tconst getNoteRefs = ${ze(Ce.toString())};\n\t\t\tconst setNoteRefs = ${ze(Le.toString())};\n\t\t\tconst getAnchorElement = ${ze(ve.toString())};\n\t\t\tconst getMaskElement = ${ze(Ae.toString())};\n\t\t\tconst getStyleElement = ${ze(we.toString())};\n\t\t\tconst attachNoteListeners = ${ze(Z.toString())};\n\t\t\tconst anchorNote = ${ze(ce.toString())};\n\t\t\tconst getPosition = ${ze(ue.toString())};\n\t\t\tconst onMouseUp = ${ze(j.toString())};\n\t\t\tconst getShadowRoot = ${ze(ke.toString())};\n\t\t\tconst maskNoteElement = getMaskElement(${JSON.stringify(d)});\n\t\t\tconst maskPageElement = getMaskElement(${JSON.stringify(h)}, ${JSON.stringify(g)});\n\t\t\tlet selectedNote, highlightSelectionMode, removeHighlightMode, resizingNoteMode, movingNoteMode, collapseNoteTimeout, cuttingMode, cuttingOuterMode;\n\t\t\twindow.onresize = reflowNotes;\n\t\t\twindow.onUpdate = () => {};\n\t\t\tdocument.documentElement.onmouseup = document.documentElement.ontouchend = onMouseUp;\n\t\t\twindow.addEventListener("DOMContentLoaded", () => {\n\t\t\t\tprocessNode(document);\n\t\t\t\treflowNotes();\n\t\t\t\tdocument.querySelectorAll(${JSON.stringify(i)}).forEach(noteElement => attachNoteListeners(noteElement));\n\t\t\t});\n\t\t})()`),r.body.appendChild(A);return Object.keys(o).filter((e=>"stylesheet"==o[e].type)).map((e=>o[e])).forEach((e=>{const t=r.createElement("style");r.body.appendChild(t),t.textContent=e.content})),e.helper.serialize(r,n)}function ge(e){window.parent.postMessage(JSON.stringify({method:"onUpdate",saved:e}),"*")}function fe(){document.querySelectorAll(i).forEach((e=>{const t=e.shadowRoot.querySelector(".note"),n=t.getBoundingClientRect(),o=ve(e).getBoundingClientRect(),r=o.x+Math.max(0,o.width-n.width),i=o.x,l=o.y+Math.max(0,o.height-25),d=o.y;let s=parseInt(t.style.getPropertyValue("left")),a=parseInt(t.style.getPropertyValue("top"));n.x>r&&(s-=n.x-r),n.x<i&&(s+=i-n.x),n.y>l&&(a-=n.y-l),n.y<d&&(a+=d-n.y),t.style.setProperty("position","absolute"),t.style.setProperty("left",s+"px"),t.style.setProperty("top",a+"px")}))}function be(e){e.classList.remove(f),e.classList.remove("single-file-highlight-yellow"),e.classList.remove("single-file-highlight-pink"),e.classList.remove("single-file-highlight-blue"),e.classList.remove("single-file-highlight-green"),delete e.dataset.singlefileHighlightId}function ye(e){e.querySelectorAll("*").forEach((e=>{const t=ke(e);if(t){ye(t);const n=document.createElement("template");n.setAttribute(r,"open"),n.appendChild(t),e.appendChild(n)}}))}function Ee(e){e.querySelectorAll("template[shadowmode]").forEach((e=>{if(e.parentElement){let t=ke(e.parentElement);if(t)Array.from(e.childNodes).forEach((e=>t.appendChild(e))),e.remove();else try{t=e.parentElement.attachShadow({mode:"open"});const n=(new DOMParser).parseFromString(e.innerHTML,"text/html");Array.from(n.head.childNodes).forEach((e=>t.appendChild(e))),Array.from(n.body.childNodes).forEach((e=>t.appendChild(e)))}catch(e){}t&&Ee(t)}}))}function Ae(e,t){let n=document.documentElement.querySelector("."+e);if(!n){n=document.createElement("div");const o=document.createElement("div");t&&o.classList.add(t),o.classList.add(p);const r=document.querySelector(i);r&&r.parentElement==document.documentElement?document.documentElement.insertBefore(o,r):document.documentElement.appendChild(o),n.classList.add(e);const l=o.attachShadow({mode:"open"});return l.appendChild(we(R)),l.appendChild(n),n}}function we(e){const t=document.createElement("style");return t.textContent=e,t}function ve(e){return document.querySelector("[data-single-file-note-refs^="+JSON.stringify(e.dataset.noteId)+"], [data-single-file-note-refs$="+JSON.stringify(e.dataset.noteId)+"], [data-single-file-note-refs*="+JSON.stringify(","+e.dataset.noteId+",")+"]")||document.documentElement}function xe(e,t){const n=Ce(e);n.push(t),Le(e,n)}function Se(e,t){const n=ve(e),o=Ce(n).filter((e=>e!=t));o.length?Le(n,o):delete n.dataset.singleFileNoteRefs}function Ce(e){return JSON.parse("["+(e.dataset.singleFileNoteRefs||"")+"]")}function Le(e,t){e.dataset.singleFileNoteRefs=t.toString()}function ze(e){return e.replace(/[\n\t\s]+/g," ")}function Ne(e,t){return t.parentElement&&(e==t.parentElement||Ne(e,t.parentElement))}function ke(e){const t=window.chrome;if(e.openOrClosedShadowRoot)return e.openOrClosedShadowRoot;if(!(t&&t.dom&&t.dom.openOrClosedShadowRoot))return e.shadowRoot;try{return t.dom.openOrClosedShadowRoot(e)}catch(t){return e.shadowRoot}}window.onmessage=async e=>{const t=JSON.parse(e.data);if("init"==t.method&&await Y(t.content),"addNote"==t.method&&function({color:e}){const t=document.createElement(i),r=document.createElement("div"),d=document.createElement("header"),s=document.createElement("textarea"),m=document.createElement("div"),u=document.createElement("img"),h=document.createElement("img"),p=t.attachShadow({mode:"open"});d.appendChild(h),d.appendChild(u),r.appendChild(d),r.appendChild(s),r.appendChild(m),p.appendChild(we(k)),p.appendChild(r);const g=Array.from(document.querySelectorAll(i)),f=Math.max.call(Math,0,...g.map((e=>Number(e.dataset.noteId))))+1;r.classList.add(l),r.classList.add(a),r.classList.add(e),r.dataset.color=e,s.dir="auto";const b=document.documentElement.getBoundingClientRect();let y=169-b.x,E=169-b.y;for(;Array.from(document.elementsFromPoint(y-window.scrollX,E-window.scrollY)).find((e=>e.tagName.toLowerCase()==i));)y+=20,E+=20;r.style.setProperty("left",y-S-1+"px"),r.style.setProperty("top",E-C-1+"px"),m.className="note-resize",m.ondragstart=e=>e.preventDefault(),u.className="note-remove",u.src=o,u.ondragstart=e=>e.preventDefault(),h.className="note-anchor",h.src=n,h.ondragstart=e=>e.preventDefault(),t.dataset.noteId=f,xe(document.documentElement,f),Z(t,!0),document.documentElement.insertBefore(t,B.getRootNode().host),r.classList.add(c),O=r,ge(!1)}(t),"displayNotes"==t.method&&document.querySelectorAll(i).forEach((e=>e.shadowRoot.querySelector(".note").classList.remove(s))),"hideNotes"==t.method&&document.querySelectorAll(i).forEach((e=>e.shadowRoot.querySelector(".note").classList.add(s))),"enableHighlight"==t.method&&(F&&document.documentElement.classList.remove(F+"-mode"),F=t.color,q=!0,document.documentElement.classList.add(t.color+"-mode")),"disableHighlight"==t.method&&(F&&document.documentElement.classList.remove(F+"-mode"),q=!1),"displayHighlights"==t.method&&document.querySelectorAll("."+f).forEach((e=>e.classList.remove(y))),"hideHighlights"==t.method&&document.querySelectorAll("."+f).forEach((e=>e.classList.add(y))),"enableRemoveHighlights"==t.method&&(I=!0,document.documentElement.classList.add("single-file-remove-highlights-mode")),"disableRemoveHighlights"==t.method&&(I=!1,document.documentElement.classList.remove("single-file-remove-highlights-mode")),"enableEditPage"==t.method&&(document.body.contentEditable=!0,ge(!1)),"formatPage"==t.method&&he(!0),"formatPageNoTheme"==t.method&&he(!1),"cancelFormatPage"==t.method&&async function(){if(Q){const e=document.body.contentEditable;await Y(Q,{reset:!0}),document.body.contentEditable=e,ge(!1),Q=null}}(),"disableEditPage"==t.method&&(document.body.contentEditable=!1),"enableCutInnerPage"==t.method&&(X=!0,document.documentElement.classList.add("single-file-cut-mode")),"enableCutOuterPage"==t.method&&(V=!0,document.documentElement.classList.add("single-file-cut-mode")),"disableCutInnerPage"==t.method&&(X=!1,document.documentElement.classList.remove("single-file-cut-mode"),ae(),K&&(ie(),K=null)),"disableCutOuterPage"==t.method&&(V=!1,document.documentElement.classList.remove("single-file-cut-mode"),ae(),K&&(ie(),K=null)),"undoCutPage"==t.method&&le(),"undoAllCutPage"==t.method)for(;$;)_[$-1].forEach((e=>e.classList.remove(b))),$--;if("redoCutPage"==t.method&&de(),"getContent"==t.method){ge(!0);let e=pe(t.compressHTML,t.updatedResources);G&&(e=e.replace(/<script data-template-shadow-root src.*?<\/script>/g,G)),window.parent.postMessage(JSON.stringify({method:"setContent",content:e}),"*")}"printPage"==t.method&&oe()},window.onresize=fe,document.ondragover=e=>e.preventDefault(),document.ondrop=async e=>{if(e.dataTransfer.files&&e.dataTransfer.files[0]){const t=e.dataTransfer.files[0];e.preventDefault();const n=(new TextDecoder).decode(await t.arrayBuffer());await Y(n,{filename:t.name})}}})()}();
|