@innovastudio/contentbuilder 1.0.33 → 1.0.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1913 -0
- package/license.txt +80 -0
- package/package.json +40 -19
- package/public/contentbuilder/config.js +8 -0
- package/public/contentbuilder/contentbuilder.css +4282 -0
- package/public/contentbuilder/contentbuilder.esm.js +59500 -0
- package/public/contentbuilder/contentbuilder.min.js +122 -0
- package/public/contentbuilder/lang/en.js +299 -0
- package/public/contentbuilder/lang/fr.js +299 -0
- package/public/contentbuilder/plugins/buttoneditor/images/a.jpg +0 -0
- package/public/contentbuilder/plugins/buttoneditor/images/b.jpg +0 -0
- package/public/contentbuilder/plugins/buttoneditor/images/c.jpg +0 -0
- package/public/contentbuilder/plugins/buttoneditor/images/d.jpg +0 -0
- package/public/contentbuilder/plugins/buttoneditor/images/e.jpg +0 -0
- package/public/contentbuilder/plugins/buttoneditor/images/f.jpg +0 -0
- package/public/contentbuilder/plugins/buttoneditor/images/g.jpg +0 -0
- package/public/contentbuilder/plugins/buttoneditor/images/h.jpg +0 -0
- package/public/contentbuilder/plugins/buttoneditor/plugin.js +1566 -0
- package/public/contentbuilder/plugins/buttoneditor/readme.txt +7 -0
- package/public/contentbuilder/plugins/helloworld/plugin.js +15 -0
- package/public/contentbuilder/plugins/helloworld/readme.txt +23 -0
- package/public/contentbuilder/plugins/preview/plugin.js +301 -0
- package/public/contentbuilder/plugins/preview/readme.txt +23 -0
- package/public/contentbuilder/plugins/searchreplace/plugin.js +458 -0
- package/public/contentbuilder/plugins/searchreplace/readme.txt +23 -0
- package/public/contentbuilder/plugins/searchreplace/searchreplace.html +264 -0
- package/public/contentbuilder/plugins/showgrid/plugin.js +73 -0
- package/public/contentbuilder/plugins/showgrid/readme.txt +23 -0
- package/public/contentbuilder/plugins/symbols/plugin.js +2876 -0
- package/public/contentbuilder/plugins/symbols/readme.txt +23 -0
- package/public/contentbuilder/plugins/wordcount/plugin.js +75 -0
- package/public/contentbuilder/plugins/wordcount/readme.txt +23 -0
- package/public/contentbuilder/themes/colored-blue.css +1125 -0
- package/public/contentbuilder/themes/colored-blue2.css +1125 -0
- package/public/contentbuilder/themes/colored-blue3.css +1125 -0
- package/public/contentbuilder/themes/colored-blue4.css +1125 -0
- package/public/contentbuilder/themes/colored-blue5.css +1125 -0
- package/public/contentbuilder/themes/colored-blue6.css +1125 -0
- package/public/contentbuilder/themes/colored-blue7.css +1125 -0
- package/public/contentbuilder/themes/colored-blue8.css +1125 -0
- package/public/contentbuilder/themes/colored-dark.css +1125 -0
- package/public/contentbuilder/themes/colored-darkblue.css +1125 -0
- package/public/contentbuilder/themes/colored-gray.css +1125 -0
- package/public/contentbuilder/themes/colored-green.css +1125 -0
- package/public/contentbuilder/themes/colored-green2.css +1125 -0
- package/public/contentbuilder/themes/colored-green3.css +1125 -0
- package/public/contentbuilder/themes/colored-green4.css +1125 -0
- package/public/contentbuilder/themes/colored-green5.css +1125 -0
- package/public/contentbuilder/themes/colored-magenta.css +1125 -0
- package/public/contentbuilder/themes/colored-orange.css +1125 -0
- package/public/contentbuilder/themes/colored-orange2.css +1125 -0
- package/public/contentbuilder/themes/colored-orange3.css +1125 -0
- package/public/contentbuilder/themes/colored-pink.css +1125 -0
- package/public/contentbuilder/themes/colored-pink2.css +1125 -0
- package/public/contentbuilder/themes/colored-pink3.css +1125 -0
- package/public/contentbuilder/themes/colored-pink4.css +1125 -0
- package/public/contentbuilder/themes/colored-purple.css +1125 -0
- package/public/contentbuilder/themes/colored-purple2.css +1125 -0
- package/public/contentbuilder/themes/colored-red.css +1125 -0
- package/public/contentbuilder/themes/colored-red2.css +1125 -0
- package/public/contentbuilder/themes/colored-red3.css +1125 -0
- package/public/contentbuilder/themes/colored-red4.css +1125 -0
- package/public/contentbuilder/themes/colored-red5.css +1125 -0
- package/public/contentbuilder/themes/colored-yellow.css +1125 -0
- package/public/contentbuilder/themes/colored-yellow2.css +1125 -0
- package/public/contentbuilder/themes/dark-blue.css +1125 -0
- package/public/contentbuilder/themes/dark-blue2.css +1125 -0
- package/public/contentbuilder/themes/dark-blue3.css +1125 -0
- package/public/contentbuilder/themes/dark-gray.css +1125 -0
- package/public/contentbuilder/themes/dark-pink.css +1125 -0
- package/public/contentbuilder/themes/dark-purple.css +1125 -0
- package/public/contentbuilder/themes/dark-red.css +1125 -0
- package/public/contentbuilder/themes/dark.css +1124 -0
- package/public/contentbuilder/themes/light-blue.css +1125 -0
- package/public/contentbuilder/themes/light-blue2.css +1125 -0
- package/public/contentbuilder/themes/light-blue3.css +1125 -0
- package/public/contentbuilder/themes/light-cyan.css +1125 -0
- package/public/contentbuilder/themes/light-gray.css +1125 -0
- package/public/contentbuilder/themes/light-gray2.css +1125 -0
- package/public/contentbuilder/themes/light-green.css +1125 -0
- package/public/contentbuilder/themes/light-pink.css +1125 -0
- package/public/contentbuilder/themes/light-pink2.css +1125 -0
- package/public/contentbuilder/themes/light-purple.css +1125 -0
- package/public/contentbuilder/themes/light-purple2.css +1125 -0
- package/public/contentbuilder/themes/light-red.css +1125 -0
- package/public/contentbuilder/themes/light-yellow.css +1125 -0
- package/public/contentbuilder/themes/light-yellow2.css +1125 -0
- package/readme.txt +23 -0
- package/.eslintrc.json +0 -28
- package/lib/contentbuilder.js +0 -46711
- package/rollup.config.js +0 -23
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
var ContentBuilder=function(){"use strict";class t{constructor(t){this.builder=t,this.dom=new e}cellSelected(){return document.querySelector(".cell-active")}builderStuff(){return document.querySelector("#_cbhtml")}cellNext(t){const e=this.dom;let i=t.nextElementSibling;return i?e.hasClass(i,"is-row-tool")||e.hasClass(i,"is-rowadd-tool")||e.hasClass(i,"is-row-overlay")?null:i:null}out(t){if(this.builder){let e=this.builder.opts.lang[t];return e||(this.builder.checkLang&&console.log(t),t)}return t}confirm(t,e){const i=this.dom;let n=`<div class="is-modal is-confirm">\n <div class="is-modal-content" style="padding-bottom:20px;">\n <p>${t}</p>\n <button title="${this.out("Delete")}" class="input-ok classic">${this.out("Delete")}</button>\n </div>\n </div>`;const o=this.builder.builderStuff;let r=o.querySelector(".is-confirm");r||(i.appendHtml(o,n),r=o.querySelector(".is-confirm")),this.showModal(r,!1,(()=>{r.parentNode.removeChild(r),e(!1)}),!0);let s=r.querySelector(".is-confirm .input-ok");i.addEventListener(s,"click",(()=>{this.hideModal(r),r.parentNode.removeChild(r),e(!0)}))}showModal(t,e,i,n){const o=this.dom;o.addClass(t,"active");let r=!1;if(this.builder?this.builder.opts.animateModal&&(r=!0,n||(r=!1)):n&&(r=!0),r&&this.builder){const t=document.querySelectorAll(this.builder.opts.container);Array.prototype.forEach.call(t,(t=>{t.style.transform=`scale(${this.builder.opts.zoom-.02})`,t.style.WebkitTransform=`scale(${this.builder.opts.zoom-.02})`,t.style.MozTransform=`scale(${this.builder.opts.zoom-.02})`,t.setAttribute("scaled-down","1")}))}if(!t.querySelector(".is-modal-overlay")){let n;if(n=e?'<div class="is-modal-overlay overlay-stay"></div>':'<div class="is-modal-overlay"></div>',t.insertAdjacentHTML("afterbegin",n),!e){let e=t.querySelector(".is-modal-overlay");o.addEventListener(e,"click",(()=>{i&&i(),this.hideModal(t)}))}}}hideModal(t){if(this.builder){const t=document.querySelectorAll(this.builder.opts.container);Array.prototype.forEach.call(t,(t=>{t.getAttribute("scaled-down")&&(t.style.transform=`scale(${this.builder.opts.zoom})`,t.style.WebkitTransform=`scale(${this.builder.opts.zoom})`,t.style.MozTransform=`scale(${this.builder.opts.zoom})`,t.removeAttribute("scaled-down"))}))}this.dom.removeClass(t,"active")}fixLayout(t){const e=this.dom;let i=2;t.querySelector(".is-row-overlay")&&(i=3);const n=t.childElementCount-i,o=this.builder.opts.row,r=this.builder.opts.cols,s=this.builder.opts.colequal;if(s.length>0){e.elementChildren(t).forEach((t=>{if(!(e.hasClass(t,"is-row-tool")||e.hasClass(t,"is-rowadd-tool")||e.hasClass(t,"is-row-overlay"))){for(let i=0;i<=r.length-1;i++)e.removeClass(t,r[i]);for(let i=0;i<=s.length-1;i++)if(s[i].length===n){e.addClass(t,s[i][0]);break}1===n&&e.addClass(t,r[r.length-1])}}))}else if(""!==o&&r.length>0){let i=0;e.elementChildren(t).forEach((t=>{if(!(e.hasClass(t,"is-row-tool")||e.hasClass(t,"is-rowadd-tool")||e.hasClass(t,"is-row-overlay"))){i++;for(var o=0;o<=r.length-1;o++)e.removeClass(t,r[o]);1===n&&e.addClass(t,r[11]),2===n&&e.addClass(t,r[5]),3===n&&e.addClass(t,r[3]),4===n&&e.addClass(t,r[2]),5===n&&(5===i?e.addClass(t,r[3]):e.addClass(t,r[1])),6===n&&e.addClass(t,r[1]),7===n&&(i>=6?e.addClass(t,r[0]):e.addClass(t,r[1])),8===n&&(i>=5?e.addClass(t,r[0]):e.addClass(t,r[1])),9===n&&(i>=4?e.addClass(t,r[0]):e.addClass(t,r[1])),10===n&&(i>=3?e.addClass(t,r[0]):e.addClass(t,r[1])),11===n&&(i>=2?e.addClass(t,r[0]):e.addClass(t,r[1])),12===n&&e.addClass(t,r[0])}}))}}addContent(t,e,i){const n=this.dom;this.builder.opts.onAdd&&(t=this.builder.opts.onAdd(t));const o=this.cellSelected();let r;if(o)r=o.parentNode;else{if(r=document.querySelector(".row-active"),!r)return;e="row"}if("cell"===e||"cell-left"===e||"cell-right"===e){let s=4;this.builder.maxColumns&&(s=this.builder.maxColumns);let a,l=2;if(r.querySelector(".is-row-overlay")&&(l=3),r.childElementCount>=s+l)return alert(this.out("You have reached the maximum number of columns")),!1;if(this.builder.uo.saveForUndo(),""===this.builder.opts.row){let e=this.builder.opts.cellFormat,i=e.indexOf("</");t=e.substring(0,i)+t+e.substring(i),a=this.createElementFromHTML(t)}else{a=o.cloneNode(!0),a.removeAttribute("data-noedit"),a.removeAttribute("data-protected"),a.removeAttribute("data-module"),a.removeAttribute("data-module-desc"),a.removeAttribute("data-dialog-width"),a.removeAttribute("data-html"),a.removeAttribute("data-settings");for(let t=1;t<=20;t++)a.removeAttribute("data-html-"+t);a.removeAttribute("data-noedit"),n.removeClass(a,"cell-active"),a.removeAttribute("data-click"),i&&a.setAttribute(i,""),a.innerHTML=t}r.insertBefore(a,o),"cell"!==e&&"cell-right"!==e||n.moveAfter(a,o),this.builder.applyBehavior(),this.fixLayout(r),a.click()}if("row"===e){let e,o;if(this.builder.uo.saveForUndo(),""===this.builder.opts.row){e=this.htmlToElement(this.builder.opts.rowFormat);let r=this.builder.opts.cellFormat,s=r.indexOf("</");t=r.substring(0,s)+t+r.substring(s);let a=n.elementChildren(e);for(;a.length>0&&(a=a[0],n.elementChildren(a).length>0);)a=n.elementChildren(a);a.innerHTML=t,o=a.firstChild,i&&o.setAttribute(i,"")}else o=n.createElement("div"),n.addClass(o,this.builder.opts.cols[this.builder.opts.cols.length-1]),o.innerHTML=t,i&&o.setAttribute(i,""),e=n.createElement("div"),n.addClass(e,this.builder.opts.row),n.appendChild(e,o);r.parentNode.insertBefore(e,r),n.moveAfter(e,r),this.builder.applyBehavior(),o.click()}if("elm"===e){let e=this.builder.activeElement;if(!e)return;this.builder.uo.saveForUndo();let i=e;i.insertAdjacentHTML("afterend",t),this.builder.applyBehavior();let n=i.nextElementSibling;var s;if("img"===n.tagName.toLowerCase())clearTimeout(s),s=setTimeout((()=>{n.complete&&n.click()}),200);else n.click()}this.builder.opts.onChange()}htmlToElement(t){var e=document.createElement("template");return t=t.trim(),e.innerHTML=t,e.content.firstChild}addSnippet(t,e,i){this.builder.uo.saveForUndo();const n=this.dom;let o,r,s,a,l=!1;const d=this.builder.builderStuff.querySelector(".quickadd").getAttribute("data-mode");if(!e||"cell"!==d&&"cell-left"!==d&&"cell-right"!==d){if(e&&"row"===d){let e;if(s=document.createElement("div"),s.className=this.builder.opts.cols[this.builder.opts.cols.length-1],s.innerHTML=t,i&&s.setAttribute("data-noedit",""),o=document.createElement("div"),o.className=this.builder.opts.row,o.appendChild(s),r=this.builder.cellSelected(),r?e=r.parentNode:(e=document.querySelector(".row-active"),e||(l=!0)),l){const t=document.querySelectorAll(".is-builder"),i=t[t.length-1],o=n.elementChildren(i);e=o[o.length-1]}e.parentNode.insertBefore(o,e),n.moveAfter(o,e),this.builder.applyBehavior(),s.click(),o.className=o.className.replace("row-outline",""),a=document.querySelector(".is-column-tool"),a.className=a.className.replace("active","")}else{if(e)return void(i?this.addContent(t,d,"data-noedit"):this.addContent(t,d));{var c=document.createElement("div");c.innerHTML=t;var u=c.querySelectorAll("[data-html]");if(Array.prototype.forEach.call(u,(e=>{t=(t=decodeURIComponent(e.getAttribute("data-html"))).replace(/{id}/g,this.makeId());for(var i=1;i<=20;i++)t=t.replace("[%HTML"+i+"%]",void 0===e.getAttribute("data-html-"+i)?"":decodeURIComponent(e.getAttribute("data-html-"+i)));e.innerHTML=t})),1===c.childNodes.length&&1===c.childNodes[0].childNodes.length&&("cell"===d||"cell-left"===d||"cell-right"===d)){const t=this.cellSelected();let e=t.parentNode,i=4;if(this.builder.maxColumns&&(i=this.builder.maxColumns),e.querySelector(".is-row-overlay")){if(e.childElementCount>=i+3)return alert(this.out("You have reached the maximum number of columns")),!1}else if(e.childElementCount>=i+2)return alert(this.out("You have reached the maximum number of columns")),!1;this.builder.uo.saveForUndo();let n=c.childNodes[0].childNodes[0];var p=document.createRange();return t.parentNode.insertBefore(p.createContextualFragment(n.outerHTML),t),"cell"!==d&&"cell-right"!==d||(t.parentNode.insertBefore(t.previousElementSibling,t),t.parentNode.insertBefore(t,t.previousElementSibling)),this.builder.applyBehavior(),this.fixLayout(e),n.click(),void this.builder.opts.onChange()}let e;if(r=this.builder.activeCol,r?e=r.parentNode:(e=document.querySelector(".row-active"),e||(l=!0)),l){const t=document.querySelectorAll(".is-builder"),i=t[t.length-1],o=n.elementChildren(i);e=o[o.length-1]}p=document.createRange(),e.parentNode.insertBefore(p.createContextualFragment(c.innerHTML),e.nextSibling),o=c.childNodes[0];const i=e.getBoundingClientRect().top+e.offsetHeight+window.pageYOffset-120;window.scroll({top:i,behavior:"smooth"}),o=e.nextElementSibling,this.builder.applyBehavior(),s=o.childNodes[0],s.click(),o.className=o.className.replace("row-outline",""),a=document.querySelector(".is-column-tool"),a.className=a.className.replace("active","")}}this.builder.opts.onChange()}else i?this.addContent(t,d,"data-noedit"):this.addContent(t,d)}clearActiveCell(){const t=this.builder.builderStuff;if(!t)return;if(t.getAttribute("preventDevault"))return void setTimeout((()=>{t.removeAttribute("preventDevault")}),30);const e=this.dom;let i=document.getElementsByClassName("cell-active");for(;i.length;)i[0].classList.remove("cell-active");for(i=document.getElementsByClassName("row-outline");i.length;)i[0].classList.remove("row-outline");for(i=document.getElementsByClassName("row-active");i.length;)i[0].classList.remove("row-active");for(i=document.getElementsByClassName("builder-active");i.length;)i[0].classList.remove("builder-active");let n=t.querySelector(".is-column-tool");e.removeClass(n,"active"),t.querySelector(".is-element-tool").style.display="",this.builder.activeCol=null}clearAfterUndoRedo(){const t=this.dom,e=this.builder.builderStuff;let i=e.querySelectorAll(".is-tool");Array.prototype.forEach.call(i,(t=>{t.style.display=""})),this.builder.moveable.updateRect(),document.querySelector(".moveable-control-box").style.display="none",this.builder.activeSpacer=null,this.builder.activeCodeBlock=null,this.builder.activeLink=null,this.builder.activeIframe=null,this.builder.activeTd=null,this.builder.activeTable=null,this.builder.activeModule=null;const n=document.querySelectorAll(".icon-active");Array.prototype.forEach.call(n,(e=>{t.removeClass(e,"icon-active")})),this.builder.activeIcon=null;let o=e.querySelector(".is-rte-tool").querySelectorAll("button");Array.prototype.forEach.call(o,(e=>{t.removeClass(e,"on")})),o=e.querySelector(".is-elementrte-tool").querySelectorAll("button"),Array.prototype.forEach.call(o,(e=>{t.removeClass(e,"on")}));let r=e.querySelectorAll(".is-pop");Array.prototype.forEach.call(r,(t=>{t.style.display=""}))}hideControls(){let t=this.builder.builderStuff.querySelectorAll(".is-tool");Array.prototype.forEach.call(t,(t=>{t.style.display=""})),this.builder.moveable.updateRect(),document.querySelector(".moveable-control-box").style.display="none"}clearActiveElement(t){const e=this.dom,i=this.builder.builderStuff,n=document.querySelectorAll(".icon-active");Array.prototype.forEach.call(n,(t=>{e.removeClass(t,"icon-active")}));let o=document.querySelectorAll(".elm-inspected");if(Array.prototype.forEach.call(o,(t=>{e.removeClass(t,"elm-inspected")})),o=document.querySelectorAll(".elm-active"),Array.prototype.forEach.call(o,(t=>{e.removeClass(t,"elm-active")})),i.querySelector(".is-element-tool").style.display="",i.querySelector("#divLinkTool").style.display="",t){this.builder.activeIcon=null,this.builder.inspectedElement=null,this.builder.activeElement=null;let t=i.querySelector(".is-rte-tool");t&&(t.style.display="none");let e=i.querySelector(".is-elementrte-tool");e&&(e.style.display="flex");let n=i.querySelector(".rte-more-options");n&&(n.style.display="");let o=i.querySelector(".elementrte-more-options");o&&(o.style.display="");let r=e.querySelectorAll("button[data-align]");Array.prototype.forEach.call(r,(t=>{t.style.display="none"})),this.builder.rte.positionToolbar()}}clearControls(){const t=this.dom,e=this.builder.builderStuff;if(!e)return;if(e.getAttribute("preventDevault"))return void setTimeout((()=>{e.removeAttribute("preventDevault")}),30);let i=e.querySelectorAll(".is-tool");Array.prototype.forEach.call(i,(t=>{t.style.display=""})),this.builder.moveable.updateRect(),document.querySelector(".moveable-control-box").style.display="none",this.builder.activeSpacer=null,this.builder.activeCodeBlock=null,this.builder.activeLink=null,this.builder.activeIframe=null,this.builder.activeTd=null,this.builder.activeTable=null,this.builder.activeModule=null,this.builder.activeImage=null;const n=document.querySelectorAll(".icon-active");Array.prototype.forEach.call(n,(e=>{t.removeClass(e,"icon-active")})),this.builder.activeIcon=null;let o=document.querySelectorAll(".ovl");Array.prototype.forEach.call(o,(t=>{t.style.display="block"}));var r=e.querySelectorAll(".is-side.elementstyles");Array.prototype.forEach.call(r,(e=>{t.removeClass(e,"active")}));let s=document.querySelectorAll("[data-saveforundo]");Array.prototype.forEach.call(s,(t=>{t.removeAttribute("data-saveforundo")})),s=document.querySelectorAll(".elm-inspected"),Array.prototype.forEach.call(s,(e=>{t.removeClass(e,"elm-inspected")}));let a=e.querySelector(".is-rte-tool");a&&(a.style.display="none");let l=e.querySelector(".is-elementrte-tool");l&&(l.style.display="none");let d=e.querySelector(".rte-more-options");d&&(d.style.display="");let c=e.querySelector(".elementrte-more-options");c&&(c.style.display=""),s=document.querySelectorAll(".elm-active"),Array.prototype.forEach.call(s,(e=>{t.removeClass(e,"elm-active")}));let u=e.querySelectorAll(".is-rte-pop");Array.prototype.forEach.call(u,(e=>{e.style.display="",t.removeClass(e,"active"),t.removeClass(e,"deactive")})),this.builder.colTool.lockIndicator.style.display=""}makeId(){let t="",e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";for(let i=0;i<2;i++)t+=e.charAt(Math.floor(Math.random()*e.length));let i="",n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";for(let t=0;t<5;t++)i+=n.charAt(Math.floor(Math.random()*n.length));return t+i}saveSelection(){if(window.getSelection){let t=window.getSelection();if(t.getRangeAt&&t.rangeCount){let e=[];for(let i=0,n=t.rangeCount;i<n;++i)e.push(t.getRangeAt(i));return this.builder.selection=e,e}}else if(document.selection&&document.selection.createRange)return this.builder.selection=document.selection.createRange(),document.selection.createRange();return this.builder.selection=null,null}restoreSelection(){let t=this.builder.selection;if(t)if(window.getSelection){let o=window.getSelection();if(document.body.createTextRange){var e=document.body.createTextRange();e.collapse(),e.select()}else window.getSelection?window.getSelection().empty?window.getSelection().empty():window.getSelection().removeAllRanges&&window.getSelection().removeAllRanges():document.selection&&document.selection.empty();for(var i=0,n=t.length;i<n;++i)o.addRange(t[i])}else document.selection&&t.select&&t.select()}cleanHTML(t,e){let i,n=t.replace(/(\n|\r| class=(")?Mso[a-zA-Z]+(")?)/g," "),o=new RegExp("\x3c!--(.*?)--\x3e","g");n=n.replace(o,""),i=e?new RegExp("<(/)*(meta|link|span|\\?xml:|st1:|o:|font)(.*?)>","gi"):new RegExp("<(/)*(meta|link|\\?xml:|st1:|o:|font)(.*?)>","gi"),n=n.replace(i,"");let r,s=["style","script","applet","embed","noframes","noscript"];for(let t=0;t<s.length;t++)i=new RegExp("<"+s[t]+".*?"+s[t]+"(.*?)>","gi"),n=n.replace(i,"");r=e?["style","start"]:["start"];for(let t=0;t<r.length;t++){let e=new RegExp(" "+r[t]+'="(.*?)"',"gi");n=n.replace(e,"")}return n=n.replace(/<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s/>]))[^>]*>/gi,""),n=n.replace(/<(\/?)s>/gi,"<$1strike>"),n=n.replace(/ /gi," "),n=n.replace(/background-color: rgba\(200, 200, 201, 0.11\);/gi,""),n=n.replace(/background-color: rgba\(200, 200, 201, 0.11\)/gi,""),n}checkEmpty(){const t=this.dom,e=document.querySelectorAll(this.builder.opts.container);Array.prototype.forEach.call(e,(e=>{const i=t.elementChildren(e);let n=!0;if(i.forEach((e=>{t.hasClass(e,"row-add-initial")||t.hasClass(e,"dummy-space")||(n=!1)})),n){let i=e.querySelector(".row-add-initial");i||(e.innerHTML=`<button type="button" class="row-add-initial">${this.out("Empty")}<br><span>${this.out("+ Click to add content")}</span></div>`,i=e.querySelector(".row-add-initial")),i.addEventListener("click",(()=>{this.clearActiveCell(),t.addClass(i,"row-active");let e=this.builder.builderStuff.querySelector(".quickadd");e.querySelector(".is-pop-tabs").style.display="none";const n=window.innerHeight;let o=i.getBoundingClientRect().top;const r=i.getBoundingClientRect().left+i.offsetWidth*this.builder.opts.zoom/2-11;e.style.display="flex";const s=e.offsetWidth,a=e.offsetHeight;n-o>a?(o=o+i.offsetHeight*this.builder.opts.zoom-19,e.style.top=o+window.pageYOffset+27+"px",e.style.left=r-s/2+7+"px",t.removeClass(e,"arrow-bottom"),t.removeClass(e,"arrow-right"),t.removeClass(e,"arrow-left"),t.removeClass(e,"center"),t.addClass(e,"arrow-top"),t.addClass(e,"center")):(e.style.top=o+window.pageYOffset-a-8+"px",e.style.left=r-s/2+7+"px",t.removeClass(e,"arrow-top"),t.removeClass(e,"arrow-right"),t.removeClass(e,"arrow-left"),t.removeClass(e,"center"),t.addClass(e,"arrow-bottom"),t.addClass(e,"center")),e.setAttribute("data-mode","row")}))}else{let t=e.querySelector(".row-add-initial");t&&t.parentNode.removeChild(t)}}))}clearPreferences(){localStorage.removeItem("_theme"),localStorage.removeItem("_zoom"),localStorage.removeItem("_buildermode"),localStorage.removeItem("_editingtoolbar"),localStorage.removeItem("_editingtoolbardisplay"),localStorage.removeItem("_hidecelltool"),localStorage.removeItem("_rowtool"),localStorage.removeItem("_hideelementtool"),localStorage.removeItem("_hidesnippetaddtool"),localStorage.removeItem("_outlinemode"),localStorage.removeItem("_hiderowcoloutline"),localStorage.removeItem("_outlinestyle"),localStorage.removeItem("_hideelementhighlight"),localStorage.removeItem("_opensnippets"),localStorage.removeItem("_toolstyle"),localStorage.removeItem("_snippetssidebardisplay"),localStorage.removeItem("_pasteresult"),localStorage.removeItem("_scrollableeditor"),localStorage.removeItem("_animatedsorting"),localStorage.removeItem("_addbuttonplace"),localStorage.removeItem("_hiderowtool"),localStorage.removeItem("_dragwithouthandle"),localStorage.removeItem("_advancedhtmleditor"),localStorage.removeItem("_hidecolhtmleditor"),localStorage.removeItem("_hiderowhtmleditor")}pasteHtmlAtCaret(t,e){var i,n;if(this.restoreSelection(),window.getSelection){if(!this.builder.activeCol)return;if((i=window.getSelection()).getRangeAt&&i.rangeCount){(n=i.getRangeAt(0)).deleteContents();var o=document.createElement("div");o.innerHTML=t;for(var r,s,a=document.createDocumentFragment();r=o.firstChild;)s=a.appendChild(r);var l=a.firstChild;n.insertNode(a),s&&((n=n.cloneRange()).setStartAfter(s),e?n.setStartBefore(l):n.collapse(!0),i.removeAllRanges(),this.builder.isTouchSupport||i.addRange(n))}}else if((i=document.selection)&&"Control"!==i.type){if(!this.builder.activeCol)return;var d=i.createRange();d.collapse(!0),i.createRange().pasteHTML(t),e&&((n=i.createRange()).setEndPoint("StartToStart",d),this.builder.isTouchSupport||n.select())}}refreshModule(){let t=this.builder.activeModule;if(!t)return;let e=1,i=t.querySelectorAll("[data-subblock]");Array.prototype.forEach.call(i,(i=>{let n=i.innerHTML;t.setAttribute("data-html-"+e,encodeURIComponent(n)),e++}));let n=decodeURIComponent(t.getAttribute("data-html"));n=n.replace(/{id}/g,this.makeId()),t.innerHTML="";var o=document.createRange();o.setStart(t,0),t.appendChild(o.createContextualFragment(n)),i=t.querySelectorAll("[data-subblock]");var r=1;Array.prototype.forEach.call(i,(e=>{t.getAttribute("data-html-"+r)&&(e.innerHTML=decodeURIComponent(t.getAttribute("data-html-"+r))),r++}))}isTouchSupport(){return!!window.matchMedia("(pointer: coarse)").matches}detectIE(){return!!document.documentMode}LightenDarkenColor(t,e){var i=!1;"#"===t[0]&&(t=t.slice(1),i=!0);var n=parseInt(t,16),o=(n>>16)+e;o>255?o=255:o<0&&(o=0);var r=(n>>8&255)+e;r>255?r=255:r<0&&(r=0);var s=(255&n)+e;return s>255?s=255:s<0&&(s=0),(i?"#":"")+String("000000"+(s|r<<8|o<<16).toString(16)).slice(-6)}getUIStyles(){this.dom.appendHtml(this.builder.builderStuff,'<button class="style-helper"><svg><use xlink:href="#ion-code-working"></use></svg></button>\n <input type="text" class="style-helper-input" style="display:none;">\n <label class="style-helper-label" style="display:none;"></label>\n <input class="style-helper-checkbox" type="checkbox" style="display:none;">\n <button class="style-helper-button-classic classic" style="display:none;"><svg><use xlink:href="#ion-code-working"></use></svg></button>\n <select class="style-helper-select" style="display:none;"><option value=""></option></select>\n ');const t=this.builder.builderStuff.querySelector(".style-helper"),e=this.builder.builderStuff.querySelector(".style-helper-input"),i=this.builder.builderStuff.querySelector(".style-helper-label"),n=this.builder.builderStuff.querySelector(".style-helper-select"),o=this.builder.builderStuff.querySelector(".style-helper-button-classic");this.builder.styleModalColor=this.getUIStyleValue(t,"modal-color","background-color"),this.builder.styleModalBackground=this.getUIStyleValue(t,"modal-background","background-color"),this.builder.styleButtonPickColorBorder=this.getUIStyleValue(t,"button-pickcolor-border","border"),this.builder.styleButtonPickColorBackground=this.getUIStyleValue(t,"button-pickcolor-background","background-color"),this.builder.styleToolBackground=window.getComputedStyle(t,null).getPropertyValue("background-color"),this.builder.styleButtonColor=window.getComputedStyle(t,null).getPropertyValue("color"),this.builder.styleButtonSvgFill=window.getComputedStyle(t.querySelector("svg"),null).getPropertyValue("fill"),this.builder.styleButtonBackgroundHover=this.getUIStyleValue(t,"hover","background-color"),this.builder.styleSnippetColor=this.getUIStyleValue(t,"snippet-color","background-color"),this.builder.styleSnippetBackground=this.getUIStyleValue(t,"snippet-background","background-color"),this.builder.styleSnippetTabsBackground=this.getUIStyleValue(t,"snippet-tabs-background","background-color"),this.builder.styleSnippetTabItemBackground=this.getUIStyleValue(t,"snippet-tab-item-background","background-color"),this.builder.styleSnippetTabItemBackgroundActive=this.getUIStyleValue(t,"snippet-tab-item-background-active","background-color"),this.builder.styleSnippetTabItemBackgroundHover=this.getUIStyleValue(t,"snippet-tab-item-background-hover","background-color"),this.builder.styleSnippetTabItemColor=this.getUIStyleValue(t,"snippet-tab-item-color","background-color"),this.builder.styleSnippetMoreItemBackground=this.getUIStyleValue(t,"snippet-more-item-background","background-color"),this.builder.styleSnippetMoreItemBackgroundActive=this.getUIStyleValue(t,"snippet-more-item-background-active","background-color"),this.builder.styleSnippetMoreItemBackgroundHover=this.getUIStyleValue(t,"snippet-more-item-background-hover","background-color"),this.builder.styleSnippetMoreItemColor=this.getUIStyleValue(t,"snippet-more-item-color","background-color"),this.builder.styleTabsBackground=this.getUIStyleValue(t,"tabs-background","background-color"),this.builder.styleTabItemBorderBottomActive=this.getUIStyleValue(t,"tab-item-active-border-bottom","border"),this.builder.styleTabItemColor=this.getUIStyleValue(t,"tab-item-color","background-color"),this.builder.styleTabsMoreBackground=this.getUIStyleValue(t,"tabs-more-background","background-color"),this.builder.styleTabsMoreBorder=this.getUIStyleValue(t,"tabs-more-border","border"),this.builder.styleTabsMoreItemColor=this.getUIStyleValue(t,"tabs-more-item-color","background-color"),this.builder.styleTabsMoreBackgroundHover=this.getUIStyleValue(t,"tabs-more-item-background-hover","background-color"),this.builder.styleSeparatorColor=this.getUIStyleValue(t,"separator-color","background-color"),this.builder.styleSelectBackground=window.getComputedStyle(n,null).getPropertyValue("background-color"),this.builder.styleSelectColor=window.getComputedStyle(n,null).getPropertyValue("color"),this.builder.styleSelectOptionBackground=window.getComputedStyle(n.querySelector("option"),null).getPropertyValue("background-color"),this.builder.styleInputBackground=window.getComputedStyle(e,null).getPropertyValue("background-color"),this.builder.styleInputBorderBottom=window.getComputedStyle(e,null).getPropertyValue("border-bottom"),this.builder.styleInputColor=window.getComputedStyle(e,null).getPropertyValue("color"),this.builder.styleLabelColor=window.getComputedStyle(i,null).getPropertyValue("color"),this.builder.styleButtonClassicBackground=window.getComputedStyle(o,null).getPropertyValue("background-color"),this.builder.styleButtonClassicColor=window.getComputedStyle(o,null).getPropertyValue("color"),this.builder.styleButtonClassicBackgroundHover=this.getUIStyleValue(o,"hover","background-color"),this.builder.styleDark=!1,this.builder.styleColored=!1,this.builder.styleColoredDark=!1,this.builder.styleLight=!1,document.body.getAttribute("class")&&(-1!==document.body.getAttribute("class").indexOf("colored-dark")?this.builder.styleColoredDark=!0:-1!==document.body.getAttribute("class").indexOf("dark")?this.builder.styleDark=!0:-1!==document.body.getAttribute("class").indexOf("colored")?this.builder.styleColored=!0:-1!==document.body.getAttribute("class").indexOf("light")&&(this.builder.styleLight=!0))}getUIStyleValue(t,e,i){const n=this.dom;n.addClass(t,e);let o=window.getComputedStyle(t,null).getPropertyValue(i);return n.removeClass(t,e),o}getFontFamilyStyle(t){return`\n html, body {height:100%}\n body {overflow:hidden;margin:0;\n font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;\n font-size:100%; \n line-height:1.7;\n }\n #divFontList {margin:0;padding:0 0 9px 9px;height:100%;overflow-y:scroll !important;box-sizing:border-box;}\n #divFontList > div {width:100%;cursor:pointer;overflow:hidden;text-align:center;position:relative;}\n #divFontList > div img {margin:7px 5px 0px 5px;max-width: 230px;max-height: 27px;}\n #divFontList > div div {position:absolute;top:0;left:0;width:100%;height:100%;}\n\n #divFontList > div > div {\n position:absolute;left:0px;top:0px;width:100%;height:100%;\n // z-index: 1;\n }\n\n #divFontList > div {\n color: ${t?this.builder.styleModalColor:this.builder.styleButtonColor};\n background: ${t?this.builder.styleModalBackground:this.builder.styleToolBackground};\n }\n #divFontList > div > div:after {\n // background: rgba(0, 0, 0, 0.04); \n background: ${t?this.builder.styleButtonClassicBackgroundHover:this.builder.styleButtonBackgroundHover};\n position: absolute;\n content: "";\n display: block;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n opacity: 0;\n }\n #divFontList > div:hover > div:after {\n opacity: 1;\n }\n #divFontList > div.on > div:after {\n opacity: 1;\n }\n\n ${this.builder.styleDark||this.builder.styleColoredDark||this.builder.styleColore?"":"\n #divFontList > div img {\n mix-blend-mode: multiply;\n }\n "}\n\n .dark #divFontList > div img {\n ${t?"":"mix-blend-mode: screen;"};\n filter: invert(1);\n }\n .dark #divFontList > div {\n color: ${t?this.builder.styleModalColor:this.builder.styleButtonColor};\n background: ${t?this.builder.styleModalBackground:this.builder.styleToolBackground};\n }\n .dark #divFontList > div > div:after {\n background: ${t?this.builder.styleButtonClassicBackgroundHover:this.builder.styleButtonBackgroundHover};\n }\n \n .colored-dark #divFontList > div img {\n ${t?"":"mix-blend-mode: screen;"};\n ${t?"":"filter: invert(1);"};\n }\n .colored-dark #divFontList > div {\n color: ${t?this.builder.styleModalColor:this.builder.styleButtonColor};\n background: ${t?this.builder.styleModalBackground:this.builder.styleToolBackground};\n }\n .colored-dark #divFontList > div > div:after {\n background: ${t?this.builder.styleButtonClassicBackgroundHover:this.builder.styleButtonBackgroundHover};\n }\n\n\n .colored #divFontList > div img {\n ${t?"":"mix-blend-mode: screen;"};\n ${t?"":"filter: invert(1);"};\n }\n .colored #divFontList > div {\n color: ${t?this.builder.styleModalColor:this.builder.styleButtonColor};\n background: ${t?this.builder.styleModalBackground:this.builder.styleToolBackground};\n }\n .colored #divFontList > div > div:after {\n background: ${t?this.builder.styleButtonClassicBackgroundHover:this.builder.styleButtonBackgroundHover};\n }\n\n\n /* Scrollbar for toolbar/RTE and modal */\n\n .dark * {\n scrollbar-width: thin;\n scrollbar-color: rgba(255, 255, 255, 0.3) auto;\n }\n .dark *::-webkit-scrollbar {\n width: 12px;\n }\n .dark *::-webkit-scrollbar-track {\n background: transparent;\n }\n .dark *::-webkit-scrollbar-thumb {\n background-color:rgba(255, 255, 255, 0.3);\n } \n\n .colored-dark * {\n scrollbar-width: thin;\n scrollbar-color: rgb(100, 100, 100) auto;\n }\n .colored-dark *::-webkit-scrollbar {\n width: 12px;\n }\n .colored-dark *::-webkit-scrollbar-track {\n background: transparent;\n }\n .colored-dark *::-webkit-scrollbar-thumb {\n background-color:rgb(100, 100, 100);\n } \n\n .colored * {\n scrollbar-width: thin;\n scrollbar-color: rgba(0, 0, 0, 0.4) auto;\n }\n .colored *::-webkit-scrollbar {\n width: 12px;\n }\n .colored *::-webkit-scrollbar-track {\n background: transparent;\n }\n .colored *::-webkit-scrollbar-thumb {\n background-color: rgba(0, 0, 0, 0.4);\n } \n\n .light * {\n scrollbar-width: thin;\n scrollbar-color: rgba(0, 0, 0, 0.4) auto;\n }\n .light *::-webkit-scrollbar {\n width: 12px;\n }\n .light *::-webkit-scrollbar-track {\n background: transparent;\n }\n .light *::-webkit-scrollbar-thumb {\n background-color: rgba(0, 0, 0, 0.4);\n }`}refreshFontFamilyStyle1(){this.builder.rte.rteFontFamilyOptions.querySelector("iframe").contentWindow.document.querySelector("#mainstyle").innerHTML=this.getFontFamilyStyle()}refreshFontFamilyStyle2(){this.builder.builderStuff.querySelector(".is-modal.pickfontfamily").querySelector("iframe").contentWindow.document.querySelector("#mainstyle").innerHTML=this.getFontFamilyStyle(!0)}getFontPreview(){let t=this.builder.fontAssetPath,e="";return e=`\n <div data-provider="" data-font-family="" style="font-size:12px;padding:10px 7px;box-sizing:border-box;"><div></div>\n <span style="z-index:1;position: relative;">${this.out("None")}</span>\n </div>\n <div data-provider="" data-font-family="Arial, sans-serif"><div></div><img src="${t}arial.png"></div>\n <div data-provider="" data-font-family="courier"><div></div><img src="${t}courier.png"></div>\n <div data-provider="" data-font-family="Georgia, serif"><div></div><img src="${t}georgia.png"></div>\n <div data-provider="" data-font-family="monospace"><div></div><img src="${t}monospace.png"></div>\n <div data-provider="" data-font-family="sans-serif"><div></div><img src="${t}sans_serif.png"></div>\n <div data-provider="" data-font-family="serif"><div></div><img src="${t}serif.png"></div>\n <div data-provider="google" data-font-family="Abel, sans-serif"><div></div><img src="${t}abel.png"></div>\n <div data-provider="google" data-font-family="Abril Fatface"><div></div><img src="${t}abril_fatface.png"></div>\n <div data-provider="google" data-font-family="Advent Pro, sans-serif" data-font-style="300"><div></div><img src="${t}advent_pro.png"></div>\n <div data-provider="google" data-font-family="Aladin, cursive"><div></div><img src="${t}aladin.png"></div>\n <div data-provider="google" data-font-family="Alegreya, serif" data-font-style="400,400i,500,500i,700,700i,800,800i,900,900i"><div></div><img src="${t}alegreya.png"></div>\n <div data-provider="google" data-font-family="Alegreya Sans SC, sans-serif" data-font-style="300,700"><div></div><img src="${t}alegreya_sans_sc.png"></div>\n <div data-provider="google" data-font-family="Alegreya SC, serif" data-font-style="400,400i,500,500i,700,700i,800,800i,900,900i"><div></div><img src="${t}alegreya_sc.png"></div>\n <div data-provider="google" data-font-family="Alice, serif"><div></div><img src="${t}alice.png"></div>\n <div data-provider="google" data-font-family="Allerta Stencil, sans-serif"><div></div><img src="${t}allerta_stencil.png"></div>\n <div data-provider="google" data-font-family="Allura, cursive"><div></div><img src="${t}allura.png"></div>\n <div data-provider="google" data-font-family="Almendra Display, cursive"><div></div><img src="${t}almendra_display.png"></div>\n <div data-provider="google" data-font-family="Amatic SC, cursive" data-font-style="400,700"><div></div><img src="${t}amatic_sc.png"></div>\n <div data-provider="google" data-font-family="Andika, sans-serif"><div></div><img src="${t}andika.png"></div>\n <div data-provider="google" data-font-family="Anonymous Pro, monospace" data-font-style="400,400i,700,700i"><div></div><img src="${t}anonymous_pro.png"></div>\n <div data-provider="google" data-font-family="Architects Daughter, cursive"><div></div><img style="transform:scale(1.1);" src="${t}architects_daughter.png"></div>\n <div data-provider="google" data-font-family="Arimo, sans-serif" data-font-style="400,400i,700,700i"><div></div><img src="${t}arimo.png"></div>\n <div data-provider="google" data-font-family="Arsenal, sans-serif" data-font-style="400,400i,700,700i"><div></div><img src="${t}arsenal.png"></div>\n <div data-provider="google" data-font-family="Assistant" data-font-style="300,700"><div></div><img src="${t}assistant.png"></div>\n <div data-provider="google" data-font-family="Aubrey, cursive"><div></div><img src="${t}aubrey.png"></div>\n <div data-provider="google" data-font-family="Anton, sans-serif"><div></div><img src="${t}anton.png"></div>\n <div data-provider="google" data-font-family="Archivo Narrow, sans-serif"><div></div><img src="${t}archivo_narrow.png"></div>\n <div data-provider="google" data-font-family="Bad Script, cursive"><div></div><img src="${t}bad_script.png"></div>\n <div data-provider="google" data-font-family="BenchNine, sans-serif"><div></div><img src="${t}benchNine.png"></div>\n <div data-provider="google" data-font-family="Bevan, cursive"><div></div><img src="${t}bevan.png"></div>\n <div data-provider="google" data-font-family="Bigelow Rules, cursive"><div></div><img src="${t}bigelow_rules.png"></div>\n <div data-provider="google" data-font-family="Bilbo, cursive"><div></div><img src="${t}bilbo.png"></div>\n <div data-provider="google" data-font-family="Bonbon, cursive"><div></div><img src="${t}bonbon.png"></div>\n <div data-provider="google" data-font-family="Bowlby One SC, cursive"><div></div><img src="${t}bowlby_one_sc.png"></div>\n <div data-provider="google" data-font-family="Cabin Condensed, sans-serif"><div></div><img src="${t}cabin_condensed.png"></div>\n <div data-provider="google" data-font-family="Carrois Gothic SC, sans-serif"><div></div><img src="${t}carrois_gothic_sc.png"></div>\n <div data-provider="google" data-font-family="Caveat, cursive" data-font-style="400,700"><div></div><img src="${t}caveat.png"></div>\n <div data-provider="google" data-font-family="Chewy, cursive"><div></div><img src="${t}chewy.png"></div>\n <div data-provider="google" data-font-family="Cinzel, serif"><div></div><img src="${t}cinzel.png"></div>\n <div data-provider="google" data-font-family="Comfortaa, cursive" data-font-style="300"><div></div><img src="${t}comfortaa.png"></div>\n <div data-provider="google" data-font-family="Concert One, cursive"><div></div><img src="${t}concert_one.png"></div>\n <div data-provider="google" data-font-family="Cormorant, serif" data-font-style="300,300i,600,600i,700,700i"><div></div><img src="${t}cormorant.png"></div>\n <div data-provider="google" data-font-family="Cormorant Garamond, serif" data-font-style="300,300i,600,600i,700,700i"><div></div><img src="${t}cormorant_garamond.png"></div>\n <div data-provider="google" data-font-family="Cormorant Infant, serif" data-font-style="300,300i,600,600i,700,700i"><div></div><img src="${t}cormorant_infant.png"></div>\n <div data-provider="google" data-font-family="Cormorant SC, serif" data-font-style="300,600,700"><div></div><img src="${t}cormorant_sc.png"></div>\n <div data-provider="google" data-font-family="Cormorant Unicase, serif" data-font-style="300,600,700"><div></div><img src="${t}cormorant_unicase.png"></div>\n <div data-provider="google" data-font-family="Cousine" data-font-style="400,700"><div></div><img src="${t}cousine.png"></div>\n <div data-provider="google" data-font-family="Crafty Girls, cursive"><div></div><img src="${t}crafty_girls.png"></div>\n <div data-provider="google" data-font-family="Cuprum, sans-serif" data-font-style="400,400i,700,700i"><div></div><img src="${t}cuprum.png"></div>\n <div data-provider="google" data-font-family="Cutive Mono, monospace"><div></div><img src="${t}cutive_mono.png"></div>\n <div data-provider="google" data-font-family="Devonshire, cursive"><div></div><img src="${t}devonshire.png"></div>\n <div data-provider="google" data-font-family="Didact Gothic, sans-serif"><div></div><img src="${t}didact_gothic.png"></div>\n <div data-provider="google" data-font-family="Diplomata SC, cursive"><div></div><img src="${t}diplomata_sc.png"></div>\n <div data-provider="google" data-font-family="Dosis, sans-serif" data-font-style="200"><div></div><img src="${t}dosis.png"></div>\n <div data-provider="google" data-font-family="EB Garamond, serif" data-font-style="400,400i,600,600i,700,700i,800,800i"><div></div><img src="${t}eb_garamond.png"></div>\n <div data-provider="google" data-font-family="El Messiri, sans-serif" data-font-style="400,600,700"><div></div><img src="${t}el_messiri.png"></div>\n <div data-provider="google" data-font-family="Elsie, cursive" data-font-style="400,900"><div></div><img src="${t}elsie.png"></div>\n <div data-provider="google" data-font-family="Encode Sans, sans-serif" data-font-style="300,700"><div></div><img src="${t}encode_sans.png"></div>\n <div data-provider="google" data-font-family="Exo, sans-serif" data-font-style="100"><div></div><img src="${t}exo.png"></div>\n <div data-provider="google" data-font-family="'Exo 2', sans-serif" data-font-style="200,200i,600,600i,700,700i,800,800i,900,900i" data-font-display="swap"><div></div><img src="${t}exo_2.png"></div>\n <div data-provider="google" data-font-family="Felipa, cursive"><div></div><img src="${t}felipa.png"></div>\n <div data-provider="google" data-font-family="Fira Code, monospace" data-font-style="300,500,600,700"><div></div><img src="${t}fira_code.png"></div>\n <div data-provider="google" data-font-family="Fira Mono, monospace" data-font-style="400,500,700"><div></div><img src="${t}fira_mono.png"></div>\n <div data-provider="google" data-font-family="Fira Sans, sans-serif" data-font-style="200,200i,500,500i,700,700i,800,800i,900,900i"><div></div><img src="${t}fira_sans.png"></div>\n <div data-provider="google" data-font-family="Fira Sans Condensed, sans-serif" data-font-style="200,200i,500,500i,700,700i,800,800i,900,900i"><div></div><img src="${t}fira_sans_condensed.png"></div>\n <div data-provider="google" data-font-family="Fira Sans Extra Condensed, sans-serif" data-font-style="200,200i,500,500i,700,700i,800,800i,900,900i"><div></div><img src="${t}fira_sans_extra_condensed.png"></div>\n <div data-provider="google" data-font-family="Fjalla One, sans-serif"><div></div><img src="${t}fjalla_one.png"></div>\n <div data-provider="google" data-font-family="Forum, cursive"><div></div><img src="${t}forum.png"></div>\n <div data-provider="google" data-font-family="Frank Ruhl Libre" data-font-style="300,700"><div></div><img src="${t}frank_ruhl_libre.png"></div>\n <div data-provider="google" data-font-family="Fredericka the Great, cursive"><div></div><img src="${t}fredericka_the_great.png"></div>\n <div data-provider="google" data-font-family="Gabriela, serif"><div></div><img src="${t}gabriela.png"></div>\n <div data-provider="google" data-font-family="Gilda Display, serif"><div></div><img src="${t}gilda_display.png"></div>\n <div data-provider="google" data-font-family="Give You Glory, cursive"><div></div><img style="transform:scale(1.3);" src="${t}give_you_glory.png"></div>\n <div data-provider="google" data-font-family="Gruppo, cursive"><div></div><img src="${t}gruppo.png"></div>\n <div data-provider="google" data-font-family="Handlee, cursive"><div></div><img src="${t}handlee.png"></div>\n <div data-provider="google" data-font-family="Happy Monkey, cursive"><div></div><img src="${t}happy_monkey.png"></div>\n <div data-provider="google" data-font-family="Hind" data-font-style="300,700"><div></div><img src="${t}hind.png"></div>\n <div data-provider="google" data-font-family="IBM Plex Mono, monospace" data-font-style="300,300i,500,500i,600,600i,700,700i"><div></div><img src="${t}ibm_plex_mono.png"></div>\n <div data-provider="google" data-font-family="IBM Plex Sans, sans-serif" data-font-style="300,300i,500,500i,600,600i,700,700i"><div></div><img src="${t}ibm_plex_sans.png"></div>\n <div data-provider="google" data-font-family="IBM Plex Serif, serif" data-font-style="300,300i,500,500i,600,600i,700,700i"><div></div><img src="${t}ibm_plex_serif.png"></div>\n <div data-provider="google" data-font-family="Iceland, cursive"><div></div><img src="${t}iceland.png"></div>\n <div data-provider="google" data-font-family="Inconsolata, monospace" data-font-style="400,700"><div></div><img src="${t}inconsolata.png"></div>\n <div data-provider="google" data-font-family="Josefin Sans, sans-serif" data-font-style="300,700"><div></div><img src="${t}josefin_sans.png"></div>\n <div data-provider="google" data-font-family="Istok Web, sans-serif" data-font-style="400,400i,700,700i"><div></div><img src="${t}istok_web.png"></div>\n <div data-provider="google" data-font-family="Julee, cursive"><div></div><img src="${t}julee.png"></div>\n <div data-provider="google" data-font-family="Julius Sans One, sans-serif"><div></div><img src="${t}julius_sans_one.png"></div>\n <div data-provider="google" data-font-family="Junge, serif"><div></div><img src="${t}junge.png"></div>\n <div data-provider="google" data-font-family="Jura, sans-serif" data-font-style="300,600,700"><div></div><img src="${t}jura.png"></div>\n <div data-provider="google" data-font-family="Just Me Again Down Here, cursive"><div></div><img style="transform:scale(1.1);" src="${t}just_me_again_down_here.png"></div>\n <div data-provider="google" data-font-family="Kaushan Script, cursive"><div></div><img src="${t}kaushan_script.png"></div>\n <div data-provider="google" data-font-family="Kelly Slab, cursive"><div></div><img src="${t}kelly_slab.png"></div>\n <div data-provider="google" data-font-family="Kite One, sans-serif"><div></div><img src="${t}kite_one.png"></div>\n <div data-provider="google" data-font-family="Kosugi, sans-serif"><div></div><img src="${t}kosugi.png"></div>\n <div data-provider="google" data-font-family="Kosugi Maru, sans-serif"><div></div><img src="${t}kosugi_maru.png"></div>\n <div data-provider="google" data-font-family="Kurale, serif"><div></div><img src="${t}kurale.png"></div>\n <div data-provider="google" data-font-family="Lato, sans-serif" data-font-style="300,700"><div></div><img src="${t}lato.png"></div>\n <div data-provider="google" data-font-family="Ledger, serif" data-font-style="300,700" data-font-display="swap"><div></div><img src="${t}ledger.png"></div>\n <div data-provider="google" data-font-family="Lekton, sans-serif" data-font-style="400,700"><div></div><img src="${t}lekton.png"></div>\n <div data-provider="google" data-font-family="Life Savers, cursive"><div></div><img src="${t}life_savers.png"></div>\n <div data-provider="google" data-font-family="Literata, serif" data-font-style="400,400i,600,600i,700,700i"><div></div><img src="${t}literata.png"></div>\n <div data-provider="google" data-font-family="Lobster, cursive"><div></div><img src="${t}lobster.png"></div>\n <div data-provider="google" data-font-family="Lobster Two, cursive"><div></div><img src="${t}lobster_two.png"></div>\n <div data-provider="google" data-font-family="Londrina Shadow, cursive"><div></div><img src="${t}londrina_shadow.png"></div>\n <div data-provider="google" data-font-family="Lora, serif" data-font-style="400,700"><div></div><img src="${t}lora.png"></div>\n <div data-provider="google" data-font-family="Lovers Quarrel, cursive"><div></div><img style="transform:scale(1.1);" src="${t}lovers_quarrel.png"></div>\n <div data-provider="google" data-font-family="'M PLUS 1p', sans-serif" data-font-style="300,500,700,800,900" data-font-display="swap"><div></div><img src="${t}m_plus_1p.png"></div>\n <div data-provider="google" data-font-family="'M PLUS Rounded 1c', sans-serif" data-font-style="300,500,700,800,900" data-font-display="swap"><div></div><img src="${t}m_plus_rounded_1c.png"></div>\n <div data-provider="google" data-font-family="Macondo, cursive"><div></div><img src="${t}macondo.png"></div>\n <div data-provider="google" data-font-family="Marcellus SC, serif"><div></div><img src="${t}marcellus_sc.png"></div>\n <div data-provider="google" data-font-family="Marck Script, cursive"><div></div><img src="${t}marck_script.png"></div>\n <div data-provider="google" data-font-family="Martel, serif" data-font-style="300,700"><div></div><img src="${t}martel.png"></div>\n <div data-provider="google" data-font-family="Maven Pro, sans-serif"><div></div><img src="${t}maven_pro.png"></div>\n <div data-provider="google" data-font-family="Merriweather, serif" data-font-style="300,700"><div></div><img src="${t}merriweather.png"></div>\n <div data-provider="google" data-font-family="Merriweather Sans" data-font-style="300,700"><div></div><img src="${t}merriweather_sans.png"></div>\n <div data-provider="google" data-font-family="Mogra, cursive"><div></div><img src="${t}mogra.png"></div>\n <div data-provider="google" data-font-family="Monoton, cursive"><div></div><img src="${t}monoton.png"></div>\n <div data-provider="google" data-font-family="Montez, cursive"><div></div><img src="${t}montez.png"></div>\n <div data-provider="google" data-font-family="Montserrat, sans-serif" data-font-style="300,400,700"><div></div><img src="${t}montserrat.png"></div>\n <div data-provider="google" data-font-family="Montserrat Alternates, sans-serif" data-font-style="300,300i,500,500i,700,700i,800,800i,900,900i"><div></div><img src="${t}montserrat_alternates.png"></div>\n <div data-provider="google" data-font-family="Montserrat Subrayada, sans-serif"><div></div><img src="${t}montserrat_subrayada.png"></div>\n <div data-provider="google" data-font-family="Neucha, cursive"><div></div><img src="${t}neucha.png"></div>\n <div data-provider="google" data-font-family="Neuton, serif" data-font-style="200,700"><div></div><img src="${t}neuton.png"></div>\n <div data-provider="google" data-font-family="Nixie One, cursive"><div></div><img src="${t}nixie_one.png"></div>\n <div data-provider="google" data-font-family="Nothing You Could Do, cursive"><div></div><img style="transform:scale(1.1);" src="${t}nothing_you_could_do.png"></div>\n <div data-provider="google" data-font-family="Noto Sans, sans-serif" data-font-style="400,400i,700,700i"><div></div><img src="${t}noto_sans.png"></div>\n <div data-provider="google" data-font-family="Noto Sans SC, sans-serif" data-font-style="300,500,700,900"><div></div><img src="${t}noto_sans_sc.png"></div>\n <div data-provider="google" data-font-family="Noto Serif, serif" data-font-style="400,400i,700,700i"><div></div><img src="${t}noto_serif.png"></div>\n <div data-provider="google" data-font-family="Noto Serif TC, serif" data-font-style="300,600,700,900"><div></div><img src="${t}noto_serif_tc.png"></div>\n <div data-provider="google" data-font-family="Nunito, sans-serif" data-font-style="200,200i,600,600i,700,700i,800,800i,900,900i"><div></div><img src="${t}nunito.png"></div>\n <div data-provider="google" data-font-family="Old Standard TT, serif" data-font-style="400,400i,700"><div></div><img src="${t}old_standard_tt.png"></div>\n <div data-provider="google" data-font-family="Open Sans, sans-serif" data-font-style="300,400,600,800"><div></div><img src="${t}open_sans.png"></div>\n <div data-provider="google" data-font-family="Open Sans Condensed, sans-serif" data-font-style="300,300i,700"><div></div><img src="${t}open_sans_condensed.png"></div>\n <div data-provider="google" data-font-family="Oranienbaum, serif"><div></div><img src="${t}oranienbaum.png"></div>\n <div data-provider="google" data-font-family="Oswald, sans-serif" data-font-style="300,400,700"><div></div><img src="${t}oswald.png"></div>\n <div data-provider="google" data-font-family="Oxygen, sans-serif" data-font-style="300,700"><div></div><img src="${t}oxygen.png"></div>\n <div data-provider="google" data-font-family="Pacifico, cursive"><div></div><img src="${t}pacifico.png"></div>\n <div data-provider="google" data-font-family="Pangolin, cursive"><div></div><img src="${t}pangolin.png"></div>\n <div data-provider="google" data-font-family="Passion One, cursive"><div></div><img src="${t}passion_one.png"></div>\n <div data-provider="google" data-font-family="Pathway Gothic One, sans-serif"><div></div><img src="${t}pathway_gothic_one.png"></div>\n <div data-provider="google" data-font-family="Pattaya, sans-serif"><div></div><img src="${t}pattaya.png"></div>\n <div data-provider="google" data-font-family="Petit Formal Script, cursive"><div></div><img style="transform:scale(1.1);" src="${t}petit_formal_script.png"></div>\n <div data-provider="google" data-font-family="Philosopher, sans-serif"><div></div><img src="${t}philosopher.png"></div>\n <div data-provider="google" data-font-family="Play, sans-serif" data-font-style="400,700"><div></div><img src="${t}play.png"></div>\n <div data-provider="google" data-font-family="Playfair Display, serif" data-font-style="400,400i,700,700i,900,900i"><div></div><img src="${t}playfair_display.png"></div>\n <div data-provider="google" data-font-family="Playfair Display SC, serif" data-font-style="400,400i,700,700i,900,900i"><div></div><img src="${t}playfair_display_sc.png"></div>\n <div data-provider="google" data-font-family="Podkova, serif" data-font-style="400,600,700,800"><div></div><img src="${t}podkova.png"></div>\n <div data-provider="google" data-font-family="Poiret One, cursive"><div></div><img src="${t}poiret_one.png"></div>\n <div data-provider="google" data-font-family="Pompiere, cursive"><div></div><img style="transform:scale(1.1);" src="${t}pompiere.png"></div>\n <div data-provider="google" data-font-family="Poppins, sans-serif" data-font-style="400,600"><div></div><img src="${t}poppins.png"></div>\n <div data-provider="google" data-font-family="Prata, serif"><div></div><img src="${t}prata.png"></div>\n <div data-provider="google" data-font-family="'Press Start 2P', cursive" data-font-display="swap"><div></div><img src="${t}press_start_2p.png"></div>\n <div data-provider="google" data-font-family="Prosto One, cursive"><div></div><img src="${t}prosto_one.png"></div>\n <div data-provider="google" data-font-family="PT Mono, monospace"><div></div><img src="${t}pt_mono.png"></div>\n <div data-provider="google" data-font-family="PT Sans, sans-serif" data-font-style="400,400i,700,700i"><div></div><img src="${t}pt_sans.png"></div>\n <div data-provider="google" data-font-family="PT Sans Caption, sans-serif" data-font-style="400,700"><div></div><img src="${t}pt_sans_caption.png"></div>\n <div data-provider="google" data-font-family="PT Sans Narrow, sans-serif" data-font-style="400,700"><div></div><img src="${t}pt_sans_narrow.png"></div>\n <div data-provider="google" data-font-family="PT Serif, serif" data-font-style="400,700"><div></div><img src="${t}pt_serif.png"></div>\n <div data-provider="google" data-font-family="PT Serif Caption, serif" data-font-style="400,700"><div></div><img src="${t}pt_serif_caption.png"></div>\n <div data-provider="google" data-font-family="Quattrocento Sans, sans-serif"><div></div><img src="${t}quattrocento_sans.png"></div>\n <div data-provider="google" data-font-family="Quattrocento, serif"><div></div><img src="${t}quattrocento.png"></div>\n <div data-provider="google" data-font-family="Quicksand, sans-serif"><div></div><img src="${t}quicksand.png"></div>\n <div data-provider="google" data-font-family="Qwigley, cursive"><div></div><img src="${t}qwigley.png"></div>\n <div data-provider="google" data-font-family="Raleway, sans-serif" data-font-style="100"><div></div><img src="${t}raleway.png"></div>\n <div data-provider="google" data-font-family="Raleway Dots, sans-serif"><div></div><img src="${t}raleway_dots.png"></div>\n <div data-provider="google" data-font-family="Redressed, cursive"><div></div><img src="${t}redressed.png"></div>\n <div data-provider="google" data-font-family="Ribeye Marrow, cursive"><div></div><img src="${t}ribeye_marrow.png"></div>\n <div data-provider="google" data-font-family="Righteous, cursive"><div></div><img src="${t}righteous.png"></div>\n <div data-provider="google" data-font-family="Roboto, sans-serif" data-font-style="300"><div></div><img src="${t}roboto.png"></div>\n <div data-provider="google" data-font-family="Roboto Condensed, sans-serif" data-font-style="300,300i,700,700i"><div></div><img src="${t}roboto_condensed.png"></div>\n <div data-provider="google" data-font-family="Roboto Mono, monospace" data-font-style="300,700"><div></div><img src="${t}roboto_mono.png"></div>\n <div data-provider="google" data-font-family="Roboto Slab, serif" data-font-style="200,600,700,800,900"><div></div><img src="${t}roboto_slab.png"></div>\n <div data-provider="google" data-font-family="Rochester, cursive"><div></div><img src="${t}rochester.png"></div>\n <div data-provider="google" data-font-family="Rouge Script, cursive"><div></div><img src="${t}rouge_script.png"></div>\n <div data-provider="google" data-font-family="Rubik, sans-serif" data-font-style="300,300i,500,500i,700,700i,900,900i"><div></div><img src="${t}rubik.png"></div>\n <div data-provider="google" data-font-family="Rubik Mono One, sans-serif"><div></div><img src="${t}rubik_mono_one.png"></div>\n <div data-provider="google" data-font-family="Ruslan Display, cursive"><div></div><img src="${t}ruslan_display.png"></div>\n <div data-provider="google" data-font-family="Russo One, sans-serif"><div></div><img src="${t}russo_one.png"></div>\n <div data-provider="google" data-font-family="Sacramento, cursive"><div></div><img src="${t}sacramento.png"></div>\n <div data-provider="google" data-font-family="Sanchez, serif"><div></div><img src="${t}sanchez.png"></div>\n <div data-provider="google" data-font-family="Satisfy, cursive"><div></div><img src="${t}satisfy.png"></div>\n <div data-provider="google" data-font-family="Sawarabi Gothic, sans-serif"><div></div><img src="${t}sawarabi_gothic.png"></div>\n <div data-provider="google" data-font-family="Scada, sans-serif" data-font-style="400,400i,700,700i"><div></div><img src="${t}scada.png"></div>\n <div data-provider="google" data-font-family="Seaweed Script, cursive"><div></div><img src="${t}seaweed_script.png"></div>\n <div data-provider="google" data-font-family="Seymour One, sans-serif"><div></div><img src="${t}seymour_one.png"></div>\n <div data-provider="google" data-font-family="Shadows Into Light Two, cursive"><div></div><img src="${t}shadows_into_light_two.png"></div>\n <div data-provider="google" data-font-family="Six Caps, sans-serif"><div></div><img src="${t}six_caps.png"></div>\n <div data-provider="google" data-font-family="Snowburst One, cursive"><div></div><img src="${t}snowburst_one.png"></div>\n <div data-provider="google" data-font-family="Source Code Pro, monospace" data-font-style="300,700"><div></div><img src="${t}source_code_pro.png"></div>\n <div data-provider="google" data-font-family="Source Sans Pro, sans-serif" data-font-style="200"><div></div><img src="${t}source_sans_pro.png"></div>\n <div data-provider="google" data-font-family="Special Elite, cursive"><div></div><img src="${t}special_elite.png"></div>\n <div data-provider="google" data-font-family="Spectral, serif" data-font-style="200,200i,600,600i,700,700i,800,800i"><div></div><img src="${t}spectral.png"></div>\n <div data-provider="google" data-font-family="Spectral SC, serif" data-font-style="300,300i,600,600i,700,700i,800,800i"><div></div><img src="${t}spectral_sc.png"></div>\n <div data-provider="google" data-font-family="Squada One, cursive"><div></div><img src="${t}squada_one.png"></div>\n <div data-provider="google" data-font-family="Stalinist One, cursive"><div></div><img src="${t}stalinist_one.png"></div>\n <div data-provider="google" data-font-family="Stint Ultra Expanded, cursive"><div></div><img src="${t}stint_ultra_expanded.png"></div>\n <div data-provider="google" data-font-family="Syncopate, sans-serif"><div></div><img src="${t}syncopate.png"></div>\n <div data-provider="google" data-font-family="Tangerine, cursive"><div></div><img src="${t}tangerine.png"></div>\n <div data-provider="google" data-font-family="Tenor Sans, sans-serif"><div></div><img src="${t}tenor_sans.png"></div>\n <div data-provider="google" data-font-family="Tinos, serif" data-font-style="400,400i,700,700i"><div></div><img src="${t}tinos.png"></div>\n <div data-provider="google" data-font-family="Ubuntu, sans-serif" data-font-style="300,300i,500,500i,700,700i"><div></div><img src="${t}ubuntu.png"></div>\n <div data-provider="google" data-font-family="Ubuntu Condensed, sans-serif"><div></div><img src="${t}ubuntu_condensed.png"></div>\n <div data-provider="google" data-font-family="Ubuntu Mono, monospace" data-font-style="400,700"><div></div><img src="${t}ubuntu_mono.png"></div>\n <div data-provider="google" data-font-family="Underdog, cursive"><div></div><img src="${t}underdog.png"></div>\n <div data-provider="google" data-font-family="UnifrakturMaguntia, cursive"><div></div><img src="${t}unifrakturmaguntia.png"></div>\n <div data-provider="google" data-font-family="Vast Shadow, cursive"><div></div><img src="${t}vast_shadow.png"></div>\n <div data-provider="google" data-font-family="Viga, sans-serif"><div></div><img src="${t}viga.png"></div>\n <div data-provider="google" data-font-family="Vollkorn, serif" data-font-style="400,400i,600,600i,700,700i,900,900i"><div></div><img src="${t}vollkorn.png"></div>\n <div data-provider="google" data-font-family="Vollkorn SC, serif" data-font-style="400,600,700,900"><div></div><img src="${t}vollkorn_sc.png"></div>\n <div data-provider="google" data-font-family="Voltaire, sans-serif"><div></div><img src="${t}voltaire.png"></div>\n <div data-provider="google" data-font-family="Wire One, sans-serif"><div></div><img src="${t}wire_one.png"></div>\n <div data-provider="google" data-font-family="Yanone Kaffeesatz, sans-serif" data-font-style="300,700"><div></div><img src="${t}yanone_kaffeesatz.png"></div>\n <div data-provider="google" data-font-family="Yeseva One, cursive"><div></div><img src="${t}yeseva_one.png"></div>\n `,e}getFontFamilyHTML(t){return`\n <!DOCTYPE HTML>\n <html>\n <head>\n <meta charset="utf-8">\n <title>Fonts</title>\n <meta name="viewport" content="width=device-width, initial-scale=1">\n <meta name="description" content=""> \n <style id="mainstyle">\n html, body {height:100%}\n body {overflow:hidden;margin:0;\n font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;\n font-size:100%; \n line-height:1.7;\n }\n #divFontList {margin:0;padding:0 0 9px 9px;height:100%;overflow-y:scroll !important;box-sizing:border-box;}\n #divFontList > div {width:100%;cursor:pointer;overflow:hidden;text-align:center;position:relative;}\n #divFontList > div img {margin:7px 5px 0px 5px;max-width: 230px;max-height: 27px;}\n #divFontList > div div {position:absolute;top:0;left:0;width:100%;height:100%;}\n\n #divFontList > div > div {\n position:absolute;left:0px;top:0px;width:100%;height:100%;\n // z-index: 1;\n }\n\n #divFontList > div {\n color: ${t?this.builder.styleModalColor:this.builder.styleButtonColor};\n background: ${t?this.builder.styleModalBackground:this.builder.styleToolBackground};\n }\n #divFontList > div > div:after {\n // background: rgba(0, 0, 0, 0.04); \n background: ${t?this.builder.styleButtonClassicBackgroundHover:this.builder.styleButtonBackgroundHover};\n position: absolute;\n content: "";\n display: block;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n opacity: 0;\n }\n #divFontList > div:hover > div:after {\n opacity: 1;\n }\n #divFontList > div.on > div:after {\n opacity: 1;\n }\n\n ${this.builder.styleDark||this.builder.styleColoredDark||this.builder.styleColore?"":"\n #divFontList > div img {\n mix-blend-mode: multiply;\n }\n "}\n\n .dark #divFontList > div img {\n ${t?"":"mix-blend-mode: screen;"};\n filter: invert(1);\n }\n .dark #divFontList > div {\n color: ${t?this.builder.styleModalColor:this.builder.styleButtonColor};\n background: ${t?this.builder.styleModalBackground:this.builder.styleToolBackground};\n }\n .dark #divFontList > div > div:after {\n background: ${t?this.builder.styleButtonClassicBackgroundHover:this.builder.styleButtonBackgroundHover};\n }\n \n .colored-dark #divFontList > div img {\n ${t?"":"mix-blend-mode: screen;"};\n ${t?"":"filter: invert(1);"};\n }\n .colored-dark #divFontList > div {\n color: ${t?this.builder.styleModalColor:this.builder.styleButtonColor};\n background: ${t?this.builder.styleModalBackground:this.builder.styleToolBackground};\n }\n .colored-dark #divFontList > div > div:after {\n background: ${t?this.builder.styleButtonClassicBackgroundHover:this.builder.styleButtonBackgroundHover};\n }\n\n\n .colored #divFontList > div img {\n ${t?"":"mix-blend-mode: screen;"};\n ${t?"":"filter: invert(1);"};\n }\n .colored #divFontList > div {\n color: ${t?this.builder.styleModalColor:this.builder.styleButtonColor};\n background: ${t?this.builder.styleModalBackground:this.builder.styleToolBackground};\n }\n .colored #divFontList > div > div:after {\n background: ${t?this.builder.styleButtonClassicBackgroundHover:this.builder.styleButtonBackgroundHover};\n }\n\n\n /* Scrollbar for toolbar/RTE and modal */\n\n .dark * {\n scrollbar-width: thin;\n scrollbar-color: rgba(255, 255, 255, 0.3) auto;\n }\n .dark *::-webkit-scrollbar {\n width: 12px;\n }\n .dark *::-webkit-scrollbar-track {\n background: transparent;\n }\n .dark *::-webkit-scrollbar-thumb {\n background-color:rgba(255, 255, 255, 0.3);\n } \n\n .colored-dark * {\n scrollbar-width: thin;\n scrollbar-color: rgb(100, 100, 100) auto;\n }\n .colored-dark *::-webkit-scrollbar {\n width: 12px;\n }\n .colored-dark *::-webkit-scrollbar-track {\n background: transparent;\n }\n .colored-dark *::-webkit-scrollbar-thumb {\n background-color:rgb(100, 100, 100);\n } \n\n .colored * {\n scrollbar-width: thin;\n scrollbar-color: rgba(0, 0, 0, 0.4) auto;\n }\n .colored *::-webkit-scrollbar {\n width: 12px;\n }\n .colored *::-webkit-scrollbar-track {\n background: transparent;\n }\n .colored *::-webkit-scrollbar-thumb {\n background-color: rgba(0, 0, 0, 0.4);\n } \n\n .light * {\n scrollbar-width: thin;\n scrollbar-color: rgba(0, 0, 0, 0.4) auto;\n }\n .light *::-webkit-scrollbar {\n width: 12px;\n }\n .light *::-webkit-scrollbar-track {\n background: transparent;\n }\n .light *::-webkit-scrollbar-thumb {\n background-color: rgba(0, 0, 0, 0.4);\n } \n </style>\n\n </head>\n <body${this.builder.styleDark?' class="dark"':""}${this.builder.styleColored?' class="colored"':""}${this.builder.styleColoredDark?' class="colored-dark"':""}${this.builder.styleLight?' class="light"':""}>\n\n <div id="divFontList">\n ${this.getFontPreview()}\n </div>\n\n <script type="text/javascript">\n var elms = document.querySelectorAll('#divFontList > div');\n for(var i=0;i<elms.length;i++) {\n elms[i].addEventListener('click', function(e){\n\n var elm = e.target.parentNode;\n var on = false;\n if(elm.className) {\n if(elm.className.indexOf('on')!==-1) {\n on = true;\n }\n }\n if(on) {\n parent._cb.clearFont();\n } else {\n var provider = elm.getAttribute('data-provider');\n var fontfamily = elm.getAttribute('data-font-family');\n var fontstyle = elm.getAttribute('data-font-style');\n var fontdisplay = elm.getAttribute('data-font-display');\n //parent._cb.applyFont(fontfamily, fontstyle, provider);\n parent._cb.setFont(fontfamily, fontstyle, fontdisplay, provider);\n }\n\n });\n }\n <\/script>\n \n </body>\n </html>\n \n \n `}getFontFamilyEmail(t){let e=this.builder.fontAssetPath;return`\n <!DOCTYPE HTML>\n <html>\n <head>\n <meta charset="utf-8">\n <title>Fonts</title>\n <meta name="viewport" content="width=device-width, initial-scale=1">\n <meta name="description" content=""> \n <style>\n html, body {height:100%}\n body {overflow:hidden;margin:0;\n font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;\n font-size:100%; \n line-height:1.7;\n }\n #divFontList {margin:0;padding:0 0 9px 9px;height:100%;overflow-y:scroll !important;box-sizing:border-box;}\n #divFontList > div {width:100%;cursor:pointer;overflow:hidden;text-align:center;position:relative;}\n #divFontList > div img {margin:7px 5px 0px 5px;max-width: 230px;max-height: 27px;}\n #divFontList > div div {position:absolute;top:0;left:0;width:100%;height:100%;}\n\n #divFontList > div > div {\n position:absolute;left:0px;top:0px;width:100%;height:100%;\n // z-index: 1;\n }\n\n #divFontList > div {\n color: ${t?this.builder.styleModalColor:this.builder.styleButtonColor};\n background: ${t?this.builder.styleModalBackground:this.builder.styleToolBackground};\n }\n #divFontList > div > div:after {\n // background: rgba(0, 0, 0, 0.04); \n background: ${t?this.builder.styleButtonClassicBackgroundHover:this.builder.styleButtonBackgroundHover};\n position: absolute;\n content: "";\n display: block;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n opacity: 0;\n }\n #divFontList > div:hover > div:after {\n opacity: 1;\n }\n #divFontList > div.on > div:after {\n opacity: 1;\n }\n\n ${this.builder.styleDark||this.builder.styleColoredDark||this.builder.styleColore?"":"\n #divFontList > div img {\n mix-blend-mode: multiply;\n }\n "}\n\n .dark #divFontList > div img {\n ${t?"":"mix-blend-mode: screen;"};\n filter: invert(1);\n }\n .dark #divFontList > div {\n color: ${t?this.builder.styleModalColor:this.builder.styleButtonColor};\n background: ${t?this.builder.styleModalBackground:this.builder.styleToolBackground};\n }\n .dark #divFontList > div > div:after {\n background: ${t?this.builder.styleButtonClassicBackgroundHover:this.builder.styleButtonBackgroundHover};\n }\n \n .colored-dark #divFontList > div img {\n ${t?"":"mix-blend-mode: screen;"};\n ${t?"":"filter: invert(1);"};\n }\n .colored-dark #divFontList > div {\n color: ${t?this.builder.styleModalColor:this.builder.styleButtonColor};\n background: ${t?this.builder.styleModalBackground:this.builder.styleToolBackground};\n }\n .colored-dark #divFontList > div > div:after {\n background: ${t?this.builder.styleButtonClassicBackgroundHover:this.builder.styleButtonBackgroundHover};\n }\n\n\n .colored #divFontList > div img {\n ${t?"":"mix-blend-mode: screen;"};\n ${t?"":"filter: invert(1);"};\n }\n .colored #divFontList > div {\n color: ${t?this.builder.styleModalColor:this.builder.styleButtonColor};\n background: ${t?this.builder.styleModalBackground:this.builder.styleToolBackground};\n }\n .colored #divFontList > div > div:after {\n background: ${t?this.builder.styleButtonClassicBackgroundHover:this.builder.styleButtonBackgroundHover};\n }\n\n\n /* Scrollbar for toolbar/RTE and modal */\n\n .dark * {\n scrollbar-width: thin;\n scrollbar-color: rgba(255, 255, 255, 0.3) auto;\n }\n .dark *::-webkit-scrollbar {\n width: 12px;\n }\n .dark *::-webkit-scrollbar-track {\n background: transparent;\n }\n .dark *::-webkit-scrollbar-thumb {\n background-color:rgba(255, 255, 255, 0.3);\n } \n\n .colored-dark * {\n scrollbar-width: thin;\n scrollbar-color: rgb(100, 100, 100) auto;\n }\n .colored-dark *::-webkit-scrollbar {\n width: 12px;\n }\n .colored-dark *::-webkit-scrollbar-track {\n background: transparent;\n }\n .colored-dark *::-webkit-scrollbar-thumb {\n background-color:rgb(100, 100, 100);\n } \n\n .colored * {\n scrollbar-width: thin;\n scrollbar-color: rgba(0, 0, 0, 0.4) auto;\n }\n .colored *::-webkit-scrollbar {\n width: 12px;\n }\n .colored *::-webkit-scrollbar-track {\n background: transparent;\n }\n .colored *::-webkit-scrollbar-thumb {\n background-color: rgba(0, 0, 0, 0.4);\n } \n\n .light * {\n scrollbar-width: thin;\n scrollbar-color: rgba(0, 0, 0, 0.4) auto;\n }\n .light *::-webkit-scrollbar {\n width: 12px;\n }\n .light *::-webkit-scrollbar-track {\n background: transparent;\n }\n .light *::-webkit-scrollbar-thumb {\n background-color: rgba(0, 0, 0, 0.4);\n } \n </style>\n </head>\n <body${this.builder.styleDark?' class="dark"':""}${this.builder.styleColored?' class="colored"':""}${this.builder.styleColoredDark?' class="colored-dark"':""}${this.builder.styleLight?' class="light"':""}>\n\n <div id="divFontList">\n <div data-provider="" data-font-family="" style="font-size:12px;padding:10px 7px;box-sizing:border-box;"><div></div>None</div>\n <div data-provider="" data-font-family="Arial, sans-serif"><div></div><img src="${e}arial.png"></div>\n <div data-provider="" data-font-family="courier"><div></div><img src="${e}courier.png"></div>\n <div data-provider="" data-font-family="Georgia, serif"><div></div><img src="${e}georgia.png"></div>\n <div data-provider="" data-font-family="monospace"><div></div><img src="${e}monospace.png"></div>\n <div data-provider="" data-font-family="sans-serif"><div></div><img src="${e}sans_serif.png"></div>\n <div data-provider="" data-font-family="serif"><div></div><img src="${e}serif.png"></div>\n </div>\n\n <script type="text/javascript">\n var elms = document.querySelectorAll('#divFontList > div');\n for(var i=0;i<elms.length;i++) {\n elms[i].addEventListener('click', function(e){\n\n var elm = e.target.parentNode;\n var on = false;\n if(elm.className) {\n if(elm.className.indexOf('on')!==-1) {\n on = true;\n }\n }\n if(on) {\n parent._cb.clearFont();\n } else {\n var provider = elm.getAttribute('data-provider');\n var fontfamily = elm.getAttribute('data-font-family');\n var fontstyle = elm.getAttribute('data-font-style');\n var fontdisplay = elm.getAttribute('data-font-display');\n //parent._cb.applyFont(fontfamily, fontstyle, provider);\n parent._cb.setFont(fontfamily, fontstyle, fontdisplay, provider);\n }\n\n });\n }\n\n <\/script>\n \n </body>\n </html>\n \n \n `}}class e{createElement(t){return document.createElement(t)}appendChild(t,e){t&&t.appendChild(e)}appendHtml(t,e){t&&t.insertAdjacentHTML("beforeend",e)}addEventListener(t,e,i){t&&t.addEventListener(e,i)}addClass(t,e){t&&(this.hasClass(t,e)||(0===t.classList.length?t.className=e:t.className=t.className+" "+e,t.className=t.className.replace(/ +/g," ")))}removeClass(t,e){if(t&&t.classList.length>0){let i,n,o,r,s=e.split(" ");for(i=0,o=s.length;i<o;++i){if(!s[i])continue;let e=s[i],o="",a=t.className.split(" ");for(n=0,r=a.length;n<r;++n)a[n]&&a[n]!==e&&(o+=a[n]+" ");t.className=o.trim()}""===t.className&&t.removeAttribute("class")}}hasClass(t,e){if(!t)return!1;try{let i=t.getAttribute("class");return new RegExp("\\b"+e+"\\b").test(i)}catch(t){}}moveAfter(t,e){e.parentNode.insertBefore(t,e),e.parentNode.insertBefore(e,e.previousElementSibling)}elementChildren(t){const e=t.childNodes;let i=[],n=e.length;for(;n--;)1===e[n].nodeType&&i.unshift(e[n]);return i}parentsHasClass(t,e){for(;t;){if(!t.tagName)return!1;if("BODY"===t.tagName||"HTML"===t.tagName)return!1;if(this.hasClass(t,e))return!0;t=t.parentNode}}parentsHasId(t,e){for(;t;){if(!t.tagName)return!1;if("BODY"===t.tagName||"HTML"===t.tagName)return!1;if(t.id===e)return!0;t=t.parentNode}}parentsHasTag(t,e){for(;t;){if(!t.tagName)return!1;if("BODY"===t.tagName||"HTML"===t.tagName)return!1;if(t.tagName.toLowerCase()===e.toLowerCase())return!0;t=t.parentNode}}parentsHasAttribute(t,e){for(;t;){if(!t.tagName)return!1;if("BODY"===t.tagName||"HTML"===t.tagName)return!1;try{if(t.hasAttribute(e))return!0}catch(t){}t=t.parentNode}}parentsHasElement(t,e){for(;t;){if(!t.tagName)return!1;if("BODY"===t.tagName||"HTML"===t.tagName)return!1;if(!(t=t.parentNode))return!1;if(!t.tagName)return!1;if(t.tagName.toLowerCase()===e)return!0}}getParentElement(t,e){for(;t;){if(!t.tagName)return!1;if("BODY"===t.tagName||"HTML"===t.tagName)return!1;if(!(t=t.parentNode))return!1;if(!t.tagName)return!1;if(t.tagName.toLowerCase()===e)return t}}removeClasses(t,e){for(let i=0;i<t.length;i++)t[i].classList.remove(e)}removeAttributes(t,e){for(let i=0;i<t.length;i++)t[i].removeAttribute(e)}removeElements(t){Array.prototype.forEach.call(t,(t=>{t.parentNode.removeChild(t)}))}moveCursorToElement(t){var e,i;window.getSelection&&document.createRange?((i=document.createRange()).selectNodeContents(t),i.collapse(!1),(e=window.getSelection()).removeAllRanges(),e.addRange(i)):document.body.createTextRange&&((i=document.body.createTextRange()).moveToElementText(t),i.collapse(!1),i.select())}selectElementContents(t){var e=document.createRange();e.selectNodeContents(t);var i=window.getSelection();i.removeAllRanges(),i.addRange(e)}getSelected(){if(window.getSelection)return window.getSelection().toString();if(document.getSelection)return document.getSelection().toString();var t=document.selection&&document.selection.createRange();return!!t.text&&t.text}checkEditable(){try{var t,e;return window.getSelection?t=3===(e=window.getSelection().getRangeAt(0).commonAncestorContainer).nodeType?e.parentNode:e:document.selection&&(e=document.selection.createRange(),t=document.selection.createRange().parentElement()),!!this.parentsHasAttribute(t,"contenteditable")}catch(t){return!1}}textSelection(){try{var t,e=window.getSelection().getRangeAt(0).commonAncestorContainer;if(3===e.nodeType)return t=e.parentNode,!!this.parentsHasClass(t,"is-builder")&&t;var i=(t=e).nodeName.toLowerCase();return("i"===i&&""===t.innerHTML&&this.parentsHasClass(t,"is-builder")||"p"===i||"h1"===i||"h2"===i||"h3"===i||"h4"===i||"h5"===i||"h6"===i||"li"===i||"pre"===i||"blockquote"===i)&&t}catch(t){return!1}}getStyle(t,e){return window.getComputedStyle?window.getComputedStyle(t,null).getPropertyValue(e):t.style[e.replace(/-([a-z])/g,(function(t){return t[1].toUpperCase()}))]}doFunction(t,e,i){if(e(t),i){let i=Array.prototype.slice.call(t.getElementsByTagName("*"));for(var n=0;n<i.length;n++)e(i[n])}}}function i(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var n={exports:{}},o={},r={exports:{}},s={},a={};function l(t){this.__parent=t,this.__character_count=0,this.__indent_count=-1,this.__alignment_count=0,this.__wrap_point_index=0,this.__wrap_point_character_count=0,this.__wrap_point_indent_count=-1,this.__wrap_point_alignment_count=0,this.__items=[]}function d(t,e){this.__cache=[""],this.__indent_size=t.indent_size,this.__indent_string=t.indent_char,t.indent_with_tabs||(this.__indent_string=new Array(t.indent_size+1).join(t.indent_char)),e=e||"",t.indent_level>0&&(e=new Array(t.indent_level+1).join(this.__indent_string)),this.__base_string=e,this.__base_string_length=e.length}function c(t,e){this.__indent_cache=new d(t,e),this.raw=!1,this._end_with_newline=t.end_with_newline,this.indent_size=t.indent_size,this.wrap_line_length=t.wrap_line_length,this.indent_empty_lines=t.indent_empty_lines,this.__lines=[],this.previous_line=null,this.current_line=null,this.next_line=new l(this),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1,this.__add_outputline()}l.prototype.clone_empty=function(){var t=new l(this.__parent);return t.set_indent(this.__indent_count,this.__alignment_count),t},l.prototype.item=function(t){return t<0?this.__items[this.__items.length+t]:this.__items[t]},l.prototype.has_match=function(t){for(var e=this.__items.length-1;e>=0;e--)if(this.__items[e].match(t))return!0;return!1},l.prototype.set_indent=function(t,e){this.is_empty()&&(this.__indent_count=t||0,this.__alignment_count=e||0,this.__character_count=this.__parent.get_indent_size(this.__indent_count,this.__alignment_count))},l.prototype._set_wrap_point=function(){this.__parent.wrap_line_length&&(this.__wrap_point_index=this.__items.length,this.__wrap_point_character_count=this.__character_count,this.__wrap_point_indent_count=this.__parent.next_line.__indent_count,this.__wrap_point_alignment_count=this.__parent.next_line.__alignment_count)},l.prototype._should_wrap=function(){return this.__wrap_point_index&&this.__character_count>this.__parent.wrap_line_length&&this.__wrap_point_character_count>this.__parent.next_line.__character_count},l.prototype._allow_wrap=function(){if(this._should_wrap()){this.__parent.add_new_line();var t=this.__parent.current_line;return t.set_indent(this.__wrap_point_indent_count,this.__wrap_point_alignment_count),t.__items=this.__items.slice(this.__wrap_point_index),this.__items=this.__items.slice(0,this.__wrap_point_index),t.__character_count+=this.__character_count-this.__wrap_point_character_count,this.__character_count=this.__wrap_point_character_count," "===t.__items[0]&&(t.__items.splice(0,1),t.__character_count-=1),!0}return!1},l.prototype.is_empty=function(){return 0===this.__items.length},l.prototype.last=function(){return this.is_empty()?null:this.__items[this.__items.length-1]},l.prototype.push=function(t){this.__items.push(t);var e=t.lastIndexOf("\n");-1!==e?this.__character_count=t.length-e:this.__character_count+=t.length},l.prototype.pop=function(){var t=null;return this.is_empty()||(t=this.__items.pop(),this.__character_count-=t.length),t},l.prototype._remove_indent=function(){this.__indent_count>0&&(this.__indent_count-=1,this.__character_count-=this.__parent.indent_size)},l.prototype._remove_wrap_indent=function(){this.__wrap_point_indent_count>0&&(this.__wrap_point_indent_count-=1)},l.prototype.trim=function(){for(;" "===this.last();)this.__items.pop(),this.__character_count-=1},l.prototype.toString=function(){var t="";return this.is_empty()?this.__parent.indent_empty_lines&&(t=this.__parent.get_indent_string(this.__indent_count)):(t=this.__parent.get_indent_string(this.__indent_count,this.__alignment_count),t+=this.__items.join("")),t},d.prototype.get_indent_size=function(t,e){var i=this.__base_string_length;return e=e||0,t<0&&(i=0),i+=t*this.__indent_size,i+=e},d.prototype.get_indent_string=function(t,e){var i=this.__base_string;return e=e||0,t<0&&(t=0,i=""),e+=t*this.__indent_size,this.__ensure_cache(e),i+=this.__cache[e]},d.prototype.__ensure_cache=function(t){for(;t>=this.__cache.length;)this.__add_column()},d.prototype.__add_column=function(){var t=this.__cache.length,e=0,i="";this.__indent_size&&t>=this.__indent_size&&(t-=(e=Math.floor(t/this.__indent_size))*this.__indent_size,i=new Array(e+1).join(this.__indent_string)),t&&(i+=new Array(t+1).join(" ")),this.__cache.push(i)},c.prototype.__add_outputline=function(){this.previous_line=this.current_line,this.current_line=this.next_line.clone_empty(),this.__lines.push(this.current_line)},c.prototype.get_line_number=function(){return this.__lines.length},c.prototype.get_indent_string=function(t,e){return this.__indent_cache.get_indent_string(t,e)},c.prototype.get_indent_size=function(t,e){return this.__indent_cache.get_indent_size(t,e)},c.prototype.is_empty=function(){return!this.previous_line&&this.current_line.is_empty()},c.prototype.add_new_line=function(t){return!(this.is_empty()||!t&&this.just_added_newline())&&(this.raw||this.__add_outputline(),!0)},c.prototype.get_code=function(t){this.trim(!0);var e=this.current_line.pop();e&&("\n"===e[e.length-1]&&(e=e.replace(/\n+$/g,"")),this.current_line.push(e)),this._end_with_newline&&this.__add_outputline();var i=this.__lines.join("\n");return"\n"!==t&&(i=i.replace(/[\n]/g,t)),i},c.prototype.set_wrap_point=function(){this.current_line._set_wrap_point()},c.prototype.set_indent=function(t,e){return t=t||0,e=e||0,this.next_line.set_indent(t,e),this.__lines.length>1?(this.current_line.set_indent(t,e),!0):(this.current_line.set_indent(),!1)},c.prototype.add_raw_token=function(t){for(var e=0;e<t.newlines;e++)this.__add_outputline();this.current_line.set_indent(-1),this.current_line.push(t.whitespace_before),this.current_line.push(t.text),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1},c.prototype.add_token=function(t){this.__add_space_before_token(),this.current_line.push(t),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=this.current_line._allow_wrap()},c.prototype.__add_space_before_token=function(){this.space_before_token&&!this.just_added_newline()&&(this.non_breaking_space||this.set_wrap_point(),this.current_line.push(" "))},c.prototype.remove_indent=function(t){for(var e=this.__lines.length;t<e;)this.__lines[t]._remove_indent(),t++;this.current_line._remove_wrap_indent()},c.prototype.trim=function(t){for(t=void 0!==t&&t,this.current_line.trim();t&&this.__lines.length>1&&this.current_line.is_empty();)this.__lines.pop(),this.current_line=this.__lines[this.__lines.length-1],this.current_line.trim();this.previous_line=this.__lines.length>1?this.__lines[this.__lines.length-2]:null},c.prototype.just_added_newline=function(){return this.current_line.is_empty()},c.prototype.just_added_blankline=function(){return this.is_empty()||this.current_line.is_empty()&&this.previous_line.is_empty()},c.prototype.ensure_empty_line_above=function(t,e){for(var i=this.__lines.length-2;i>=0;){var n=this.__lines[i];if(n.is_empty())break;if(0!==n.item(0).indexOf(t)&&n.item(-1)!==e){this.__lines.splice(i+1,0,new l(this)),this.previous_line=this.__lines[this.__lines.length-2];break}i--}},a.Output=c;var u={};u.Token=function(t,e,i,n){this.type=t,this.text=e,this.comments_before=null,this.newlines=i||0,this.whitespace_before=n||"",this.parent=null,this.next=null,this.previous=null,this.opened=null,this.closed=null,this.directives=null};var p,h,v,f,g,m={};h="\\x24\\x30-\\x39\\x41-\\x5a\\x5f\\x61-\\x7a",f="\\u0300-\\u036f\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u0620-\\u0649\\u0672-\\u06d3\\u06e7-\\u06e8\\u06fb-\\u06fc\\u0730-\\u074a\\u0800-\\u0814\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0840-\\u0857\\u08e4-\\u08fe\\u0900-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962-\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09d7\\u09df-\\u09e0\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2-\\u0ae3\\u0ae6-\\u0aef\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b56\\u0b57\\u0b5f-\\u0b60\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c01-\\u0c03\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62-\\u0c63\\u0c66-\\u0c6f\\u0c82\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2-\\u0ce3\\u0ce6-\\u0cef\\u0d02\\u0d03\\u0d46-\\u0d48\\u0d57\\u0d62-\\u0d63\\u0d66-\\u0d6f\\u0d82\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0df2\\u0df3\\u0e34-\\u0e3a\\u0e40-\\u0e45\\u0e50-\\u0e59\\u0eb4-\\u0eb9\\u0ec8-\\u0ecd\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f41-\\u0f47\\u0f71-\\u0f84\\u0f86-\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u1000-\\u1029\\u1040-\\u1049\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u170e-\\u1710\\u1720-\\u1730\\u1740-\\u1750\\u1772\\u1773\\u1780-\\u17b2\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u1810-\\u1819\\u1920-\\u192b\\u1930-\\u193b\\u1951-\\u196d\\u19b0-\\u19c0\\u19c8-\\u19c9\\u19d0-\\u19d9\\u1a00-\\u1a15\\u1a20-\\u1a53\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1b46-\\u1b4b\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c00-\\u1c22\\u1c40-\\u1c49\\u1c5b-\\u1c7d\\u1cd0-\\u1cd2\\u1d00-\\u1dbe\\u1e01-\\u1f15\\u200c\\u200d\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2d81-\\u2d96\\u2de0-\\u2dff\\u3021-\\u3028\\u3099\\u309a\\ua640-\\ua66d\\ua674-\\ua67d\\ua69f\\ua6f0-\\ua6f1\\ua7f8-\\ua800\\ua806\\ua80b\\ua823-\\ua827\\ua880-\\ua881\\ua8b4-\\ua8c4\\ua8d0-\\ua8d9\\ua8f3-\\ua8f7\\ua900-\\ua909\\ua926-\\ua92d\\ua930-\\ua945\\ua980-\\ua983\\ua9b3-\\ua9c0\\uaa00-\\uaa27\\uaa40-\\uaa41\\uaa4c-\\uaa4d\\uaa50-\\uaa59\\uaa7b\\uaae0-\\uaae9\\uaaf2-\\uaaf3\\uabc0-\\uabe1\\uabec\\uabed\\uabf0-\\uabf9\\ufb20-\\ufb28\\ufe00-\\ufe0f\\ufe20-\\ufe26\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f",g="(?:\\\\u[0-9a-fA-F]{4}|[\\x23\\x24\\x40\\x41-\\x5a\\x5f\\x61-\\x7a"+(v="\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05d0-\\u05ea\\u05f0-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u08a0\\u08a2-\\u08ac\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0977\\u0979-\\u097f\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c33\\u0c35-\\u0c39\\u0c3d\\u0c58\\u0c59\\u0c60\\u0c61\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d05-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d60\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e87\\u0e88\\u0e8a\\u0e8d\\u0e94-\\u0e97\\u0e99-\\u0e9f\\u0ea1-\\u0ea3\\u0ea5\\u0ea7\\u0eaa\\u0eab\\u0ead-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f4\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f0\\u1700-\\u170c\\u170e-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1877\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191c\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19c1-\\u19c7\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4b\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1ce9-\\u1cec\\u1cee-\\u1cf1\\u1cf5\\u1cf6\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2119-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u212d\\u212f-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2c2e\\u2c30-\\u2c5e\\u2c60-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u2e2f\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309d-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312d\\u3131-\\u318e\\u31a0-\\u31ba\\u31f0-\\u31ff\\u3400-\\u4db5\\u4e00-\\u9fcc\\ua000-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua697\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua78e\\ua790-\\ua793\\ua7a0-\\ua7aa\\ua7f8-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa80-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uabc0-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc")+"])",(p=m).identifier=new RegExp(g+"(?:\\\\u[0-9a-fA-F]{4}|[\\x24\\x30-\\x39\\x41-\\x5a\\x5f\\x61-\\x7a\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05d0-\\u05ea\\u05f0-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u08a0\\u08a2-\\u08ac\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0977\\u0979-\\u097f\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c33\\u0c35-\\u0c39\\u0c3d\\u0c58\\u0c59\\u0c60\\u0c61\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d05-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d60\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e87\\u0e88\\u0e8a\\u0e8d\\u0e94-\\u0e97\\u0e99-\\u0e9f\\u0ea1-\\u0ea3\\u0ea5\\u0ea7\\u0eaa\\u0eab\\u0ead-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f4\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f0\\u1700-\\u170c\\u170e-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1877\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191c\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19c1-\\u19c7\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4b\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1ce9-\\u1cec\\u1cee-\\u1cf1\\u1cf5\\u1cf6\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2119-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u212d\\u212f-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2c2e\\u2c30-\\u2c5e\\u2c60-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u2e2f\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309d-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312d\\u3131-\\u318e\\u31a0-\\u31ba\\u31f0-\\u31ff\\u3400-\\u4db5\\u4e00-\\u9fcc\\ua000-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua697\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua78e\\ua790-\\ua793\\ua7a0-\\ua7aa\\ua7f8-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa80-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uabc0-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc\\u0300-\\u036f\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u0620-\\u0649\\u0672-\\u06d3\\u06e7-\\u06e8\\u06fb-\\u06fc\\u0730-\\u074a\\u0800-\\u0814\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0840-\\u0857\\u08e4-\\u08fe\\u0900-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962-\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09d7\\u09df-\\u09e0\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2-\\u0ae3\\u0ae6-\\u0aef\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b56\\u0b57\\u0b5f-\\u0b60\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c01-\\u0c03\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62-\\u0c63\\u0c66-\\u0c6f\\u0c82\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2-\\u0ce3\\u0ce6-\\u0cef\\u0d02\\u0d03\\u0d46-\\u0d48\\u0d57\\u0d62-\\u0d63\\u0d66-\\u0d6f\\u0d82\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0df2\\u0df3\\u0e34-\\u0e3a\\u0e40-\\u0e45\\u0e50-\\u0e59\\u0eb4-\\u0eb9\\u0ec8-\\u0ecd\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f41-\\u0f47\\u0f71-\\u0f84\\u0f86-\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u1000-\\u1029\\u1040-\\u1049\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u170e-\\u1710\\u1720-\\u1730\\u1740-\\u1750\\u1772\\u1773\\u1780-\\u17b2\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u1810-\\u1819\\u1920-\\u192b\\u1930-\\u193b\\u1951-\\u196d\\u19b0-\\u19c0\\u19c8-\\u19c9\\u19d0-\\u19d9\\u1a00-\\u1a15\\u1a20-\\u1a53\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1b46-\\u1b4b\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c00-\\u1c22\\u1c40-\\u1c49\\u1c5b-\\u1c7d\\u1cd0-\\u1cd2\\u1d00-\\u1dbe\\u1e01-\\u1f15\\u200c\\u200d\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2d81-\\u2d96\\u2de0-\\u2dff\\u3021-\\u3028\\u3099\\u309a\\ua640-\\ua66d\\ua674-\\ua67d\\ua69f\\ua6f0-\\ua6f1\\ua7f8-\\ua800\\ua806\\ua80b\\ua823-\\ua827\\ua880-\\ua881\\ua8b4-\\ua8c4\\ua8d0-\\ua8d9\\ua8f3-\\ua8f7\\ua900-\\ua909\\ua926-\\ua92d\\ua930-\\ua945\\ua980-\\ua983\\ua9b3-\\ua9c0\\uaa00-\\uaa27\\uaa40-\\uaa41\\uaa4c-\\uaa4d\\uaa50-\\uaa59\\uaa7b\\uaae0-\\uaae9\\uaaf2-\\uaaf3\\uabc0-\\uabe1\\uabec\\uabed\\uabf0-\\uabf9\\ufb20-\\ufb28\\ufe00-\\ufe0f\\ufe20-\\ufe26\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f])*","g"),p.identifierStart=new RegExp(g),p.identifierMatch=new RegExp("(?:\\\\u[0-9a-fA-F]{4}|["+h+v+f+"])+"),p.newline=/[\n\r\u2028\u2029]/,p.lineBreak=new RegExp("\r\n|"+p.newline.source),p.allLineBreaks=new RegExp(p.lineBreak.source,"g");var b={},y={};function x(t,e){this.raw_options=_(t,e),this.disabled=this._get_boolean("disabled"),this.eol=this._get_characters("eol","auto"),this.end_with_newline=this._get_boolean("end_with_newline"),this.indent_size=this._get_number("indent_size",4),this.indent_char=this._get_characters("indent_char"," "),this.indent_level=this._get_number("indent_level"),this.preserve_newlines=this._get_boolean("preserve_newlines",!0),this.max_preserve_newlines=this._get_number("max_preserve_newlines",32786),this.preserve_newlines||(this.max_preserve_newlines=0),this.indent_with_tabs=this._get_boolean("indent_with_tabs","\t"===this.indent_char),this.indent_with_tabs&&(this.indent_char="\t",1===this.indent_size&&(this.indent_size=4)),this.wrap_line_length=this._get_number("wrap_line_length",this._get_number("max_char")),this.indent_empty_lines=this._get_boolean("indent_empty_lines"),this.templating=this._get_selection_list("templating",["auto","none","django","erb","handlebars","php","smarty"],["auto"])}function _(t,e){var i,n={};for(i in t=w(t))i!==e&&(n[i]=t[i]);if(e&&t[e])for(i in t[e])n[i]=t[e][i];return n}function w(t){var e,i={};for(e in t){i[e.replace(/-/g,"_")]=t[e]}return i}x.prototype._get_array=function(t,e){var i=this.raw_options[t],n=e||[];return"object"==typeof i?null!==i&&"function"==typeof i.concat&&(n=i.concat()):"string"==typeof i&&(n=i.split(/[^a-zA-Z0-9_\/\-]+/)),n},x.prototype._get_boolean=function(t,e){var i=this.raw_options[t];return void 0===i?!!e:!!i},x.prototype._get_characters=function(t,e){var i=this.raw_options[t],n=e||"";return"string"==typeof i&&(n=i.replace(/\\r/,"\r").replace(/\\n/,"\n").replace(/\\t/,"\t")),n},x.prototype._get_number=function(t,e){var i=this.raw_options[t];e=parseInt(e,10),isNaN(e)&&(e=0);var n=parseInt(i,10);return isNaN(n)&&(n=e),n},x.prototype._get_selection=function(t,e,i){var n=this._get_selection_list(t,e,i);if(1!==n.length)throw new Error("Invalid Option Value: The option '"+t+"' can only be one of the following values:\n"+e+"\nYou passed in: '"+this.raw_options[t]+"'");return n[0]},x.prototype._get_selection_list=function(t,e,i){if(!e||0===e.length)throw new Error("Selection list cannot be empty.");if(i=i||[e[0]],!this._is_valid_selection(i,e))throw new Error("Invalid Default Value!");var n=this._get_array(t,i);if(!this._is_valid_selection(n,e))throw new Error("Invalid Option Value: The option '"+t+"' can contain only the following values:\n"+e+"\nYou passed in: '"+this.raw_options[t]+"'");return n},x.prototype._is_valid_selection=function(t,e){return t.length&&e.length&&!t.some((function(t){return-1===e.indexOf(t)}))},y.Options=x,y.normalizeOpts=w,y.mergeOpts=_;var S=y.Options,C=["before-newline","after-newline","preserve-newline"];function k(t){S.call(this,t,"js");var e=this.raw_options.brace_style||null;"expand-strict"===e?this.raw_options.brace_style="expand":"collapse-preserve-inline"===e?this.raw_options.brace_style="collapse,preserve-inline":void 0!==this.raw_options.braces_on_own_line&&(this.raw_options.brace_style=this.raw_options.braces_on_own_line?"expand":"collapse");var i=this._get_selection_list("brace_style",["collapse","expand","end-expand","none","preserve-inline"]);this.brace_preserve_inline=!1,this.brace_style="collapse";for(var n=0;n<i.length;n++)"preserve-inline"===i[n]?this.brace_preserve_inline=!0:this.brace_style=i[n];this.unindent_chained_methods=this._get_boolean("unindent_chained_methods"),this.break_chained_methods=this._get_boolean("break_chained_methods"),this.space_in_paren=this._get_boolean("space_in_paren"),this.space_in_empty_paren=this._get_boolean("space_in_empty_paren"),this.jslint_happy=this._get_boolean("jslint_happy"),this.space_after_anon_function=this._get_boolean("space_after_anon_function"),this.space_after_named_function=this._get_boolean("space_after_named_function"),this.keep_array_indentation=this._get_boolean("keep_array_indentation"),this.space_before_conditional=this._get_boolean("space_before_conditional",!0),this.unescape_strings=this._get_boolean("unescape_strings"),this.e4x=this._get_boolean("e4x"),this.comma_first=this._get_boolean("comma_first"),this.operator_position=this._get_selection("operator_position",C),this.test_output_raw=this._get_boolean("test_output_raw"),this.jslint_happy&&(this.space_after_anon_function=!0)}k.prototype=new S,b.Options=k;var E={},L={},A=RegExp.prototype.hasOwnProperty("sticky");function q(t){this.__input=t||"",this.__input_length=this.__input.length,this.__position=0}q.prototype.restart=function(){this.__position=0},q.prototype.back=function(){this.__position>0&&(this.__position-=1)},q.prototype.hasNext=function(){return this.__position<this.__input_length},q.prototype.next=function(){var t=null;return this.hasNext()&&(t=this.__input.charAt(this.__position),this.__position+=1),t},q.prototype.peek=function(t){var e=null;return t=t||0,(t+=this.__position)>=0&&t<this.__input_length&&(e=this.__input.charAt(t)),e},q.prototype.__match=function(t,e){t.lastIndex=e;var i=t.exec(this.__input);return!i||A&&t.sticky||i.index!==e&&(i=null),i},q.prototype.test=function(t,e){return e=e||0,(e+=this.__position)>=0&&e<this.__input_length&&!!this.__match(t,e)},q.prototype.testChar=function(t,e){var i=this.peek(e);return t.lastIndex=0,null!==i&&t.test(i)},q.prototype.match=function(t){var e=this.__match(t,this.__position);return e?this.__position+=e[0].length:e=null,e},q.prototype.read=function(t,e,i){var n,o="";return t&&(n=this.match(t))&&(o+=n[0]),!e||!n&&t||(o+=this.readUntil(e,i)),o},q.prototype.readUntil=function(t,e){var i,n=this.__position;t.lastIndex=this.__position;var o=t.exec(this.__input);return o?(n=o.index,e&&(n+=o[0].length)):n=this.__input_length,i=this.__input.substring(this.__position,n),this.__position=n,i},q.prototype.readUntilAfter=function(t){return this.readUntil(t,!0)},q.prototype.get_regexp=function(t,e){var i=null,n="g";return e&&A&&(n="y"),"string"==typeof t&&""!==t?i=new RegExp(t,n):t&&(i=new RegExp(t.source,n)),i},q.prototype.get_literal_regexp=function(t){return RegExp(t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"))},q.prototype.peekUntilAfter=function(t){var e=this.__position,i=this.readUntilAfter(t);return this.__position=e,i},q.prototype.lookBack=function(t){var e=this.__position-1;return e>=t.length&&this.__input.substring(e-t.length,e).toLowerCase()===t},L.InputScanner=q;var T={},M={};function O(t){this.__tokens=[],this.__tokens_length=this.__tokens.length,this.__position=0,this.__parent_token=t}O.prototype.restart=function(){this.__position=0},O.prototype.isEmpty=function(){return 0===this.__tokens_length},O.prototype.hasNext=function(){return this.__position<this.__tokens_length},O.prototype.next=function(){var t=null;return this.hasNext()&&(t=this.__tokens[this.__position],this.__position+=1),t},O.prototype.peek=function(t){var e=null;return t=t||0,(t+=this.__position)>=0&&t<this.__tokens_length&&(e=this.__tokens[t]),e},O.prototype.add=function(t){this.__parent_token&&(t.parent=this.__parent_token),this.__tokens.push(t),this.__tokens_length+=1},M.TokenStream=O;var R={},N={};function B(t,e){this._input=t,this._starting_pattern=null,this._match_pattern=null,this._until_pattern=null,this._until_after=!1,e&&(this._starting_pattern=this._input.get_regexp(e._starting_pattern,!0),this._match_pattern=this._input.get_regexp(e._match_pattern,!0),this._until_pattern=this._input.get_regexp(e._until_pattern),this._until_after=e._until_after)}B.prototype.read=function(){var t=this._input.read(this._starting_pattern);return this._starting_pattern&&!t||(t+=this._input.read(this._match_pattern,this._until_pattern,this._until_after)),t},B.prototype.read_match=function(){return this._input.match(this._match_pattern)},B.prototype.until_after=function(t){var e=this._create();return e._until_after=!0,e._until_pattern=this._input.get_regexp(t),e._update(),e},B.prototype.until=function(t){var e=this._create();return e._until_after=!1,e._until_pattern=this._input.get_regexp(t),e._update(),e},B.prototype.starting_with=function(t){var e=this._create();return e._starting_pattern=this._input.get_regexp(t,!0),e._update(),e},B.prototype.matching=function(t){var e=this._create();return e._match_pattern=this._input.get_regexp(t,!0),e._update(),e},B.prototype._create=function(){return new B(this._input,this)},B.prototype._update=function(){},N.Pattern=B;var I=N.Pattern;function $(t,e){I.call(this,t,e),e?this._line_regexp=this._input.get_regexp(e._line_regexp):this.__set_whitespace_patterns("",""),this.newline_count=0,this.whitespace_before_token=""}$.prototype=new I,$.prototype.__set_whitespace_patterns=function(t,e){t+="\\t ",e+="\\n\\r",this._match_pattern=this._input.get_regexp("["+t+e+"]+",!0),this._newline_regexp=this._input.get_regexp("\\r\\n|["+e+"]")},$.prototype.read=function(){this.newline_count=0,this.whitespace_before_token="";var t=this._input.read(this._match_pattern);if(" "===t)this.whitespace_before_token=" ";else if(t){var e=this.__split(this._newline_regexp,t);this.newline_count=e.length-1,this.whitespace_before_token=e[this.newline_count]}return t},$.prototype.matching=function(t,e){var i=this._create();return i.__set_whitespace_patterns(t,e),i._update(),i},$.prototype._create=function(){return new $(this._input,this)},$.prototype.__split=function(t,e){t.lastIndex=0;for(var i=0,n=[],o=t.exec(e);o;)n.push(e.substring(i,o.index)),i=o.index+o[0].length,o=t.exec(e);return i<e.length?n.push(e.substring(i,e.length)):n.push(""),n},R.WhitespacePattern=$;var D=L.InputScanner,H=u.Token,z=M.TokenStream,P=R.WhitespacePattern,F={START:"TK_START",RAW:"TK_RAW",EOF:"TK_EOF"},U=function(t,e){this._input=new D(t),this._options=e||{},this.__tokens=null,this._patterns={},this._patterns.whitespace=new P(this._input)};U.prototype.tokenize=function(){var t;this._input.restart(),this.__tokens=new z,this._reset();for(var e=new H(F.START,""),i=null,n=[],o=new z;e.type!==F.EOF;){for(t=this._get_next_token(e,i);this._is_comment(t);)o.add(t),t=this._get_next_token(e,i);o.isEmpty()||(t.comments_before=o,o=new z),t.parent=i,this._is_opening(t)?(n.push(i),i=t):i&&this._is_closing(t,i)&&(t.opened=i,i.closed=t,i=n.pop(),t.parent=i),t.previous=e,e.next=t,this.__tokens.add(t),e=t}return this.__tokens},U.prototype._is_first_token=function(){return this.__tokens.isEmpty()},U.prototype._reset=function(){},U.prototype._get_next_token=function(t,e){this._readWhitespace();var i=this._input.read(/.+/g);return i?this._create_token(F.RAW,i):this._create_token(F.EOF,"")},U.prototype._is_comment=function(t){return!1},U.prototype._is_opening=function(t){return!1},U.prototype._is_closing=function(t,e){return!1},U.prototype._create_token=function(t,e){return new H(t,e,this._patterns.whitespace.newline_count,this._patterns.whitespace.whitespace_before_token)},U.prototype._readWhitespace=function(){return this._patterns.whitespace.read()},T.Tokenizer=U,T.TOKEN=F;var W={};function j(t,e){t="string"==typeof t?t:t.source,e="string"==typeof e?e:e.source,this.__directives_block_pattern=new RegExp(t+/ beautify( \w+[:]\w+)+ /.source+e,"g"),this.__directive_pattern=/ (\w+)[:](\w+)/g,this.__directives_end_ignore_pattern=new RegExp(t+/\sbeautify\signore:end\s/.source+e,"g")}j.prototype.get_directives=function(t){if(!t.match(this.__directives_block_pattern))return null;var e={};this.__directive_pattern.lastIndex=0;for(var i=this.__directive_pattern.exec(t);i;)e[i[1]]=i[2],i=this.__directive_pattern.exec(t);return e},j.prototype.readIgnored=function(t){return t.readUntilAfter(this.__directives_end_ignore_pattern)},W.Directives=j;var G={},X=N.Pattern,Y={django:!1,erb:!1,handlebars:!1,php:!1,smarty:!1};function V(t,e){X.call(this,t,e),this.__template_pattern=null,this._disabled=Object.assign({},Y),this._excluded=Object.assign({},Y),e&&(this.__template_pattern=this._input.get_regexp(e.__template_pattern),this._excluded=Object.assign(this._excluded,e._excluded),this._disabled=Object.assign(this._disabled,e._disabled));var i=new X(t);this.__patterns={handlebars_comment:i.starting_with(/{{!--/).until_after(/--}}/),handlebars_unescaped:i.starting_with(/{{{/).until_after(/}}}/),handlebars:i.starting_with(/{{/).until_after(/}}/),php:i.starting_with(/<\?(?:[= ]|php)/).until_after(/\?>/),erb:i.starting_with(/<%[^%]/).until_after(/[^%]%>/),django:i.starting_with(/{%/).until_after(/%}/),django_value:i.starting_with(/{{/).until_after(/}}/),django_comment:i.starting_with(/{#/).until_after(/#}/),smarty:i.starting_with(/{(?=[^}{\s\n])/).until_after(/[^\s\n]}/),smarty_comment:i.starting_with(/{\*/).until_after(/\*}/),smarty_literal:i.starting_with(/{literal}/).until_after(/{\/literal}/)}}V.prototype=new X,V.prototype._create=function(){return new V(this._input,this)},V.prototype._update=function(){this.__set_templated_pattern()},V.prototype.disable=function(t){var e=this._create();return e._disabled[t]=!0,e._update(),e},V.prototype.read_options=function(t){var e=this._create();for(var i in Y)e._disabled[i]=-1===t.templating.indexOf(i);return e._update(),e},V.prototype.exclude=function(t){var e=this._create();return e._excluded[t]=!0,e._update(),e},V.prototype.read=function(){var t="";t=this._match_pattern?this._input.read(this._starting_pattern):this._input.read(this._starting_pattern,this.__template_pattern);for(var e=this._read_template();e;)this._match_pattern?e+=this._input.read(this._match_pattern):e+=this._input.readUntil(this.__template_pattern),t+=e,e=this._read_template();return this._until_after&&(t+=this._input.readUntilAfter(this._until_pattern)),t},V.prototype.__set_templated_pattern=function(){var t=[];this._disabled.php||t.push(this.__patterns.php._starting_pattern.source),this._disabled.handlebars||t.push(this.__patterns.handlebars._starting_pattern.source),this._disabled.erb||t.push(this.__patterns.erb._starting_pattern.source),this._disabled.django||(t.push(this.__patterns.django._starting_pattern.source),t.push(this.__patterns.django_value._starting_pattern.source),t.push(this.__patterns.django_comment._starting_pattern.source)),this._disabled.smarty||t.push(this.__patterns.smarty._starting_pattern.source),this._until_pattern&&t.push(this._until_pattern.source),this.__template_pattern=this._input.get_regexp("(?:"+t.join("|")+")")},V.prototype._read_template=function(){var t="",e=this._input.peek();if("<"===e){var i=this._input.peek(1);this._disabled.php||this._excluded.php||"?"!==i||(t=t||this.__patterns.php.read()),this._disabled.erb||this._excluded.erb||"%"!==i||(t=t||this.__patterns.erb.read())}else"{"===e&&(this._disabled.handlebars||this._excluded.handlebars||(t=(t=(t=t||this.__patterns.handlebars_comment.read())||this.__patterns.handlebars_unescaped.read())||this.__patterns.handlebars.read()),this._disabled.django||(this._excluded.django||this._excluded.handlebars||(t=t||this.__patterns.django_value.read()),this._excluded.django||(t=(t=t||this.__patterns.django_comment.read())||this.__patterns.django.read())),this._disabled.smarty||this._disabled.django&&this._disabled.handlebars&&(t=(t=(t=t||this.__patterns.smarty_comment.read())||this.__patterns.smarty_literal.read())||this.__patterns.smarty.read()));return t},G.TemplatablePattern=V;var K=L.InputScanner,Z=T.Tokenizer,Q=T.TOKEN,J=W.Directives,tt=m,et=N.Pattern,it=G.TemplatablePattern;function nt(t,e){return-1!==e.indexOf(t)}var ot={START_EXPR:"TK_START_EXPR",END_EXPR:"TK_END_EXPR",START_BLOCK:"TK_START_BLOCK",END_BLOCK:"TK_END_BLOCK",WORD:"TK_WORD",RESERVED:"TK_RESERVED",SEMICOLON:"TK_SEMICOLON",STRING:"TK_STRING",EQUALS:"TK_EQUALS",OPERATOR:"TK_OPERATOR",COMMA:"TK_COMMA",BLOCK_COMMENT:"TK_BLOCK_COMMENT",COMMENT:"TK_COMMENT",DOT:"TK_DOT",UNKNOWN:"TK_UNKNOWN",START:Q.START,RAW:Q.RAW,EOF:Q.EOF},rt=new J(/\/\*/,/\*\//),st=/0[xX][0123456789abcdefABCDEF_]*n?|0[oO][01234567_]*n?|0[bB][01_]*n?|\d[\d_]*n|(?:\.\d[\d_]*|\d[\d_]*\.?[\d_]*)(?:[eE][+-]?[\d_]+)?/,at=/[0-9]/,lt=/[^\d\.]/,dt=">>> === !== << && >= ** != == <= >> || ?? |> < / - + > : & % ? ^ | *".split(" "),ct=">>>= ... >>= <<= === >>> !== **= => ^= :: /= << <= == && -= >= >> != -- += ** || ?? ++ %= &= *= |= |> = ! ? > < : / ^ - + * & % ~ |";ct=(ct="\\?\\.(?!\\d) "+(ct=ct.replace(/[-[\]{}()*+?.,\\^$|#]/g,"\\$&"))).replace(/ /g,"|");var ut,pt=new RegExp(ct),ht="continue,try,throw,return,var,let,const,if,switch,case,default,for,while,break,function,import,export".split(","),vt=ht.concat(["do","in","of","else","get","set","new","catch","finally","typeof","yield","async","await","from","as"]),ft=new RegExp("^(?:"+vt.join("|")+")$"),gt=function(t,e){Z.call(this,t,e),this._patterns.whitespace=this._patterns.whitespace.matching(/\u00A0\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff/.source,/\u2028\u2029/.source);var i=new et(this._input),n=new it(this._input).read_options(this._options);this.__patterns={template:n,identifier:n.starting_with(tt.identifier).matching(tt.identifierMatch),number:i.matching(st),punct:i.matching(pt),comment:i.starting_with(/\/\//).until(/[\n\r\u2028\u2029]/),block_comment:i.starting_with(/\/\*/).until_after(/\*\//),html_comment_start:i.matching(/<!--/),html_comment_end:i.matching(/-->/),include:i.starting_with(/#include/).until_after(tt.lineBreak),shebang:i.starting_with(/#!/).until_after(tt.lineBreak),xml:i.matching(/[\s\S]*?<(\/?)([-a-zA-Z:0-9_.]+|{[\s\S]+?}|!\[CDATA\[[\s\S]*?\]\]|)(\s+{[\s\S]+?}|\s+[-a-zA-Z:0-9_.]+|\s+[-a-zA-Z:0-9_.]+\s*=\s*('[^']*'|"[^"]*"|{[\s\S]+?}))*\s*(\/?)\s*>/),single_quote:n.until(/['\\\n\r\u2028\u2029]/),double_quote:n.until(/["\\\n\r\u2028\u2029]/),template_text:n.until(/[`\\$]/),template_expression:n.until(/[`}\\]/)}};(gt.prototype=new Z)._is_comment=function(t){return t.type===ot.COMMENT||t.type===ot.BLOCK_COMMENT||t.type===ot.UNKNOWN},gt.prototype._is_opening=function(t){return t.type===ot.START_BLOCK||t.type===ot.START_EXPR},gt.prototype._is_closing=function(t,e){return(t.type===ot.END_BLOCK||t.type===ot.END_EXPR)&&e&&("]"===t.text&&"["===e.text||")"===t.text&&"("===e.text||"}"===t.text&&"{"===e.text)},gt.prototype._reset=function(){ut=!1},gt.prototype._get_next_token=function(t,e){var i=null;this._readWhitespace();var n=this._input.peek();return null===n?this._create_token(ot.EOF,""):i=(i=(i=(i=(i=(i=(i=(i=(i=i||this._read_non_javascript(n))||this._read_string(n))||this._read_word(t))||this._read_singles(n))||this._read_comment(n))||this._read_regexp(n,t))||this._read_xml(n,t))||this._read_punctuation())||this._create_token(ot.UNKNOWN,this._input.next())},gt.prototype._read_word=function(t){var e;return""!==(e=this.__patterns.identifier.read())?(e=e.replace(tt.allLineBreaks,"\n"),t.type!==ot.DOT&&(t.type!==ot.RESERVED||"set"!==t.text&&"get"!==t.text)&&ft.test(e)?"in"===e||"of"===e?this._create_token(ot.OPERATOR,e):this._create_token(ot.RESERVED,e):this._create_token(ot.WORD,e)):""!==(e=this.__patterns.number.read())?this._create_token(ot.WORD,e):void 0},gt.prototype._read_singles=function(t){var e=null;return"("===t||"["===t?e=this._create_token(ot.START_EXPR,t):")"===t||"]"===t?e=this._create_token(ot.END_EXPR,t):"{"===t?e=this._create_token(ot.START_BLOCK,t):"}"===t?e=this._create_token(ot.END_BLOCK,t):";"===t?e=this._create_token(ot.SEMICOLON,t):"."===t&<.test(this._input.peek(1))?e=this._create_token(ot.DOT,t):","===t&&(e=this._create_token(ot.COMMA,t)),e&&this._input.next(),e},gt.prototype._read_punctuation=function(){var t=this.__patterns.punct.read();if(""!==t)return"="===t?this._create_token(ot.EQUALS,t):"?."===t?this._create_token(ot.DOT,t):this._create_token(ot.OPERATOR,t)},gt.prototype._read_non_javascript=function(t){var e="";if("#"===t){if(this._is_first_token()&&(e=this.__patterns.shebang.read()))return this._create_token(ot.UNKNOWN,e.trim()+"\n");if(e=this.__patterns.include.read())return this._create_token(ot.UNKNOWN,e.trim()+"\n");t=this._input.next();var i="#";if(this._input.hasNext()&&this._input.testChar(at)){do{i+=t=this._input.next()}while(this._input.hasNext()&&"#"!==t&&"="!==t);return"#"===t||("["===this._input.peek()&&"]"===this._input.peek(1)?(i+="[]",this._input.next(),this._input.next()):"{"===this._input.peek()&&"}"===this._input.peek(1)&&(i+="{}",this._input.next(),this._input.next())),this._create_token(ot.WORD,i)}this._input.back()}else if("<"===t&&this._is_first_token()){if(e=this.__patterns.html_comment_start.read()){for(;this._input.hasNext()&&!this._input.testChar(tt.newline);)e+=this._input.next();return ut=!0,this._create_token(ot.COMMENT,e)}}else if(ut&&"-"===t&&(e=this.__patterns.html_comment_end.read()))return ut=!1,this._create_token(ot.COMMENT,e);return null},gt.prototype._read_comment=function(t){var e=null;if("/"===t){var i="";if("*"===this._input.peek(1)){i=this.__patterns.block_comment.read();var n=rt.get_directives(i);n&&"start"===n.ignore&&(i+=rt.readIgnored(this._input)),i=i.replace(tt.allLineBreaks,"\n"),(e=this._create_token(ot.BLOCK_COMMENT,i)).directives=n}else"/"===this._input.peek(1)&&(i=this.__patterns.comment.read(),e=this._create_token(ot.COMMENT,i))}return e},gt.prototype._read_string=function(t){if("`"===t||"'"===t||'"'===t){var e=this._input.next();return this.has_char_escapes=!1,e+="`"===t?this._read_string_recursive("`",!0,"${"):this._read_string_recursive(t),this.has_char_escapes&&this._options.unescape_strings&&(e=function(t){var e="",i=0,n=new K(t),o=null;for(;n.hasNext();)if((o=n.match(/([\s]|[^\\]|\\\\)+/g))&&(e+=o[0]),"\\"===n.peek()){if(n.next(),"x"===n.peek())o=n.match(/x([0-9A-Fa-f]{2})/g);else{if("u"!==n.peek()){e+="\\",n.hasNext()&&(e+=n.next());continue}o=n.match(/u([0-9A-Fa-f]{4})/g)}if(!o)return t;if((i=parseInt(o[1],16))>126&&i<=255&&0===o[0].indexOf("x"))return t;if(i>=0&&i<32){e+="\\"+o[0];continue}e+=34===i||39===i||92===i?"\\"+String.fromCharCode(i):String.fromCharCode(i)}return e}(e)),this._input.peek()===t&&(e+=this._input.next()),e=e.replace(tt.allLineBreaks,"\n"),this._create_token(ot.STRING,e)}return null},gt.prototype._allow_regexp_or_xml=function(t){return t.type===ot.RESERVED&&nt(t.text,["return","case","throw","else","do","typeof","yield"])||t.type===ot.END_EXPR&&")"===t.text&&t.opened.previous.type===ot.RESERVED&&nt(t.opened.previous.text,["if","while","for"])||nt(t.type,[ot.COMMENT,ot.START_EXPR,ot.START_BLOCK,ot.START,ot.END_BLOCK,ot.OPERATOR,ot.EQUALS,ot.EOF,ot.SEMICOLON,ot.COMMA])},gt.prototype._read_regexp=function(t,e){if("/"===t&&this._allow_regexp_or_xml(e)){for(var i=this._input.next(),n=!1,o=!1;this._input.hasNext()&&(n||o||this._input.peek()!==t)&&!this._input.testChar(tt.newline);)i+=this._input.peek(),n?n=!1:(n="\\"===this._input.peek(),"["===this._input.peek()?o=!0:"]"===this._input.peek()&&(o=!1)),this._input.next();return this._input.peek()===t&&(i+=this._input.next(),i+=this._input.read(tt.identifier)),this._create_token(ot.STRING,i)}return null},gt.prototype._read_xml=function(t,e){if(this._options.e4x&&"<"===t&&this._allow_regexp_or_xml(e)){var i="",n=this.__patterns.xml.read_match();if(n){for(var o=n[2].replace(/^{\s+/,"{").replace(/\s+}$/,"}"),r=0===o.indexOf("{"),s=0;n;){var a=!!n[1],l=n[2];if(!(!!n[n.length-1]||"![CDATA["===l.slice(0,8))&&(l===o||r&&l.replace(/^{\s+/,"{").replace(/\s+}$/,"}"))&&(a?--s:++s),i+=n[0],s<=0)break;n=this.__patterns.xml.read_match()}return n||(i+=this._input.match(/[\s\S]*/g)[0]),i=i.replace(tt.allLineBreaks,"\n"),this._create_token(ot.STRING,i)}}return null},gt.prototype._read_string_recursive=function(t,e,i){var n,o;"'"===t?o=this.__patterns.single_quote:'"'===t?o=this.__patterns.double_quote:"`"===t?o=this.__patterns.template_text:"}"===t&&(o=this.__patterns.template_expression);for(var r=o.read(),s="";this._input.hasNext();){if((s=this._input.next())===t||!e&&tt.newline.test(s)){this._input.back();break}"\\"===s&&this._input.hasNext()?("x"===(n=this._input.peek())||"u"===n?this.has_char_escapes=!0:"\r"===n&&"\n"===this._input.peek(1)&&this._input.next(),s+=this._input.next()):i&&("${"===i&&"$"===s&&"{"===this._input.peek()&&(s+=this._input.next()),i===s&&(s+="`"===t?this._read_string_recursive("}",e,"`"):this._read_string_recursive("`",e,"${"),this._input.hasNext()&&(s+=this._input.next()))),r+=s+=o.read()}return r},E.Tokenizer=gt,E.TOKEN=ot,E.positionable_operators=dt.slice(),E.line_starters=ht.slice();var mt=a.Output,bt=u.Token,yt=m,xt=b.Options,_t=E.Tokenizer,wt=E.line_starters,St=E.positionable_operators,Ct=E.TOKEN;function kt(t,e){return-1!==e.indexOf(t)}function Et(t,e){return t&&t.type===Ct.RESERVED&&t.text===e}function Lt(t,e){return t&&t.type===Ct.RESERVED&&kt(t.text,e)}var At=["case","return","do","if","throw","else","await","break","continue","async"],qt=function(t){for(var e={},i=0;i<t.length;i++)e[t[i].replace(/-/g,"_")]=t[i];return e}(["before-newline","after-newline","preserve-newline"]),Tt=[qt.before_newline,qt.preserve_newline],Mt="BlockStatement",Ot="Statement",Rt="ObjectLiteral",Nt="ArrayLiteral",Bt="ForInitializer",It="Conditional",$t="Expression";function Dt(t,e){e.multiline_frame||e.mode===Bt||e.mode===It||t.remove_indent(e.start_line_index)}function Ht(t){return t===Nt}function zt(t){return kt(t,[$t,Bt,It])}function Pt(t,e){e=e||{},this._source_text=t||"",this._output=null,this._tokens=null,this._last_last_text=null,this._flags=null,this._previous_flags=null,this._flag_store=null,this._options=new xt(e)}Pt.prototype.create_flags=function(t,e){var i=0;return t&&(i=t.indentation_level,!this._output.just_added_newline()&&t.line_indent_level>i&&(i=t.line_indent_level)),{mode:e,parent:t,last_token:t?t.last_token:new bt(Ct.START_BLOCK,""),last_word:t?t.last_word:"",declaration_statement:!1,declaration_assignment:!1,multiline_frame:!1,inline_frame:!1,if_block:!1,else_block:!1,do_block:!1,do_while:!1,import_block:!1,in_case_statement:!1,in_case:!1,case_body:!1,indentation_level:i,alignment:0,line_indent_level:t?t.line_indent_level:i,start_line_index:this._output.get_line_number(),ternary_depth:0}},Pt.prototype._reset=function(t){var e=t.match(/^[\t ]*/)[0];this._last_last_text="",this._output=new mt(this._options,e),this._output.raw=this._options.test_output_raw,this._flag_store=[],this.set_mode(Mt);var i=new _t(t,this._options);return this._tokens=i.tokenize(),t},Pt.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var t=this._reset(this._source_text),e=this._options.eol;"auto"===this._options.eol&&(e="\n",t&&yt.lineBreak.test(t||"")&&(e=t.match(yt.lineBreak)[0]));for(var i=this._tokens.next();i;)this.handle_token(i),this._last_last_text=this._flags.last_token.text,this._flags.last_token=i,i=this._tokens.next();return this._output.get_code(e)},Pt.prototype.handle_token=function(t,e){t.type===Ct.START_EXPR?this.handle_start_expr(t):t.type===Ct.END_EXPR?this.handle_end_expr(t):t.type===Ct.START_BLOCK?this.handle_start_block(t):t.type===Ct.END_BLOCK?this.handle_end_block(t):t.type===Ct.WORD||t.type===Ct.RESERVED?this.handle_word(t):t.type===Ct.SEMICOLON?this.handle_semicolon(t):t.type===Ct.STRING?this.handle_string(t):t.type===Ct.EQUALS?this.handle_equals(t):t.type===Ct.OPERATOR?this.handle_operator(t):t.type===Ct.COMMA?this.handle_comma(t):t.type===Ct.BLOCK_COMMENT?this.handle_block_comment(t,e):t.type===Ct.COMMENT?this.handle_comment(t,e):t.type===Ct.DOT?this.handle_dot(t):t.type===Ct.EOF?this.handle_eof(t):(t.type,Ct.UNKNOWN,this.handle_unknown(t,e))},Pt.prototype.handle_whitespace_and_comments=function(t,e){var i=t.newlines,n=this._options.keep_array_indentation&&Ht(this._flags.mode);if(t.comments_before)for(var o=t.comments_before.next();o;)this.handle_whitespace_and_comments(o,e),this.handle_token(o,e),o=t.comments_before.next();if(n)for(var r=0;r<i;r+=1)this.print_newline(r>0,e);else if(this._options.max_preserve_newlines&&i>this._options.max_preserve_newlines&&(i=this._options.max_preserve_newlines),this._options.preserve_newlines&&i>1){this.print_newline(!1,e);for(var s=1;s<i;s+=1)this.print_newline(!0,e)}};var Ft=["async","break","continue","return","throw","yield"];Pt.prototype.allow_wrap_or_preserved_newline=function(t,e){if(e=void 0!==e&&e,!this._output.just_added_newline()){var i=this._options.preserve_newlines&&t.newlines||e;if(kt(this._flags.last_token.text,St)||kt(t.text,St)){var n=kt(this._flags.last_token.text,St)&&kt(this._options.operator_position,Tt)||kt(t.text,St);i=i&&n}if(i)this.print_newline(!1,!0);else if(this._options.wrap_line_length){if(Lt(this._flags.last_token,Ft))return;this._output.set_wrap_point()}}},Pt.prototype.print_newline=function(t,e){if(!e&&";"!==this._flags.last_token.text&&","!==this._flags.last_token.text&&"="!==this._flags.last_token.text&&(this._flags.last_token.type!==Ct.OPERATOR||"--"===this._flags.last_token.text||"++"===this._flags.last_token.text))for(var i=this._tokens.peek();!(this._flags.mode!==Ot||this._flags.if_block&&Et(i,"else")||this._flags.do_block);)this.restore_mode();this._output.add_new_line(t)&&(this._flags.multiline_frame=!0)},Pt.prototype.print_token_line_indentation=function(t){this._output.just_added_newline()&&(this._options.keep_array_indentation&&t.newlines&&("["===t.text||Ht(this._flags.mode))?(this._output.current_line.set_indent(-1),this._output.current_line.push(t.whitespace_before),this._output.space_before_token=!1):this._output.set_indent(this._flags.indentation_level,this._flags.alignment)&&(this._flags.line_indent_level=this._flags.indentation_level))},Pt.prototype.print_token=function(t){if(this._output.raw)this._output.add_raw_token(t);else{if(this._options.comma_first&&t.previous&&t.previous.type===Ct.COMMA&&this._output.just_added_newline()&&","===this._output.previous_line.last()){var e=this._output.previous_line.pop();this._output.previous_line.is_empty()&&(this._output.previous_line.push(e),this._output.trim(!0),this._output.current_line.pop(),this._output.trim()),this.print_token_line_indentation(t),this._output.add_token(","),this._output.space_before_token=!0}this.print_token_line_indentation(t),this._output.non_breaking_space=!0,this._output.add_token(t.text),this._output.previous_token_wrapped&&(this._flags.multiline_frame=!0)}},Pt.prototype.indent=function(){this._flags.indentation_level+=1,this._output.set_indent(this._flags.indentation_level,this._flags.alignment)},Pt.prototype.deindent=function(){this._flags.indentation_level>0&&(!this._flags.parent||this._flags.indentation_level>this._flags.parent.indentation_level)&&(this._flags.indentation_level-=1,this._output.set_indent(this._flags.indentation_level,this._flags.alignment))},Pt.prototype.set_mode=function(t){this._flags?(this._flag_store.push(this._flags),this._previous_flags=this._flags):this._previous_flags=this.create_flags(null,t),this._flags=this.create_flags(this._previous_flags,t),this._output.set_indent(this._flags.indentation_level,this._flags.alignment)},Pt.prototype.restore_mode=function(){this._flag_store.length>0&&(this._previous_flags=this._flags,this._flags=this._flag_store.pop(),this._previous_flags.mode===Ot&&Dt(this._output,this._previous_flags),this._output.set_indent(this._flags.indentation_level,this._flags.alignment))},Pt.prototype.start_of_object_property=function(){return this._flags.parent.mode===Rt&&this._flags.mode===Ot&&(":"===this._flags.last_token.text&&0===this._flags.ternary_depth||Lt(this._flags.last_token,["get","set"]))},Pt.prototype.start_of_statement=function(t){var e=!1;return!!(e=(e=(e=(e=(e=(e=(e=e||Lt(this._flags.last_token,["var","let","const"])&&t.type===Ct.WORD)||Et(this._flags.last_token,"do"))||!(this._flags.parent.mode===Rt&&this._flags.mode===Ot)&&Lt(this._flags.last_token,Ft)&&!t.newlines)||Et(this._flags.last_token,"else")&&!(Et(t,"if")&&!t.comments_before))||this._flags.last_token.type===Ct.END_EXPR&&(this._previous_flags.mode===Bt||this._previous_flags.mode===It))||this._flags.last_token.type===Ct.WORD&&this._flags.mode===Mt&&!this._flags.in_case&&!("--"===t.text||"++"===t.text)&&"function"!==this._last_last_text&&t.type!==Ct.WORD&&t.type!==Ct.RESERVED)||this._flags.mode===Rt&&(":"===this._flags.last_token.text&&0===this._flags.ternary_depth||Lt(this._flags.last_token,["get","set"])))&&(this.set_mode(Ot),this.indent(),this.handle_whitespace_and_comments(t,!0),this.start_of_object_property()||this.allow_wrap_or_preserved_newline(t,Lt(t,["do","for","if","while"])),!0)},Pt.prototype.handle_start_expr=function(t){this.start_of_statement(t)||this.handle_whitespace_and_comments(t);var e=$t;if("["===t.text){if(this._flags.last_token.type===Ct.WORD||")"===this._flags.last_token.text)return Lt(this._flags.last_token,wt)&&(this._output.space_before_token=!0),this.print_token(t),this.set_mode(e),this.indent(),void(this._options.space_in_paren&&(this._output.space_before_token=!0));e=Nt,Ht(this._flags.mode)&&("["!==this._flags.last_token.text&&(","!==this._flags.last_token.text||"]"!==this._last_last_text&&"}"!==this._last_last_text)||this._options.keep_array_indentation||this.print_newline()),kt(this._flags.last_token.type,[Ct.START_EXPR,Ct.END_EXPR,Ct.WORD,Ct.OPERATOR,Ct.DOT])||(this._output.space_before_token=!0)}else{if(this._flags.last_token.type===Ct.RESERVED)"for"===this._flags.last_token.text?(this._output.space_before_token=this._options.space_before_conditional,e=Bt):kt(this._flags.last_token.text,["if","while","switch"])?(this._output.space_before_token=this._options.space_before_conditional,e=It):kt(this._flags.last_word,["await","async"])?this._output.space_before_token=!0:"import"===this._flags.last_token.text&&""===t.whitespace_before?this._output.space_before_token=!1:(kt(this._flags.last_token.text,wt)||"catch"===this._flags.last_token.text)&&(this._output.space_before_token=!0);else if(this._flags.last_token.type===Ct.EQUALS||this._flags.last_token.type===Ct.OPERATOR)this.start_of_object_property()||this.allow_wrap_or_preserved_newline(t);else if(this._flags.last_token.type===Ct.WORD){this._output.space_before_token=!1;var i=this._tokens.peek(-3);if(this._options.space_after_named_function&&i){var n=this._tokens.peek(-4);Lt(i,["async","function"])||"*"===i.text&&Lt(n,["async","function"])?this._output.space_before_token=!0:this._flags.mode===Rt&&("{"!==i.text&&","!==i.text&&("*"!==i.text||"{"!==n.text&&","!==n.text)||(this._output.space_before_token=!0))}}else this.allow_wrap_or_preserved_newline(t);(this._flags.last_token.type===Ct.RESERVED&&("function"===this._flags.last_word||"typeof"===this._flags.last_word)||"*"===this._flags.last_token.text&&(kt(this._last_last_text,["function","yield"])||this._flags.mode===Rt&&kt(this._last_last_text,["{",","])))&&(this._output.space_before_token=this._options.space_after_anon_function)}";"===this._flags.last_token.text||this._flags.last_token.type===Ct.START_BLOCK?this.print_newline():this._flags.last_token.type!==Ct.END_EXPR&&this._flags.last_token.type!==Ct.START_EXPR&&this._flags.last_token.type!==Ct.END_BLOCK&&"."!==this._flags.last_token.text&&this._flags.last_token.type!==Ct.COMMA||this.allow_wrap_or_preserved_newline(t,t.newlines),this.print_token(t),this.set_mode(e),this._options.space_in_paren&&(this._output.space_before_token=!0),this.indent()},Pt.prototype.handle_end_expr=function(t){for(;this._flags.mode===Ot;)this.restore_mode();this.handle_whitespace_and_comments(t),this._flags.multiline_frame&&this.allow_wrap_or_preserved_newline(t,"]"===t.text&&Ht(this._flags.mode)&&!this._options.keep_array_indentation),this._options.space_in_paren&&(this._flags.last_token.type!==Ct.START_EXPR||this._options.space_in_empty_paren?this._output.space_before_token=!0:(this._output.trim(),this._output.space_before_token=!1)),this.deindent(),this.print_token(t),this.restore_mode(),Dt(this._output,this._previous_flags),this._flags.do_while&&this._previous_flags.mode===It&&(this._previous_flags.mode=$t,this._flags.do_block=!1,this._flags.do_while=!1)},Pt.prototype.handle_start_block=function(t){this.handle_whitespace_and_comments(t);var e=this._tokens.peek(),i=this._tokens.peek(1);"switch"===this._flags.last_word&&this._flags.last_token.type===Ct.END_EXPR?(this.set_mode(Mt),this._flags.in_case_statement=!0):this._flags.case_body?this.set_mode(Mt):i&&(kt(i.text,[":",","])&&kt(e.type,[Ct.STRING,Ct.WORD,Ct.RESERVED])||kt(e.text,["get","set","..."])&&kt(i.type,[Ct.WORD,Ct.RESERVED]))?kt(this._last_last_text,["class","interface"])?this.set_mode(Mt):this.set_mode(Rt):this._flags.last_token.type===Ct.OPERATOR&&"=>"===this._flags.last_token.text?this.set_mode(Mt):kt(this._flags.last_token.type,[Ct.EQUALS,Ct.START_EXPR,Ct.COMMA,Ct.OPERATOR])||Lt(this._flags.last_token,["return","throw","import","default"])?this.set_mode(Rt):this.set_mode(Mt);var n=!e.comments_before&&"}"===e.text,o=n&&"function"===this._flags.last_word&&this._flags.last_token.type===Ct.END_EXPR;if(this._options.brace_preserve_inline){var r=0,s=null;this._flags.inline_frame=!0;do{if(r+=1,(s=this._tokens.peek(r-1)).newlines){this._flags.inline_frame=!1;break}}while(s.type!==Ct.EOF&&(s.type!==Ct.END_BLOCK||s.opened!==t))}("expand"===this._options.brace_style||"none"===this._options.brace_style&&t.newlines)&&!this._flags.inline_frame?this._flags.last_token.type!==Ct.OPERATOR&&(o||this._flags.last_token.type===Ct.EQUALS||Lt(this._flags.last_token,At)&&"else"!==this._flags.last_token.text)?this._output.space_before_token=!0:this.print_newline(!1,!0):(!Ht(this._previous_flags.mode)||this._flags.last_token.type!==Ct.START_EXPR&&this._flags.last_token.type!==Ct.COMMA||((this._flags.last_token.type===Ct.COMMA||this._options.space_in_paren)&&(this._output.space_before_token=!0),(this._flags.last_token.type===Ct.COMMA||this._flags.last_token.type===Ct.START_EXPR&&this._flags.inline_frame)&&(this.allow_wrap_or_preserved_newline(t),this._previous_flags.multiline_frame=this._previous_flags.multiline_frame||this._flags.multiline_frame,this._flags.multiline_frame=!1)),this._flags.last_token.type!==Ct.OPERATOR&&this._flags.last_token.type!==Ct.START_EXPR&&(this._flags.last_token.type!==Ct.START_BLOCK||this._flags.inline_frame?this._output.space_before_token=!0:this.print_newline())),this.print_token(t),this.indent(),n||this._options.brace_preserve_inline&&this._flags.inline_frame||this.print_newline()},Pt.prototype.handle_end_block=function(t){for(this.handle_whitespace_and_comments(t);this._flags.mode===Ot;)this.restore_mode();var e=this._flags.last_token.type===Ct.START_BLOCK;this._flags.inline_frame&&!e?this._output.space_before_token=!0:"expand"===this._options.brace_style?e||this.print_newline():e||(Ht(this._flags.mode)&&this._options.keep_array_indentation?(this._options.keep_array_indentation=!1,this.print_newline(),this._options.keep_array_indentation=!0):this.print_newline()),this.restore_mode(),this.print_token(t)},Pt.prototype.handle_word=function(t){if(t.type===Ct.RESERVED)if(kt(t.text,["set","get"])&&this._flags.mode!==Rt)t.type=Ct.WORD;else if("import"===t.text&&"("===this._tokens.peek().text)t.type=Ct.WORD;else if(kt(t.text,["as","from"])&&!this._flags.import_block)t.type=Ct.WORD;else if(this._flags.mode===Rt){":"===this._tokens.peek().text&&(t.type=Ct.WORD)}if(this.start_of_statement(t)?Lt(this._flags.last_token,["var","let","const"])&&t.type===Ct.WORD&&(this._flags.declaration_statement=!0):!t.newlines||zt(this._flags.mode)||this._flags.last_token.type===Ct.OPERATOR&&"--"!==this._flags.last_token.text&&"++"!==this._flags.last_token.text||this._flags.last_token.type===Ct.EQUALS||!this._options.preserve_newlines&&Lt(this._flags.last_token,["var","let","const","set","get"])?this.handle_whitespace_and_comments(t):(this.handle_whitespace_and_comments(t),this.print_newline()),this._flags.do_block&&!this._flags.do_while){if(Et(t,"while"))return this._output.space_before_token=!0,this.print_token(t),this._output.space_before_token=!0,void(this._flags.do_while=!0);this.print_newline(),this._flags.do_block=!1}if(this._flags.if_block)if(!this._flags.else_block&&Et(t,"else"))this._flags.else_block=!0;else{for(;this._flags.mode===Ot;)this.restore_mode();this._flags.if_block=!1,this._flags.else_block=!1}if(this._flags.in_case_statement&&Lt(t,["case","default"]))return this.print_newline(),this._flags.last_token.type!==Ct.END_BLOCK&&(this._flags.case_body||this._options.jslint_happy)&&this.deindent(),this._flags.case_body=!1,this.print_token(t),void(this._flags.in_case=!0);if(this._flags.last_token.type!==Ct.COMMA&&this._flags.last_token.type!==Ct.START_EXPR&&this._flags.last_token.type!==Ct.EQUALS&&this._flags.last_token.type!==Ct.OPERATOR||this.start_of_object_property()||this.allow_wrap_or_preserved_newline(t),Et(t,"function"))return(kt(this._flags.last_token.text,["}",";"])||this._output.just_added_newline()&&!kt(this._flags.last_token.text,["(","[","{",":","=",","])&&this._flags.last_token.type!==Ct.OPERATOR)&&(this._output.just_added_blankline()||t.comments_before||(this.print_newline(),this.print_newline(!0))),this._flags.last_token.type===Ct.RESERVED||this._flags.last_token.type===Ct.WORD?Lt(this._flags.last_token,["get","set","new","export"])||Lt(this._flags.last_token,Ft)||Et(this._flags.last_token,"default")&&"export"===this._last_last_text||"declare"===this._flags.last_token.text?this._output.space_before_token=!0:this.print_newline():this._flags.last_token.type===Ct.OPERATOR||"="===this._flags.last_token.text?this._output.space_before_token=!0:(this._flags.multiline_frame||!zt(this._flags.mode)&&!Ht(this._flags.mode))&&this.print_newline(),this.print_token(t),void(this._flags.last_word=t.text);var e="NONE";(this._flags.last_token.type===Ct.END_BLOCK?this._previous_flags.inline_frame?e="SPACE":Lt(t,["else","catch","finally","from"])?"expand"===this._options.brace_style||"end-expand"===this._options.brace_style||"none"===this._options.brace_style&&t.newlines?e="NEWLINE":(e="SPACE",this._output.space_before_token=!0):e="NEWLINE":this._flags.last_token.type===Ct.SEMICOLON&&this._flags.mode===Mt?e="NEWLINE":this._flags.last_token.type===Ct.SEMICOLON&&zt(this._flags.mode)?e="SPACE":this._flags.last_token.type===Ct.STRING?e="NEWLINE":this._flags.last_token.type===Ct.RESERVED||this._flags.last_token.type===Ct.WORD||"*"===this._flags.last_token.text&&(kt(this._last_last_text,["function","yield"])||this._flags.mode===Rt&&kt(this._last_last_text,["{",","]))?e="SPACE":this._flags.last_token.type===Ct.START_BLOCK?e=this._flags.inline_frame?"SPACE":"NEWLINE":this._flags.last_token.type===Ct.END_EXPR&&(this._output.space_before_token=!0,e="NEWLINE"),Lt(t,wt)&&")"!==this._flags.last_token.text&&(e=this._flags.inline_frame||"else"===this._flags.last_token.text||"export"===this._flags.last_token.text?"SPACE":"NEWLINE"),Lt(t,["else","catch","finally"]))?(this._flags.last_token.type!==Ct.END_BLOCK||this._previous_flags.mode!==Mt||"expand"===this._options.brace_style||"end-expand"===this._options.brace_style||"none"===this._options.brace_style&&t.newlines)&&!this._flags.inline_frame?this.print_newline():(this._output.trim(!0),"}"!==this._output.current_line.last()&&this.print_newline(),this._output.space_before_token=!0):"NEWLINE"===e?Lt(this._flags.last_token,At)||"declare"===this._flags.last_token.text&&Lt(t,["var","let","const"])?this._output.space_before_token=!0:this._flags.last_token.type!==Ct.END_EXPR?this._flags.last_token.type===Ct.START_EXPR&&Lt(t,["var","let","const"])||":"===this._flags.last_token.text||(Et(t,"if")&&Et(t.previous,"else")?this._output.space_before_token=!0:this.print_newline()):Lt(t,wt)&&")"!==this._flags.last_token.text&&this.print_newline():this._flags.multiline_frame&&Ht(this._flags.mode)&&","===this._flags.last_token.text&&"}"===this._last_last_text?this.print_newline():"SPACE"===e&&(this._output.space_before_token=!0);!t.previous||t.previous.type!==Ct.WORD&&t.previous.type!==Ct.RESERVED||(this._output.space_before_token=!0),this.print_token(t),this._flags.last_word=t.text,t.type===Ct.RESERVED&&("do"===t.text?this._flags.do_block=!0:"if"===t.text?this._flags.if_block=!0:"import"===t.text?this._flags.import_block=!0:this._flags.import_block&&Et(t,"from")&&(this._flags.import_block=!1))},Pt.prototype.handle_semicolon=function(t){this.start_of_statement(t)?this._output.space_before_token=!1:this.handle_whitespace_and_comments(t);for(var e=this._tokens.peek();!(this._flags.mode!==Ot||this._flags.if_block&&Et(e,"else")||this._flags.do_block);)this.restore_mode();this._flags.import_block&&(this._flags.import_block=!1),this.print_token(t)},Pt.prototype.handle_string=function(t){(!t.text.startsWith("`")||0!==t.newlines||""!==t.whitespace_before||")"!==t.previous.text&&this._flags.last_token.type!==Ct.WORD)&&(this.start_of_statement(t)?this._output.space_before_token=!0:(this.handle_whitespace_and_comments(t),this._flags.last_token.type===Ct.RESERVED||this._flags.last_token.type===Ct.WORD||this._flags.inline_frame?this._output.space_before_token=!0:this._flags.last_token.type===Ct.COMMA||this._flags.last_token.type===Ct.START_EXPR||this._flags.last_token.type===Ct.EQUALS||this._flags.last_token.type===Ct.OPERATOR?this.start_of_object_property()||this.allow_wrap_or_preserved_newline(t):!t.text.startsWith("`")||this._flags.last_token.type!==Ct.END_EXPR||"]"!==t.previous.text&&")"!==t.previous.text||0!==t.newlines?this.print_newline():this._output.space_before_token=!0)),this.print_token(t)},Pt.prototype.handle_equals=function(t){this.start_of_statement(t)||this.handle_whitespace_and_comments(t),this._flags.declaration_statement&&(this._flags.declaration_assignment=!0),this._output.space_before_token=!0,this.print_token(t),this._output.space_before_token=!0},Pt.prototype.handle_comma=function(t){this.handle_whitespace_and_comments(t,!0),this.print_token(t),this._output.space_before_token=!0,this._flags.declaration_statement?(zt(this._flags.parent.mode)&&(this._flags.declaration_assignment=!1),this._flags.declaration_assignment?(this._flags.declaration_assignment=!1,this.print_newline(!1,!0)):this._options.comma_first&&this.allow_wrap_or_preserved_newline(t)):this._flags.mode===Rt||this._flags.mode===Ot&&this._flags.parent.mode===Rt?(this._flags.mode===Ot&&this.restore_mode(),this._flags.inline_frame||this.print_newline()):this._options.comma_first&&this.allow_wrap_or_preserved_newline(t)},Pt.prototype.handle_operator=function(t){var e="*"===t.text&&(Lt(this._flags.last_token,["function","yield"])||kt(this._flags.last_token.type,[Ct.START_BLOCK,Ct.COMMA,Ct.END_BLOCK,Ct.SEMICOLON])),i=kt(t.text,["-","+"])&&(kt(this._flags.last_token.type,[Ct.START_BLOCK,Ct.START_EXPR,Ct.EQUALS,Ct.OPERATOR])||kt(this._flags.last_token.text,wt)||","===this._flags.last_token.text);if(this.start_of_statement(t));else{var n=!e;this.handle_whitespace_and_comments(t,n)}if(Lt(this._flags.last_token,At))return this._output.space_before_token=!0,void this.print_token(t);if("*"!==t.text||this._flags.last_token.type!==Ct.DOT)if("::"!==t.text){if(this._flags.last_token.type===Ct.OPERATOR&&kt(this._options.operator_position,Tt)&&this.allow_wrap_or_preserved_newline(t),":"===t.text&&this._flags.in_case)return this.print_token(t),this._flags.in_case=!1,this._flags.case_body=!0,void(this._tokens.peek().type!==Ct.START_BLOCK?(this.indent(),this.print_newline()):this._output.space_before_token=!0);var o=!0,r=!0,s=!1;if(":"===t.text?0===this._flags.ternary_depth?o=!1:(this._flags.ternary_depth-=1,s=!0):"?"===t.text&&(this._flags.ternary_depth+=1),!i&&!e&&this._options.preserve_newlines&&kt(t.text,St)){var a=":"===t.text,l=a&&s,d=a&&!s;switch(this._options.operator_position){case qt.before_newline:return this._output.space_before_token=!d,this.print_token(t),a&&!l||this.allow_wrap_or_preserved_newline(t),void(this._output.space_before_token=!0);case qt.after_newline:return this._output.space_before_token=!0,!a||l?this._tokens.peek().newlines?this.print_newline(!1,!0):this.allow_wrap_or_preserved_newline(t):this._output.space_before_token=!1,this.print_token(t),void(this._output.space_before_token=!0);case qt.preserve_newline:return d||this.allow_wrap_or_preserved_newline(t),o=!(this._output.just_added_newline()||d),this._output.space_before_token=o,this.print_token(t),void(this._output.space_before_token=!0)}}if(e){this.allow_wrap_or_preserved_newline(t),o=!1;var c=this._tokens.peek();r=c&&kt(c.type,[Ct.WORD,Ct.RESERVED])}else"..."===t.text?(this.allow_wrap_or_preserved_newline(t),o=this._flags.last_token.type===Ct.START_BLOCK,r=!1):(kt(t.text,["--","++","!","~"])||i)&&(this._flags.last_token.type!==Ct.COMMA&&this._flags.last_token.type!==Ct.START_EXPR||this.allow_wrap_or_preserved_newline(t),o=!1,r=!1,!t.newlines||"--"!==t.text&&"++"!==t.text||this.print_newline(!1,!0),";"===this._flags.last_token.text&&zt(this._flags.mode)&&(o=!0),this._flags.last_token.type===Ct.RESERVED?o=!0:this._flags.last_token.type===Ct.END_EXPR?o=!("]"===this._flags.last_token.text&&("--"===t.text||"++"===t.text)):this._flags.last_token.type===Ct.OPERATOR&&(o=kt(t.text,["--","-","++","+"])&&kt(this._flags.last_token.text,["--","-","++","+"]),kt(t.text,["+","-"])&&kt(this._flags.last_token.text,["--","++"])&&(r=!0)),(this._flags.mode!==Mt||this._flags.inline_frame)&&this._flags.mode!==Ot||"{"!==this._flags.last_token.text&&";"!==this._flags.last_token.text||this.print_newline());this._output.space_before_token=this._output.space_before_token||o,this.print_token(t),this._output.space_before_token=r}else this.print_token(t);else this.print_token(t)},Pt.prototype.handle_block_comment=function(t,e){return this._output.raw?(this._output.add_raw_token(t),void(t.directives&&"end"===t.directives.preserve&&(this._output.raw=this._options.test_output_raw))):t.directives?(this.print_newline(!1,e),this.print_token(t),"start"===t.directives.preserve&&(this._output.raw=!0),void this.print_newline(!1,!0)):yt.newline.test(t.text)||t.newlines?void this.print_block_commment(t,e):(this._output.space_before_token=!0,this.print_token(t),void(this._output.space_before_token=!0))},Pt.prototype.print_block_commment=function(t,e){var i,n=function(t){for(var e=[],i=(t=t.replace(yt.allLineBreaks,"\n")).indexOf("\n");-1!==i;)e.push(t.substring(0,i)),i=(t=t.substring(i+1)).indexOf("\n");return t.length&&e.push(t),e}(t.text),o=!1,r=!1,s=t.whitespace_before,a=s.length;if(this.print_newline(!1,e),this.print_token_line_indentation(t),this._output.add_token(n[0]),this.print_newline(!1,e),n.length>1){for(o=function(t,e){for(var i=0;i<t.length;i++)if(t[i].trim().charAt(0)!==e)return!1;return!0}(n=n.slice(1),"*"),r=function(t,e){for(var i,n=0,o=t.length;n<o;n++)if((i=t[n])&&0!==i.indexOf(e))return!1;return!0}(n,s),o&&(this._flags.alignment=1),i=0;i<n.length;i++)o?(this.print_token_line_indentation(t),this._output.add_token(n[i].replace(/^\s+/g,""))):r&&n[i]?(this.print_token_line_indentation(t),this._output.add_token(n[i].substring(a))):(this._output.current_line.set_indent(-1),this._output.add_token(n[i])),this.print_newline(!1,e);this._flags.alignment=0}},Pt.prototype.handle_comment=function(t,e){t.newlines?this.print_newline(!1,e):this._output.trim(!0),this._output.space_before_token=!0,this.print_token(t),this.print_newline(!1,e)},Pt.prototype.handle_dot=function(t){this.start_of_statement(t)||this.handle_whitespace_and_comments(t,!0),Lt(this._flags.last_token,At)?this._output.space_before_token=!1:this.allow_wrap_or_preserved_newline(t,")"===this._flags.last_token.text&&this._options.break_chained_methods),this._options.unindent_chained_methods&&this._output.just_added_newline()&&this.deindent(),this.print_token(t)},Pt.prototype.handle_unknown=function(t,e){this.print_token(t),"\n"===t.text[t.text.length-1]&&this.print_newline(!1,e)},Pt.prototype.handle_eof=function(t){for(;this._flags.mode===Ot;)this.restore_mode();this.handle_whitespace_and_comments(t)},s.Beautifier=Pt;var Ut=s.Beautifier,Wt=b.Options;r.exports=function(t,e){return new Ut(t,e).beautify()},r.exports.defaultOptions=function(){return new Wt};var jt={exports:{}},Gt={},Xt={},Yt=y.Options;function Vt(t){Yt.call(this,t,"css"),this.selector_separator_newline=this._get_boolean("selector_separator_newline",!0),this.newline_between_rules=this._get_boolean("newline_between_rules",!0);var e=this._get_boolean("space_around_selector_separator");this.space_around_combinator=this._get_boolean("space_around_combinator")||e;var i=this._get_selection_list("brace_style",["collapse","expand","end-expand","none","preserve-inline"]);this.brace_style="collapse";for(var n=0;n<i.length;n++)"expand"!==i[n]?this.brace_style="collapse":this.brace_style=i[n]}Vt.prototype=new Yt,Xt.Options=Vt;var Kt=Xt.Options,Zt=a.Output,Qt=L.InputScanner,Jt=new(0,W.Directives)(/\/\*/,/\*\//),te=/\r\n|[\r\n]/,ee=/\r\n|[\r\n]/g,ie=/\s/,ne=/(?:\s|\n)+/g,oe=/\/\*(?:[\s\S]*?)((?:\*\/)|$)/g,re=/\/\/(?:[^\n\r\u2028\u2029]*)/g;function se(t,e){this._source_text=t||"",this._options=new Kt(e),this._ch=null,this._input=null,this.NESTED_AT_RULE={"@page":!0,"@font-face":!0,"@keyframes":!0,"@media":!0,"@supports":!0,"@document":!0},this.CONDITIONAL_GROUP_RULE={"@media":!0,"@supports":!0,"@document":!0}}se.prototype.eatString=function(t){var e="";for(this._ch=this._input.next();this._ch;){if(e+=this._ch,"\\"===this._ch)e+=this._input.next();else if(-1!==t.indexOf(this._ch)||"\n"===this._ch)break;this._ch=this._input.next()}return e},se.prototype.eatWhitespace=function(t){for(var e=ie.test(this._input.peek()),i=0;ie.test(this._input.peek());)this._ch=this._input.next(),t&&"\n"===this._ch&&(0===i||i<this._options.max_preserve_newlines)&&(i++,this._output.add_new_line(!0));return e},se.prototype.foundNestedPseudoClass=function(){for(var t=0,e=1,i=this._input.peek(e);i;){if("{"===i)return!0;if("("===i)t+=1;else if(")"===i){if(0===t)return!1;t-=1}else if(";"===i||"}"===i)return!1;e++,i=this._input.peek(e)}return!1},se.prototype.print_string=function(t){this._output.set_indent(this._indentLevel),this._output.non_breaking_space=!0,this._output.add_token(t)},se.prototype.preserveSingleSpace=function(t){t&&(this._output.space_before_token=!0)},se.prototype.indent=function(){this._indentLevel++},se.prototype.outdent=function(){this._indentLevel>0&&this._indentLevel--},se.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var t=this._source_text,e=this._options.eol;"auto"===e&&(e="\n",t&&te.test(t||"")&&(e=t.match(te)[0]));var i=(t=t.replace(ee,"\n")).match(/^[\t ]*/)[0];this._output=new Zt(this._options,i),this._input=new Qt(t),this._indentLevel=0,this._nestedLevel=0,this._ch=null;for(var n,o,r=0,s=!1,a=!1,l=!1,d=!1,c=!1,u=this._ch;n=""!==this._input.read(ne),o=u,this._ch=this._input.next(),"\\"===this._ch&&this._input.hasNext()&&(this._ch+=this._input.next()),u=this._ch,this._ch;)if("/"===this._ch&&"*"===this._input.peek()){this._output.add_new_line(),this._input.back();var p=this._input.read(oe),h=Jt.get_directives(p);h&&"start"===h.ignore&&(p+=Jt.readIgnored(this._input)),this.print_string(p),this.eatWhitespace(!0),this._output.add_new_line()}else if("/"===this._ch&&"/"===this._input.peek())this._output.space_before_token=!0,this._input.back(),this.print_string(this._input.read(re)),this.eatWhitespace(!0);else if("@"===this._ch)if(this.preserveSingleSpace(n),"{"===this._input.peek())this.print_string(this._ch+this.eatString("}"));else{this.print_string(this._ch);var v=this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);v.match(/[ :]$/)&&(v=this.eatString(": ").replace(/\s$/,""),this.print_string(v),this._output.space_before_token=!0),"extend"===(v=v.replace(/\s$/,""))?d=!0:"import"===v&&(c=!0),v in this.NESTED_AT_RULE?(this._nestedLevel+=1,v in this.CONDITIONAL_GROUP_RULE&&(l=!0)):s||0!==r||-1===v.indexOf(":")||(a=!0,this.indent())}else"#"===this._ch&&"{"===this._input.peek()?(this.preserveSingleSpace(n),this.print_string(this._ch+this.eatString("}"))):"{"===this._ch?(a&&(a=!1,this.outdent()),l?(l=!1,s=this._indentLevel>=this._nestedLevel):s=this._indentLevel>=this._nestedLevel-1,this._options.newline_between_rules&&s&&this._output.previous_line&&"{"!==this._output.previous_line.item(-1)&&this._output.ensure_empty_line_above("/",","),this._output.space_before_token=!0,"expand"===this._options.brace_style?(this._output.add_new_line(),this.print_string(this._ch),this.indent(),this._output.set_indent(this._indentLevel)):(this.indent(),this.print_string(this._ch)),this.eatWhitespace(!0),this._output.add_new_line()):"}"===this._ch?(this.outdent(),this._output.add_new_line(),"{"===o&&this._output.trim(!0),c=!1,d=!1,a&&(this.outdent(),a=!1),this.print_string(this._ch),s=!1,this._nestedLevel&&this._nestedLevel--,this.eatWhitespace(!0),this._output.add_new_line(),this._options.newline_between_rules&&!this._output.just_added_blankline()&&"}"!==this._input.peek()&&this._output.add_new_line(!0)):":"===this._ch?!s&&!l||this._input.lookBack("&")||this.foundNestedPseudoClass()||this._input.lookBack("(")||d||0!==r?(this._input.lookBack(" ")&&(this._output.space_before_token=!0),":"===this._input.peek()?(this._ch=this._input.next(),this.print_string("::")):this.print_string(":")):(this.print_string(":"),a||(a=!0,this._output.space_before_token=!0,this.eatWhitespace(!0),this.indent())):'"'===this._ch||"'"===this._ch?(this.preserveSingleSpace(n),this.print_string(this._ch+this.eatString(this._ch)),this.eatWhitespace(!0)):";"===this._ch?0===r?(a&&(this.outdent(),a=!1),d=!1,c=!1,this.print_string(this._ch),this.eatWhitespace(!0),"/"!==this._input.peek()&&this._output.add_new_line()):(this.print_string(this._ch),this.eatWhitespace(!0),this._output.space_before_token=!0):"("===this._ch?this._input.lookBack("url")?(this.print_string(this._ch),this.eatWhitespace(),r++,this.indent(),this._ch=this._input.next(),")"===this._ch||'"'===this._ch||"'"===this._ch?this._input.back():this._ch&&(this.print_string(this._ch+this.eatString(")")),r&&(r--,this.outdent()))):(this.preserveSingleSpace(n),this.print_string(this._ch),this.eatWhitespace(),r++,this.indent()):")"===this._ch?(r&&(r--,this.outdent()),this.print_string(this._ch)):","===this._ch?(this.print_string(this._ch),this.eatWhitespace(!0),!this._options.selector_separator_newline||a||0!==r||c||d?this._output.space_before_token=!0:this._output.add_new_line()):">"!==this._ch&&"+"!==this._ch&&"~"!==this._ch||a||0!==r?"]"===this._ch?this.print_string(this._ch):"["===this._ch?(this.preserveSingleSpace(n),this.print_string(this._ch)):"="===this._ch?(this.eatWhitespace(),this.print_string("="),ie.test(this._ch)&&(this._ch="")):"!"!==this._ch||this._input.lookBack("\\")?(this.preserveSingleSpace(n),this.print_string(this._ch)):(this.print_string(" "),this.print_string(this._ch)):this._options.space_around_combinator?(this._output.space_before_token=!0,this.print_string(this._ch),this._output.space_before_token=!0):(this.print_string(this._ch),this.eatWhitespace(),this._ch&&ie.test(this._ch)&&(this._ch=""));return this._output.get_code(e)},Gt.Beautifier=se;var ae=Gt.Beautifier,le=Xt.Options;jt.exports=function(t,e){return new ae(t,e).beautify()},jt.exports.defaultOptions=function(){return new le};var de={exports:{}},ce={},ue={},pe=y.Options;function he(t){pe.call(this,t,"html"),1===this.templating.length&&"auto"===this.templating[0]&&(this.templating=["django","erb","handlebars","php"]),this.indent_inner_html=this._get_boolean("indent_inner_html"),this.indent_body_inner_html=this._get_boolean("indent_body_inner_html",!0),this.indent_head_inner_html=this._get_boolean("indent_head_inner_html",!0),this.indent_handlebars=this._get_boolean("indent_handlebars",!0),this.wrap_attributes=this._get_selection("wrap_attributes",["auto","force","force-aligned","force-expand-multiline","aligned-multiple","preserve","preserve-aligned"]),this.wrap_attributes_indent_size=this._get_number("wrap_attributes_indent_size",this.indent_size),this.extra_liners=this._get_array("extra_liners",["head","body","/html"]),this.inline=this._get_array("inline",["a","abbr","area","audio","b","bdi","bdo","br","button","canvas","cite","code","data","datalist","del","dfn","em","embed","i","iframe","img","input","ins","kbd","keygen","label","map","mark","math","meter","noscript","object","output","progress","q","ruby","s","samp","select","small","span","strong","sub","sup","svg","template","textarea","time","u","var","video","wbr","text","acronym","big","strike","tt"]),this.void_elements=this._get_array("void_elements",["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr","!doctype","?xml","basefont","isindex"]),this.unformatted=this._get_array("unformatted",[]),this.content_unformatted=this._get_array("content_unformatted",["pre","textarea"]),this.unformatted_content_delimiter=this._get_characters("unformatted_content_delimiter"),this.indent_scripts=this._get_selection("indent_scripts",["normal","keep","separate"])}he.prototype=new pe,ue.Options=he;var ve={},fe=T.Tokenizer,ge=T.TOKEN,me=W.Directives,be=G.TemplatablePattern,ye=N.Pattern,xe={TAG_OPEN:"TK_TAG_OPEN",TAG_CLOSE:"TK_TAG_CLOSE",ATTRIBUTE:"TK_ATTRIBUTE",EQUALS:"TK_EQUALS",VALUE:"TK_VALUE",COMMENT:"TK_COMMENT",TEXT:"TK_TEXT",UNKNOWN:"TK_UNKNOWN",START:ge.START,RAW:ge.RAW,EOF:ge.EOF},_e=new me(/<\!--/,/-->/),we=function(t,e){fe.call(this,t,e),this._current_tag_name="";var i=new be(this._input).read_options(this._options),n=new ye(this._input);if(this.__patterns={word:i.until(/[\n\r\t <]/),single_quote:i.until_after(/'/),double_quote:i.until_after(/"/),attribute:i.until(/[\n\r\t =>]|\/>/),element_name:i.until(/[\n\r\t >\/]/),handlebars_comment:n.starting_with(/{{!--/).until_after(/--}}/),handlebars:n.starting_with(/{{/).until_after(/}}/),handlebars_open:n.until(/[\n\r\t }]/),handlebars_raw_close:n.until(/}}/),comment:n.starting_with(/<!--/).until_after(/-->/),cdata:n.starting_with(/<!\[CDATA\[/).until_after(/]]>/),conditional_comment:n.starting_with(/<!\[/).until_after(/]>/),processing:n.starting_with(/<\?/).until_after(/\?>/)},this._options.indent_handlebars&&(this.__patterns.word=this.__patterns.word.exclude("handlebars")),this._unformatted_content_delimiter=null,this._options.unformatted_content_delimiter){var o=this._input.get_literal_regexp(this._options.unformatted_content_delimiter);this.__patterns.unformatted_content_delimiter=n.matching(o).until_after(o)}};(we.prototype=new fe)._is_comment=function(t){return!1},we.prototype._is_opening=function(t){return t.type===xe.TAG_OPEN},we.prototype._is_closing=function(t,e){return t.type===xe.TAG_CLOSE&&e&&((">"===t.text||"/>"===t.text)&&"<"===e.text[0]||"}}"===t.text&&"{"===e.text[0]&&"{"===e.text[1])},we.prototype._reset=function(){this._current_tag_name=""},we.prototype._get_next_token=function(t,e){var i=null;this._readWhitespace();var n=this._input.peek();return null===n?this._create_token(xe.EOF,""):i=(i=(i=(i=(i=(i=(i=(i=(i=i||this._read_open_handlebars(n,e))||this._read_attribute(n,t,e))||this._read_close(n,e))||this._read_raw_content(n,t,e))||this._read_content_word(n))||this._read_comment_or_cdata(n))||this._read_processing(n))||this._read_open(n,e))||this._create_token(xe.UNKNOWN,this._input.next())},we.prototype._read_comment_or_cdata=function(t){var e=null,i=null,n=null;"<"===t&&("!"===this._input.peek(1)&&((i=this.__patterns.comment.read())?(n=_e.get_directives(i))&&"start"===n.ignore&&(i+=_e.readIgnored(this._input)):i=this.__patterns.cdata.read()),i&&((e=this._create_token(xe.COMMENT,i)).directives=n));return e},we.prototype._read_processing=function(t){var e=null,i=null;if("<"===t){var n=this._input.peek(1);"!"!==n&&"?"!==n||(i=(i=this.__patterns.conditional_comment.read())||this.__patterns.processing.read()),i&&((e=this._create_token(xe.COMMENT,i)).directives=null)}return e},we.prototype._read_open=function(t,e){var i=null,n=null;return e||"<"===t&&(i=this._input.next(),"/"===this._input.peek()&&(i+=this._input.next()),i+=this.__patterns.element_name.read(),n=this._create_token(xe.TAG_OPEN,i)),n},we.prototype._read_open_handlebars=function(t,e){var i=null,n=null;return e||this._options.indent_handlebars&&"{"===t&&"{"===this._input.peek(1)&&("!"===this._input.peek(2)?(i=(i=this.__patterns.handlebars_comment.read())||this.__patterns.handlebars.read(),n=this._create_token(xe.COMMENT,i)):(i=this.__patterns.handlebars_open.read(),n=this._create_token(xe.TAG_OPEN,i))),n},we.prototype._read_close=function(t,e){var i=null,n=null;return e&&("<"===e.text[0]&&(">"===t||"/"===t&&">"===this._input.peek(1))?(i=this._input.next(),"/"===t&&(i+=this._input.next()),n=this._create_token(xe.TAG_CLOSE,i)):"{"===e.text[0]&&"}"===t&&"}"===this._input.peek(1)&&(this._input.next(),this._input.next(),n=this._create_token(xe.TAG_CLOSE,"}}"))),n},we.prototype._read_attribute=function(t,e,i){var n=null,o="";if(i&&"<"===i.text[0])if("="===t)n=this._create_token(xe.EQUALS,this._input.next());else if('"'===t||"'"===t){var r=this._input.next();r+='"'===t?this.__patterns.double_quote.read():this.__patterns.single_quote.read(),n=this._create_token(xe.VALUE,r)}else(o=this.__patterns.attribute.read())&&(n=e.type===xe.EQUALS?this._create_token(xe.VALUE,o):this._create_token(xe.ATTRIBUTE,o));return n},we.prototype._is_content_unformatted=function(t){return-1===this._options.void_elements.indexOf(t)&&(-1!==this._options.content_unformatted.indexOf(t)||-1!==this._options.unformatted.indexOf(t))},we.prototype._read_raw_content=function(t,e,i){var n="";if(i&&"{"===i.text[0])n=this.__patterns.handlebars_raw_close.read();else if(e.type===xe.TAG_CLOSE&&"<"===e.opened.text[0]&&"/"!==e.text[0]){var o=e.opened.text.substr(1).toLowerCase();if("script"===o||"style"===o){var r=this._read_comment_or_cdata(t);if(r)return r.type=xe.TEXT,r;n=this._input.readUntil(new RegExp("</"+o+"[\\n\\r\\t ]*?>","ig"))}else this._is_content_unformatted(o)&&(n=this._input.readUntil(new RegExp("</"+o+"[\\n\\r\\t ]*?>","ig")))}return n?this._create_token(xe.TEXT,n):null},we.prototype._read_content_word=function(t){var e="";if(this._options.unformatted_content_delimiter&&t===this._options.unformatted_content_delimiter[0]&&(e=this.__patterns.unformatted_content_delimiter.read()),e||(e=this.__patterns.word.read()),e)return this._create_token(xe.TEXT,e)},ve.Tokenizer=we,ve.TOKEN=xe;var Se=ue.Options,Ce=a.Output,ke=ve.Tokenizer,Ee=ve.TOKEN,Le=/\r\n|[\r\n]/,Ae=/\r\n|[\r\n]/g,qe=function(t,e){this.indent_level=0,this.alignment_size=0,this.max_preserve_newlines=t.max_preserve_newlines,this.preserve_newlines=t.preserve_newlines,this._output=new Ce(t,e)};qe.prototype.current_line_has_match=function(t){return this._output.current_line.has_match(t)},qe.prototype.set_space_before_token=function(t,e){this._output.space_before_token=t,this._output.non_breaking_space=e},qe.prototype.set_wrap_point=function(){this._output.set_indent(this.indent_level,this.alignment_size),this._output.set_wrap_point()},qe.prototype.add_raw_token=function(t){this._output.add_raw_token(t)},qe.prototype.print_preserved_newlines=function(t){var e=0;t.type!==Ee.TEXT&&t.previous.type!==Ee.TEXT&&(e=t.newlines?1:0),this.preserve_newlines&&(e=t.newlines<this.max_preserve_newlines+1?t.newlines:this.max_preserve_newlines+1);for(var i=0;i<e;i++)this.print_newline(i>0);return 0!==e},qe.prototype.traverse_whitespace=function(t){return!(!t.whitespace_before&&!t.newlines)&&(this.print_preserved_newlines(t)||(this._output.space_before_token=!0),!0)},qe.prototype.previous_token_wrapped=function(){return this._output.previous_token_wrapped},qe.prototype.print_newline=function(t){this._output.add_new_line(t)},qe.prototype.print_token=function(t){t.text&&(this._output.set_indent(this.indent_level,this.alignment_size),this._output.add_token(t.text))},qe.prototype.indent=function(){this.indent_level++},qe.prototype.get_full_indent=function(t){return(t=this.indent_level+(t||0))<1?"":this._output.get_indent_string(t)};var Te=function(t,e){var i=null,n=null;return e.closed?("script"===t?i="text/javascript":"style"===t&&(i="text/css"),(i=function(t){for(var e=null,i=t.next;i.type!==Ee.EOF&&t.closed!==i;){if(i.type===Ee.ATTRIBUTE&&"type"===i.text){i.next&&i.next.type===Ee.EQUALS&&i.next.next&&i.next.next.type===Ee.VALUE&&(e=i.next.next.text);break}i=i.next}return e}(e)||i).search("text/css")>-1?n="css":i.search(/module|((text|application|dojo)\/(x-)?(javascript|ecmascript|jscript|livescript|(ld\+)?json|method|aspect))/)>-1?n="javascript":i.search(/(text|application|dojo)\/(x-)?(html)/)>-1?n="html":i.search(/test\/null/)>-1&&(n="null"),n):null};function Me(t,e){return-1!==e.indexOf(t)}function Oe(t,e,i){this.parent=t||null,this.tag=e?e.tag_name:"",this.indent_level=i||0,this.parser_token=e||null}function Re(t){this._printer=t,this._current_frame=null}function Ne(t,e,i,n){this._source_text=t||"",e=e||{},this._js_beautify=i,this._css_beautify=n,this._tag_stack=null;var o=new Se(e,"html");this._options=o,this._is_wrap_attributes_force="force"===this._options.wrap_attributes.substr(0,"force".length),this._is_wrap_attributes_force_expand_multiline="force-expand-multiline"===this._options.wrap_attributes,this._is_wrap_attributes_force_aligned="force-aligned"===this._options.wrap_attributes,this._is_wrap_attributes_aligned_multiple="aligned-multiple"===this._options.wrap_attributes,this._is_wrap_attributes_preserve="preserve"===this._options.wrap_attributes.substr(0,"preserve".length),this._is_wrap_attributes_preserve_aligned="preserve-aligned"===this._options.wrap_attributes}Re.prototype.get_parser_token=function(){return this._current_frame?this._current_frame.parser_token:null},Re.prototype.record_tag=function(t){var e=new Oe(this._current_frame,t,this._printer.indent_level);this._current_frame=e},Re.prototype._try_pop_frame=function(t){var e=null;return t&&(e=t.parser_token,this._printer.indent_level=t.indent_level,this._current_frame=t.parent),e},Re.prototype._get_frame=function(t,e){for(var i=this._current_frame;i&&-1===t.indexOf(i.tag);){if(e&&-1!==e.indexOf(i.tag)){i=null;break}i=i.parent}return i},Re.prototype.try_pop=function(t,e){var i=this._get_frame([t],e);return this._try_pop_frame(i)},Re.prototype.indent_to_tag=function(t){var e=this._get_frame(t);e&&(this._printer.indent_level=e.indent_level)},Ne.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var t=this._source_text,e=this._options.eol;"auto"===this._options.eol&&(e="\n",t&&Le.test(t)&&(e=t.match(Le)[0]));var i=(t=t.replace(Ae,"\n")).match(/^[\t ]*/)[0],n={text:"",type:""},o=new Be,r=new qe(this._options,i),s=new ke(t,this._options).tokenize();this._tag_stack=new Re(r);for(var a=null,l=s.next();l.type!==Ee.EOF;)l.type===Ee.TAG_OPEN||l.type===Ee.COMMENT?o=a=this._handle_tag_open(r,l,o,n):l.type===Ee.ATTRIBUTE||l.type===Ee.EQUALS||l.type===Ee.VALUE||l.type===Ee.TEXT&&!o.tag_complete?a=this._handle_inside_tag(r,l,o,s):l.type===Ee.TAG_CLOSE?a=this._handle_tag_close(r,l,o):l.type===Ee.TEXT?a=this._handle_text(r,l,o):r.add_raw_token(l),n=a,l=s.next();return r._output.get_code(e)},Ne.prototype._handle_tag_close=function(t,e,i){var n={text:e.text,type:e.type};return t.alignment_size=0,i.tag_complete=!0,t.set_space_before_token(e.newlines||""!==e.whitespace_before,!0),i.is_unformatted?t.add_raw_token(e):("<"===i.tag_start_char&&(t.set_space_before_token("/"===e.text[0],!0),this._is_wrap_attributes_force_expand_multiline&&i.has_wrapped_attrs&&t.print_newline(!1)),t.print_token(e)),!i.indent_content||i.is_unformatted||i.is_content_unformatted||(t.indent(),i.indent_content=!1),i.is_inline_element||i.is_unformatted||i.is_content_unformatted||t.set_wrap_point(),n},Ne.prototype._handle_inside_tag=function(t,e,i,n){var o=i.has_wrapped_attrs,r={text:e.text,type:e.type};if(t.set_space_before_token(e.newlines||""!==e.whitespace_before,!0),i.is_unformatted)t.add_raw_token(e);else if("{"===i.tag_start_char&&e.type===Ee.TEXT)t.print_preserved_newlines(e)?(e.newlines=0,t.add_raw_token(e)):t.print_token(e);else{if(e.type===Ee.ATTRIBUTE?(t.set_space_before_token(!0),i.attr_count+=1):(e.type===Ee.EQUALS||e.type===Ee.VALUE&&e.previous.type===Ee.EQUALS)&&t.set_space_before_token(!1),e.type===Ee.ATTRIBUTE&&"<"===i.tag_start_char&&((this._is_wrap_attributes_preserve||this._is_wrap_attributes_preserve_aligned)&&(t.traverse_whitespace(e),o=o||0!==e.newlines),this._is_wrap_attributes_force)){var s=i.attr_count>1;if(this._is_wrap_attributes_force_expand_multiline&&1===i.attr_count){var a,l=!0,d=0;do{if((a=n.peek(d)).type===Ee.ATTRIBUTE){l=!1;break}d+=1}while(d<4&&a.type!==Ee.EOF&&a.type!==Ee.TAG_CLOSE);s=!l}s&&(t.print_newline(!1),o=!0)}t.print_token(e),o=o||t.previous_token_wrapped(),i.has_wrapped_attrs=o}return r},Ne.prototype._handle_text=function(t,e,i){var n={text:e.text,type:"TK_CONTENT"};return i.custom_beautifier_name?this._print_custom_beatifier_text(t,e,i):i.is_unformatted||i.is_content_unformatted?t.add_raw_token(e):(t.traverse_whitespace(e),t.print_token(e)),n},Ne.prototype._print_custom_beatifier_text=function(t,e,i){var n=this;if(""!==e.text){var o,r=e.text,s=1,a="",l="";"javascript"===i.custom_beautifier_name&&"function"==typeof this._js_beautify?o=this._js_beautify:"css"===i.custom_beautifier_name&&"function"==typeof this._css_beautify?o=this._css_beautify:"html"===i.custom_beautifier_name&&(o=function(t,e){return new Ne(t,e,n._js_beautify,n._css_beautify).beautify()}),"keep"===this._options.indent_scripts?s=0:"separate"===this._options.indent_scripts&&(s=-t.indent_level);var d=t.get_full_indent(s);if(r=r.replace(/\n[ \t]*$/,""),"html"!==i.custom_beautifier_name&&"<"===r[0]&&r.match(/^(<!--|<!\[CDATA\[)/)){var c=/^(<!--[^\n]*|<!\[CDATA\[)(\n?)([ \t\n]*)([\s\S]*)(-->|]]>)$/.exec(r);if(!c)return void t.add_raw_token(e);a=d+c[1]+"\n",r=c[4],c[5]&&(l=d+c[5]),r=r.replace(/\n[ \t]*$/,""),(c[2]||-1!==c[3].indexOf("\n"))&&(c=c[3].match(/[ \t]+$/))&&(e.whitespace_before=c[0])}if(r)if(o){var u=function(){this.eol="\n"};u.prototype=this._options.raw_options,r=o(d+r,new u)}else{var p=e.whitespace_before;p&&(r=r.replace(new RegExp("\n("+p+")?","g"),"\n")),r=d+r.replace(/\n/g,"\n"+d)}a&&(r=r?a+r+"\n"+l:a+l),t.print_newline(!1),r&&(e.text=r,e.whitespace_before="",e.newlines=0,t.add_raw_token(e),t.print_newline(!0))}},Ne.prototype._handle_tag_open=function(t,e,i,n){var o=this._get_tag_open_token(e);return!i.is_unformatted&&!i.is_content_unformatted||i.is_empty_element||e.type!==Ee.TAG_OPEN||0!==e.text.indexOf("</")?(t.traverse_whitespace(e),this._set_tag_position(t,e,o,i,n),o.is_inline_element||t.set_wrap_point(),t.print_token(e)):(t.add_raw_token(e),o.start_tag_token=this._tag_stack.try_pop(o.tag_name)),(this._is_wrap_attributes_force_aligned||this._is_wrap_attributes_aligned_multiple||this._is_wrap_attributes_preserve_aligned)&&(o.alignment_size=e.text.length+1),o.tag_complete||o.is_unformatted||(t.alignment_size=o.alignment_size),o};var Be=function(t,e){var i;(this.parent=t||null,this.text="",this.type="TK_TAG_OPEN",this.tag_name="",this.is_inline_element=!1,this.is_unformatted=!1,this.is_content_unformatted=!1,this.is_empty_element=!1,this.is_start_tag=!1,this.is_end_tag=!1,this.indent_content=!1,this.multiline_content=!1,this.custom_beautifier_name=null,this.start_tag_token=null,this.attr_count=0,this.has_wrapped_attrs=!1,this.alignment_size=0,this.tag_complete=!1,this.tag_start_char="",this.tag_check="",e)?(this.tag_start_char=e.text[0],this.text=e.text,"<"===this.tag_start_char?(i=e.text.match(/^<([^\s>]*)/),this.tag_check=i?i[1]:""):(i=e.text.match(/^{{(?:[\^]|#\*?)?([^\s}]+)/),this.tag_check=i?i[1]:"","{{#>"===e.text&&">"===this.tag_check&&null!==e.next&&(this.tag_check=e.next.text)),this.tag_check=this.tag_check.toLowerCase(),e.type===Ee.COMMENT&&(this.tag_complete=!0),this.is_start_tag="/"!==this.tag_check.charAt(0),this.tag_name=this.is_start_tag?this.tag_check:this.tag_check.substr(1),this.is_end_tag=!this.is_start_tag||e.closed&&"/>"===e.closed.text,this.is_end_tag=this.is_end_tag||"{"===this.tag_start_char&&(this.text.length<3||/[^#\^]/.test(this.text.charAt(2)))):this.tag_complete=!0};Ne.prototype._get_tag_open_token=function(t){var e=new Be(this._tag_stack.get_parser_token(),t);return e.alignment_size=this._options.wrap_attributes_indent_size,e.is_end_tag=e.is_end_tag||Me(e.tag_check,this._options.void_elements),e.is_empty_element=e.tag_complete||e.is_start_tag&&e.is_end_tag,e.is_unformatted=!e.tag_complete&&Me(e.tag_check,this._options.unformatted),e.is_content_unformatted=!e.is_empty_element&&Me(e.tag_check,this._options.content_unformatted),e.is_inline_element=Me(e.tag_name,this._options.inline)||"{"===e.tag_start_char,e},Ne.prototype._set_tag_position=function(t,e,i,n,o){if(i.is_empty_element||(i.is_end_tag?i.start_tag_token=this._tag_stack.try_pop(i.tag_name):(this._do_optional_end_element(i)&&(i.is_inline_element||t.print_newline(!1)),this._tag_stack.record_tag(i),"script"!==i.tag_name&&"style"!==i.tag_name||i.is_unformatted||i.is_content_unformatted||(i.custom_beautifier_name=Te(i.tag_check,e)))),Me(i.tag_check,this._options.extra_liners)&&(t.print_newline(!1),t._output.just_added_blankline()||t.print_newline(!0)),i.is_empty_element){if("{"===i.tag_start_char&&"else"===i.tag_check)this._tag_stack.indent_to_tag(["if","unless","each"]),i.indent_content=!0,t.current_line_has_match(/{{#if/)||t.print_newline(!1);"!--"===i.tag_name&&o.type===Ee.TAG_CLOSE&&n.is_end_tag&&-1===i.text.indexOf("\n")||(i.is_inline_element||i.is_unformatted||t.print_newline(!1),this._calcluate_parent_multiline(t,i))}else if(i.is_end_tag){var r=!1;r=(r=i.start_tag_token&&i.start_tag_token.multiline_content)||!i.is_inline_element&&!(n.is_inline_element||n.is_unformatted)&&!(o.type===Ee.TAG_CLOSE&&i.start_tag_token===n)&&"TK_CONTENT"!==o.type,(i.is_content_unformatted||i.is_unformatted)&&(r=!1),r&&t.print_newline(!1)}else i.indent_content=!i.custom_beautifier_name,"<"===i.tag_start_char&&("html"===i.tag_name?i.indent_content=this._options.indent_inner_html:"head"===i.tag_name?i.indent_content=this._options.indent_head_inner_html:"body"===i.tag_name&&(i.indent_content=this._options.indent_body_inner_html)),i.is_inline_element||i.is_unformatted||"TK_CONTENT"===o.type&&!i.is_content_unformatted||t.print_newline(!1),this._calcluate_parent_multiline(t,i)},Ne.prototype._calcluate_parent_multiline=function(t,e){!e.parent||!t._output.just_added_newline()||(e.is_inline_element||e.is_unformatted)&&e.parent.is_inline_element||(e.parent.multiline_content=!0)};var Ie=["address","article","aside","blockquote","details","div","dl","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hr","main","nav","ol","p","pre","section","table","ul"],$e=["a","audio","del","ins","map","noscript","video"];Ne.prototype._do_optional_end_element=function(t){var e=null;if(!t.is_empty_element&&t.is_start_tag&&t.parent){if("body"===t.tag_name)e=e||this._tag_stack.try_pop("head");else if("li"===t.tag_name)e=e||this._tag_stack.try_pop("li",["ol","ul"]);else if("dd"===t.tag_name||"dt"===t.tag_name)e=(e=e||this._tag_stack.try_pop("dt",["dl"]))||this._tag_stack.try_pop("dd",["dl"]);else if("p"===t.parent.tag_name&&-1!==Ie.indexOf(t.tag_name)){var i=t.parent.parent;i&&-1!==$e.indexOf(i.tag_name)||(e=e||this._tag_stack.try_pop("p"))}else"rp"===t.tag_name||"rt"===t.tag_name?e=(e=e||this._tag_stack.try_pop("rt",["ruby","rtc"]))||this._tag_stack.try_pop("rp",["ruby","rtc"]):"optgroup"===t.tag_name?e=e||this._tag_stack.try_pop("optgroup",["select"]):"option"===t.tag_name?e=e||this._tag_stack.try_pop("option",["select","datalist","optgroup"]):"colgroup"===t.tag_name?e=e||this._tag_stack.try_pop("caption",["table"]):"thead"===t.tag_name?e=(e=e||this._tag_stack.try_pop("caption",["table"]))||this._tag_stack.try_pop("colgroup",["table"]):"tbody"===t.tag_name||"tfoot"===t.tag_name?e=(e=(e=(e=e||this._tag_stack.try_pop("caption",["table"]))||this._tag_stack.try_pop("colgroup",["table"]))||this._tag_stack.try_pop("thead",["table"]))||this._tag_stack.try_pop("tbody",["table"]):"tr"===t.tag_name?e=(e=(e=e||this._tag_stack.try_pop("caption",["table"]))||this._tag_stack.try_pop("colgroup",["table"]))||this._tag_stack.try_pop("tr",["table","thead","tbody","tfoot"]):"th"!==t.tag_name&&"td"!==t.tag_name||(e=(e=e||this._tag_stack.try_pop("td",["table","thead","tbody","tfoot","tr"]))||this._tag_stack.try_pop("th",["table","thead","tbody","tfoot","tr"]));return t.parent=this._tag_stack.get_parser_token(),e}},ce.Beautifier=Ne;var De=ce.Beautifier,He=ue.Options;de.exports=function(t,e,i,n){return new De(t,e,i,n).beautify()},de.exports.defaultOptions=function(){return new He};var ze=r.exports,Pe=jt.exports,Fe=de.exports;function Ue(t,e,i,n){return Fe(t,e,i=i||ze,n=n||Pe)}Ue.defaultOptions=Fe.defaultOptions,o.js=ze,o.css=Pe,o.html=Ue,function(t){var e=o;e.js_beautify=e.js,e.css_beautify=e.css,e.html_beautify=e.html,t.exports=function(t,e,i){var n=function(e,i){return t.js_beautify(e,i)};return n.js=t.js_beautify,n.css=e.css_beautify,n.html=i.html_beautify,n.js_beautify=t.js_beautify,n.css_beautify=e.css_beautify,n.html_beautify=i.html_beautify,n}(e,e,e)}(n);var We=n.exports;const je=new e;let Ge={};class Xe{constructor(e){this.builder=e;const i=new t(e),n=i.builderStuff();let o=n.querySelector(".viewhtml");if(!o){const t=`<div class="is-modal viewhtml">\n <div class="is-modal-content">\n <textarea class="tabSupport" style="width:100%;height:calc(100% - 50px);border:none;margin:0;box-sizing:border-box;"></textarea>\n <button title="${i.out("Enlarge")}" class="input-html-larger" style="width:35px;height:35px;position:absolute;right:20px;top:0;background:transparent;"><svg class="is-icon-flex" style="width:19px;height:19px;"><use xlink:href="#ion-arrow-expand"></use></svg></button>\n <div class="is-modal-footer" style="border-top:1px solid ${this.builder.styleSeparatorColor};width:100%;height:50px;position:absolute;left:0;bottom:0;overflow:hidden;text-align:right">\n <button title="${i.out("Cancel")}" class="input-cancel classic-secondary">${i.out("Cancel")}</button>\n <button title="${i.out("Ok")}" class="input-ok classic-primary">${i.out("Ok")}</button>\n </div>\n </div>\n </div>\n \n <div class="is-modal viewhtmlformatted">\n <div class="is-modal-content">\n <iframe id="ifrHtmlFormatted" style="width:100%;height:100%;border:none;margin:0;box-sizing:border-box;" src="about:blank"></iframe>\n <textarea style="position:absolute;display:none;"></textarea>\n <button title=" out('Enlarge') + '" class="input-html-larger" style="width:35px;height:35px;position:absolute;right:20px;top:0;background:transparent;"><svg class="is-icon-flex" style="width:19px;height:19px;"><use xlink:href="#ion-arrow-expand"></use></svg></button>\n <div class="is-modal-footer" style="border-top:1px solid ${this.builder.styleSeparatorColor};display:none">\n <button title="${i.out("Cancel")}" class="input-cancel classic-secondary">${i.out("Cancel")}</button>\n <button title="${i.out("Ok")}" class="input-ok classic-primary">${i.out("Ok")}</button>\n </div>\n </div>\n </div>\n\n <div class="is-modal viewhtmllarger">\n <div class="is-modal-content">\n <iframe id="ifrHtml" style="width:100%;height:100%;border: none;" src="about:blank"></iframe>\n </div>\n </div>\n\n <div class="is-modal viewhtmlnormal">\n <div class="is-modal-content">\n <button title="${i.out("Enlarge")}" class="input-html-larger" style="width:35px;height:35px;position:absolute;right:20px;top:0;background:transparent;"><svg class="is-icon-flex" style="width:19px;height:19px;"><use xlink:href="#ion-arrow-expand"></use></svg></button>\n <iframe id="ifrHtml" style="width:100%;height:100%;border: none;" src="about:blank"></iframe>\n </div>\n </div>\n \n `;je.appendHtml(n,t),o=n.querySelector(".viewhtml");let e=n.querySelector(".viewhtmlformatted"),r=n.querySelector(".viewhtmlnormal"),s=o.querySelector(".input-html-larger");je.addEventListener(s,"click",(()=>{let t=o.querySelector("textarea");t.setAttribute("data-source-active","1"),t.setAttribute("data-source-ok",".viewhtml .input-ok"),t.setAttribute("data-source-cancel",".viewhtml .input-cancel"),this.viewHtmlLarger()})),s=e.querySelector(".input-html-larger"),je.addEventListener(s,"click",(()=>{je.hasClass(e,"is-modal-full")?je.removeClass(e,"is-modal-full"):je.addClass(e,"is-modal-full")})),s=r.querySelector(".input-html-larger"),je.addEventListener(s,"click",(()=>{je.hasClass(r,"is-modal-full")?je.removeClass(r,"is-modal-full"):je.addClass(r,"is-modal-full")}))}}viewHtmlNormal(){const e=new t(this.builder),i=e.builderStuff().querySelector(".viewhtmlnormal");i.querySelector("iframe").outerHTML='<iframe id="ifrHtml" style="width:100%;height:100%;border: none;" src="about:blank"></iframe>';var n=i.querySelector("iframe").contentWindow.document;n.open(),n.write(this.getIframeHtml()),n.close(),e.showModal(i,!0,null,!1)}viewHtmlLarger(){const e=new t(this.builder),i=e.builderStuff().querySelector(".viewhtmllarger");i.querySelector("iframe").outerHTML='<iframe id="ifrHtml" style="width:100%;height:100%;border: none;" src="about:blank"></iframe>';var n=i.querySelector("iframe").contentWindow.document;n.open(),n.write(this.getIframeHtml()),n.close(),e.showModal(i,!0,null,!1)}view(e,i){const n=new t(this.builder),o=n.builderStuff();let r;if(r=this.builder.opts.htmlSyntaxHighlighting?o.querySelector(".viewhtmlformatted"):o.querySelector(".viewhtml"),r.querySelector(".is-modal-footer").innerHTML=`<button title="${n.out("Cancel")}" class="input-cancel classic-secondary">${n.out("Cancel")}</button>\n <button title="${n.out("Ok")}" class="input-ok classic-primary">${n.out("Ok")}</button>`,n.showModal(r,!0),"cell"===e){const t=n.cellSelected();if(!t)return;r.querySelector("textarea").value=this.readHtml(t,!0)}if("row"===e){const t=n.cellSelected();if(!t)return;const e=t.parentNode;r.querySelector("textarea").value=this.readHtml(e,!0),je.removeClass(e,"row-outline");let i=o.querySelector(".is-column-tool");je.removeClass(i,"active")}if("full"===e){if(i);else{const t=document.querySelectorAll(this.builder.opts.container);if(t.length>1){const e=n.cellSelected();i=e?e.parentNode.parentNode:t[0]}else i=t[0];if(""!==this.builder.opts.page){const t=document.querySelector(this.builder.opts.page);t&&(i=t)}}r.querySelector("textarea").value=this.readHtml(i,!0)}let s=r.querySelector(".input-ok");if(je.addEventListener(s,"click",(()=>{this.builder.uo.saveForUndo();var t=r.querySelector("textarea").value;if(t=this.fromViewToActual(t),"cell"===e){n.cellSelected().innerHTML=t,this.builder.applyBehavior(),this.builder.opts.onChange(),this.builder.opts.onRender()}if("row"===e){n.cellSelected().parentNode.innerHTML=t,this.builder.applyBehavior(),this.builder.opts.onChange(),this.builder.opts.onRender()}if("full"===e){i.innerHTML="";var o=document.createRange();o.setStart(i,0),i.appendChild(o.createContextualFragment(t)),this.builder.applyBehavior(),this.builder.opts.onChange(),this.builder.opts.onRender(),n.clearActiveCell()}n.clearControls(),n.hideModal(r)})),s=r.querySelector(".input-cancel"),je.addEventListener(s,"click",(()=>{n.hideModal(r)})),this.builder.opts.htmlSyntaxHighlighting){let t=r.querySelector("textarea");t.setAttribute("data-source-active","1"),t.setAttribute("data-source-ok",".viewhtmlformatted .input-ok"),t.setAttribute("data-source-cancel",".viewhtmlformatted .input-cancel"),r.querySelector("iframe").outerHTML='<iframe id="ifrHtmlFormatted" style="width:100%;height:100%;border: none;" src="about:blank"></iframe>';var a=r.querySelector("iframe").contentWindow.document;a.open(),a.write(this.getIframeHtml()),a.close()}o.querySelector(".is-pop.columnmore").style.display="",o.querySelector(".is-pop.rowmore").style.display=""}fromViewToActual(t){for(var e in Ge)t=t.replace(e,Ge[e]);return t}readHtml(e,i,n){if(this.builder.opts.absolutePath){let t=e.querySelectorAll("a");Array.prototype.forEach.call(t,(t=>{let e=t.href;t.setAttribute("href",e)}));let i=e.querySelectorAll("img");Array.prototype.forEach.call(i,(t=>{let e=t.src;t.setAttribute("src",e)}))}const o=new t(this.builder),r=o.builderStuff();let s=r.querySelector("#tmp_content");s&&r.removeChild(s),s=r.querySelector("#tmp_buildercontent"),s&&r.removeChild(s);let a='<div id="tmp_content" style="position:absolute;top:0;left:0;width:1px;height:1px;overflow:hidden;visibility:hidden;"></div>\n <div id="tmp_buildercontent" style="position:absolute;top:0;left:0;width:1px;height:1px;overflow:hidden;visibility:hidden;"></div>';je.appendHtml(r,a);let l=r.querySelector("#tmp_content");l.innerHTML=e.innerHTML;let d=l.querySelectorAll("[data-html]");Array.prototype.forEach.call(d,(t=>{let e=1,i=t.querySelectorAll("[data-subblock]");Array.prototype.forEach.call(i,(i=>{let n=i.innerHTML;t.setAttribute("data-html-"+e,encodeURIComponent(n)),e++}))})),d=l.querySelectorAll("[data-html]"),Array.prototype.forEach.call(d,(t=>{let e=decodeURIComponent(t.getAttribute("data-html"));e=e.replace(/{id}/g,o.makeId()),t.innerHTML=e;let i=t.querySelectorAll("[data-subblock]");var n=1;Array.prototype.forEach.call(i,(e=>{e.innerHTML=void 0===t.getAttribute("data-html-"+n)?"":decodeURIComponent(t.getAttribute("data-html-"+n)),n++}))})),i&&(Ge={},d=l.querySelectorAll("[data-html]"),Array.prototype.forEach.call(d,(t=>{let e=o.makeId();Ge[e]=t.getAttribute("data-html"),t.setAttribute("data-html",e);for(let i=1;i<=20;i++)void 0!==t.getAttribute("data-html-"+i)&&(e=o.makeId(),Ge[e]=t.getAttribute("data-html-"+i),t.getAttribute("data-html-"+i,e));void 0!==t.getAttribute("data-settings")&&(e=o.makeId(),Ge[e]=t.getAttribute("data-settings"),t.getAttribute("data-settings",e))})));let c=l.querySelectorAll(".is-builder");Array.prototype.forEach.call(c,(t=>{t.style.transform="",t.style.WebkitTransform="",t.style.MozTransform="",t.removeAttribute("data-sort"),je.removeClass(t,"builder-active")}));let u=l.querySelectorAll(".sortable-chosen");je.removeClasses(u,"sortable-chosen"),u=l.querySelectorAll(".sortable-ghost"),je.removeClasses(u,"sortable-ghost"),u=l.querySelectorAll(".elm-active"),je.removeClasses(u,"elm-active"),u=l.querySelectorAll(".elm-inspected"),je.removeClasses(u,"elm-inspected"),u=l.querySelectorAll(".cell-active"),je.removeClasses(u,"cell-active"),u=l.querySelectorAll(".row-active"),je.removeClasses(u,"row-active"),u=l.querySelectorAll(".row-outline"),je.removeClasses(u,"row-outline"),u=l.querySelectorAll(".is-builder"),je.removeClasses(u,"is-builder"),u=l.querySelectorAll(".row-outline"),je.removeClasses(u,"row-outline"),u=l.querySelectorAll("[data-click]"),je.removeAttributes(u,"data-click"),u=l.querySelectorAll("[contenteditable]"),je.removeAttributes(u,"contenteditable"),u=l.querySelectorAll("[draggridoutline]"),je.removeAttributes(u,"draggridoutline"),u=l.querySelectorAll("[between-blocks-left]"),je.removeAttributes(u,"between-blocks-left"),u=l.querySelectorAll("[between-blocks-center]"),je.removeAttributes(u,"between-blocks-center"),u=l.querySelectorAll("[hideelementhighlight]"),je.removeAttributes(u,"hideelementhighlight"),u=l.querySelectorAll("[data-module-active]"),je.removeAttributes(u,"data-module-active"),u=l.querySelectorAll("[draggable]"),je.removeAttributes(u,"draggable"),u=l.querySelectorAll("[hidesnippetaddtool]"),je.removeAttributes(u,"hidesnippetaddtool"),u=l.querySelectorAll("[gray]"),je.removeAttributes(u,"gray"),u=l.querySelectorAll("[rowoutline]"),je.removeAttributes(u,"rowoutline"),u=l.querySelectorAll("[grayoutline]"),je.removeAttributes(u,"grayoutline"),u=l.querySelectorAll("[hideoutline]"),je.removeAttributes(u,"hideoutline"),u=l.querySelectorAll("[leftrowtool]"),je.removeAttributes(u,"leftrowtool"),u=l.querySelectorAll("[minimal]"),je.removeAttributes(u,"minimal"),u=l.querySelectorAll("[clean]"),je.removeAttributes(u,"clean"),u=l.querySelectorAll("[grideditor]"),je.removeAttributes(u,"grideditor"),u=l.querySelectorAll("[gridoutline]"),je.removeAttributes(u,"gridoutline"),je.removeElements(l.querySelectorAll(".is-row-tool")),je.removeElements(l.querySelectorAll(".is-rowadd-tool")),je.removeElements(l.querySelectorAll(".ovl")),je.removeElements(l.querySelectorAll(".row-add-initial")),u=l.querySelectorAll(".aos-init"),je.removeClasses(u,"aos-init"),u=l.querySelectorAll(".aos-animate"),je.removeClasses(u,"aos-animate"),u=l.querySelectorAll(".skrollable"),je.removeClasses(u,"skrollable"),u=l.querySelectorAll(".skrollable-after"),je.removeClasses(u,"skrollable-after"),u=l.querySelectorAll(".skrollable-before"),je.removeClasses(u,"skrollable-before"),u=l.querySelectorAll(".skrollable-between"),je.removeClasses(u,"skrollable-between");let p=l.querySelectorAll('[class=""]');Array.prototype.forEach.call(p,(t=>{t.removeAttribute("class")}));let h=l.querySelectorAll('[style=""]');Array.prototype.forEach.call(h,(t=>{t.removeAttribute("style")})),u=l.querySelectorAll("[data-keep]"),je.removeAttributes(u,"data-keep");let v=l.querySelectorAll("a");if(Array.prototype.forEach.call(v,(t=>{"inline-block"===t.style.display&&1===t.parentNode.childElementCount&&"span"===t.parentNode.tagName.toLowerCase()&&(t.parentNode.outerHTML=t.parentNode.innerHTML)})),a="",n){let t=l.querySelectorAll(".is-dummy");je.removeElements(t),t=l.querySelectorAll(".is-animated"),Array.prototype.forEach.call(t,(t=>{je.removeClass(t,"animated"),je.removeClass(t,"pulse"),je.removeClass(t,"bounceIn"),je.removeClass(t,"fadeIn"),je.removeClass(t,"fadeOut"),je.removeClass(t,"fadeInDown"),je.removeClass(t,"fadeInLeft"),je.removeClass(t,"fadeInRight"),je.removeClass(t,"fadeInUp"),je.removeClass(t,"flipInX"),je.removeClass(t,"flipInY"),je.removeClass(t,"slideInUp"),je.removeClass(t,"slideInDown"),je.removeClass(t,"slideInLeft"),je.removeClass(t,"slideInRight"),je.removeClass(t,"zoomIn"),t.style.animationDelay=""})),t=l.querySelectorAll(".is-appeared"),Array.prototype.forEach.call(t,(t=>{je.removeClass(t,"is-appeared")})),t=l.querySelectorAll(".box-active"),Array.prototype.forEach.call(t,(t=>{je.removeClass(t,"box-active")})),t=l.querySelectorAll(".section-active"),Array.prototype.forEach.call(t,(t=>{je.removeClass(t,"section-active")})),t=l.querySelectorAll(".is-section-tool"),je.removeElements(t);var f="",g="",m="";je.elementChildren(l).forEach((t=>{let e=t;if(je.hasClass(e,"is-section")){var i="";e.getAttribute("class")&&(i=' class="'+e.getAttribute("class")+'"');var n=e.cloneNode(!0),o=n.outerHTML;a+=o,-1===i.indexOf("is-static")?f+=o+"\n\n":g+=o+"\n\n"}else o=(n=e.cloneNode(!0)).outerHTML,a+=o,m+=o})),""!==g&&(g="\x3c!---FOOTER---\x3e\n"+g),""!==m&&(m="\x3c!---OTHERS---\x3e\n"+m);let e=document.querySelector("[data-contentbox"),i=!1;e&&(i=e.settings.disableStaticSection),i||(a=f+g+m)}else a=l.innerHTML.trim(),a=a.replace(/<font/g,"<span").replace(/<\/font/g,"</span");return s=r.querySelector("#tmp_content"),s&&r.removeChild(s),s=r.querySelector("#tmp_buildercontent"),s&&r.removeChild(s),(0,We.html)(a)}getIframeHtml(){return`\n <!DOCTYPE HTML>\n <html>\n <head>\n <meta charset="utf-8">\n <title>Fonts</title>\n <meta name="viewport" content="width=device-width, initial-scale=1">\n <meta name="description" content=""> \n <link href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.48.4/codemirror.css" rel="stylesheet" type="text/css" />\n \n <style>\n html, body {height:100%}\n body {margin:0;overflow:hidden;}\n \n button {\n width: 51px;\n height: 45px;\n line-height:1;\n display: inline-block;\n box-sizing:border-box;\n margin: 0;\n padding: 0;\n cursor: pointer;\n background-color: ${this.builder.styleModalBackground};\n color: ${this.builder.styleModalColor}; \n border: 1px solid transparent;\n font-family: sans-serif;\n letter-spacing: 1px;\n font-size:12px;\n font-weight:normal;\n // text-transform:uppercase;\n text-align:center; \n position:relative;\n border-radius: 0;\n transition: all ease 0.3s; \n user-select: none;\n -moz-user-select: none;\n -khtml-user-select: none;\n -webkit-user-select: none;\n -o-user-select: none; \n }\n button.classic-primary {display:inline-block;width:auto;height:50px;padding-left:30px;padding-right:30px;min-width:135px;\n background-color: ${this.builder.styleButtonClassicBackground};\n color: ${this.builder.styleButtonClassicColor}; \n }\n button.classic-secondary {display:inline-block;width:auto;height:50px;padding-left:30px;padding-right:30px;\n background:transparent;\n }\n button.classic-primary:hover {\n background-color: ${this.builder.styleButtonClassicBackgroundHover}; \n }\n button:focus {outline:none;}\n textarea {font-family: courier;font-size: 17px;line-height: 2;letter-spacing: 1px;padding:8px 16px;box-sizing:border-box;border:1px solid rgb(199, 199, 199);}\n textarea:focus {outline:none} \n \n #code {display:none;}\n .CodeMirror {\n font-family: courier;\n font-size: 15px;\n line-height:1.9;\n width:100%;height:100%;\n }\n\n /* adjustment => for colored & dark */\n .colored .CodeMirror{\n background:#f5f5f5;\n }\n .colored .CodeMirror-gutters{\n background:#ececec;\n }\n\n .colored-dark .CodeMirror{\n background:#f5f5f5;\n }\n .colored-dark .CodeMirror-gutters{\n background:#ececec;\n }\n\n .dark .CodeMirror{\n background:#f5f5f5;\n }\n .dark .CodeMirror-gutters{\n background:#ececec;\n }\n\n /* base16-light => not used */\n .cm-s-base16-light.CodeMirror{\n background:#eaeaea;//#f5f5f5;\n color:#202020\n }\n .cm-s-base16-light div.CodeMirror-selected{background:#e0e0e0}.cm-s-base16-light .CodeMirror-line::selection,.cm-s-base16-light .CodeMirror-line>span::selection,.cm-s-base16-light .CodeMirror-line>span>span::selection{background:#e0e0e0}.cm-s-base16-light .CodeMirror-line::-moz-selection,.cm-s-base16-light .CodeMirror-line>span::-moz-selection,.cm-s-base16-light .CodeMirror-line>span>span::-moz-selection{background:#e0e0e0}\n .cm-s-base16-light .CodeMirror-gutters{\n background:#dcdcdc; //#f5f5f5;\n border-right:0\n }\n .cm-s-base16-light .CodeMirror-guttermarker{color:#ac4142}.cm-s-base16-light .CodeMirror-guttermarker-subtle{color:#b0b0b0}\n .cm-s-base16-light .CodeMirror-linenumber{\n color:#989898;//#b0b0b0\n }\n .cm-s-base16-light .CodeMirror-cursor{border-left:1px solid #505050}.cm-s-base16-light span.cm-comment{color:#8f5536}.cm-s-base16-light span.cm-atom{color:#aa759f}.cm-s-base16-light span.cm-number{color:#aa759f}.cm-s-base16-light span.cm-attribute,.cm-s-base16-light span.cm-property{color:#90a959}.cm-s-base16-light span.cm-keyword{color:#ac4142}\n .cm-s-base16-light span.cm-string{color:#c37f20}\n .cm-s-base16-light span.cm-variable{color:#90a959}.cm-s-base16-light span.cm-variable-2{color:#6a9fb5}.cm-s-base16-light span.cm-def{color:#d28445}.cm-s-base16-light span.cm-bracket{color:#202020}.cm-s-base16-light span.cm-tag{color:#ac4142}.cm-s-base16-light span.cm-link{color:#aa759f}.cm-s-base16-light span.cm-error{background:#ac4142;color:#505050}.cm-s-base16-light .CodeMirror-activeline-background{background:#dddcdc}.cm-s-base16-light .CodeMirror-matchingbracket{color:#f5f5f5!important;background-color:#6a9fb5!important}\n\n /* Port of TextMate's Blackboard theme => not used */\n\n .cm-s-blackboard.CodeMirror { background: #262626; color: #F8F8F8; } \n .cm-s-blackboard div.CodeMirror-selected { background: #253B76; }\n .cm-s-blackboard .CodeMirror-line::selection, .cm-s-blackboard .CodeMirror-line > span::selection, .cm-s-blackboard .CodeMirror-line > span > span::selection { background: rgba(37, 59, 118, .99); }\n .cm-s-blackboard .CodeMirror-line::-moz-selection, .cm-s-blackboard .CodeMirror-line > span::-moz-selection, .cm-s-blackboard .CodeMirror-line > span > span::-moz-selection { background: rgba(37, 59, 118, .99); }\n .cm-s-blackboard .CodeMirror-gutters { background: #323232; border-right: 0; }\n .cm-s-blackboard .CodeMirror-guttermarker { color: #FBDE2D; }\n .cm-s-blackboard .CodeMirror-guttermarker-subtle { color: #888; }\n .cm-s-blackboard .CodeMirror-linenumber { color: #888; }\n .cm-s-blackboard .CodeMirror-cursor { border-left: 1px solid #A7A7A7; }\n\n .cm-s-blackboard .cm-keyword { color: #FBDE2D; }\n .cm-s-blackboard .cm-atom { color: #D8FA3C; }\n .cm-s-blackboard .cm-number { color: #D8FA3C; }\n .cm-s-blackboard .cm-def { color: #8DA6CE; }\n .cm-s-blackboard .cm-variable { color: #FF6400; }\n .cm-s-blackboard .cm-operator { color: #FBDE2D; }\n .cm-s-blackboard .cm-comment { color: #AEAEAE; }\n .cm-s-blackboard .cm-string { color: #61CE3C; }\n .cm-s-blackboard .cm-string-2 { color: #61CE3C; }\n .cm-s-blackboard .cm-meta { color: #D8FA3C; }\n .cm-s-blackboard .cm-builtin { color: #8DA6CE; }\n .cm-s-blackboard .cm-tag { color: #8DA6CE; }\n .cm-s-blackboard .cm-attribute { color: #8DA6CE; }\n .cm-s-blackboard .cm-header { color: #FF6400; }\n .cm-s-blackboard .cm-hr { color: #AEAEAE; }\n .cm-s-blackboard .cm-link { color: #8DA6CE; }\n .cm-s-blackboard .cm-error { background: #9D1E15; color: #F8F8F8; }\n\n .cm-s-blackboard .CodeMirror-activeline-background { background: #3C3636; }\n .cm-s-blackboard .CodeMirror-matchingbracket { outline:1px solid grey;color:white !important; }\n\n \n /* Scrollbar for modal */\n\n .dark * {\n scrollbar-width: thin;\n scrollbar-color: rgba(255, 255, 255, 0.3) auto;\n }\n .dark *::-webkit-scrollbar {\n width: 12px;\n }\n .dark *::-webkit-scrollbar-track {\n background: transparent;\n }\n .dark *::-webkit-scrollbar-thumb {\n background-color:rgba(255, 255, 255, 0.3);\n } \n\n .colored-dark * {\n scrollbar-width: thin;\n scrollbar-color: rgb(100, 100, 100) auto;\n }\n .colored-dark *::-webkit-scrollbar {\n width: 12px;\n }\n .colored-dark *::-webkit-scrollbar-track {\n background: transparent;\n }\n .colored-dark *::-webkit-scrollbar-thumb {\n background-color:rgb(100, 100, 100);\n } \n\n .light * {\n scrollbar-width: thin;\n scrollbar-color: rgba(0, 0, 0, 0.4) auto;\n }\n .light *::-webkit-scrollbar {\n width: 12px;\n }\n .light *::-webkit-scrollbar-track {\n background: transparent;\n }\n .light *::-webkit-scrollbar-thumb {\n background-color: rgba(0, 0, 0, 0.4);\n } \n </style>\n </head>\n <body${this.builder.styleDark?' class="dark"':""}${this.builder.styleColored?' class="colored"':""}${this.builder.styleColoredDark?' class="colored-dark"':""}${this.builder.styleLight?' class="light"':""}>\n\n <div style="position:absolute;top:0;left:0;width:100%;height:100%;border:none;border-bottom:50px solid transparent;box-sizing: border-box;">\n <textarea id="code"></textarea> \n </div>\n <div style="width:100%;height:50px;position:absolute;left:0;border-top:1px solid ${this.builder.styleSeparatorColor};bottom:0;overflow:hidden;text-align:right">\n <button title="${this.builder.out("Cancel")}" class="input-cancel classic-secondary">${this.builder.out("Cancel")}</button>\n <button title="${this.builder.out("Ok")}" class="input-ok classic-primary">${this.builder.out("Ok")}</button>\n </div>\n \n <script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.48.4/codemirror.js" type="text/javascript"><\/script>\n <script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.48.4/mode/xml/xml.js" type="text/javascript"><\/script>\n <script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.48.4/mode/javascript/javascript.js" type="text/javascript"><\/script>\n <script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.48.4/mode/css/css.js" type="text/javascript"><\/script>\n \n <script type="text/javascript">\n \n var source = parent.document.querySelector('textarea[data-source-active]');\n var selectorOk = source.getAttribute('data-source-ok');\n var selectorCancel = source.getAttribute('data-source-cancel');\n \n var html = source.value;\n var myTextArea = document.querySelector('#code');\n myTextArea.value = html;\n\n var htmlEditor = CodeMirror.fromTextArea(myTextArea, {\n value: html,\n mode: "text/html",\n lineWrapping: true,\n lineNumbers: true,\n tabMode: "indent"\n });\n\n ${this.builder.styleDark?'htmlEditor.setOption("theme", "blackboard");':""}\n /*\n ${this.builder.styleDark?'htmlEditor.setOption("theme", "base16-light");':""}\n \n ${this.builder.styleColored?'htmlEditor.setOption("theme", "blackboard");':""}\n */\n\n htmlEditor.on("change", function (cm, change) {\n myTextArea.value = cm.getValue();\n });\n \n let elm = document.querySelector('.input-ok');\n elm.addEventListener('click', function(e){\n \n myTextArea.value = htmlEditor.getValue();\n \n var html = myTextArea.value;\n source.value = html;\n\n source.removeAttribute('data-source-active');\n source.removeAttribute('data-source-ok');\n source.removeAttribute('data-source-cancel');\n \n var modal = parent.document.querySelector('.viewhtmllarger');\n if(modal.className.indexOf('active')!==-1) {\n modal.className = modal.className.replace('active', '');\n } else {\n modal = parent.document.querySelector('.viewhtmlformatted');\n modal.className = modal.className.replace('active', '');\n }\n \n modal = parent.document.querySelector('.viewhtmlnormal');\n if(modal.className.indexOf('active')!==-1) {\n modal.className = modal.className.replace('active', '');\n }\n\n parent.document.querySelector(selectorOk).click();\n });\n \n elm = document.querySelector('.input-cancel');\n elm.addEventListener('click', function(e){\n source.removeAttribute('data-source-active');\n source.removeAttribute('data-source-ok');\n source.removeAttribute('data-source-cancel');\n \n var modal = parent.document.querySelector('.viewhtmllarger');\n if(modal.className.indexOf('active')!==-1) {\n modal.className = modal.className.replace('active', '');\n } else {\n modal = parent.document.querySelector('.viewhtmlformatted');\n modal.className = modal.className.replace('active', '');\n }\n \n modal = parent.document.querySelector('.viewhtmlnormal');\n if(modal.className.indexOf('active')!==-1) {\n modal.className = modal.className.replace('active', '');\n }\n\n parent.document.querySelector(selectorCancel).click();\n });\n \n <\/script>\n \n </body>\n </html>\n \n `}}const Ye=new e;class Ve{constructor(t){this.builder=t,this.undoList=[]}readStyles(){if(this.builder.opts.undoContainerOnly)return"";let t,e,i="",n=document.getElementsByTagName("link");for(t=0;t<n.length;t++)e=n[t].href.toLowerCase(),-1!==e.indexOf("basetype-")&&(i+=n[t].outerHTML);for(n=document.getElementsByTagName("link"),t=0;t<n.length;t++)e=n[t].href.toLowerCase(),-1!==e.indexOf("basetype-")||-1!==e.indexOf("type-")&&(i+=n[t].outerHTML);return i}writeStyles(t){if(this.builder.opts.undoContainerOnly)return;let e,i,n=document.getElementsByTagName("link");for(e=0;e<n.length;e++)i=n[e].href.toLowerCase(),(-1!==i.indexOf("basetype-")||-1!==i.indexOf("type-"))&&n[e].parentNode.removeChild(n[e]);let o=document.getElementsByTagName("head")[0];Ye.appendHtml(o,t)}readHtml(){const t=new Xe(this.builder);if(""===this.builder.opts.page||this.builder.opts.undoContainerOnly){const e=document.querySelectorAll(this.builder.opts.container);let i="";return Array.prototype.forEach.call(e,(e=>{i+=t.readHtml(e,!1)+"####|####"})),i=i.substr(0,i.length-9),i}{let e=document.querySelector(this.builder.opts.page);return t.readHtml(e,!1)}}writeHtml(t){if(""===this.builder.opts.page||this.builder.opts.undoContainerOnly){const e=document.querySelectorAll(this.builder.opts.container);let i=0;Array.prototype.forEach.call(e,(e=>{var n=document.createRange();e.innerHTML="",e.appendChild(n.createContextualFragment(t.split("####|####")[i])),i++}))}else{let i=document.querySelector(this.builder.opts.page);var e=document.createRange();i.innerHTML="",i.appendChild(e.createContextualFragment(t))}}saveForUndo(t){if(this.builder.undoRedoStyles){if(this.undoList[120]){let e=this.undoList[120][0].split("###$###")[1];if(this.builder.saveForUndoCheck&&e===this.readHtml())return void(this.builder.saveForUndoCheck=!0===t)}}else if(this.undoList[120]){let e=this.undoList[120][0];if(this.builder.saveForUndoCheck&&e===this.readHtml())return void(this.builder.saveForUndoCheck=!0===t)}if(this.builder.saveForUndoCheck=!0===t,this.undoList[140]=this.undoList[139],this.undoList[139]=this.undoList[138],this.undoList[138]=this.undoList[137],this.undoList[137]=this.undoList[136],this.undoList[136]=this.undoList[135],this.undoList[135]=this.undoList[134],this.undoList[134]=this.undoList[133],this.undoList[133]=this.undoList[132],this.undoList[132]=this.undoList[131],this.undoList[131]=this.undoList[130],this.undoList[130]=this.undoList[129],this.undoList[129]=this.undoList[128],this.undoList[128]=this.undoList[127],this.undoList[127]=this.undoList[126],this.undoList[126]=this.undoList[125],this.undoList[125]=this.undoList[124],this.undoList[124]=this.undoList[123],this.undoList[123]=this.undoList[122],this.undoList[122]=this.undoList[121],this.undoList[121]=this.undoList[120],this.builder.undoRedoStyles){let t=" "+this.readStyles()+"###$###"+this.readHtml();this.undoList[120]=[t,null]}else this.undoList[120]=[this.readHtml(),null]}doUndo(){if(!this.undoList[120])return;if(!0===this.builder.undoRedoInProcess)return;if(this.builder.undoRedoInProcess=!0,this.undoList[99]=this.undoList[100],this.undoList[100]=this.undoList[101],this.undoList[101]=this.undoList[102],this.undoList[102]=this.undoList[103],this.undoList[103]=this.undoList[104],this.undoList[104]=this.undoList[105],this.undoList[105]=this.undoList[106],this.undoList[106]=this.undoList[107],this.undoList[107]=this.undoList[108],this.undoList[108]=this.undoList[109],this.undoList[109]=this.undoList[110],this.undoList[110]=this.undoList[111],this.undoList[111]=this.undoList[112],this.undoList[112]=this.undoList[113],this.undoList[113]=this.undoList[114],this.undoList[114]=this.undoList[115],this.undoList[115]=this.undoList[116],this.undoList[116]=this.undoList[117],this.undoList[117]=this.undoList[118],this.undoList[118]=this.undoList[119],this.builder.undoRedoStyles){let t=this.readStyles(),e=this.readHtml(),i=" "+t+"###$###"+e;this.undoList[119]=[i,null],i=this.undoList[120][0],t=i.split("###$###")[0].trim(),e=i.split("###$###")[1],this.writeStyles(t),this.writeHtml(e)}else{this.undoList[119]=[this.readHtml(),null];let t=this.undoList[120][0];this.writeHtml(t)}this.builder.applyBehavior(),this.builder.opts.onChange(),this.undoList[120]=this.undoList[121],this.undoList[121]=this.undoList[122],this.undoList[122]=this.undoList[123],this.undoList[123]=this.undoList[124],this.undoList[124]=this.undoList[125],this.undoList[125]=this.undoList[126],this.undoList[126]=this.undoList[127],this.undoList[127]=this.undoList[128],this.undoList[128]=this.undoList[129],this.undoList[129]=this.undoList[130],this.undoList[130]=this.undoList[131],this.undoList[131]=this.undoList[132],this.undoList[132]=this.undoList[133],this.undoList[133]=this.undoList[134],this.undoList[134]=this.undoList[135],this.undoList[135]=this.undoList[136],this.undoList[136]=this.undoList[137],this.undoList[137]=this.undoList[138],this.undoList[138]=this.undoList[139],this.undoList[139]=this.undoList[140],this.undoList[140]=this.undoList[141];const e=new t(this.builder);e.clearActiveCell(),e.clearAfterUndoRedo();let i=document.querySelector("[data-saveforundo]");if(i){let t=document.querySelector(".is-side.elementstyles");Ye.addClass(t,"active"),setTimeout((()=>{i.click()}),700)}else{let t=document.querySelector(".is-side.elementstyles");Ye.removeClass(t,"active")}this.builder.opts.onUndo&&this.builder.opts.onUndo(),this.builder.undoRedoInProcess=!1}doRedo(){if(!this.undoList[119])return;if(!0===this.builder.undoRedoInProcess)return;if(this.builder.undoRedoInProcess=!0,this.undoList[141]=this.undoList[140],this.undoList[140]=this.undoList[139],this.undoList[139]=this.undoList[138],this.undoList[138]=this.undoList[137],this.undoList[137]=this.undoList[136],this.undoList[136]=this.undoList[135],this.undoList[135]=this.undoList[134],this.undoList[134]=this.undoList[133],this.undoList[133]=this.undoList[132],this.undoList[132]=this.undoList[131],this.undoList[131]=this.undoList[130],this.undoList[130]=this.undoList[129],this.undoList[129]=this.undoList[128],this.undoList[128]=this.undoList[127],this.undoList[127]=this.undoList[126],this.undoList[126]=this.undoList[125],this.undoList[125]=this.undoList[124],this.undoList[124]=this.undoList[123],this.undoList[123]=this.undoList[122],this.undoList[122]=this.undoList[121],this.undoList[121]=this.undoList[120],this.builder.undoRedoStyles){let t=this.readStyles(),e=this.readHtml(),i=" "+t+"###$###"+e;this.undoList[120]=[i,null],i=this.undoList[119][0],t=i.split("###$###")[0].trim(),e=i.split("###$###")[1],this.writeStyles(t),this.writeHtml(e)}else{this.undoList[120]=[this.readHtml(),null];let t=this.undoList[119][0];this.writeHtml(t)}this.builder.applyBehavior(),this.builder.opts.onChange(),this.undoList[119]=this.undoList[118],this.undoList[118]=this.undoList[117],this.undoList[117]=this.undoList[116],this.undoList[116]=this.undoList[115],this.undoList[115]=this.undoList[114],this.undoList[114]=this.undoList[113],this.undoList[113]=this.undoList[112],this.undoList[112]=this.undoList[111],this.undoList[111]=this.undoList[110],this.undoList[110]=this.undoList[109],this.undoList[109]=this.undoList[108],this.undoList[108]=this.undoList[107],this.undoList[107]=this.undoList[106],this.undoList[106]=this.undoList[105],this.undoList[105]=this.undoList[104],this.undoList[104]=this.undoList[103],this.undoList[103]=this.undoList[102],this.undoList[102]=this.undoList[101],this.undoList[101]=this.undoList[100],this.undoList[100]=this.undoList[99],this.undoList[99]=null;const e=new t(this.builder);e.clearActiveCell(),e.clearAfterUndoRedo();let i=document.querySelector("[data-saveforundo]");if(i){let t=document.querySelector(".is-side.elementstyles");Ye.addClass(t,"active"),setTimeout((()=>{i.click()}),700)}else{let t=document.querySelector(".is-side.elementstyles");Ye.removeClass(t,"active")}this.builder.opts.onRedo&&this.builder.opts.onRedo(),this.builder.undoRedoInProcess=!1}}const Ke=new t,Ze=new e,Qe=()=>{const t=Ke.builderStuff();Ze.appendHtml(t,'<svg width="0" height="0" style="position:absolute;display:none;">\n <defs>\n <symbol viewBox="0 0 512 512" id="ion-ios-arrow-left"><path d="M352 115.4L331.3 96 160 256l171.3 160 20.7-19.3L201.5 256z"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-ios-arrow-right"><path d="M160 115.4L180.7 96 352 256 180.7 416 160 396.7 310.5 256z"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-ios-plus-outline"><path d="M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm0 398.7c-105.1 0-190.7-85.5-190.7-190.7S150.9 65.3 256 65.3 446.7 150.9 446.7 256 361.1 446.7 256 446.7z"></path><path d="M264.1 128h-16.8v119.9H128v16.8h119.3V384h16.8V264.7H384v-16.8H264.1z"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-image"><path d="M368 224c26.5 0 48-21.5 48-48s-21.5-48-48-48-48 21.5-48 48 21.5 48 48 48z"></path><path d="M452 64H60c-15.6 0-28 12.7-28 28.3v327.4c0 15.6 12.4 28.3 28 28.3h392c15.6 0 28-12.7 28-28.3V92.3c0-15.6-12.4-28.3-28-28.3zM348.9 261.7c-3-3.5-7.6-6.2-12.8-6.2-5.1 0-8.7 2.4-12.8 5.7L304.6 277c-3.9 2.8-7 4.7-11.5 4.7-4.3 0-8.2-1.6-11-4.1-1-.9-2.8-2.6-4.3-4.1L224 215.3c-4-4.6-10-7.5-16.7-7.5-6.7 0-12.9 3.3-16.8 7.8L64 368.2V107.7c1-6.8 6.3-11.7 13.1-11.7h357.7c6.9 0 12.5 5.1 12.9 12l.3 260.4-99.1-106.7z"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-ios-photos-outline"><path d="M96 128v320h384V128H96zm368 304H112V144h352v288z"></path><path d="M32 64v320h48v-16H48V80h352v32h16V64z"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-ios-settings-strong"><path d="M32 376h283.35c6.186-14.112 20.281-24 36.65-24s30.465 9.888 36.65 24H480v32h-91.35c-6.186 14.112-20.281 24-36.65 24s-30.465-9.888-36.65-24H32M32 240h91.35c6.186-14.112 20.281-24 36.65-24s30.465 9.888 36.65 24H480v32H196.65c-6.186 14.112-20.281 24-36.65 24s-30.465-9.888-36.65-24H32M32 104h283.35c6.186-14.112 20.281-24 36.65-24s30.465 9.888 36.65 24H480v32h-91.35c-6.186 14.112-20.281 24-36.65 24s-30.465-9.888-36.65-24H32"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-ios-settings"><path d="M352 104c8.837 0 16 7.163 16 16s-7.163 16-16 16-16-7.163-16-16 7.163-16 16-16m0-16c-17.645 0-32 14.355-32 32s14.355 32 32 32 32-14.355 32-32-14.355-32-32-32zM352 376c8.837 0 16 7.163 16 16s-7.163 16-16 16-16-7.163-16-16 7.163-16 16-16m0-16c-17.645 0-32 14.355-32 32s14.355 32 32 32 32-14.355 32-32-14.355-32-32-32zM160 240c8.837 0 16 7.163 16 16s-7.163 16-16 16-16-7.163-16-16 7.163-16 16-16m0-16c-17.645 0-32 14.355-32 32s14.355 32 32 32 32-14.355 32-32-14.355-32-32-32zM207.32 248H480v16H207.32c.439-2.604.68-5.273.68-8s-.24-5.396-.68-8zM112 256c0 2.727.24 5.396.68 8H32v-16h80.68a47.955 47.955 0 0 0-.68 8zM399.32 384H480v16h-80.68c.439-2.604.68-5.273.68-8s-.24-5.396-.68-8zM304 392c0 2.727.24 5.396.68 8H32v-16h272.68a47.955 47.955 0 0 0-.68 8zM399.32 112H480v16h-80.68c.439-2.604.68-5.273.68-8s-.24-5.396-.68-8zM304.68 112c-.439 2.604-.68 5.273-.68 8s.24 5.396.68 8H32v-16h272.68z"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-android-options"><path d="M32 384h272v32H32zM400 384h80v32h-80zM384 447.5c0 17.949-14.327 32.5-32 32.5-17.673 0-32-14.551-32-32.5v-95c0-17.949 14.327-32.5 32-32.5 17.673 0 32 14.551 32 32.5v95z"></path><g><path d="M32 240h80v32H32zM208 240h272v32H208zM192 303.5c0 17.949-14.327 32.5-32 32.5-17.673 0-32-14.551-32-32.5v-95c0-17.949 14.327-32.5 32-32.5 17.673 0 32 14.551 32 32.5v95z"></path></g><g><path d="M32 96h272v32H32zM400 96h80v32h-80zM384 159.5c0 17.949-14.327 32.5-32 32.5-17.673 0-32-14.551-32-32.5v-95c0-17.949 14.327-32.5 32-32.5 17.673 0 32 14.551 32 32.5v95z"></path></g></symbol>\n <symbol viewBox="0 0 2048.0 2048.0" id="icon-list-number"><rect x="0" y="0" width="2048.00" height="2048.00" fill="none" /><g id="document" transform="matrix(1,0,0,1,1024.0,1024.0)"><path d="M-1043.45,1024 C-1039.25,946.283 -1023.18,878.648 -995.249,821.096 C-967.313,763.544 -912.806,711.242 -831.728,664.192 L-710.742,594.247 C-656.55,562.74 -618.532,535.854 -596.687,513.589 C-562.24,478.722 -545.016,438.813 -545.016,393.863 C-545.016,341.352 -560.769,299.658 -592.276,268.781 C-623.783,237.904 -665.792,222.466 -718.304,222.466 C-796.02,222.466 -849.792,251.873 -879.619,310.685 C-895.582,342.192 -904.404,385.882 -906.084,441.754 L-1021.4,441.754 C-1020.14,363.197 -1005.65,299.133 -977.92,249.562 C-928.769,162.183 -842.02,118.494 -717.673,118.494 C-614.331,118.494 -538.82,146.43 -491.139,202.302 C-443.459,258.174 -419.619,320.347 -419.619,388.822 C-419.619,461.078 -445.034,522.831 -495.865,574.082 C-525.272,603.909 -577.993,640.037 -654.03,682.466 L-740.358,730.356 C-781.527,753.041 -813.874,774.676 -837.399,795.26 C-879.408,831.808 -905.874,872.347 -916.797,916.877 L-424.03,916.877 L-424.03,1024 L-1043.45,1024 Z " /><path d="M-922.391,-764.384 L-922.391,-851.343 C-840.474,-859.324 -783.341,-872.662 -750.994,-891.356 C-718.647,-910.05 -694.492,-954.265 -678.529,-1024 L-589.049,-1024 L-589.049,-125.425 L-710.035,-125.425 L-710.035,-764.384 L-922.391,-764.384 Z " /><path d="M-198.618,-510.942 L-198.618,-667.156 L1004.57,-667.156 L1004.57,-510.942 L-198.618,-510.942 Z " /><path d="M-198.618,78.1071 L-198.618,-78.1071 L1004.57,-78.1071 L1004.57,78.1071 L-198.618,78.1071 Z " /><path d="M-179.185,649.354 L-179.185,493.14 L1024,493.14 L1024,649.354 L-179.185,649.354 Z " /></g></symbol>\n <symbol viewBox="0 0 2048.0 2048.0" id="icon-list-bullet"><rect x="0" y="0" width="2048.00" height="2048.00" fill="none" /><g id="document" transform="matrix(1,0,0,1,1024.0,1024.0)"><path d="M-379.801,-514.33 L-379.801,-670.545 L914.662,-670.545 L914.662,-514.33 L-379.801,-514.33 Z " /><path d="M-379.801,78.1071 L-379.801,-78.1071 L914.662,-78.1071 L914.662,78.1071 L-379.801,78.1071 Z " /><path d="M-379.801,670.545 L-379.801,514.33 L914.662,514.33 L914.662,670.545 L-379.801,670.545 Z " /><path d="M-929.642,-469.441 L-929.642,-715.434 L-669.092,-715.434 L-669.092,-469.441 L-929.642,-469.441 Z " /><path d="M-929.642,127.109 L-929.642,-118.885 L-669.092,-118.885 L-669.092,127.109 L-929.642,127.109 Z " /><path d="M-929.642,715.434 L-929.642,469.441 L-669.092,469.441 L-669.092,715.434 L-929.642,715.434 Z " /></g></symbol>\n <symbol viewBox="0 0 2048.0 2048.0" id="icon-clean">\n <g transform="matrix(1,0,0,1,1024.0,1024.0)">\n <path d="M75.0013,893.849 L-1030.73,900.993 L-32.1518,-880.838 L1009.54,-880.838 L75.0013,893.849 Z " fill="currentColor" />\n <path d="M-30.8571,780.685 L-845.2,787.828 L-508.893,193.749 L305.26,194.963 L-30.8571,780.685 Z " fill="#ffffff" fill-opacity="1.00" />\n </g>\n </symbol>\n <symbol viewBox="0 0 2048.0 2048.0" id="icon-align-full"><rect x="0" y="0" width="2048.00" height="2048.00" fill="none" /><g id="document" transform="matrix(1,0,0,1,1024.0,1024.0)"><path d="M-770.727,738.299 L-770.727,582.085 L769.712,582.085 L769.712,738.299 L-770.727,738.299 Z " /><path d="M-770.727,-534.628 L-770.727,-690.842 L769.712,-690.842 L769.712,-534.628 L-770.727,-534.628 Z " /><path d="M-770.219,-115.563 L-770.219,-271.777 L770.219,-271.777 L770.219,-115.563 L-770.219,-115.563 Z " /><path d="M-770.219,303.503 L-770.219,147.288 L770.219,147.288 L770.219,303.503 L-770.219,303.503 Z " /></g></symbol>\n <symbol viewBox="0 0 2048.0 2048.0" id="icon-align-center"><rect x="0" y="0" width="2048.00" height="2048.00" fill="none" /><g id="document" transform="matrix(1,0,0,1,1024.0,1024.0)"><path d="M-770.727,738.299 L-770.727,582.085 L769.712,582.085 L769.712,738.299 L-770.727,738.299 Z " /><path d="M-552.286,-107.697 L-552.286,-263.911 L552.286,-263.911 L552.286,-107.697 L-552.286,-107.697 Z " /><path d="M-467.355,319.234 L-467.355,163.02 L466.34,163.02 L466.34,319.234 L-467.355,319.234 Z " /><path d="M-770.727,-534.628 L-770.727,-690.842 L769.712,-690.842 L769.712,-534.628 L-770.727,-534.628 Z " /></g></symbol>\n <symbol viewBox="0 0 2048.0 2048.0" id="icon-align-left"><rect x="0" y="0" width="2048.00" height="2048.00" fill="none" /><g id="document" transform="matrix(1,0,0,1,1024.0,1024.0)"><path d="M-770.727,738.299 L-770.727,582.085 L769.712,582.085 L769.712,738.299 L-770.727,738.299 Z " /><path d="M-770.727,-534.628 L-770.727,-690.842 L769.712,-690.842 L769.712,-534.628 L-770.727,-534.628 Z " /><path d="M-770.219,-115.563 L-770.219,-271.777 L482.839,-271.777 L482.839,-115.563 L-770.219,-115.563 Z " /><path d="M-770.219,303.503 L-770.219,147.288 L122.787,147.288 L122.787,303.503 L-770.219,303.503 Z " /></g></symbol>\n <symbol viewBox="0 0 2048.0 2048.0" id="icon-align-right"><rect x="0" y="0" width="2048.00" height="2048.00" fill="none" /><g id="document" transform="matrix(1,0,0,1,1024.0,1024.0)"><path d="M-770.727,738.299 L-770.727,582.085 L769.712,582.085 L769.712,738.299 L-770.727,738.299 Z " /><path d="M-770.727,-534.628 L-770.727,-690.842 L769.712,-690.842 L769.712,-534.628 L-770.727,-534.628 Z " /><path d="M-483.346,-118.081 L-483.346,-274.295 L769.712,-274.295 L769.712,-118.081 L-483.346,-118.081 Z " /><path d="M-123.871,303.503 L-123.871,147.288 L769.136,147.288 L769.136,303.503 L-123.871,303.503 Z " /></g></symbol>\n <symbol viewBox="0 0 2048.0 2048.0" id="icon-indent"><rect x="0" y="0" width="2048.00" height="2048.00" fill="none" /><g id="document" transform="matrix(1,0,0,1,1024.0,1024.0)"><path d="M-829.04,-514.33 L-829.04,-670.545 L808.959,-670.545 L808.959,-514.33 L-829.04,-514.33 Z " /><path d="M-829.04,670.545 L-829.04,514.33 L808.959,514.33 L808.959,670.545 L-829.04,670.545 Z " /><path d="M-254.279,-110.244 L-254.279,-266.458 L808.959,-266.458 L808.959,-110.244 L-254.279,-110.244 Z " /><path d="M-254.279,266.458 L-254.279,110.244 L808.959,110.244 L808.959,266.458 L-254.279,266.458 Z " /><path d="M-829.04,-195.117 L-490.958,-1.03508e-14 L-829.04,195.117 L-829.04,-195.117 Z " /></g></symbol>\n <symbol viewBox="0 0 2048.0 2048.0" id="icon-outdent"><rect x="0" y="0" width="2048.00" height="2048.00" fill="none" /><g id="document" transform="matrix(1,0,0,1,1024.0,1024.0)"><path d="M-829.04,-514.33 L-829.04,-670.545 L808.959,-670.545 L808.959,-514.33 L-829.04,-514.33 Z " /><path d="M-829.04,670.545 L-829.04,514.33 L808.959,514.33 L808.959,670.545 L-829.04,670.545 Z " /><path d="M-829.04,-110.244 L-829.04,-266.458 L234.198,-266.458 L234.198,-110.244 L-829.04,-110.244 Z " /><path d="M-829.04,266.458 L-829.04,110.244 L234.198,110.244 L234.198,266.458 L-829.04,266.458 Z " /><path d="M808.959,-195.117 L470.877,-1.03508e-14 L808.959,195.117 L808.959,-195.117 Z " /></g></symbol>\n <symbol viewBox="0 0 2048.0 2048.0" id="icon-table"><rect x="0" y="0" width="2048.00" height="2048.00" fill="none" /><g id="document" transform="matrix(1,0,0,1,1024.0,1024.0)"><path d="M-660.783,660.783 L660.783,660.783 L660.783,-660.783 L-660.783,-660.783 L-660.783,660.783 Z " fill="none" stroke-width="75.82" stroke="currentColor" stroke-linecap="square" stroke-linejoin="miter" /><path d="M-37.9645,698.933 L37.9645,698.933 L37.9645,-698.569 L-37.9645,-698.569 L-37.9645,698.933 Z " fill="currentColor" fill-opacity="1.00" stroke-width="0.25" stroke="currentColor" stroke-linecap="square" stroke-linejoin="miter" /><path d="M-698.933,-37.7825 L-698.933,38.1465 L698.569,38.1465 L698.569,-37.7825 L-698.933,-37.7825 Z " fill="currentColor" fill-opacity="1.00" stroke-width="0.25" stroke="currentColor" stroke-linecap="square" stroke-linejoin="miter" /></g></symbol>\n <symbol viewBox="0 0 512 512" id="ion-android-happy"><path d="M256 48C140.563 48 48 141.6 48 256s92.563 208 208 208 208-93.6 208-208S370.401 48 256 48zm0 374.4c-91.518 0-166.404-74.883-166.404-166.4 0-91.518 74.887-166.4 166.404-166.4S422.404 164.482 422.404 256 347.518 422.4 256 422.4zm72.8-187.2c17.683 0 31.201-13.518 31.201-31.2s-13.519-31.2-31.201-31.2c-17.682 0-31.2 13.518-31.2 31.2s13.518 31.2 31.2 31.2zm-145.6 0c17.682 0 31.2-13.518 31.2-31.2s-13.519-31.2-31.2-31.2c-17.683 0-31.201 13.518-31.201 31.2s13.519 31.2 31.201 31.2zM256 370.4c48.883 0 89.436-30.164 106.081-72.801H149.919C166.564 340.236 207.117 370.4 256 370.4z"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-android-create"><path d="M64 368v80h80l235.727-235.729-79.999-79.998L64 368zm377.602-217.602c8.531-8.531 8.531-21.334 0-29.865l-50.135-50.135c-8.531-8.531-21.334-8.531-29.865 0l-39.468 39.469 79.999 79.998 39.469-39.467z"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-ios-minus-empty"><path d="M384 265H128v-17h256v17z"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-eye"><path d="M256 128c-81.9 0-145.7 48.8-224 128 67.4 67.7 124 128 224 128 99.9 0 173.4-76.4 224-126.6C428.2 198.6 354.8 128 256 128zm0 219.3c-49.4 0-89.6-41-89.6-91.3 0-50.4 40.2-91.3 89.6-91.3s89.6 41 89.6 91.3c0 50.4-40.2 91.3-89.6 91.3z"></path><path d="M256 224c0-7.9 2.9-15.1 7.6-20.7-2.5-.4-5-.6-7.6-.6-28.8 0-52.3 23.9-52.3 53.3s23.5 53.3 52.3 53.3 52.3-23.9 52.3-53.3c0-2.3-.2-4.6-.4-6.9-5.5 4.3-12.3 6.9-19.8 6.9-17.8 0-32.1-14.3-32.1-32z"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-reply"><path d="M448 400s-36.8-208-224-208v-80L64 256l160 134.4v-92.3c101.6 0 171 8.9 224 101.9z"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-ios-redo"><path d="M64 400h10.3l19.2-31.2c20.5-32.7 44.9-62.8 75.8-76.6 24.4-10.9 46.7-18.9 86.7-20V352l192-128L256 96v80.3c-63 2.8-108.1 20.7-143.3 56.2C60.4 285.2 64 351.5 64 368.2c.1 8.9 0 21.7 0 31.8z"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-wrench"><path d="M461.9 114.9l-56.5 56.7-55.1-10-9.9-55.1 56.5-56.7c-12.7-12.7-30.8-18.5-44.2-17.8-13.5.7-42.3 8.3-64.6 32-21.6 22.8-44.3 65.3-24.2 112.5 2.4 5.7 5.1 13.2-2.9 21.2-8.1 8-215 202.8-215 202.8-19.4 16.7-18 47.6-.1 65.6 18.2 17.9 48.9 19 65.6-.3 0 0 193.2-205.8 202.7-215.1 8.5-8.3 16.1-5.5 21.2-2.9 35.6 18.4 86.3 2.4 112.6-23.9 26.3-26.3 31.1-51.7 31.9-64.7.8-12.9-3.7-30-18-44.3zM91.3 443.2c-6.3 6.2-16.5 6.2-22.7 0-6.2-6.3-6.2-16.5 0-22.7 6.3-6.2 16.5-6.2 22.7 0 6.2 6.3 6.2 16.5 0 22.7z"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-more"><path d="M113.7 304C86.2 304 64 282.6 64 256c0-26.5 22.2-48 49.7-48 27.6 0 49.8 21.5 49.8 48 0 26.6-22.2 48-49.8 48zM256 304c-27.5 0-49.8-21.4-49.8-48 0-26.5 22.3-48 49.8-48 27.5 0 49.7 21.5 49.7 48 0 26.6-22.2 48-49.7 48zM398.2 304c-27.5 0-49.8-21.4-49.8-48 0-26.5 22.2-48 49.8-48 27.5 0 49.8 21.5 49.8 48 0 26.6-22.2 48-49.8 48z"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-code-working"><circle cx="184.166" cy="256.166" r="24"></circle><circle cx="256.166" cy="256.166" r="24"></circle><circle cx="328.166" cy="256.166" r="24"></circle><g><path d="M168 392a23.929 23.929 0 0 1-16.971-7.029l-112-112c-9.373-9.373-9.373-24.569 0-33.941l112-112c9.373-9.372 24.568-9.372 33.941 0 9.371 9.372 9.371 24.568 0 33.941L89.941 256l95.029 95.029c9.371 9.372 9.371 24.568 0 33.941A23.925 23.925 0 0 1 168 392zM344 392a23.929 23.929 0 0 0 16.971-7.029l112-112c9.373-9.373 9.373-24.569 0-33.941l-112-112c-9.373-9.372-24.568-9.372-33.941 0-9.371 9.372-9.371 24.568 0 33.941L422.059 256l-95.029 95.029c-9.371 9.372-9.371 24.568 0 33.941A23.925 23.925 0 0 0 344 392z"></path></g></symbol>\n <symbol viewBox="0 0 512 512" id="ion-ios-gear"><path d="M416.349 256.046c-.001-21.013 13.143-38.948 31.651-46.062a196.302 196.302 0 0 0-23.664-57.139 49.423 49.423 0 0 1-20.082 4.254c-12.621 0-25.238-4.811-34.871-14.442-14.863-14.863-18.248-36.846-10.18-54.97A196.274 196.274 0 0 0 302.074 64C294.971 82.529 277.027 95.69 256 95.69c-21.025 0-38.969-13.161-46.073-31.69a196.243 196.243 0 0 0-57.128 23.688c8.068 18.122 4.683 40.104-10.181 54.97-9.631 9.631-22.25 14.443-34.871 14.443a49.429 49.429 0 0 1-20.083-4.255A196.273 196.273 0 0 0 64 209.984c18.509 7.112 31.652 25.049 31.652 46.062 0 21.008-13.132 38.936-31.63 46.054a196.318 196.318 0 0 0 23.692 57.128 49.428 49.428 0 0 1 20.032-4.232c12.622 0 25.239 4.812 34.871 14.443 14.841 14.841 18.239 36.781 10.215 54.889a196.257 196.257 0 0 0 57.13 23.673c7.128-18.479 25.046-31.596 46.038-31.596 20.992 0 38.91 13.115 46.037 31.596a196.234 196.234 0 0 0 57.132-23.675c-8.023-18.106-4.626-40.046 10.216-54.887 9.629-9.632 22.248-14.444 34.868-14.444 6.836 0 13.67 1.411 20.033 4.233a196.318 196.318 0 0 0 23.692-57.128c-18.498-7.119-31.629-25.048-31.629-46.054zM256.9 335.9c-44.3 0-80-35.9-80-80 0-44.101 35.7-80 80-80 44.299 0 80 35.899 80 80 0 44.1-35.701 80-80 80z"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-arrow-expand"><path d="M274 209.7l63.9-63.8L288 96h128v128l-49.9-49.9-63.8 63.9zM274 302.3l63.9 63.8L288 416h128V288l-49.9 49.9-63.8-63.9zM238 302.3l-63.9 63.8L224 416H96V288l49.9 49.9 63.8-63.9zM238 209.7l-63.9-63.8L224 96H96v128l49.9-49.9 63.8 63.9z"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-android-expand"><path d="M396.795 396.8H320V448h128V320h-51.205zM396.8 115.205V192H448V64H320v51.205zM115.205 115.2H192V64H64v128h51.205zM115.2 396.795V320H64v128h128v-51.205z"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-arrow-move"><path d="M480 256l-96-96v76H276V128h76l-96-96-96 96h76v108H128v-76l-96 96 96 96v-76h108v108h-76l96 96 96-96h-76.2l-.4-108.5 108.6.3V352z"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-drag"><path d="M0 144h512v32H0zM0 240h512v32H0zM0 336h512v32H0z"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-link"><path d="M74.6 256c0-38.3 31.1-69.4 69.4-69.4h88V144h-88c-61.8 0-112 50.2-112 112s50.2 112 112 112h88v-42.6h-88c-38.3 0-69.4-31.1-69.4-69.4zm85.4 22h192v-44H160v44zm208-134h-88v42.6h88c38.3 0 69.4 31.1 69.4 69.4s-31.1 69.4-69.4 69.4h-88V368h88c61.8 0 112-50.2 112-112s-50.2-112-112-112z"/></symbol>\n <symbol viewBox="0 0 512 512" id="ion-contrast"><path d="M256 32C132.3 32 32 132.3 32 256s100.3 224 224 224 224-100.3 224-224S379.7 32 256 32zm135.8 359.8C355.5 428 307 448 256 448V64c51 0 99.5 20 135.8 56.2C428 156.5 448 204.7 448 256c0 51.3-20 99.5-56.2 135.8z"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-ios-plus-empty"><path d="M384 265H264v119h-17V265H128v-17h119V128h17v120h120v17z"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-ios-arrow-thin-up"><path d="M349.7 189.8c-3.1 3.1-8 3-11.3 0L264 123.4V408c0 4.4-3.6 8-8 8s-8-3.6-8-8V123.4l-74.4 66.3c-3.4 2.9-8.1 3.2-11.2.1-3.1-3.1-3.3-8.5-.1-11.4 0 0 87-79.2 88-80s2.8-2.4 5.7-2.4 4.9 1.6 5.7 2.4 88 80 88 80c1.5 1.5 2.3 3.6 2.3 5.7s-.8 4.1-2.3 5.7z"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-ios-arrow-thin-down"><path d="M349.7 322.2c-3.1-3.1-8-3-11.3 0L264 388.6V104c0-4.4-3.6-8-8-8s-8 3.6-8 8v284.6l-74.4-66.3c-3.4-2.9-8.1-3.2-11.2-.1-3.1 3.1-3.3 8.5-.1 11.4 0 0 87 79.2 88 80s2.8 2.4 5.7 2.4 4.9-1.6 5.7-2.4 88-80 88-80c1.5-1.5 2.3-3.6 2.3-5.7s-.8-4.1-2.3-5.7z"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-ios-arrow-thin-left"><path d="M189.8 349.7c3.1-3.1 3-8 0-11.3L123.4 264H408c4.4 0 8-3.6 8-8s-3.6-8-8-8H123.4l66.3-74.4c2.9-3.4 3.2-8.1.1-11.2-3.1-3.1-8.5-3.3-11.4-.1 0 0-79.2 87-80 88S96 253.1 96 256s1.6 4.9 2.4 5.7 80 88 80 88c1.5 1.5 3.6 2.3 5.7 2.3s4.1-.8 5.7-2.3z"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-ios-arrow-thin-right"><path d="M322.2 349.7c-3.1-3.1-3-8 0-11.3l66.4-74.4H104c-4.4 0-8-3.6-8-8s3.6-8 8-8h284.6l-66.3-74.4c-2.9-3.4-3.2-8.1-.1-11.2 3.1-3.1 8.5-3.3 11.4-.1 0 0 79.2 87 80 88s2.4 2.8 2.4 5.7-1.6 4.9-2.4 5.7-80 88-80 88c-1.5 1.5-3.6 2.3-5.7 2.3s-4.1-.8-5.7-2.3z"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-ios-close-empty"><path d="M340.2 160l-84.4 84.3-84-83.9-11.8 11.8 84 83.8-84 83.9 11.8 11.7 84-83.8 84.4 84.2 11.8-11.7-84.4-84.3 84.4-84.2z"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-android-more-vertical"><path d="M296 136c0-22.002-17.998-40-40-40s-40 17.998-40 40 17.998 40 40 40 40-17.998 40-40zm0 240c0-22.002-17.998-40-40-40s-40 17.998-40 40 17.998 40 40 40 40-17.998 40-40zm0-120c0-22.002-17.998-40-40-40s-40 17.998-40 40 17.998 40 40 40 40-17.998 40-40z"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-quote"><path d="M192 64c-40.646 0-72.483 11.229-94.627 33.373C75.229 119.517 64 151.354 64 192v256h160V192h-96c0-23.056 4.922-39.666 14.627-49.373C152.334 132.922 168.944 128 192 128M416 64c-40.646 0-72.483 11.229-94.627 33.373C299.229 119.517 288 151.354 288 192v256h160V192h-96c0-23.056 4.922-39.666 14.627-49.373C376.334 132.922 392.944 128 416 128"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-code"><path d="M168 392a23.929 23.929 0 0 1-16.971-7.029l-112-112c-9.373-9.373-9.373-24.569 0-33.941l112-112c9.373-9.372 24.568-9.372 33.941 0 9.371 9.372 9.371 24.568 0 33.941L89.941 256l95.029 95.029c9.371 9.373 9.371 24.568 0 33.941A23.925 23.925 0 0 1 168 392zM344 392a23.929 23.929 0 0 0 16.971-7.029l112-112c9.373-9.373 9.373-24.569 0-33.941l-112-112c-9.373-9.372-24.568-9.372-33.941 0-9.371 9.372-9.371 24.568 0 33.941L422.059 256l-95.029 95.029c-9.371 9.373-9.371 24.568 0 33.941A23.925 23.925 0 0 0 344 392z"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-camera"><path d="M430.4 147h-67.5l-40.4-40.8s-.2-.2-.3-.2l-.2-.2c-6-6-14.1-9.8-23.3-9.8h-84c-9.8 0-18.5 4.2-24.6 10.9v.1l-39.5 40h-69C63 147 48 161.6 48 180.2v202.1c0 18.6 15 33.7 33.6 33.7h348.8c18.5 0 33.6-15.1 33.6-33.7V180.2c0-18.6-15.1-33.2-33.6-33.2zM256 365.5c-50.9 0-92.4-41.6-92.4-92.6 0-51.1 41.5-92.6 92.4-92.6 51 0 92.4 41.5 92.4 92.6 0 51-41.4 92.6-92.4 92.6zm168.1-165c-7.7 0-14-6.3-14-14.1s6.3-14.1 14-14.1 14 6.3 14 14.1-6.3 14.1-14 14.1z"></path><path d="M256 202.9c-38.6 0-69.8 31.3-69.8 70 0 38.6 31.2 70 69.8 70 38.5 0 69.8-31.3 69.8-70s-31.3-70-69.8-70z"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-move"><path d="M475.9 246.2l-79.4-79.4c-5.4-5.4-14.2-5.4-19.6 0l-.2.2c-5.4 5.4-5.4 14.2 0 19.6l54.9 54.9-161.8.5.5-161.8 54.9 54.9c5.4 5.4 14.2 5.4 19.6 0l.2-.2c5.4-5.4 5.4-14.2 0-19.6l-79.4-79.4c-5.4-5.4-14.2-5.4-19.6 0l-79.4 79.4c-5.4 5.4-5.4 14.2 0 19.6l.2.2c5.4 5.4 14.2 5.4 19.6 0l54.9-54.9.5 161.8-161.8-.5 54.9-54.9c5.4-5.4 5.4-14.2 0-19.6l-.2-.2c-5.4-5.4-14.2-5.4-19.6 0l-79.4 79.4c-5.4 5.4-5.4 14.2 0 19.6l79.4 79.4c5.4 5.4 14.2 5.4 19.6 0l.2-.2c5.4-5.4 5.4-14.2 0-19.6L80 270.5l161.8-.5-.5 161.8-54.9-54.9c-5.4-5.4-14.2-5.4-19.6 0l-.2.2c-5.4 5.4-5.4 14.2 0 19.6l79.4 79.4c5.4 5.4 14.2 5.4 19.6 0l79.4-79.4c5.4-5.4 5.4-14.2 0-19.6l-.2-.2c-5.4-5.4-14.2-5.4-19.6 0l-54.9 54.9-.5-161.8 161.8.5-54.9 54.9c-5.4 5.4-5.4 14.2 0 19.6l.2.2c5.4 5.4 14.2 5.4 19.6 0l79.4-79.4c5.5-5.4 5.5-14.2 0-19.6z"/></symbol>\n <symbol viewBox="0 0 2048.0 2048.0" id="icon-ok">\n <rect x="0" y="0" width="2048.00" height="2048.00" fill="none" />\n <g id="document" transform="matrix(1,0,0,1,1024.0,1024.0)">\n <path d="M330.323,493.628 L330.323,398.406 L-330.323,398.406 L-330.323,493.628 L330.323,493.628 Z " fill="currentColor" fill-opacity="1.00" />\n <path d="M230.718,468.568 L328.59,468.568 L328.59,-599.718 L230.718,-599.718 L230.718,468.568 Z " fill="currentColor" fill-opacity="1.00" />\n <path d="M-300.714,376.053 L-373.748,449.088 L-68.5805,754.255 L4.45387,681.221 L-300.714,376.053 Z " fill="currentColor" fill-opacity="1.00" />\n <path d="M-9.9476e-14,216.241 L-73.0344,143.207 L-378.202,448.375 L-305.168,521.409 L-9.9476e-14,216.241 Z " fill="currentColor" fill-opacity="1.00" />\n </g>\n </symbol>\n <symbol viewBox="0 0 512 512" id="ion-grid"><path d="M160 153.3c0 3.7-3 6.7-6.7 6.7h-50.5c-3.7 0-6.7-3-6.7-6.7v-50.5c0-3.7 3-6.7 6.7-6.7h50.5c3.7 0 6.7 3 6.7 6.7v50.5zM288 153.3c0 3.7-3 6.7-6.7 6.7h-50.5c-3.7 0-6.7-3-6.7-6.7v-50.5c0-3.7 3-6.7 6.7-6.7h50.5c3.7 0 6.7 3 6.7 6.7v50.5zM416 153.3c0 3.7-3 6.7-6.7 6.7h-50.5c-3.7 0-6.7-3-6.7-6.7v-50.5c0-3.7 3-6.7 6.7-6.7h50.5c3.7 0 6.7 3 6.7 6.7v50.5z"></path><g><path d="M160 281.3c0 3.7-3 6.7-6.7 6.7h-50.5c-3.7 0-6.7-3-6.7-6.7v-50.5c0-3.7 3-6.7 6.7-6.7h50.5c3.7 0 6.7 3 6.7 6.7v50.5zM288 281.3c0 3.7-3 6.7-6.7 6.7h-50.5c-3.7 0-6.7-3-6.7-6.7v-50.5c0-3.7 3-6.7 6.7-6.7h50.5c3.7 0 6.7 3 6.7 6.7v50.5zM416 281.3c0 3.7-3 6.7-6.7 6.7h-50.5c-3.7 0-6.7-3-6.7-6.7v-50.5c0-3.7 3-6.7 6.7-6.7h50.5c3.7 0 6.7 3 6.7 6.7v50.5z"></path></g><g><path d="M160 409.3c0 3.7-3 6.7-6.7 6.7h-50.5c-3.7 0-6.7-3-6.7-6.7v-50.5c0-3.7 3-6.7 6.7-6.7h50.5c3.7 0 6.7 3 6.7 6.7v50.5zM288 409.3c0 3.7-3 6.7-6.7 6.7h-50.5c-3.7 0-6.7-3-6.7-6.7v-50.5c0-3.7 3-6.7 6.7-6.7h50.5c3.7 0 6.7 3 6.7 6.7v50.5zM416 409.3c0 3.7-3 6.7-6.7 6.7h-50.5c-3.7 0-6.7-3-6.7-6.7v-50.5c0-3.7 3-6.7 6.7-6.7h50.5c3.7 0 6.7 3 6.7 6.7v50.5z"></path></g></symbol>\n <symbol viewBox="0 0 512 512" id="ion-gear-b"><path d="M448 294.4v-76.8h-42.8c-3.4-14.4-8.9-28-16.1-40.5l29.8-29.7-54.3-54.3-29.1 29.1c-12.6-7.7-26.4-13.5-41.1-17.3V64h-76.8v40.9c-14.7 3.8-28.5 9.7-41.1 17.3l-29.1-29.1-54.3 54.3 29.8 29.7c-7.2 12.5-12.6 26.1-16.1 40.5H64v76.8h44.1c3.8 13.7 9.5 26.6 16.7 38.6l-31.7 31.7 54.3 54.3 32.3-32.3c11.7 6.8 24.5 11.9 37.9 15.4v46h76.8v-46c13.5-3.5 26.2-8.6 37.9-15.4l32.3 32.3 54.3-54.3-31.6-31.7c7.2-11.9 12.9-24.8 16.7-38.6h44zm-192 15.4c-29.7 0-53.7-24.1-53.7-53.8s24-53.8 53.7-53.8 53.8 24.1 53.8 53.8-24.1 53.8-53.8 53.8z"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-ios-grid-view-outline"><path d="M448 192v-16H336V64h-16v112H192V64h-16v112H64v16h112v128H64v16h112v112h16V336h128v112h16V336h112v-16H336V192h112zM320 320H192V192h128v128z"></path></symbol>\n <symbol viewBox="0 0 2048.0 2048.0" id="icon-increase"><g id="document" transform="matrix(1,0,0,1,1024.0,1024.0)"><path d="M852.574,595.004 L852.574,507.837 L-852.574,507.837 L-852.574,595.004 L852.574,595.004 Z " /><path d="M852.574,224.232 L852.574,137.066 L-852.574,137.066 L-852.574,224.232 L852.574,224.232 Z " /><path d="M852.574,-134.971 L852.574,-222.138 L-852.574,-222.138 L-852.574,-134.971 L852.574,-134.971 Z " /><path d="M852.574,-505.743 L852.574,-592.909 L-852.574,-592.909 L-852.574,-505.743 L852.574,-505.743 Z " /></g></symbol>\n <symbol viewBox="0 0 2048.0 2048.0" id="icon-decrease"><g id="document" transform="matrix(1,0,0,1,1024.0,1024.0)"><path d="M509.832,595.004 L509.832,507.837 L-509.832,507.837 L-509.832,595.004 L509.832,595.004 Z " /><path d="M509.832,224.232 L509.832,137.066 L-509.832,137.066 L-509.832,224.232 L509.832,224.232 Z " /><path d="M509.832,-136.947 L509.832,-224.113 L-509.832,-224.113 L-509.832,-136.947 L509.832,-136.947 Z " /><path d="M509.832,-505.743 L509.832,-592.909 L-509.832,-592.909 L-509.832,-505.743 L509.832,-505.743 Z " /></g></symbol>\n <symbol viewBox="0 0 2048.0 2048.0" id="icon-strike">\n <g id="document" transform="matrix(1,0,0,1,1024.0,1024.0)">\n <path d="M298.298,-653.766 C292.151,-624.873 284.005,-605.663 273.862,-596.135 C263.719,-586.607 250.656,-581.842 234.673,-581.842 C220.535,-581.842 196.253,-589.526 161.828,-604.895 C87.4454,-637.475 17.0588,-653.766 -49.3321,-653.766 C-155.68,-653.766 -243.28,-621.339 -312.129,-556.485 C-380.979,-491.631 -415.404,-414.328 -415.404,-324.578 C-415.404,-272.94 -403.724,-225.606 -380.364,-182.575 C-357.005,-139.544 -322.733,-100.201 -277.551,-64.5467 C-232.368,-28.8923 -156.295,18.903 -49.3321,78.8392 C57.631,138.775 123.1,177.964 147.074,196.406 C182.729,223.455 209.008,252.654 225.913,284.005 C242.819,315.357 251.271,346.401 251.271,377.137 C251.271,432.463 228.987,480.412 184.419,520.984 C139.851,561.556 79.1465,581.842 2.30524,581.842 C-64.0856,581.842 -125.098,567.089 -180.731,537.582 C-236.364,508.075 -277.704,471.037 -304.753,426.469 C-331.801,381.901 -353.316,314.742 -369.299,224.991 L-403.417,224.991 L-403.417,653.766 L-369.299,653.766 C-364.996,624.873 -358.388,605.817 -349.474,596.596 C-340.561,587.375 -328.42,582.764 -313.051,582.764 C-297.068,582.764 -259.109,592.446 -199.173,611.81 C-139.236,631.174 -99.74,642.393 -80.6834,645.467 C-48.7174,651 -14.5998,653.766 21.6692,653.766 C137.239,653.766 231.753,619.495 305.214,550.952 C378.674,482.41 415.404,400.804 415.404,306.136 C415.404,256.343 403.878,208.701 380.826,163.211 C357.773,117.721 324.885,78.2244 282.161,44.7216 C239.438,11.2188 159.676,-36.8838 42.8774,-99.5863 C-100.355,-176.428 -191.027,-237.901 -229.141,-284.005 C-255.574,-315.357 -268.791,-350.089 -268.791,-388.202 C-268.791,-437.995 -247.89,-482.41 -206.088,-521.445 C-164.287,-560.48 -111.42,-579.998 -47.4879,-579.998 C9.06727,-579.998 63.7783,-565.552 116.645,-536.66 C169.512,-507.767 210.238,-468.732 238.823,-419.554 C267.408,-370.375 287.233,-304.292 298.298,-221.303 L332.415,-221.303 L332.415,-653.766 L298.298,-653.766 Z " fill="currentColor" fill-opacity="1.00" /><path d="M-530.954,-41.4477 L-530.954,41.4477 L530.954,41.4477 L530.954,-41.4477 L-530.954,-41.4477 Z " fill="currentColor" fill-opacity="1.00" /></g></symbol>\n <symbol viewBox="0 0 512 512" id="ion-ios-undo"><path d="M447.9 368.2c0-16.8 3.6-83.1-48.7-135.7-35.2-35.4-80.3-53.4-143.3-56.2V96L64 224l192 128v-79.8c40 1.1 62.4 9.1 86.7 20 30.9 13.8 55.3 44 75.8 76.6l19.2 31.2H448c0-10.1-.1-22.9-.1-31.8z"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-ios-redo"><path d="M64 400h10.3l19.2-31.2c20.5-32.7 44.9-62.8 75.8-76.6 24.4-10.9 46.7-18.9 86.7-20V352l192-128L256 96v80.3c-63 2.8-108.1 20.7-143.3 56.2C60.4 285.2 64 351.5 64 368.2c.1 8.9 0 21.7 0 31.8z"></path></symbol>\n <symbol viewBox="0 0 512 512" id="ion-android-arrow-dropdown"><path d="M128 192l128 128 128-128z"></path></symbol>\n <symbol viewBox="0 0 24 24" id="icon-zoom-in" stroke-width="1" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">\n <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>\n <circle cx="10" cy="10" r="7"></circle>\n <line x1="7" y1="10" x2="13" y2="10"></line>\n <line x1="10" y1="7" x2="10" y2="13"></line>\n <line x1="21" y1="21" x2="15" y2="15"></line>\n </symbol>\n <symbol viewBox="0 0 512 512" id="ion-android-contract"><path d="M64 371.2h76.795V448H192V320H64v51.2zm76.795-230.4H64V192h128V64h-51.205v76.8zM320 448h51.2v-76.8H448V320H320v128zm51.2-307.2V64H320v128h128v-51.2h-76.8z"></path></symbol>\n \n <symbol viewBox="0 0 24 24" id="icon-lock-off" stroke-width="1" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">\n <path stroke="none" d="M0 0h24v24H0z" fill="none"/>\n <line x1="3" y1="3" x2="21" y2="21" />\n <path d="M19 19a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2v-6a2 2 0 0 1 2 -2h4m4 0h2a2 2 0 0 1 2 2v2" />\n <circle cx="12" cy="16" r="1" />\n <path d="M8 11v-3m.712 -3.278a4 4 0 0 1 7.288 2.278v4" />\n </symbol>\n <symbol viewBox="0 0 24 24" id="icon-lock" stroke-width="1" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">\n <path stroke="none" d="M0 0h24v24H0z" fill="none"/>\n <rect x="5" y="11" width="14" height="10" rx="2" />\n <circle cx="12" cy="16" r="1" />\n <path d="M8 11v-4a4 4 0 0 1 8 0v4" />\n </symbol>\n\n </defs>\n </svg>')};class Je{constructor(e){this.builder=e,this.util=new t(this.builder)}getSnippetsHtml(){const t=this.util,e=this.builder.opts.snippetUrl,i=this.builder.opts.snippetPath;let n="[";for(let e=0;e<this.builder.opts.snippetCategories.length;e++)n+=`[${this.builder.opts.snippetCategories[e][0]},'${t.out(this.builder.opts.snippetCategories[e][1])}'],`;n+="]";const o=this.builder.opts.defaultSnippetCategory;return`\n <!DOCTYPE HTML>\n <html>\n \n <head>\n <meta charset="utf-8">\n <title></title>\n <meta name="viewport" content="width=device-width, initial-scale=1">\n <meta name="description" content="">\n <script src="${e}" type="text/javascript"><\/script>\n <style>\n body {\n // background: #fff;\n background: ${this.builder.styleSnippetBackground};\n margin: 0;\n }\n /*\n body.dark {\n background: #111;\n }\n .dark .is-categories {\n background: #333;\n }\n .dark .is-category-list a {\n background: #333;\n color: #fff;\n }\n .dark .is-category-list a.active {\n background: #525252;\n color: #fff;\n }\n .dark .is-category-list a:hover {\n color: #fff;\n }\n .dark .is-design-list>div img {\n opacity: 0.93;\n }\n .dark .is-more-categories {\n background: #333;\n }\n .dark .is-more-categories a {\n background: #333;\n color: #fff;\n }\n .dark .is-more-categories a:hover {\n background: #4c4c4c;\n }\n .dark .is-more-categories a.active {\n background: #4c4c4c;\n }\n */\n\n \n .dark .is-design-list>div {\n outline: transparent 1px solid;\n }\n\n \n \n /* Scrollbar for modal */\n\n /* Darker color, because background for snippet thumbnails is always light. */\n .dark * {\n scrollbar-width: thin;\n scrollbar-color: rgb(78 78 78 / 62%) auto;\n }\n .dark *::-webkit-scrollbar {\n width: 12px;\n }\n .dark *::-webkit-scrollbar-track {\n background: transparent;\n }\n .dark *::-webkit-scrollbar-thumb {\n background-color:rgb(78 78 78 / 62%);\n } \n\n .colored-dark * {\n scrollbar-width: thin;\n scrollbar-color: rgb(100, 100, 100) auto;\n }\n .colored-dark *::-webkit-scrollbar {\n width: 12px;\n }\n .colored-dark *::-webkit-scrollbar-track {\n background: transparent;\n }\n .colored-dark *::-webkit-scrollbar-thumb {\n background-color:rgb(100, 100, 100);\n } \n\n .colored * {\n scrollbar-width: thin;\n scrollbar-color: rgba(0, 0, 0, 0.4) auto;\n }\n .colored *::-webkit-scrollbar {\n width: 12px;\n }\n .colored *::-webkit-scrollbar-track {\n background: transparent;\n }\n .colored *::-webkit-scrollbar-thumb {\n background-color: rgba(0, 0, 0, 0.4);\n } \n\n .light * {\n scrollbar-width: thin;\n scrollbar-color: rgba(0, 0, 0, 0.4) auto;\n }\n .light *::-webkit-scrollbar {\n width: 12px;\n }\n .light *::-webkit-scrollbar-track {\n background: transparent;\n }\n .light *::-webkit-scrollbar-thumb {\n background-color: rgba(0, 0, 0, 0.4);\n } \n \n svg {\n fill: ${this.builder.styleSnippetColor};\n }\n\n .is-design-list {\n position: fixed;\n top: 0px;\n left: 0px;\n border-top: transparent 68px solid;\n width: 100%;\n height: 100%;\n overflow-y: auto;\n padding: 0px 0px 30px 30px;\n box-sizing: border-box;\n overflow: auto;\n }\n \n .is-design-list>div {\n width: 250px;\n min-height:120px;\n position:relative;\n background: #fff;\n // background: ${this.builder.styleToolBackground};\n overflow: hidden;\n margin: 32px 40px 0 0;\n cursor: pointer;\n display: inline-block;\n outline: #ececec 1px solid;\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);\n }\n \n .is-design-list>div img {\n box-shadow: none;\n opacity: 1;\n display: block;\n box-sizing: border-box;\n transition: all 0.2s ease-in-out;\n max-width: 400px;\n width: 100%\n }\n \n // .is-design-list>div:hover img {\n // opacity: 0.95;\n // }\n \n // .is-design-list>div:hover {\n // background: #999;\n // }\n .is-overlay {\n position:absolute;left:0px;top:0px;width:100%;height:100%;\n }\n .is-design-list>div .is-overlay:after {\n background: rgba(0, 0, 0, 0.02);\n position: absolute;\n content: "";\n display: block;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n transition: all 0.3s ease-in-out;\n opacity: 0;\n }\n .is-design-list>div:hover .is-overlay:after {\n opacity: 0.9;\n }\n .dark .is-design-list>div .is-overlay:after {\n background: rgb(78 78 78 / 13%);\n }\n \n .is-category-list {\n position: relative;\n top: 0px;\n left: 0px;\n width: 100%;\n height: 80px;\n box-sizing: border-box;\n z-index: 1;\n }\n \n .is-category-list>div {\n white-space: nowrap;\n padding: 0 30px;\n box-sizing: border-box;\n font-family: sans-serif;\n font-size: 10px;\n text-transform: uppercase;\n letter-spacing: 2px;\n // background: #f5f5f5;\n background: ${this.builder.styleSnippetTabsBackground};\n // box-shadow: 0 5px 8px rgb(0 0 0 / 4%);\n }\n \n .is-category-list a {\n display: inline-block;\n padding: 10px 20px;\n // background: #fefefe;\n // color: #000;\n background: ${this.builder.styleSnippetTabItemBackground};\n color: ${this.builder.styleSnippetTabItemColor};\n border-radius: 50px;\n \n margin: 0 12px 0 0;\n text-decoration: none;\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.03);\n transition: box-shadow ease 0.3s;\n }\n \n .is-category-list a:hover {\n /*background: #fafafa;*/\n background: ${this.builder.styleSnippetTabItemBackgroundHover};\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.06);\n // color: #000;\n color: ${this.builder.styleSnippetTabItemColor};\n }\n \n .is-category-list a.active {\n // background: #f5f5f5;\n background: ${this.builder.styleSnippetTabItemBackgroundActive};\n // color: #000;\n color: ${this.builder.styleSnippetTabItemColor};\n box-shadow: none;\n cursor: default;\n }\n \n .is-more-categories {\n display: none;\n position: absolute;\n width: 400px;\n box-sizing: border-box;\n padding: 0;\n z-index: 1;\n font-family: sans-serif;\n font-size: 10px;\n text-transform: uppercase;\n letter-spacing: 2px;\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);\n // background: #fff;\n background: ${this.builder.styleSnippetMoreItemBackground};\n }\n \n .is-more-categories a {\n width: 200px;\n float: left;\n display: block;\n box-sizing: border-box;\n padding: 12px 20px;\n // background: #fff;\n background: ${this.builder.styleSnippetMoreItemBackground};\n text-decoration: none;\n // color: #000;\n color: ${this.builder.styleSnippetMoreItemColor};\n line-height: 1.6;\n }\n \n .is-more-categories a:hover {\n // background: #eee;\n background: ${this.builder.styleSnippetMoreItemBackgroundHover};\n }\n \n .is-more-categories a.active {\n // background: #eee;\n background: ${this.builder.styleSnippetMoreItemBackgroundActive};\n }\n \n .is-more-categories.active {\n display: block;\n }\n \n /* First Loading */\n /* .is-category-list {\n display: none;\n }\n \n .is-design-list {\n display: none;\n }\n \n .pace {\n -webkit-pointer-events: none;\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n }\n \n .pace-inactive {\n display: none;\n }\n \n .pace .pace-progress {\n background: #000000;\n position: fixed;\n z-index: 2000;\n top: 0;\n right: 100%;\n width: 100%;\n height: 2px;\n } */\n \n .is-more-categories>a:nth-child(0) {\n display: none\n }\n \n .is-more-categories>a:nth-child(1) {\n display: none\n }\n \n .is-more-categories>a:nth-child(2) {\n display: none\n }\n \n .is-more-categories>a:nth-child(3) {\n display: none\n }\n \n .is-more-categories>a:nth-child(4) {\n display: none\n }\n \n .is-more-categories>a:nth-child(5) {\n display: none\n }\n \n .is-more-categories>a:nth-child(6) {\n display: none\n }\n \n .is-more-categories>a:nth-child(7) {\n display: none\n }\n \n @media all and (max-width: 1212px) {\n .is-categories>a:nth-child(7):not(.more-snippets) {\n display: none\n }\n \n .is-more-categories>a:nth-child(7) {\n display: block\n }\n }\n \n @media all and (max-width: 1070px) {\n .is-categories>a:nth-child(6):not(.more-snippets) {\n display: none\n }\n \n .is-more-categories>a:nth-child(6) {\n display: block\n }\n }\n \n @media all and (max-width: 940px) {\n .is-categories>a:nth-child(5):not(.more-snippets) {\n display: none\n }\n \n .is-more-categories>a:nth-child(5) {\n display: block\n }\n }\n \n @media all and (max-width: 700px) {\n .is-categories>a:nth-child(4):not(.more-snippets) {\n display: none\n }\n \n .is-more-categories>a:nth-child(4) {\n display: block\n }\n }\n \n @media all and (max-width: 555px) {\n .is-categories>a:nth-child(3):not(.more-snippets) {\n display: none\n }\n \n .is-more-categories>a:nth-child(3) {\n display: block\n }\n }\n \n @media all and (max-width: 415px) {\n .is-categories>a:nth-child(2):not(.more-snippets) {\n display: none\n }\n \n .is-more-categories>a:nth-child(2) {\n display: block\n }\n }\n \n @media all and (max-width: 640px) {\n .is-more-categories a {\n width: 150px;\n padding: 10px 5px 10px 15px;\n font-size: 10px;\n }\n \n .is-more-categories {\n left: 0 !important;\n width: 100% !important;\n }\n }\n </style>\n </head>\n \n <body${this.builder.styleDark?' class="dark"':""}${this.builder.styleColored?' class="colored"':""}${this.builder.styleColoredDark?' class="colored-dark"':""}${this.builder.styleLight?' class="light"':""}>\n\n <svg style="display:none">\n <defs>\n <symbol viewBox="0 0 512 512" id="ion-ios-close-empty">\n <path d="M340.2 160l-84.4 84.3-84-83.9-11.8 11.8 84 83.8-84 83.9 11.8 11.7 84-83.8 84.4 84.2 11.8-11.7-84.4-84.3 84.4-84.2z"></path>\n </symbol>\n </defs>\n </svg>\n \n <div class="is-pop-close"\n style="z-index:10;width:30px;height:30px;position:absolute;top:0px;right:0px;box-sizing:border-box;padding:0;line-height:40px;font-size: 12px;text-align:center;cursor:pointer;">\n <svg class="is-icon-flex" style="width:30px;height:30px;">\n <use xlink:href="#ion-ios-close-empty"></use>\n </svg>\n </div>\n \n <div class="is-category-list">\n <div class="is-categories" style="position:fixed;top:0;left:0;right:0;height:68px;padding-top:17px;box-sizing:border-box;">\n </div>\n </div>\n\n <div class="is-more-categories">\n </div>\n \n <div class="is-design-list">\n </div>\n \n <script>\n \n var snippetPath = '${i}';\n var snippetCategories = ${n};\n var defaultSnippetCategory = ${o};\n \n var numOfCat = snippetCategories.length;\n if (numOfCat <= 7) {\n document.querySelector('.is-more-categories').style.width = '200px';\n }\n \n var categorytabs = document.querySelector('.is-categories');\n categorytabs.innerHTML = '';\n let html_catselect = '';\n for (var i = 0; i < numOfCat; i++) {\n if (i < 7) {\n html_catselect += '<a href="" data-cat="' + snippetCategories[i][0] + '">' + parent._cb.out(snippetCategories[i][1]) + '</a>';\n }\n }\n html_catselect += '<a href="" class="more-snippets">' + parent._cb.out('More') + '</a>';\n categorytabs.innerHTML = html_catselect;\n \n var categorymore = document.querySelector('.is-more-categories');\n html_catselect = '';\n for (var i = 0; i < numOfCat; i++) {\n html_catselect += '<a href="" data-cat="' + snippetCategories[i][0] + '">' + parent._cb.out(snippetCategories[i][1]) + '</a>';\n }\n categorymore.innerHTML = html_catselect;\n \n // Show/hide "More" button\n if (numOfCat <= 7) {\n var bHasMore = false;\n \n const childNodes = categorymore.childNodes;\n let i = childNodes.length;\n while (i--) {\n if(childNodes[i].style.display === 'block') {\n bHasMore = true;\n }\n }\n var more = document.querySelector('.more-snippets');\n if (!bHasMore) more.style.display = 'none';\n else more.style.display = '';\n }\n \n var elms = categorytabs.querySelectorAll('a[data-cat="' + defaultSnippetCategory + '"]'); //.classList.add('active');\n Array.prototype.forEach.call(elms, function(elm){\n elm.classList.add('active');\n });\n elms = categorymore.querySelectorAll('a[data-cat="' + defaultSnippetCategory + '"]'); //.classList.add('active');\n Array.prototype.forEach.call(elms, function(elm){\n elm.classList.add('active');\n });\n \n var snippets = data_basic.snippets; //DATA\n \n // Hide slider snippet if slick is not included\n var bHideSliderSnippet = true;\n if(parent.jQuery) {\n if(parent.jQuery.fn.slick) {\n bHideSliderSnippet = false;\n }\n }\n for (var nIndex = 0; nIndex < data_basic.snippets.length; nIndex++) {\n if (data_basic.snippets[nIndex].thumbnail.indexOf('element-slider.png') != -1 && bHideSliderSnippet) {\n data_basic.snippets.splice(nIndex, 1);\n break;\n }\n }\n \n var designlist = document.querySelector('.is-design-list');\n for (let i = 0; i <snippets.length; i++) {\n \n snippets[i].id = i+1;\n var thumb = snippets[i].thumbnail;\n \n thumb = snippetPath + thumb;\n \n if (snippets[i].category === defaultSnippetCategory + '') {\n designlist.insertAdjacentHTML('beforeend', '<div data-id="' + snippets[i].id + '" data-cat="' + snippets[i].category + '"><img src="' + thumb + '"><span class="is-overlay"></span></div>');\n \n var newitem = designlist.querySelector('[data-id="' + snippets[i].id + '"]');\n newitem.addEventListener('click', function(e){\n \n var snippetid = e.target.parentNode.getAttribute('data-id');\n addSnippet(snippetid);\n \n });\n \n }\n \n }\n \n var categorylist = document.querySelector('.is-category-list');\n elms = categorylist.querySelectorAll('a');\n Array.prototype.forEach.call(elms, function(elm){\n \n elm.addEventListener('click', function(e){\n \n if(elm.classList.contains('active')) {\n e.preventDefault();\n return false;\n }\n \n var cat = elm.getAttribute('data-cat');\n if(designlist.querySelectorAll('[data-cat="' + cat + '"]').length === 0) {\n \n for (let i = 0; i <snippets.length; i++) {\n \n var thumb = snippets[i].thumbnail;\n \n thumb = snippetPath + thumb; \n \n if (snippets[i].category === cat) {\n designlist.insertAdjacentHTML('beforeend', '<div data-id="' + snippets[i].id + '" data-cat="' + snippets[i].category + '"><img src="' + thumb + '"><span class="is-overlay"></span></div>');\n \n var newitem = designlist.querySelector('[data-id="' + snippets[i].id + '"]');\n newitem.addEventListener('click', function(e){\n \n var snippetid = e.target.parentNode.getAttribute('data-id');\n addSnippet(snippetid);\n \n });\n }\n \n } \n }\n \n if (cat) {\n // Hide all, show items from selected category\n var categorylist_items = categorylist.querySelectorAll('a'); \n Array.prototype.forEach.call(categorylist_items, function(elm){\n elm.className = elm.className.replace('active', '');\n });\n categorymore.className = categorymore.className.replace('active', ''); \n var categorymore_items = categorymore.querySelectorAll('a');\n Array.prototype.forEach.call(categorymore_items, function(elm){\n elm.className = elm.className.replace('active', '');\n });\n \n var items = designlist.querySelectorAll('div');\n Array.prototype.forEach.call(items, function(elm){\n elm.style.display = 'none';\n });\n Array.prototype.forEach.call(items, function(elm){\n var catSplit = elm.getAttribute('data-cat').split(',');\n for (var j = 0; j < catSplit.length; j++) {\n if (catSplit[j] == cat) {\n elm.style.display = ''; // TODO: hide & show snippets => animated\n }\n }\n });\n \n } else {\n // more snipptes\n var more = document.querySelector('.more-snippets');\n var moreCategories = document.querySelector('.is-more-categories');\n if(more.classList.contains('active')) {\n more.className = more.className.replace('active', '');\n moreCategories.className = moreCategories.className.replace('active', '');\n } else {\n var _width = moreCategories.offsetWidth;\n more.classList.add('active');\n moreCategories.classList.add('active');\n var top = more.getBoundingClientRect().top;\n var left = more.getBoundingClientRect().left;\n top = top + 50;\n moreCategories.style.top = top + 'px';\n moreCategories.style.left = left + 'px';\n }\n }\n elm.classList.add('active');\n \n e.preventDefault();\n });\n \n });\n \n elms = categorymore.querySelectorAll('a');\n Array.prototype.forEach.call(elms, function(elm){\n \n elm.addEventListener('click', function(e){\n \n var cat = elm.getAttribute('data-cat');\n if(designlist.querySelectorAll('[data-cat="' + cat + '"]').length === 0) {\n \n for (let i = 0; i <snippets.length; i++) {\n \n var thumb = snippets[i].thumbnail;\n \n thumb = snippetPath + thumb;\n \n if (snippets[i].category === cat) {\n \n designlist.insertAdjacentHTML('beforeend', '<div data-id="' + snippets[i].id + '" data-cat="' + snippets[i].category + '"><img src="' + thumb + '"><span class="is-overlay"></span></div>');\n \n var newitem = designlist.querySelector('[data-id="' + snippets[i].id + '"]');\n newitem.addEventListener('click', function(e){\n \n var snippetid = e.target.parentNode.getAttribute('data-id');\n addSnippet(snippetid);\n \n });\n }\n \n } \n }\n \n // Hide all, show items from selected category\n Array.prototype.forEach.call(elms, function(elm){\n elm.className = elm.className.replace('active', '');\n });\n categorymore.className = categorymore.className.replace('active', ''); // hide popup\n //var categorymore_items = categorymore.querySelectorAll('a');\n \n var categorylist = document.querySelector('.is-category-list');\n var categorylist_items = categorylist.querySelectorAll('a'); \n Array.prototype.forEach.call(categorylist_items, function(elm){\n elm.className = elm.className.replace('active', '');\n });\n \n var more = document.querySelector('.more-snippets');\n more.className = more.className.replace('active', '');\n \n var items = designlist.querySelectorAll('div');\n Array.prototype.forEach.call(items, function(elm){\n elm.style.display = 'none';\n });\n Array.prototype.forEach.call(items, function(elm){\n var catSplit = elm.getAttribute('data-cat').split(',');\n for (var j = 0; j < catSplit.length; j++) {\n if (catSplit[j] == cat) {\n elm.style.display = '';\n }\n }\n });\n \n elm.classList.add('active');\n \n e.preventDefault();\n });\n \n });\n \n var close = document.querySelector('.is-pop-close');\n close.addEventListener('click', function(e){\n var modal = parent.document.querySelector('.is-modal.snippets');\n removeClass(modal, 'active');\n });\n \n // Add document Click event\n document.addEventListener('click', function(e){\n e = e || window.event;\n var target = e.target || e.srcElement; \n \n if(parentsHasClass(target, 'more-snippets')) return;\n if(hasClass(target, 'more-snippets')) return;\n \n var more = document.querySelector('.more-snippets');\n var moreCategories = document.querySelector('.is-more-categories');\n \n more.className = more.className.replace('active', '');\n moreCategories.className = moreCategories.className.replace('active', '');\n });\n \n parent.document.addEventListener('click', function(e){\n var more = document.querySelector('.more-snippets');\n var moreCategories = document.querySelector('.is-more-categories');\n \n more.className = more.className.replace('active', '');\n moreCategories.className = moreCategories.className.replace('active', '');\n });\n \n function addSnippet(snippetid) {\n \n // TODO: var framework = parent._cb.opts.framework;\n var snippetPathReplace = parent._cb.opts.snippetPathReplace;\n var emailMode = parent._cb.opts.emailMode;\n \n // \n for (let i = 0; i <snippets.length; i++) {\n if(snippets[i].id + ''=== snippetid) {\n \n var html = snippets[i].html;\n var noedit = snippets[i].noedit;\n break;\n }\n }\n \n var bSnippet;\n if (html.indexOf('row clearfix') === -1) {\n bSnippet = true; // Just snippet (without row/column grid)\n } else {\n bSnippet = false; // Snippet is wrapped in row/colum\n }\n if (emailMode) bSnippet = false;\n\n if(bSnippet) {\n var quickadd = parent._cb.builderStuff.querySelector('.quickadd');\n var mode = quickadd.getAttribute('data-mode');\n if(!mode) {\n // in case of using viewSnippets() to open the dialog (mode=null) => change to non snippet.\n html = '<div class="row clearfix">' +\n '<div class="column full">' +\n html +\n '</div>' +\n '</div>';\n bSnippet=false;\n }\n }\n \n // Convert snippet into your defined 12 columns grid \n var rowClass = parent._cb.opts.row; //row\n var colClass = parent._cb.opts.cols; //['col s1', 'col s2', 'col s3', 'col s4', 'col s5', 'col s6', 'col s7', 'col s8', 'col s9', 'col s10', 'col s11', 'col s12']\n if(rowClass!=='' && colClass.length===12){\n html = html.replace(new RegExp('row clearfix', 'g'), rowClass);\n html = html.replace(new RegExp('column full', 'g'), colClass[11]);\n html = html.replace(new RegExp('column half', 'g'), colClass[5]);\n html = html.replace(new RegExp('column third', 'g'), colClass[3]);\n html = html.replace(new RegExp('column fourth', 'g'), colClass[2]);\n html = html.replace(new RegExp('column fifth', 'g'), colClass[1]);\n html = html.replace(new RegExp('column sixth', 'g'), colClass[1]);\n html = html.replace(new RegExp('column two-third', 'g'), colClass[7]);\n html = html.replace(new RegExp('column two-fourth', 'g'), colClass[8]);\n html = html.replace(new RegExp('column two-fifth', 'g'), colClass[9]);\n html = html.replace(new RegExp('column two-sixth', 'g'), colClass[9]);\n }\n \n html = html.replace(/{id}/g, makeid()); // Replace {id} with auto generated id (for custom code snippet)\n \n if(parent._cb.opts.onAdd){\n html = parent._cb.opts.onAdd(html);\n }\n\n if(snippetPathReplace.length>0) {\n if (snippetPathReplace[0] != '') {\n var regex = new RegExp(snippetPathReplace[0], 'g');\n html = html.replace(regex, snippetPathReplace[1]);\n }\n }\n \n parent._cb.addSnippet(html, bSnippet, noedit);\n \n var modal = parent.document.querySelector('.is-modal.snippets');\n removeClass(modal, 'active');\n \n }\n \n function hasClass(element, classname) {\n if(!element) return false;\n return element.classList ? element.classList.contains(classname) : new RegExp('\\b'+ classname+'\\b').test(element.className);\n }\n \n function removeClass(element, classname) {\n if(!element) return;\n if(element.classList.length>0) {\n element.className = element.className.replace(classname, '');\n }\n }\n \n function parentsHasClass(element, classname) {\n while (element) {\n if(element.tagName === 'BODY' || element.tagName === 'HTML') return false;\n if(!element.classList) return false;\n if (element.classList.contains(classname)) {\n return true;\n }\n element = element.parentNode;\n }\n }\n \n function makeid() {//http://stackoverflow.com/questions/1349404/generate-a-string-of-5-random-characters-in-javascript\n var text = "";\n var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";\n for (var i = 0; i < 2; i++)\n text += possible.charAt(Math.floor(Math.random() * possible.length));\n \n var text2 = "";\n var possible2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";\n for (var i = 0; i < 5; i++)\n text2 += possible2.charAt(Math.floor(Math.random() * possible2.length));\n \n return text + text2;\n }\n \n <\/script>\n \n </textarea>\n </body>\n \n </html>\n `}}const ti=new e,ei=e=>{const i=new t(e),n=i.builderStuff();let o=n.querySelector(".quickadd");if(!o){const t=`<div class="is-pop quickadd arrow-right" style="z-index:10003;">\n <div class="is-pop-close" style="display:none;z-index:1;width:40px;height:40px;position:absolute;top:0px;right:0px;box-sizing:border-box;padding:0;line-height:40px;font-size: 12px;color:#777;text-align:center;cursor:pointer;"><svg class="is-icon-flex" style="width:40px;height:40px;"><use xlink:href="#ion-ios-close-empty"></use></svg></div>\n <div class="is-pop-tabs">\n <div class="is-pop-tab-item active" data-value="left">${i.out("Add to Left")}</div>\n <div class="is-pop-tab-item" data-value="right">${i.out("Add to Right")}</div>\n </div>\n <div style="padding:8px 12px 12px;display:flex;flex-direction:row;flex-flow: wrap;justify-content: center;align-items: center;">\n <button title="${i.out("Paragraph")}" class="add-paragraph"><span style="display:block;margin:0 0 8px;"><svg class="is-icon-flex" style="width:12px;height:12px;"><use xlink:href="#icon-align-full"></use></svg></span>${i.out("Paragraph")}</button>\n <button title="${i.out("Headline")}" class="add-headline"><span style="font-family:serif;display:block;margin:0 0 8px;font-size:11px;">H</span>${i.out("Headline")}</button>\n <button title="${i.out("Image")}" class="add-image"><span style="display:block;margin:0 0 8px;"><svg class="is-icon-flex ion-image" style="width:14px;height:14px;"><use xlink:href="#ion-image"></use></svg></span>${i.out("Image")}</button>\n <button title="${i.out("Heading 1")}" class="add-heading1"><span style="font-family:serif;display:block;margin:0 0 8px;">H1</span>${i.out("Heading 1")}</button>\n <button title="${i.out("Heading 2")}" class="add-heading2"><span style="font-family:serif;display:block;margin:0 0 8px;">H2</span>${i.out("Heading 2")}</button>\n <button title="${i.out("Heading 3")}" class="add-heading3"><span style="font-family:serif;display:block;margin:0 0 8px;">H3</span>${i.out("Heading 3")}</button>\n <button title="${i.out("List")}" class="add-list"><span style="display:block;margin:0 0 8px;"><svg class="is-icon-flex" style="width:13px;height:13px;"><use xlink:href="#icon-list-bullet"></use></svg></span>${i.out("List")}</button>\n <button title="${i.out("Quote")}" class="add-quote"><span style="display:block;margin:0 0 8px;"><svg class="is-icon-flex" style="width:13px;height:13px;"><use xlink:href="#ion-quote"></use></svg></span>${i.out("Quote")}</button>\n <button title="${i.out("Preformatted")}" class="add-preformatted"><span style="display:block;margin:0 0 8px;"><svg class="is-icon-flex" style="width:13px;height:13px;"><use xlink:href="#ion-code"></use></svg></span>${i.out("Preformatted")}</button>\n <button title="${i.out("Table")}" class="add-table"><span style="display:block;margin:0 0 8px;"><svg class="is-icon-flex" style="width:15px;height:15px;"><use xlink:href="#icon-table"></use></svg></use></svg></svg></span>${i.out("Table")}</button>\n <button title="${i.out("Spacer")}" class="add-spacer"><span style="display:block;margin:0 0 8px;"><span style="display:inline-block;background:#eee;width:30px;height:5px;"></span></span>${i.out("Spacer")}</button>\n ${e.opts.emailMode?"":`<button title="${i.out("Button")}" class="add-button"><span style="display:block;margin:0 0 8px;"><span style="display:inline-block;border:#a1a1a1 1px solid;background:#f3f3f3;width:15px;height:6px;"></span></span>${i.out("Button")}</button>`}\n <button title="${i.out("More...")}" class="add-more" style="width:100%;height:45px;margin-top:10px;flex-direction:initial;">${i.out("More...")}</button>\n </div>\n </div>\n \n <div class="is-modal snippets">\n <div class="is-modal-content" style="max-width:1250px;height:90%;padding:0;">\n <iframe style="width:100%;height:100%;border: none;display: block;" src="about:blank"></iframe>\n </div>\n </div>\n `;ti.appendHtml(n,t),o=n.querySelector(".quickadd"),document.addEventListener("click",(t=>{var e=(t=t||window.event).target||t.srcElement;if("flex"===o.style.display){let t=ti.parentsHasClass(e,"quickadd"),i=ti.parentsHasClass(e,"row-add"),n=ti.parentsHasClass(e,"is-rowadd-tool"),r=ti.parentsHasClass(e,"cell-add"),s=ti.parentsHasClass(e,"elm-add"),a=ti.parentsHasClass(e,"row-add-initial");if(t||i||n||r||s||a)return;o.style.display=""}}));let r=o.querySelectorAll(".is-pop-tab-item");Array.prototype.forEach.call(r,(t=>{ti.addEventListener(t,"click",(t=>{let e=o.querySelectorAll(".is-pop-tab-item");Array.prototype.forEach.call(e,(t=>{ti.removeClass(t,"active")})),ti.addClass(t.target,"active"),"left"===o.querySelector(".active").getAttribute("data-value")?o.setAttribute("data-mode","cell-left"):o.setAttribute("data-mode","cell-right")}))}));let s=o.querySelector(".add-paragraph");ti.addEventListener(s,"click",(()=>{const t=o.getAttribute("data-mode");i.addContent("<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. \n Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, \n when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>",t)})),s=o.querySelector(".add-headline"),ti.addEventListener(s,"click",(()=>{const t=o.getAttribute("data-mode");i.addContent('<div class="display">\n <h1>Headline Goes Here</h1>\n <p>Lorem Ipsum is simply dummy text</p>\n </div>',t)})),s=o.querySelector(".add-image"),ti.addEventListener(s,"click",(()=>{const t=o.getAttribute("data-mode");let n='<img onload="imageLoaded(this)" src="'+e.opts.snippetPath+'example.jpg" alt="" />';i.addContent(n,t)})),s=o.querySelector(".add-heading1"),ti.addEventListener(s,"click",(()=>{const t=o.getAttribute("data-mode");i.addContent("<h1>Heading 1 here</h1>",t)})),s=o.querySelector(".add-heading2"),ti.addEventListener(s,"click",(()=>{const t=o.getAttribute("data-mode");i.addContent("<h2>Heading 2 here</h2>",t)})),s=o.querySelector(".add-heading3"),ti.addEventListener(s,"click",(()=>{const t=o.getAttribute("data-mode");i.addContent("<h3>Heading 3 here</h3>",t)})),s=o.querySelector(".add-preformatted"),ti.addEventListener(s,"click",(()=>{const t=o.getAttribute("data-mode");i.addContent("<pre>Lorem Ipsum is simply dummy text of the printing and typesetting industry. \n Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, \n when an unknown printer took a galley of type and scrambled it to make a type specimen book.</pre>",t)})),s=o.querySelector(".add-list"),ti.addEventListener(s,"click",(()=>{const t=o.getAttribute("data-mode");i.addContent('<ul style="list-style: initial;padding-left: 20px;">\n <li>Lorem Ipsum is simply dummy text</li>\n <li>Lorem Ipsum is simply dummy text</li>\n </ul>',t)})),s=o.querySelector(".add-quote"),ti.addEventListener(s,"click",(()=>{const t=o.getAttribute("data-mode");i.addContent("<blockquote>Lorem Ipsum is simply dummy text</blockquote>",t)})),s=o.querySelector(".add-button"),s&&ti.addEventListener(s,"click",(()=>{const t=o.getAttribute("data-mode");i.addContent('<a href="#" style="display:inline-block;text-decoration:none;transition: all 0.16s ease;border-style:solid;cursor:pointer;background-color: rgb(220, 220, 220); color: rgb(0, 0, 0); border-color: rgb(220, 220, 220); border-width: 2px; border-radius: 0px; padding: 13px 28px; line-height: 1.5; text-transform: uppercase; font-weight: 400; font-size: 14px; letter-spacing: 3px;">Read More</a>',t)})),s=o.querySelector(".add-spacer"),ti.addEventListener(s,"click",(()=>{const t=o.getAttribute("data-mode");i.addContent('<div class="spacer height-80"></div>',t)})),s=o.querySelector(".add-table"),ti.addEventListener(s,"click",(()=>{const t=o.getAttribute("data-mode");i.addContent('<table class="default" style="border-collapse:collapse;width:100%;">\n <thead>\n <tr>\n <td><br></td>\n <td><br></td>\n </tr>\n </thead>\n <tr>\n <td><br></td>\n <td><br></td>\n </tr>\n </table>',t)}));const a=new Je(e);s=o.querySelector(".add-more"),ti.addEventListener(s,"click",(()=>{let t=n.querySelector(".snippets");i.showModal(t,!1,null,!1);var e=t.querySelector("iframe").contentWindow.document;""===e.body.innerHTML&&(e.open(),e.write(a.getSnippetsHtml()),e.close()),o.style.display=""}))}return o},ii=new e;class ni{constructor(e){this.builder=e,this.columnTool=new ri(e),this.rowTool=new oi(e),this.util=new t(this.builder)}moveColumnPrevious(){let t=this.columnTool;const e=this.util.cellSelected();e&&e.previousElementSibling&&(this.builder.uo.saveForUndo(),e.parentElement.insertBefore(e,e.previousElementSibling),t.position(e),this.builder.opts.onChange())}moveColumnNext(){let t=this.columnTool,e=this.util;const i=e.cellSelected();if(!i)return;const n=e.cellNext(i);n&&(this.builder.uo.saveForUndo(),i.parentElement.insertBefore(n,i),t.position(i),this.builder.opts.onChange())}moveColumnUp(){let t=this.builder,e=this.columnTool,i=this.util;const n=i.cellSelected();if(!n)return;let o=n.parentNode,r=2;if(o.querySelector(".is-row-overlay")&&(r=3),o.childElementCount-r==1){if(!o.previousElementSibling)return;{let i=4;if(this.builder.maxColumns&&(i=this.builder.maxColumns),o.previousElementSibling.childElementCount>=i+r||o.previousElementSibling.hasAttribute("data-protected"))return this.builder.uo.saveForUndo(),o.parentNode.insertBefore(o,o.previousElementSibling),e.position(n),void this.builder.opts.onChange();{this.builder.uo.saveForUndo();let i=o.previousElementSibling.querySelector(".is-row-tool");o.previousElementSibling.removeChild(i),i=o.previousElementSibling.querySelector(".is-rowadd-tool"),o.previousElementSibling.removeChild(i),o.previousElementSibling.appendChild(n),o.parentNode.removeChild(o),t.applyBehavior(),e.position(n),n.click(),this.builder.opts.onChange()}}}else{this.builder.uo.saveForUndo();var s=o.cloneNode(!0);s.innerHTML="",s.appendChild(n),o.parentNode.insertBefore(s,o),t.applyBehavior(),e.position(n),n.click(),this.builder.opts.onChange()}o=n.parentNode,i.fixLayout(o,t),o.nextElementSibling&&i.fixLayout(o.nextElementSibling,t)}moveColumnDown(){let t=this.builder,e=this.columnTool,i=this.util;const n=i.cellSelected();if(!n)return;let o=n.parentNode,r=2;if(o.querySelector(".is-row-overlay")&&(r=3),o.childElementCount-r==1){if(!o.nextElementSibling)return;{let i=4;if(this.builder.maxColumns&&(i=this.builder.maxColumns),o.nextElementSibling.childElementCount>=i+r||o.nextElementSibling.hasAttribute("data-protected"))return this.builder.uo.saveForUndo(),o.parentNode.insertBefore(o.nextElementSibling,o),e.position(n),void this.builder.opts.onChange();{this.builder.uo.saveForUndo();let i=o.nextElementSibling.querySelector(".is-row-tool");o.nextElementSibling.removeChild(i),i=o.nextElementSibling.querySelector(".is-rowadd-tool"),o.nextElementSibling.removeChild(i),o.nextElementSibling.appendChild(n),o.parentNode.removeChild(o),t.applyBehavior(),e.position(n),n.click(),this.builder.opts.onChange()}}}else{this.builder.uo.saveForUndo();var s=o.cloneNode(!0);s.innerHTML="",s.appendChild(n),ii.moveAfter(s,o),t.applyBehavior(),e.position(n),n.click(),this.builder.opts.onChange()}o=n.parentNode,i.fixLayout(o,t),o.previousElementSibling&&i.fixLayout(o.previousElementSibling,t)}duplicateColumn(){let t=this.builder,e=this.columnTool,i=this.util;const n=i.cellSelected();if(!n)return;this.builder.uo.saveForUndo();var o=n.cloneNode(!0);ii.removeClass(o,"cell-active"),o.removeAttribute("data-click");let r=n.parentNode,s=2;r.querySelector(".is-row-overlay")&&(s=3);let a=4;if(this.builder.maxColumns&&(a=this.builder.maxColumns),r.childElementCount>=a+s)return alert(i.out("You have reached the maximum number of columns")),!1;r.insertBefore(o,n),i.fixLayout(r,t),t.applyBehavior(),e.position(n),n.click(),this.builder.opts.onChange()}removeColumn(){let t=this.builder,e=this.columnTool,i=this.util;const n=i.cellSelected();if(!n)return;let o=n.parentNode,r=2;o.querySelector(".is-row-overlay")&&(r=3),e.hide(),i.confirm(i.out("Are you sure you want to delete this block?"),(s=>{s?(this.builder.uo.saveForUndo(),o.childElementCount-r==1?(o.parentNode.removeChild(o),i.checkEmpty()):(o.removeChild(n),i.fixLayout(o,t)),i.clearActiveCell(),this.builder.opts.onChange()):setTimeout((()=>{e.position(n),e.show()}),200)}))}increaseColumn(){let t=this.builder,e=this.columnTool,i=this.util;const n=i.cellSelected();if(!n)return;let o,r=i.cellNext(n);if(r)o=i.cellNext(r),o||(o=n.previousElementSibling);else{if(r=n.previousElementSibling,!r)return;o=r.previousElementSibling}const s=t.opts.row,a=t.opts.cols,l=t.opts.colsizes;if(""!==s&&a.length>0&&l.length>0){if(o)for(let t=0;t<l.length;t++){let i=l[t];for(let t=0;t<i.length;t++)if(3===i[t].length&&ii.hasClass(n,i[t][0])&&ii.hasClass(r,i[t][1])&&ii.hasClass(o,i[t][2])&&t+1!==i.length)return this.builder.uo.saveForUndo(),ii.removeClass(n,i[t][0]),ii.removeClass(r,i[t][1]),ii.removeClass(o,i[t][2]),ii.addClass(n,i[t+1][0]),ii.addClass(r,i[t+1][1]),ii.addClass(o,i[t+1][2]),e.position(n),void this.builder.opts.onChange()}for(let t=0;t<l.length;t++){let i=l[t];for(let t=0;t<i.length;t++)if(2===i[t].length&&ii.hasClass(n,i[t][0])&&ii.hasClass(r,i[t][1])&&t+1!==i.length)return this.builder.uo.saveForUndo(),ii.removeClass(n,i[t][0]),ii.removeClass(r,i[t][1]),ii.addClass(n,i[t+1][0]),ii.addClass(r,i[t+1][1]),e.position(n),void this.builder.opts.onChange()}e.position(n)}else if(""!==s&&a.length>0&&!ii.hasClass(n,a[11])){if(ii.hasClass(n,a[11]))return;if(ii.hasClass(r,a[0]))return;this.builder.uo.saveForUndo(),ii.hasClass(n,a[10])?(ii.removeClass(n,a[10]),ii.addClass(n,a[11])):ii.hasClass(n,a[9])?(ii.removeClass(n,a[9]),ii.addClass(n,a[10])):ii.hasClass(n,a[8])?(ii.removeClass(n,a[8]),ii.addClass(n,a[9])):ii.hasClass(n,a[7])?(ii.removeClass(n,a[7]),ii.addClass(n,a[8])):ii.hasClass(n,a[6])?(ii.removeClass(n,a[6]),ii.addClass(n,a[7])):ii.hasClass(n,a[5])?(ii.removeClass(n,a[5]),ii.addClass(n,a[6])):ii.hasClass(n,a[4])?(ii.removeClass(n,a[4]),ii.addClass(n,a[5])):ii.hasClass(n,a[3])?(ii.removeClass(n,a[3]),ii.addClass(n,a[4])):ii.hasClass(n,a[2])?(ii.removeClass(n,a[2]),ii.addClass(n,a[3])):ii.hasClass(n,a[1])?(ii.removeClass(n,a[1]),ii.addClass(n,a[2])):ii.hasClass(n,a[0])&&(ii.removeClass(n,a[0]),ii.addClass(n,a[1])),ii.hasClass(r,a[1])?(ii.removeClass(r,a[1]),ii.addClass(r,a[0])):ii.hasClass(r,a[2])?(ii.removeClass(r,a[2]),ii.addClass(r,a[1])):ii.hasClass(r,a[3])?(ii.removeClass(r,a[3]),ii.addClass(r,a[2])):ii.hasClass(r,a[4])?(ii.removeClass(r,a[4]),ii.addClass(r,a[3])):ii.hasClass(r,a[5])?(ii.removeClass(r,a[5]),ii.addClass(r,a[4])):ii.hasClass(r,a[6])?(ii.removeClass(r,a[6]),ii.addClass(r,a[5])):ii.hasClass(r,a[7])?(ii.removeClass(r,a[7]),ii.addClass(r,a[6])):ii.hasClass(r,a[8])?(ii.removeClass(r,a[8]),ii.addClass(r,a[7])):ii.hasClass(r,a[9])?(ii.removeClass(r,a[9]),ii.addClass(r,a[8])):ii.hasClass(r,a[10])?(ii.removeClass(r,a[10]),ii.addClass(r,a[9])):ii.hasClass(r,a[11])&&(ii.removeClass(r,a[11]),ii.addClass(r,a[10])),e.position(n),this.builder.opts.onChange()}}decreaseColumn(){let t=this.builder,e=this.columnTool,i=this.util;const n=i.cellSelected();if(!n)return;let o,r=i.cellNext(n);if(r)o=i.cellNext(r),o||(o=n.previousElementSibling);else{if(r=n.previousElementSibling,!r)return;o=r.previousElementSibling}const s=t.opts.row,a=t.opts.cols,l=t.opts.colsizes;if(""!==s&&a.length>0&&l.length>0){if(o)for(let t=0;t<l.length;t++){let i=l[t];for(let t=0;t<i.length;t++)if(3===i[t].length&&ii.hasClass(n,i[t][0])&&ii.hasClass(r,i[t][1])&&ii.hasClass(o,i[t][2])&&0!==t)return this.builder.uo.saveForUndo(),ii.removeClass(n,i[t][0]),ii.removeClass(r,i[t][1]),ii.removeClass(o,i[t][2]),ii.addClass(n,i[t-1][0]),ii.addClass(r,i[t-1][1]),ii.addClass(o,i[t-1][2]),e.position(n),void this.builder.opts.onChange()}for(let t=0;t<l.length;t++){let i=l[t];for(let t=0;t<i.length;t++)if(2===i[t].length&&ii.hasClass(n,i[t][0])&&ii.hasClass(r,i[t][1])&&0!==t)return this.builder.uo.saveForUndo(),ii.removeClass(n,i[t][0]),ii.removeClass(r,i[t][1]),ii.addClass(n,i[t-1][0]),ii.addClass(r,i[t-1][1]),e.position(n),void this.builder.opts.onChange()}e.position(n)}else if(""!==s&&a.length>0&&!ii.hasClass(n,a[11])){if(ii.hasClass(n,a[0]))return;if(ii.hasClass(r,a[11]))return;this.builder.uo.saveForUndo(),ii.hasClass(n,a[11])?(ii.removeClass(n,a[11]),ii.addClass(n,a[10])):ii.hasClass(n,a[10])?(ii.removeClass(n,a[10]),ii.addClass(n,a[9])):ii.hasClass(n,a[9])?(ii.removeClass(n,a[9]),ii.addClass(n,a[8])):ii.hasClass(n,a[8])?(ii.removeClass(n,a[8]),ii.addClass(n,a[7])):ii.hasClass(n,a[7])?(ii.removeClass(n,a[7]),ii.addClass(n,a[6])):ii.hasClass(n,a[6])?(ii.removeClass(n,a[6]),ii.addClass(n,a[5])):ii.hasClass(n,a[5])?(ii.removeClass(n,a[5]),ii.addClass(n,a[4])):ii.hasClass(n,a[4])?(ii.removeClass(n,a[4]),ii.addClass(n,a[3])):ii.hasClass(n,a[3])?(ii.removeClass(n,a[3]),ii.addClass(n,a[2])):ii.hasClass(n,a[2])?(ii.removeClass(n,a[2]),ii.addClass(n,a[1])):ii.hasClass(n,a[1])&&(ii.removeClass(n,a[1]),ii.addClass(n,a[0])),ii.hasClass(r,a[0])?(ii.removeClass(r,a[0]),ii.addClass(r,a[1])):ii.hasClass(r,a[1])?(ii.removeClass(r,a[1]),ii.addClass(r,a[2])):ii.hasClass(r,a[2])?(ii.removeClass(r,a[2]),ii.addClass(r,a[3])):ii.hasClass(r,a[3])?(ii.removeClass(r,a[3]),ii.addClass(r,a[4])):ii.hasClass(r,a[4])?(ii.removeClass(r,a[4]),ii.addClass(r,a[5])):ii.hasClass(r,a[5])?(ii.removeClass(r,a[5]),ii.addClass(r,a[6])):ii.hasClass(r,a[6])?(ii.removeClass(r,a[6]),ii.addClass(r,a[7])):ii.hasClass(r,a[7])?(ii.removeClass(r,a[7]),ii.addClass(r,a[8])):ii.hasClass(r,a[8])?(ii.removeClass(r,a[8]),ii.addClass(r,a[9])):ii.hasClass(r,a[9])?(ii.removeClass(r,a[9]),ii.addClass(r,a[10])):ii.hasClass(r,a[10])&&(ii.removeClass(r,a[10]),ii.addClass(r,a[11])),e.position(n),this.builder.opts.onChange()}}removeRow(){let t=this.util;const e=t.cellSelected();if(!e)return;const i=e.parentNode;ii.removeClass(i,"row-outline"),this.columnTool.hide(),t.confirm(t.out("Are you sure you want to delete this block?"),(e=>{const i=t.cellSelected();if(!i)return;const n=i.parentNode;e&&(this.builder.uo.saveForUndo(),n.parentNode.removeChild(n),t.checkEmpty(),this.builder.opts.onChange())}))}moveRowUp(){let t=this.columnTool,e=this.util;const i=e.cellSelected();if(!i)return;let n=i.parentNode;if(ii.removeClass(n,"row-outline"),t.hide(),n.previousElementSibling)this.builder.uo.saveForUndo(),n.parentNode.insertBefore(n,n.previousElementSibling),this.rowTool.position(n),this.builder.opts.onChange();else{let t=n.parentNode,i=null;const o=document.querySelectorAll(this.builder.opts.container);Array.prototype.forEach.call(o,(o=>{if(o.innerHTML===t.innerHTML&&i)return ii.moveAfter(n,i.lastChild),this.rowTool.position(n),e.checkEmpty(),this.builder.opts.onChange(),!1;i=o}))}}moveRowDown(){let t=this.columnTool,e=this.util;const i=e.cellSelected();if(!i)return;let n=i.parentNode;if(ii.removeClass(n,"row-outline"),t.hide(),n.nextElementSibling)this.builder.uo.saveForUndo(),n.parentNode.insertBefore(n.nextElementSibling,n),this.rowTool.position(n),this.builder.opts.onChange();else{let t=n.parentNode,i=!1;const o=document.querySelectorAll(this.builder.opts.container);Array.prototype.forEach.call(o,(o=>{if(i)return o.insertBefore(n,o.firstChild),this.rowTool.position(n),e.checkEmpty(),this.builder.opts.onChange(),!1;o.innerHTML===t.innerHTML&&(i=!0)}))}}duplicateRow(){let t=this.builder,e=this.columnTool;const i=this.util.cellSelected();if(!i)return;let n=i.parentNode;ii.removeClass(n,"row-outline"),e.hide(),this.builder.uo.saveForUndo();const o=n.cloneNode(!0);o.removeChild(o.querySelector(".is-row-tool"));let r=ii.elementChildren(o);r.forEach((e=>{e.removeAttribute("data-click"),e.classList.contains("cell-active")&&(t.activeCol=e)})),ii.moveAfter(o,n),ii.removeClass(n,"row-active"),ii.removeClass(n,"row-outline"),r=ii.elementChildren(n),r.forEach((t=>{ii.removeClass(t,"cell-active")})),t.applyBehavior(),this.rowTool.position(o),this.builder.opts.onChange()}refreshColumnTool(t){this.columnTool.position(t)}showColumnTool(){this.columnTool.show()}hideColumnTool(){this.columnTool.hide()}}class oi{constructor(t){this.builder=t}position(e){const i=new t(this.builder).builderStuff();let n=e.querySelector(".is-row-tool"),o=i.querySelector(".rowmore");ii.addClass(o,"transition1");const r=n.querySelector(".row-more"),s=r.getBoundingClientRect().top+window.pageYOffset,a=r.getBoundingClientRect().left+window.pageXOffset;o.style.top=s-8+"px",ii.removeClass(o,"arrow-bottom"),ii.removeClass(o,"arrow-left"),ii.removeClass(o,"arrow-right"),ii.removeClass(o,"center"),ii.removeClass(o,"right"),ii.removeClass(o,"left"),"right"===this.builder.opts.rowTool?(o.style.left=a-o.offsetWidth-10+"px",ii.addClass(o,"arrow-right"),ii.addClass(o,"left")):(o.style.left=a+35+"px",ii.addClass(o,"arrow-left"),ii.addClass(o,"left")),setTimeout((()=>{ii.removeClass(o,"transition1")}),300)}}class ri{constructor(t){this.builder=t}position(e){const i=new t(this.builder).builderStuff();this.columnTool=i.querySelector(".is-column-tool"),this.columnMore=i.querySelector(".columnmore"),ii.addClass(this.columnMore,"transition1"),setTimeout((()=>{this.columnTool.style.top=e.getBoundingClientRect().top-29+window.pageYOffset+"px",this.columnTool.style.left=e.getBoundingClientRect().left-1+"px";let t=parseInt(this.columnTool.style.top),i=parseInt(this.columnTool.style.left);this.columnMore.style.top=t+35+"px",this.columnMore.style.left=i+19+"px",setTimeout((()=>{ii.removeClass(this.columnMore,"transition1")}),300)}),300)}hide(){const e=new t(this.builder).builderStuff();this.columnTool=e.querySelector(".is-column-tool"),ii.removeClass(this.columnTool,"active")}show(){const e=new t(this.builder).builderStuff();this.columnTool=e.querySelector(".is-column-tool"),ii.addClass(this.columnTool,"active")}}let si,ai,li,di,ci,ui,pi,hi;class vi{constructor(t={}){this.opts=t;const e=document.querySelectorAll(this.opts.selector);Array.prototype.forEach.call(e,(t=>{t.setAttribute("draggable",""),t.addEventListener("touchstart",this.dragStart,!1),t.addEventListener("touchend",this.dragEnd,!1),t.addEventListener("mousedown",this.dragStart,!1),t.addEventListener("mouseup",this.dragEnd,!1)})),document.addEventListener("touchmove",this.drag,!1),document.addEventListener("mousemove",this.drag,!1)}dragStart(t){var e,i;t.target.hasAttribute("draggable")&&(pi=!0,hi=t.target.parentElement,hi.getAttribute("data-xOffset")?e=hi.getAttribute("data-xOffset"):(hi.setAttribute("data-xOffset",0),e=0),hi.getAttribute("data-yOffset")?i=hi.getAttribute("data-yOffset"):(hi.setAttribute("data-yOffset",0),i=0),"touchstart"===t.type?(si=t.touches[0].clientX-e,ai=t.touches[0].clientY-i):(si=t.clientX-e,ai=t.clientY-i),hi.setAttribute("data-initialX",si),hi.setAttribute("data-initialY",ai))}dragEnd(t){t.target.hasAttribute("draggable")&&(li=hi.getAttribute("data-currentX"),di=hi.getAttribute("data-currentY"),si=li,ai=di,hi.setAttribute("data-initialX",si),hi.setAttribute("data-initialY",ai),pi=!1)}drag(t){if(pi){t.preventDefault();var e=hi.getAttribute("data-initialX"),i=hi.getAttribute("data-initialY");"touchmove"===t.type?(li=t.touches[0].clientX-e,di=t.touches[0].clientY-i):(li=t.clientX-e,di=t.clientY-i),hi.style.transform="translate3d("+li+"px, "+di+"px, 0)",hi.setAttribute("data-currentX",li),hi.setAttribute("data-currentY",di),ci=li,ui=di,hi.setAttribute("data-xOffset",ci),hi.setAttribute("data-yOffset",ui)}}isTouchSupport(){return"ontouchstart"in window||navigator.MaxTouchPoints>0||navigator.msMaxTouchPoints>0}}const fi=new e,gi=new e;class mi{constructor(t,e={}){this.opts=Object.assign(this,{onChange:function(){}},e);const i=t;let n=i.getAttribute("data-group"),o=document.querySelector('.is-selectbox-options[data-group="'+n+'"]');this.opts.dropdown&&(o=this.opts.dropdown),gi.addEventListener(i,"click",(()=>{if("none"===o.style.display){let t=document.querySelectorAll(".is-selectbox-options");Array.prototype.forEach.call(t,(t=>{t.style.display="none"})),o.style.display="block",gi.elementChildren(o).forEach((t=>{gi.removeClass(t,"selected")}));let e=i.getAttribute("data-value"),n=o.querySelector('[data-value="'+e+'"]');n&&gi.addClass(n,"selected")}else o.style.display="none"}));gi.elementChildren(o).forEach((t=>{gi.addEventListener(t,"click",(()=>{o.style.display="none";let e=t.getAttribute("data-value");i.querySelector("span").innerHTML=t.innerHTML,i.setAttribute("data-value",e),this.opts.onChange(e)}))}))}}
|
|
2
|
+
/**!
|
|
3
|
+
* Sortable 1.14.0
|
|
4
|
+
* @author RubaXa <trash@rubaxa.org>
|
|
5
|
+
* @author owenm <owen23355@gmail.com>
|
|
6
|
+
* @license MIT
|
|
7
|
+
*/function bi(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}function yi(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?bi(Object(i),!0).forEach((function(e){_i(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):bi(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}function xi(t){return(xi="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _i(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function wi(){return(wi=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(t[n]=i[n])}return t}).apply(this,arguments)}function Si(t,e){if(null==t)return{};var i,n,o=function(t,e){if(null==t)return{};var i,n,o={},r=Object.keys(t);for(n=0;n<r.length;n++)i=r[n],e.indexOf(i)>=0||(o[i]=t[i]);return o}(t,e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(n=0;n<r.length;n++)i=r[n],e.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(o[i]=t[i])}return o}function Ci(t){if("undefined"!=typeof window&&window.navigator)return!!navigator.userAgent.match(t)}var ki=Ci(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),Ei=Ci(/Edge/i),Li=Ci(/firefox/i),Ai=Ci(/safari/i)&&!Ci(/chrome/i)&&!Ci(/android/i),qi=Ci(/iP(ad|od|hone)/i),Ti=Ci(/chrome/i)&&Ci(/android/i),Mi={capture:!1,passive:!1};function Oi(t,e,i){t.addEventListener(e,i,!ki&&Mi)}function Ri(t,e,i){t.removeEventListener(e,i,!ki&&Mi)}function Ni(t,e){if(e){if(">"===e[0]&&(e=e.substring(1)),t)try{if(t.matches)return t.matches(e);if(t.msMatchesSelector)return t.msMatchesSelector(e);if(t.webkitMatchesSelector)return t.webkitMatchesSelector(e)}catch(t){return!1}return!1}}function Bi(t){return t.host&&t!==document&&t.host.nodeType?t.host:t.parentNode}function Ii(t,e,i,n){if(t){i=i||document;do{if(null!=e&&(">"===e[0]?t.parentNode===i&&Ni(t,e):Ni(t,e))||n&&t===i)return t;if(t===i)break}while(t=Bi(t))}return null}var $i,Di=/\s+/g;function Hi(t,e,i){if(t&&e)if(t.classList)t.classList[i?"add":"remove"](e);else{var n=(" "+t.className+" ").replace(Di," ").replace(" "+e+" "," ");t.className=(n+(i?" "+e:"")).replace(Di," ")}}function zi(t,e,i){var n=t&&t.style;if(n){if(void 0===i)return document.defaultView&&document.defaultView.getComputedStyle?i=document.defaultView.getComputedStyle(t,""):t.currentStyle&&(i=t.currentStyle),void 0===e?i:i[e];e in n||-1!==e.indexOf("webkit")||(e="-webkit-"+e),n[e]=i+("string"==typeof i?"":"px")}}function Pi(t,e){var i="";if("string"==typeof t)i=t;else do{var n=zi(t,"transform");n&&"none"!==n&&(i=n+" "+i)}while(!e&&(t=t.parentNode));var o=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return o&&new o(i)}function Fi(t,e,i){if(t){var n=t.getElementsByTagName(e),o=0,r=n.length;if(i)for(;o<r;o++)i(n[o],o);return n}return[]}function Ui(){var t=document.scrollingElement;return t||document.documentElement}function Wi(t,e,i,n,o){if(t.getBoundingClientRect||t===window){var r,s,a,l,d,c,u;if(t!==window&&t.parentNode&&t!==Ui()?(s=(r=t.getBoundingClientRect()).top,a=r.left,l=r.bottom,d=r.right,c=r.height,u=r.width):(s=0,a=0,l=window.innerHeight,d=window.innerWidth,c=window.innerHeight,u=window.innerWidth),(e||i)&&t!==window&&(o=o||t.parentNode,!ki))do{if(o&&o.getBoundingClientRect&&("none"!==zi(o,"transform")||i&&"static"!==zi(o,"position"))){var p=o.getBoundingClientRect();s-=p.top+parseInt(zi(o,"border-top-width")),a-=p.left+parseInt(zi(o,"border-left-width")),l=s+r.height,d=a+r.width;break}}while(o=o.parentNode);if(n&&t!==window){var h=Pi(o||t),v=h&&h.a,f=h&&h.d;h&&(l=(s/=f)+(c/=f),d=(a/=v)+(u/=v))}return{top:s,left:a,bottom:l,right:d,width:u,height:c}}}function ji(t,e,i){for(var n=Ki(t,!0),o=Wi(t)[e];n;){var r=Wi(n)[i];if(!("top"===i||"left"===i?o>=r:o<=r))return n;if(n===Ui())break;n=Ki(n,!1)}return!1}function Gi(t,e,i,n){for(var o=0,r=0,s=t.children;r<s.length;){if("none"!==s[r].style.display&&s[r]!==to.ghost&&(n||s[r]!==to.dragged)&&Ii(s[r],i.draggable,t,!1)){if(o===e)return s[r];o++}r++}return null}function Xi(t,e){for(var i=t.lastElementChild;i&&(i===to.ghost||"none"===zi(i,"display")||e&&!Ni(i,e));)i=i.previousElementSibling;return i||null}function Yi(t,e){var i=0;if(!t||!t.parentNode)return-1;for(;t=t.previousElementSibling;)"TEMPLATE"===t.nodeName.toUpperCase()||t===to.clone||e&&!Ni(t,e)||i++;return i}function Vi(t){var e=0,i=0,n=Ui();if(t)do{var o=Pi(t),r=o.a,s=o.d;e+=t.scrollLeft*r,i+=t.scrollTop*s}while(t!==n&&(t=t.parentNode));return[e,i]}function Ki(t,e){if(!t||!t.getBoundingClientRect)return Ui();var i=t,n=!1;do{if(i.clientWidth<i.scrollWidth||i.clientHeight<i.scrollHeight){var o=zi(i);if(i.clientWidth<i.scrollWidth&&("auto"==o.overflowX||"scroll"==o.overflowX)||i.clientHeight<i.scrollHeight&&("auto"==o.overflowY||"scroll"==o.overflowY)){if(!i.getBoundingClientRect||i===document.body)return Ui();if(n||e)return i;n=!0}}}while(i=i.parentNode);return Ui()}function Zi(t,e){return Math.round(t.top)===Math.round(e.top)&&Math.round(t.left)===Math.round(e.left)&&Math.round(t.height)===Math.round(e.height)&&Math.round(t.width)===Math.round(e.width)}function Qi(t,e){return function(){if(!$i){var i=arguments,n=this;1===i.length?t.call(n,i[0]):t.apply(n,i),$i=setTimeout((function(){$i=void 0}),e)}}}function Ji(t,e,i){t.scrollLeft+=e,t.scrollTop+=i}function tn(t){var e=window.Polymer,i=window.jQuery||window.Zepto;return e&&e.dom?e.dom(t).cloneNode(!0):i?i(t).clone(!0)[0]:t.cloneNode(!0)}var en="Sortable"+(new Date).getTime();function nn(){var t,e=[];return{captureAnimationState:function(){(e=[],this.options.animation)&&[].slice.call(this.el.children).forEach((function(t){if("none"!==zi(t,"display")&&t!==to.ghost){e.push({target:t,rect:Wi(t)});var i=yi({},e[e.length-1].rect);if(t.thisAnimationDuration){var n=Pi(t,!0);n&&(i.top-=n.f,i.left-=n.e)}t.fromRect=i}}))},addAnimationState:function(t){e.push(t)},removeAnimationState:function(t){e.splice(function(t,e){for(var i in t)if(t.hasOwnProperty(i))for(var n in e)if(e.hasOwnProperty(n)&&e[n]===t[i][n])return Number(i);return-1}(e,{target:t}),1)},animateAll:function(i){var n=this;if(!this.options.animation)return clearTimeout(t),void("function"==typeof i&&i());var o=!1,r=0;e.forEach((function(t){var e=0,i=t.target,s=i.fromRect,a=Wi(i),l=i.prevFromRect,d=i.prevToRect,c=t.rect,u=Pi(i,!0);u&&(a.top-=u.f,a.left-=u.e),i.toRect=a,i.thisAnimationDuration&&Zi(l,a)&&!Zi(s,a)&&(c.top-a.top)/(c.left-a.left)==(s.top-a.top)/(s.left-a.left)&&(e=function(t,e,i,n){return Math.sqrt(Math.pow(e.top-t.top,2)+Math.pow(e.left-t.left,2))/Math.sqrt(Math.pow(e.top-i.top,2)+Math.pow(e.left-i.left,2))*n.animation}(c,l,d,n.options)),Zi(a,s)||(i.prevFromRect=s,i.prevToRect=a,e||(e=n.options.animation),n.animate(i,c,a,e)),e&&(o=!0,r=Math.max(r,e),clearTimeout(i.animationResetTimer),i.animationResetTimer=setTimeout((function(){i.animationTime=0,i.prevFromRect=null,i.fromRect=null,i.prevToRect=null,i.thisAnimationDuration=null}),e),i.thisAnimationDuration=e)})),clearTimeout(t),o?t=setTimeout((function(){"function"==typeof i&&i()}),r):"function"==typeof i&&i(),e=[]},animate:function(t,e,i,n){if(n){zi(t,"transition",""),zi(t,"transform","");var o=Pi(this.el),r=o&&o.a,s=o&&o.d,a=(e.left-i.left)/(r||1),l=(e.top-i.top)/(s||1);t.animatingX=!!a,t.animatingY=!!l,zi(t,"transform","translate3d("+a+"px,"+l+"px,0)"),this.forRepaintDummy=function(t){return t.offsetWidth}(t),zi(t,"transition","transform "+n+"ms"+(this.options.easing?" "+this.options.easing:"")),zi(t,"transform","translate3d(0,0,0)"),"number"==typeof t.animated&&clearTimeout(t.animated),t.animated=setTimeout((function(){zi(t,"transition",""),zi(t,"transform",""),t.animated=!1,t.animatingX=!1,t.animatingY=!1}),n)}}}}var on=[],rn={initializeByDefault:!0},sn={mount:function(t){for(var e in rn)rn.hasOwnProperty(e)&&!(e in t)&&(t[e]=rn[e]);on.forEach((function(e){if(e.pluginName===t.pluginName)throw"Sortable: Cannot mount plugin ".concat(t.pluginName," more than once")})),on.push(t)},pluginEvent:function(t,e,i){var n=this;this.eventCanceled=!1,i.cancel=function(){n.eventCanceled=!0};var o=t+"Global";on.forEach((function(n){e[n.pluginName]&&(e[n.pluginName][o]&&e[n.pluginName][o](yi({sortable:e},i)),e.options[n.pluginName]&&e[n.pluginName][t]&&e[n.pluginName][t](yi({sortable:e},i)))}))},initializePlugins:function(t,e,i,n){for(var o in on.forEach((function(n){var o=n.pluginName;if(t.options[o]||n.initializeByDefault){var r=new n(t,e,t.options);r.sortable=t,r.options=t.options,t[o]=r,wi(i,r.defaults)}})),t.options)if(t.options.hasOwnProperty(o)){var r=this.modifyOption(t,o,t.options[o]);void 0!==r&&(t.options[o]=r)}},getEventProperties:function(t,e){var i={};return on.forEach((function(n){"function"==typeof n.eventProperties&&wi(i,n.eventProperties.call(e[n.pluginName],t))})),i},modifyOption:function(t,e,i){var n;return on.forEach((function(o){t[o.pluginName]&&o.optionListeners&&"function"==typeof o.optionListeners[e]&&(n=o.optionListeners[e].call(t[o.pluginName],i))})),n}};var an=["evt"],ln=function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=i.evt,o=Si(i,an);sn.pluginEvent.bind(to)(t,e,yi({dragEl:cn,parentEl:un,ghostEl:pn,rootEl:hn,nextEl:vn,lastDownEl:fn,cloneEl:gn,cloneHidden:mn,dragStarted:Tn,putSortable:Sn,activeSortable:to.active,originalEvent:n,oldIndex:bn,oldDraggableIndex:xn,newIndex:yn,newDraggableIndex:_n,hideGhostForTarget:Kn,unhideGhostForTarget:Zn,cloneNowHidden:function(){mn=!0},cloneNowShown:function(){mn=!1},dispatchSortableEvent:function(t){dn({sortable:e,name:t,originalEvent:n})}},o))};function dn(t){!function(t){var e=t.sortable,i=t.rootEl,n=t.name,o=t.targetEl,r=t.cloneEl,s=t.toEl,a=t.fromEl,l=t.oldIndex,d=t.newIndex,c=t.oldDraggableIndex,u=t.newDraggableIndex,p=t.originalEvent,h=t.putSortable,v=t.extraEventProperties;if(e=e||i&&i[en]){var f,g=e.options,m="on"+n.charAt(0).toUpperCase()+n.substr(1);!window.CustomEvent||ki||Ei?(f=document.createEvent("Event")).initEvent(n,!0,!0):f=new CustomEvent(n,{bubbles:!0,cancelable:!0}),f.to=s||i,f.from=a||i,f.item=o||i,f.clone=r,f.oldIndex=l,f.newIndex=d,f.oldDraggableIndex=c,f.newDraggableIndex=u,f.originalEvent=p,f.pullMode=h?h.lastPutMode:void 0;var b=yi(yi({},v),sn.getEventProperties(n,e));for(var y in b)f[y]=b[y];i&&i.dispatchEvent(f),g[m]&&g[m].call(e,f)}}(yi({putSortable:Sn,cloneEl:gn,targetEl:cn,rootEl:hn,oldIndex:bn,oldDraggableIndex:xn,newIndex:yn,newDraggableIndex:_n},t))}var cn,un,pn,hn,vn,fn,gn,mn,bn,yn,xn,_n,wn,Sn,Cn,kn,En,Ln,An,qn,Tn,Mn,On,Rn,Nn,Bn=!1,In=!1,$n=[],Dn=!1,Hn=!1,zn=[],Pn=!1,Fn=[],Un="undefined"!=typeof document,Wn=qi,jn=Ei||ki?"cssFloat":"float",Gn=Un&&!Ti&&!qi&&"draggable"in document.createElement("div"),Xn=function(){if(Un){if(ki)return!1;var t=document.createElement("x");return t.style.cssText="pointer-events:auto","auto"===t.style.pointerEvents}}(),Yn=function(t,e){var i=zi(t),n=parseInt(i.width)-parseInt(i.paddingLeft)-parseInt(i.paddingRight)-parseInt(i.borderLeftWidth)-parseInt(i.borderRightWidth),o=Gi(t,0,e),r=Gi(t,1,e),s=o&&zi(o),a=r&&zi(r),l=s&&parseInt(s.marginLeft)+parseInt(s.marginRight)+Wi(o).width,d=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+Wi(r).width;if("flex"===i.display)return"column"===i.flexDirection||"column-reverse"===i.flexDirection?"vertical":"horizontal";if("grid"===i.display)return i.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(o&&s.float&&"none"!==s.float){var c="left"===s.float?"left":"right";return!r||"both"!==a.clear&&a.clear!==c?"horizontal":"vertical"}return o&&("block"===s.display||"flex"===s.display||"table"===s.display||"grid"===s.display||l>=n&&"none"===i[jn]||r&&"none"===i[jn]&&l+d>n)?"vertical":"horizontal"},Vn=function(t){function e(t,i){return function(n,o,r,s){var a=n.options.group.name&&o.options.group.name&&n.options.group.name===o.options.group.name;if(null==t&&(i||a))return!0;if(null==t||!1===t)return!1;if(i&&"clone"===t)return t;if("function"==typeof t)return e(t(n,o,r,s),i)(n,o,r,s);var l=(i?n:o).options.group.name;return!0===t||"string"==typeof t&&t===l||t.join&&t.indexOf(l)>-1}}var i={},n=t.group;n&&"object"==xi(n)||(n={name:n}),i.name=n.name,i.checkPull=e(n.pull,!0),i.checkPut=e(n.put),i.revertClone=n.revertClone,t.group=i},Kn=function(){!Xn&&pn&&zi(pn,"display","none")},Zn=function(){!Xn&&pn&&zi(pn,"display","")};Un&&document.addEventListener("click",(function(t){if(In)return t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.stopImmediatePropagation&&t.stopImmediatePropagation(),In=!1,!1}),!0);var Qn=function(t){if(cn){t=t.touches?t.touches[0]:t;var e=(o=t.clientX,r=t.clientY,$n.some((function(t){var e=t[en].options.emptyInsertThreshold;if(e&&!Xi(t)){var i=Wi(t),n=o>=i.left-e&&o<=i.right+e,a=r>=i.top-e&&r<=i.bottom+e;return n&&a?s=t:void 0}})),s);if(e){var i={};for(var n in t)t.hasOwnProperty(n)&&(i[n]=t[n]);i.target=i.rootEl=e,i.preventDefault=void 0,i.stopPropagation=void 0,e[en]._onDragOver(i)}}var o,r,s},Jn=function(t){cn&&cn.parentNode[en]._isOutsideThisEl(t.target)};function to(t,e){if(!t||!t.nodeType||1!==t.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(t));this.el=t,this.options=e=wi({},e),t[en]=this;var i={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(t.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Yn(t,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(t,e){t.setData("Text",e.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==to.supportPointer&&"PointerEvent"in window&&!Ai,emptyInsertThreshold:5};for(var n in sn.initializePlugins(this,t,i),i)!(n in e)&&(e[n]=i[n]);for(var o in Vn(e),this)"_"===o.charAt(0)&&"function"==typeof this[o]&&(this[o]=this[o].bind(this));this.nativeDraggable=!e.forceFallback&&Gn,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?Oi(t,"pointerdown",this._onTapStart):(Oi(t,"mousedown",this._onTapStart),Oi(t,"touchstart",this._onTapStart)),this.nativeDraggable&&(Oi(t,"dragover",this),Oi(t,"dragenter",this)),$n.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),wi(this,nn())}function eo(t,e,i,n,o,r,s,a){var l,d,c=t[en],u=c.options.onMove;return!window.CustomEvent||ki||Ei?(l=document.createEvent("Event")).initEvent("move",!0,!0):l=new CustomEvent("move",{bubbles:!0,cancelable:!0}),l.to=e,l.from=t,l.dragged=i,l.draggedRect=n,l.related=o||e,l.relatedRect=r||Wi(e),l.willInsertAfter=a,l.originalEvent=s,t.dispatchEvent(l),u&&(d=u.call(c,l,s)),d}function io(t){t.draggable=!1}function no(){Pn=!1}function oo(t){for(var e=t.tagName+t.className+t.src+t.href+t.textContent,i=e.length,n=0;i--;)n+=e.charCodeAt(i);return n.toString(36)}function ro(t){return setTimeout(t,0)}function so(t){return clearTimeout(t)}to.prototype={constructor:to,_isOutsideThisEl:function(t){this.el.contains(t)||t===this.el||(Mn=null)},_getDirection:function(t,e){return"function"==typeof this.options.direction?this.options.direction.call(this,t,e,cn):this.options.direction},_onTapStart:function(t){if(t.cancelable){var e=this,i=this.el,n=this.options,o=n.preventOnFilter,r=t.type,s=t.touches&&t.touches[0]||t.pointerType&&"touch"===t.pointerType&&t,a=(s||t).target,l=t.target.shadowRoot&&(t.path&&t.path[0]||t.composedPath&&t.composedPath()[0])||a,d=n.filter;if(function(t){Fn.length=0;var e=t.getElementsByTagName("input"),i=e.length;for(;i--;){var n=e[i];n.checked&&Fn.push(n)}}(i),!cn&&!(/mousedown|pointerdown/.test(r)&&0!==t.button||n.disabled)&&!l.isContentEditable&&(this.nativeDraggable||!Ai||!a||"SELECT"!==a.tagName.toUpperCase())&&!((a=Ii(a,n.draggable,i,!1))&&a.animated||fn===a)){if(bn=Yi(a),xn=Yi(a,n.draggable),"function"==typeof d){if(d.call(this,t,a,this))return dn({sortable:e,rootEl:l,name:"filter",targetEl:a,toEl:i,fromEl:i}),ln("filter",e,{evt:t}),void(o&&t.cancelable&&t.preventDefault())}else if(d&&(d=d.split(",").some((function(n){if(n=Ii(l,n.trim(),i,!1))return dn({sortable:e,rootEl:n,name:"filter",targetEl:a,fromEl:i,toEl:i}),ln("filter",e,{evt:t}),!0}))))return void(o&&t.cancelable&&t.preventDefault());n.handle&&!Ii(l,n.handle,i,!1)||this._prepareDragStart(t,s,a)}}},_prepareDragStart:function(t,e,i){var n,o=this,r=o.el,s=o.options,a=r.ownerDocument;if(i&&!cn&&i.parentNode===r){var l=Wi(i);if(hn=r,un=(cn=i).parentNode,vn=cn.nextSibling,fn=i,wn=s.group,to.dragged=cn,Cn={target:cn,clientX:(e||t).clientX,clientY:(e||t).clientY},An=Cn.clientX-l.left,qn=Cn.clientY-l.top,this._lastX=(e||t).clientX,this._lastY=(e||t).clientY,cn.style["will-change"]="all",n=function(){ln("delayEnded",o,{evt:t}),to.eventCanceled?o._onDrop():(o._disableDelayedDragEvents(),!Li&&o.nativeDraggable&&(cn.draggable=!0),o._triggerDragStart(t,e),dn({sortable:o,name:"choose",originalEvent:t}),Hi(cn,s.chosenClass,!0))},s.ignore.split(",").forEach((function(t){Fi(cn,t.trim(),io)})),Oi(a,"dragover",Qn),Oi(a,"mousemove",Qn),Oi(a,"touchmove",Qn),Oi(a,"mouseup",o._onDrop),Oi(a,"touchend",o._onDrop),Oi(a,"touchcancel",o._onDrop),Li&&this.nativeDraggable&&(this.options.touchStartThreshold=4,cn.draggable=!0),ln("delayStart",this,{evt:t}),!s.delay||s.delayOnTouchOnly&&!e||this.nativeDraggable&&(Ei||ki))n();else{if(to.eventCanceled)return void this._onDrop();Oi(a,"mouseup",o._disableDelayedDrag),Oi(a,"touchend",o._disableDelayedDrag),Oi(a,"touchcancel",o._disableDelayedDrag),Oi(a,"mousemove",o._delayedDragTouchMoveHandler),Oi(a,"touchmove",o._delayedDragTouchMoveHandler),s.supportPointer&&Oi(a,"pointermove",o._delayedDragTouchMoveHandler),o._dragStartTimer=setTimeout(n,s.delay)}}},_delayedDragTouchMoveHandler:function(t){var e=t.touches?t.touches[0]:t;Math.max(Math.abs(e.clientX-this._lastX),Math.abs(e.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){cn&&io(cn),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;Ri(t,"mouseup",this._disableDelayedDrag),Ri(t,"touchend",this._disableDelayedDrag),Ri(t,"touchcancel",this._disableDelayedDrag),Ri(t,"mousemove",this._delayedDragTouchMoveHandler),Ri(t,"touchmove",this._delayedDragTouchMoveHandler),Ri(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,e){e=e||"touch"==t.pointerType&&t,!this.nativeDraggable||e?this.options.supportPointer?Oi(document,"pointermove",this._onTouchMove):Oi(document,e?"touchmove":"mousemove",this._onTouchMove):(Oi(cn,"dragend",this),Oi(hn,"dragstart",this._onDragStart));try{document.selection?ro((function(){document.selection.empty()})):window.getSelection().removeAllRanges()}catch(t){}},_dragStarted:function(t,e){if(Bn=!1,hn&&cn){ln("dragStarted",this,{evt:e}),this.nativeDraggable&&Oi(document,"dragover",Jn);var i=this.options;!t&&Hi(cn,i.dragClass,!1),Hi(cn,i.ghostClass,!0),to.active=this,t&&this._appendGhost(),dn({sortable:this,name:"start",originalEvent:e})}else this._nulling()},_emulateDragOver:function(){if(kn){this._lastX=kn.clientX,this._lastY=kn.clientY,Kn();for(var t=document.elementFromPoint(kn.clientX,kn.clientY),e=t;t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint(kn.clientX,kn.clientY))!==e;)e=t;if(cn.parentNode[en]._isOutsideThisEl(t),e)do{if(e[en]){if(e[en]._onDragOver({clientX:kn.clientX,clientY:kn.clientY,target:t,rootEl:e})&&!this.options.dragoverBubble)break}t=e}while(e=e.parentNode);Zn()}},_onTouchMove:function(t){if(Cn){var e=this.options,i=e.fallbackTolerance,n=e.fallbackOffset,o=t.touches?t.touches[0]:t,r=pn&&Pi(pn,!0),s=pn&&r&&r.a,a=pn&&r&&r.d,l=Wn&&Nn&&Vi(Nn),d=(o.clientX-Cn.clientX+n.x)/(s||1)+(l?l[0]-zn[0]:0)/(s||1),c=(o.clientY-Cn.clientY+n.y)/(a||1)+(l?l[1]-zn[1]:0)/(a||1);if(!to.active&&!Bn){if(i&&Math.max(Math.abs(o.clientX-this._lastX),Math.abs(o.clientY-this._lastY))<i)return;this._onDragStart(t,!0)}if(pn){r?(r.e+=d-(En||0),r.f+=c-(Ln||0)):r={a:1,b:0,c:0,d:1,e:d,f:c};var u="matrix(".concat(r.a,",").concat(r.b,",").concat(r.c,",").concat(r.d,",").concat(r.e,",").concat(r.f,")");zi(pn,"webkitTransform",u),zi(pn,"mozTransform",u),zi(pn,"msTransform",u),zi(pn,"transform",u),En=d,Ln=c,kn=o}t.cancelable&&t.preventDefault()}},_appendGhost:function(){if(!pn){var t=this.options.fallbackOnBody?document.body:hn,e=Wi(cn,!0,Wn,!0,t),i=this.options;if(Wn){for(Nn=t;"static"===zi(Nn,"position")&&"none"===zi(Nn,"transform")&&Nn!==document;)Nn=Nn.parentNode;Nn!==document.body&&Nn!==document.documentElement?(Nn===document&&(Nn=Ui()),e.top+=Nn.scrollTop,e.left+=Nn.scrollLeft):Nn=Ui(),zn=Vi(Nn)}Hi(pn=cn.cloneNode(!0),i.ghostClass,!1),Hi(pn,i.fallbackClass,!0),Hi(pn,i.dragClass,!0),zi(pn,"transition",""),zi(pn,"transform",""),zi(pn,"box-sizing","border-box"),zi(pn,"margin",0),zi(pn,"top",e.top),zi(pn,"left",e.left),zi(pn,"width",e.width),zi(pn,"height",e.height),zi(pn,"opacity","0.8"),zi(pn,"position",Wn?"absolute":"fixed"),zi(pn,"zIndex","100000"),zi(pn,"pointerEvents","none"),to.ghost=pn,t.appendChild(pn),zi(pn,"transform-origin",An/parseInt(pn.style.width)*100+"% "+qn/parseInt(pn.style.height)*100+"%")}},_onDragStart:function(t,e){var i=this,n=t.dataTransfer,o=i.options;ln("dragStart",this,{evt:t}),to.eventCanceled?this._onDrop():(ln("setupClone",this),to.eventCanceled||((gn=tn(cn)).draggable=!1,gn.style["will-change"]="",this._hideClone(),Hi(gn,this.options.chosenClass,!1),to.clone=gn),i.cloneId=ro((function(){ln("clone",i),to.eventCanceled||(i.options.removeCloneOnHide||hn.insertBefore(gn,cn),i._hideClone(),dn({sortable:i,name:"clone"}))})),!e&&Hi(cn,o.dragClass,!0),e?(In=!0,i._loopId=setInterval(i._emulateDragOver,50)):(Ri(document,"mouseup",i._onDrop),Ri(document,"touchend",i._onDrop),Ri(document,"touchcancel",i._onDrop),n&&(n.effectAllowed="move",o.setData&&o.setData.call(i,n,cn)),Oi(document,"drop",i),zi(cn,"transform","translateZ(0)")),Bn=!0,i._dragStartId=ro(i._dragStarted.bind(i,e,t)),Oi(document,"selectstart",i),Tn=!0,Ai&&zi(document.body,"user-select","none"))},_onDragOver:function(t){var e,i,n,o,r=this.el,s=t.target,a=this.options,l=a.group,d=to.active,c=wn===l,u=a.sort,p=Sn||d,h=this,v=!1;if(!Pn){if(void 0!==t.preventDefault&&t.cancelable&&t.preventDefault(),s=Ii(s,a.draggable,r,!0),q("dragOver"),to.eventCanceled)return v;if(cn.contains(t.target)||s.animated&&s.animatingX&&s.animatingY||h._ignoreWhileAnimating===s)return M(!1);if(In=!1,d&&!a.disabled&&(c?u||(n=un!==hn):Sn===this||(this.lastPutMode=wn.checkPull(this,d,cn,t))&&l.checkPut(this,d,cn,t))){if(o="vertical"===this._getDirection(t,s),e=Wi(cn),q("dragOverValid"),to.eventCanceled)return v;if(n)return un=hn,T(),this._hideClone(),q("revert"),to.eventCanceled||(vn?hn.insertBefore(cn,vn):hn.appendChild(cn)),M(!0);var f=Xi(r,a.draggable);if(!f||function(t,e,i){var n=Wi(Xi(i.el,i.options.draggable)),o=10;return e?t.clientX>n.right+o||t.clientX<=n.right&&t.clientY>n.bottom&&t.clientX>=n.left:t.clientX>n.right&&t.clientY>n.top||t.clientX<=n.right&&t.clientY>n.bottom+o}(t,o,this)&&!f.animated){if(f===cn)return M(!1);if(f&&r===t.target&&(s=f),s&&(i=Wi(s)),!1!==eo(hn,r,cn,e,s,i,t,!!s))return T(),r.appendChild(cn),un=r,O(),M(!0)}else if(f&&function(t,e,i){var n=Wi(Gi(i.el,0,i.options,!0)),o=10;return e?t.clientX<n.left-o||t.clientY<n.top&&t.clientX<n.right:t.clientY<n.top-o||t.clientY<n.bottom&&t.clientX<n.left}(t,o,this)){var g=Gi(r,0,a,!0);if(g===cn)return M(!1);if(i=Wi(s=g),!1!==eo(hn,r,cn,e,s,i,t,!1))return T(),r.insertBefore(cn,g),un=r,O(),M(!0)}else if(s.parentNode===r){i=Wi(s);var m,b,y,x=cn.parentNode!==r,_=!function(t,e,i){var n=i?t.left:t.top,o=i?t.right:t.bottom,r=i?t.width:t.height,s=i?e.left:e.top,a=i?e.right:e.bottom,l=i?e.width:e.height;return n===s||o===a||n+r/2===s+l/2}(cn.animated&&cn.toRect||e,s.animated&&s.toRect||i,o),w=o?"top":"left",S=ji(s,"top","top")||ji(cn,"top","top"),C=S?S.scrollTop:void 0;if(Mn!==s&&(b=i[w],Dn=!1,Hn=!_&&a.invertSwap||x),0!==(m=function(t,e,i,n,o,r,s,a){var l=n?t.clientY:t.clientX,d=n?i.height:i.width,c=n?i.top:i.left,u=n?i.bottom:i.right,p=!1;if(!s)if(a&&Rn<d*o){if(!Dn&&(1===On?l>c+d*r/2:l<u-d*r/2)&&(Dn=!0),Dn)p=!0;else if(1===On?l<c+Rn:l>u-Rn)return-On}else if(l>c+d*(1-o)/2&&l<u-d*(1-o)/2)return function(t){return Yi(cn)<Yi(t)?1:-1}(e);if((p=p||s)&&(l<c+d*r/2||l>u-d*r/2))return l>c+d/2?1:-1;return 0}(t,s,i,o,_?1:a.swapThreshold,null==a.invertedSwapThreshold?a.swapThreshold:a.invertedSwapThreshold,Hn,Mn===s))){var k=Yi(cn);do{k-=m,y=un.children[k]}while(y&&("none"===zi(y,"display")||y===pn))}if(0===m||y===s)return M(!1);Mn=s,On=m;var E=s.nextElementSibling,L=!1,A=eo(hn,r,cn,e,s,i,t,L=1===m);if(!1!==A)return 1!==A&&-1!==A||(L=1===A),Pn=!0,setTimeout(no,30),T(),L&&!E?r.appendChild(cn):s.parentNode.insertBefore(cn,L?E:s),S&&Ji(S,0,C-S.scrollTop),un=cn.parentNode,void 0===b||Hn||(Rn=Math.abs(b-Wi(s)[w])),O(),M(!0)}if(r.contains(cn))return M(!1)}return!1}function q(a,l){ln(a,h,yi({evt:t,isOwner:c,axis:o?"vertical":"horizontal",revert:n,dragRect:e,targetRect:i,canSort:u,fromSortable:p,target:s,completed:M,onMove:function(i,n){return eo(hn,r,cn,e,i,Wi(i),t,n)},changed:O},l))}function T(){q("dragOverAnimationCapture"),h.captureAnimationState(),h!==p&&p.captureAnimationState()}function M(e){return q("dragOverCompleted",{insertion:e}),e&&(c?d._hideClone():d._showClone(h),h!==p&&(Hi(cn,Sn?Sn.options.ghostClass:d.options.ghostClass,!1),Hi(cn,a.ghostClass,!0)),Sn!==h&&h!==to.active?Sn=h:h===to.active&&Sn&&(Sn=null),p===h&&(h._ignoreWhileAnimating=s),h.animateAll((function(){q("dragOverAnimationComplete"),h._ignoreWhileAnimating=null})),h!==p&&(p.animateAll(),p._ignoreWhileAnimating=null)),(s===cn&&!cn.animated||s===r&&!s.animated)&&(Mn=null),a.dragoverBubble||t.rootEl||s===document||(cn.parentNode[en]._isOutsideThisEl(t.target),!e&&Qn(t)),!a.dragoverBubble&&t.stopPropagation&&t.stopPropagation(),v=!0}function O(){yn=Yi(cn),_n=Yi(cn,a.draggable),dn({sortable:h,name:"change",toEl:r,newIndex:yn,newDraggableIndex:_n,originalEvent:t})}},_ignoreWhileAnimating:null,_offMoveEvents:function(){Ri(document,"mousemove",this._onTouchMove),Ri(document,"touchmove",this._onTouchMove),Ri(document,"pointermove",this._onTouchMove),Ri(document,"dragover",Qn),Ri(document,"mousemove",Qn),Ri(document,"touchmove",Qn)},_offUpEvents:function(){var t=this.el.ownerDocument;Ri(t,"mouseup",this._onDrop),Ri(t,"touchend",this._onDrop),Ri(t,"pointerup",this._onDrop),Ri(t,"touchcancel",this._onDrop),Ri(document,"selectstart",this)},_onDrop:function(t){var e=this.el,i=this.options;yn=Yi(cn),_n=Yi(cn,i.draggable),ln("drop",this,{evt:t}),un=cn&&cn.parentNode,yn=Yi(cn),_n=Yi(cn,i.draggable),to.eventCanceled||(Bn=!1,Hn=!1,Dn=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),so(this.cloneId),so(this._dragStartId),this.nativeDraggable&&(Ri(document,"drop",this),Ri(e,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),Ai&&zi(document.body,"user-select",""),zi(cn,"transform",""),t&&(Tn&&(t.cancelable&&t.preventDefault(),!i.dropBubble&&t.stopPropagation()),pn&&pn.parentNode&&pn.parentNode.removeChild(pn),(hn===un||Sn&&"clone"!==Sn.lastPutMode)&&gn&&gn.parentNode&&gn.parentNode.removeChild(gn),cn&&(this.nativeDraggable&&Ri(cn,"dragend",this),io(cn),cn.style["will-change"]="",Tn&&!Bn&&Hi(cn,Sn?Sn.options.ghostClass:this.options.ghostClass,!1),Hi(cn,this.options.chosenClass,!1),dn({sortable:this,name:"unchoose",toEl:un,newIndex:null,newDraggableIndex:null,originalEvent:t}),hn!==un?(yn>=0&&(dn({rootEl:un,name:"add",toEl:un,fromEl:hn,originalEvent:t}),dn({sortable:this,name:"remove",toEl:un,originalEvent:t}),dn({rootEl:un,name:"sort",toEl:un,fromEl:hn,originalEvent:t}),dn({sortable:this,name:"sort",toEl:un,originalEvent:t})),Sn&&Sn.save()):yn!==bn&&yn>=0&&(dn({sortable:this,name:"update",toEl:un,originalEvent:t}),dn({sortable:this,name:"sort",toEl:un,originalEvent:t})),to.active&&(null!=yn&&-1!==yn||(yn=bn,_n=xn),dn({sortable:this,name:"end",toEl:un,originalEvent:t}),this.save())))),this._nulling()},_nulling:function(){ln("nulling",this),hn=cn=un=pn=vn=gn=fn=mn=Cn=kn=Tn=yn=_n=bn=xn=Mn=On=Sn=wn=to.dragged=to.ghost=to.clone=to.active=null,Fn.forEach((function(t){t.checked=!0})),Fn.length=En=Ln=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":cn&&(this._onDragOver(t),function(t){t.dataTransfer&&(t.dataTransfer.dropEffect="move");t.cancelable&&t.preventDefault()}(t));break;case"selectstart":t.preventDefault()}},toArray:function(){for(var t,e=[],i=this.el.children,n=0,o=i.length,r=this.options;n<o;n++)Ii(t=i[n],r.draggable,this.el,!1)&&e.push(t.getAttribute(r.dataIdAttr)||oo(t));return e},sort:function(t,e){var i={},n=this.el;this.toArray().forEach((function(t,e){var o=n.children[e];Ii(o,this.options.draggable,n,!1)&&(i[t]=o)}),this),e&&this.captureAnimationState(),t.forEach((function(t){i[t]&&(n.removeChild(i[t]),n.appendChild(i[t]))})),e&&this.animateAll()},save:function(){var t=this.options.store;t&&t.set&&t.set(this)},closest:function(t,e){return Ii(t,e||this.options.draggable,this.el,!1)},option:function(t,e){var i=this.options;if(void 0===e)return i[t];var n=sn.modifyOption(this,t,e);i[t]=void 0!==n?n:e,"group"===t&&Vn(i)},destroy:function(){ln("destroy",this);var t=this.el;t[en]=null,Ri(t,"mousedown",this._onTapStart),Ri(t,"touchstart",this._onTapStart),Ri(t,"pointerdown",this._onTapStart),this.nativeDraggable&&(Ri(t,"dragover",this),Ri(t,"dragenter",this)),Array.prototype.forEach.call(t.querySelectorAll("[draggable]"),(function(t){t.removeAttribute("draggable")})),this._onDrop(),this._disableDelayedDragEvents(),$n.splice($n.indexOf(this.el),1),this.el=t=null},_hideClone:function(){if(!mn){if(ln("hideClone",this),to.eventCanceled)return;zi(gn,"display","none"),this.options.removeCloneOnHide&&gn.parentNode&&gn.parentNode.removeChild(gn),mn=!0}},_showClone:function(t){if("clone"===t.lastPutMode){if(mn){if(ln("showClone",this),to.eventCanceled)return;cn.parentNode!=hn||this.options.group.revertClone?vn?hn.insertBefore(gn,vn):hn.appendChild(gn):hn.insertBefore(gn,cn),this.options.group.revertClone&&this.animate(cn,gn),zi(gn,"display",""),mn=!1}}else this._hideClone()}},Un&&Oi(document,"touchmove",(function(t){(to.active||Bn)&&t.cancelable&&t.preventDefault()})),to.utils={on:Oi,off:Ri,css:zi,find:Fi,is:function(t,e){return!!Ii(t,e,t,!1)},extend:function(t,e){if(t&&e)for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t},throttle:Qi,closest:Ii,toggleClass:Hi,clone:tn,index:Yi,nextTick:ro,cancelNextTick:so,detectDirection:Yn,getChild:Gi},to.get=function(t){return t[en]},to.mount=function(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];e[0].constructor===Array&&(e=e[0]),e.forEach((function(t){if(!t.prototype||!t.prototype.constructor)throw"Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(t));t.utils&&(to.utils=yi(yi({},to.utils),t.utils)),sn.mount(t)}))},to.create=function(t,e){return new to(t,e)},to.version="1.14.0";var ao,lo,co,uo,po,ho,vo=[],fo=!1;function go(){vo.forEach((function(t){clearInterval(t.pid)})),vo=[]}function mo(){clearInterval(ho)}var bo=Qi((function(t,e,i,n){if(e.scroll){var o,r=(t.touches?t.touches[0]:t).clientX,s=(t.touches?t.touches[0]:t).clientY,a=e.scrollSensitivity,l=e.scrollSpeed,d=Ui(),c=!1;lo!==i&&(lo=i,go(),ao=e.scroll,o=e.scrollFn,!0===ao&&(ao=Ki(i,!0)));var u=0,p=ao;do{var h=p,v=Wi(h),f=v.top,g=v.bottom,m=v.left,b=v.right,y=v.width,x=v.height,_=void 0,w=void 0,S=h.scrollWidth,C=h.scrollHeight,k=zi(h),E=h.scrollLeft,L=h.scrollTop;h===d?(_=y<S&&("auto"===k.overflowX||"scroll"===k.overflowX||"visible"===k.overflowX),w=x<C&&("auto"===k.overflowY||"scroll"===k.overflowY||"visible"===k.overflowY)):(_=y<S&&("auto"===k.overflowX||"scroll"===k.overflowX),w=x<C&&("auto"===k.overflowY||"scroll"===k.overflowY));var A=_&&(Math.abs(b-r)<=a&&E+y<S)-(Math.abs(m-r)<=a&&!!E),q=w&&(Math.abs(g-s)<=a&&L+x<C)-(Math.abs(f-s)<=a&&!!L);if(!vo[u])for(var T=0;T<=u;T++)vo[T]||(vo[T]={});vo[u].vx==A&&vo[u].vy==q&&vo[u].el===h||(vo[u].el=h,vo[u].vx=A,vo[u].vy=q,clearInterval(vo[u].pid),0==A&&0==q||(c=!0,vo[u].pid=setInterval(function(){n&&0===this.layer&&to.active._onTouchMove(po);var e=vo[this.layer].vy?vo[this.layer].vy*l:0,i=vo[this.layer].vx?vo[this.layer].vx*l:0;"function"==typeof o&&"continue"!==o.call(to.dragged.parentNode[en],i,e,t,po,vo[this.layer].el)||Ji(vo[this.layer].el,i,e)}.bind({layer:u}),24))),u++}while(e.bubbleScroll&&p!==d&&(p=Ki(p,!1)));fo=c}}),30),yo=function(t){var e=t.originalEvent,i=t.putSortable,n=t.dragEl,o=t.activeSortable,r=t.dispatchSortableEvent,s=t.hideGhostForTarget,a=t.unhideGhostForTarget;if(e){var l=i||o;s();var d=e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:e,c=document.elementFromPoint(d.clientX,d.clientY);a(),l&&!l.el.contains(c)&&(r("spill"),this.onSpill({dragEl:n,putSortable:i}))}};function xo(){}function _o(){}xo.prototype={startIndex:null,dragStart:function(t){var e=t.oldDraggableIndex;this.startIndex=e},onSpill:function(t){var e=t.dragEl,i=t.putSortable;this.sortable.captureAnimationState(),i&&i.captureAnimationState();var n=Gi(this.sortable.el,this.startIndex,this.options);n?this.sortable.el.insertBefore(e,n):this.sortable.el.appendChild(e),this.sortable.animateAll(),i&&i.animateAll()},drop:yo},wi(xo,{pluginName:"revertOnSpill"}),_o.prototype={onSpill:function(t){var e=t.dragEl,i=t.putSortable||this.sortable;i.captureAnimationState(),e.parentNode&&e.parentNode.removeChild(e),i.animateAll()},drop:yo},wi(_o,{pluginName:"removeOnSpill"}),to.mount(new function(){function t(){for(var t in this.defaults={scroll:!0,forceAutoScrollFallback:!1,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0},this)"_"===t.charAt(0)&&"function"==typeof this[t]&&(this[t]=this[t].bind(this))}return t.prototype={dragStarted:function(t){var e=t.originalEvent;this.sortable.nativeDraggable?Oi(document,"dragover",this._handleAutoScroll):this.options.supportPointer?Oi(document,"pointermove",this._handleFallbackAutoScroll):e.touches?Oi(document,"touchmove",this._handleFallbackAutoScroll):Oi(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(t){var e=t.originalEvent;this.options.dragOverBubble||e.rootEl||this._handleAutoScroll(e)},drop:function(){this.sortable.nativeDraggable?Ri(document,"dragover",this._handleAutoScroll):(Ri(document,"pointermove",this._handleFallbackAutoScroll),Ri(document,"touchmove",this._handleFallbackAutoScroll),Ri(document,"mousemove",this._handleFallbackAutoScroll)),mo(),go(),clearTimeout($i),$i=void 0},nulling:function(){po=lo=ao=fo=ho=co=uo=null,vo.length=0},_handleFallbackAutoScroll:function(t){this._handleAutoScroll(t,!0)},_handleAutoScroll:function(t,e){var i=this,n=(t.touches?t.touches[0]:t).clientX,o=(t.touches?t.touches[0]:t).clientY,r=document.elementFromPoint(n,o);if(po=t,e||this.options.forceAutoScrollFallback||Ei||ki||Ai){bo(t,this.options,r,e);var s=Ki(r,!0);!fo||ho&&n===co&&o===uo||(ho&&mo(),ho=setInterval((function(){var r=Ki(document.elementFromPoint(n,o),!0);r!==s&&(s=r,go()),bo(t,i.options,r,e)}),10),co=n,uo=o)}else{if(!this.options.bubbleScroll||Ki(r,!0)===Ui())return void go();bo(t,this.options,Ki(r,!1),!1)}}},wi(t,{pluginName:"scroll",initializeByDefault:!0})}),to.mount(_o,xo);const wo=new e,So=e=>{const i=new t(e),n=i.builderStuff();let o="",r=e.opts.sidePanel;if("#divSnippetList"===e.opts.snippetList){const t=`<div id="divSnippetList" class="is-side ${"right"===r?"":" fromleft"} snippetlist scroll-darker">\n </div>`;wo.appendHtml(n,t),e.opts.snippetHandle||(o="display:none;")}else o="display:none;",r="left";let s="",a="",l="";if(e.opts.emailMode){a=e.opts.defaultEmailSnippetCategory;for(let t=0;t<e.opts.emailSnippetCategories.length;t++)l+='<div role="button" tabindex="0" data-value="'+e.opts.emailSnippetCategories[t][0]+'">'+e.opts.emailSnippetCategories[t][1]+"</div>",e.opts.emailSnippetCategories[t][0]===e.opts.defaultEmailSnippetCategory&&(s=e.opts.emailSnippetCategories[t][1])}else{a=e.opts.defaultSnippetCategory;for(let t=0;t<e.opts.snippetCategories.length;t++)l+='<div role="button" tabindex="0" data-value="'+e.opts.snippetCategories[t][0]+'">'+e.opts.snippetCategories[t][1]+"</div>",e.opts.snippetCategories[t][0]===e.opts.defaultSnippetCategory&&(s=e.opts.snippetCategories[t][1])}let d='<div style="position:absolute;top:0;right:0;padding: 0;width:100%;z-index:2;"><div class="is-selectbox snippet-cat" role="button" tabindex="0" data-group="snippet-cat" data-value="'+a+'"><span>'+s+'</span><svg class="is-icon-flex" style="position:absolute;top:13px;right:10px;"><use xlink:href="#ion-android-arrow-dropdown"></use></svg></div><div class="is-selectbox-options" data-group="snippet-cat">'+l+"</div></div>"+("right"===r?'<div id="divSnippetScrollUp" role="button" tabindex="0" style="top:calc(50% - 27px);right:25px;">▲</div><div id="divSnippetScrollDown" role="button" tabindex="0" style="top:calc(50% + 27px);right:25px;">▼</div><div id="divSnippetHandle" role="button" tabindex="0" title="'+i.out("Snippets")+'" data-title="'+i.out("Snippets")+'" style="'+o+'"><svg class="is-icon-flex"><use xlink:href="#ion-ios-arrow-left"></use></svg></div>':'<div id="divSnippetScrollUp" role="button" tabindex="0" style="top:calc(50% - 27px);left:10px;">▲</div><div id="divSnippetScrollDown" role="button" tabindex="0" style="top:calc(50% + 27px);left:10px;">▼</div><div id="divSnippetHandle" role="button" tabindex="0" title="'+i.out("Snippets")+'" data-title="'+i.out("Snippets")+'" style="'+o+'"><svg class="is-icon-flex"><use xlink:href="#ion-ios-arrow-right"></use></svg></div>')+'<div class="is-design-list"></div>',c=document.querySelector(e.opts.snippetList);wo.appendHtml(c,d),"#divSnippetList"===e.opts.snippetList&&document.addEventListener("click",(t=>{var i=(t=t||window.event).target||t.srcElement;if("auto"===e.opts.snippetsSidebarDisplay&&wo.hasClass(c,"active")){wo.parentsHasClass(i,"is-builder")&&function(t){let e=document.querySelector("#divSnippetList");const i=e.querySelector("#divSnippetHandle");wo.removeClass(e,"active"),"right"===t.opts.sidePanel?i.innerHTML='<svg class="is-icon-flex" style="width:17px;height:17px;"><use xlink:href="#ion-ios-arrow-left"></use></svg>':i.innerHTML='<svg class="is-icon-flex" style="width:17px;height:17px;"><use xlink:href="#ion-ios-arrow-right"></use></svg>'}
|
|
8
|
+
/*!
|
|
9
|
+
* Cropper.js v1.5.12
|
|
10
|
+
* https://fengyuanchen.github.io/cropperjs
|
|
11
|
+
*
|
|
12
|
+
* Copyright 2015-present Chen Fengyuan
|
|
13
|
+
* Released under the MIT license
|
|
14
|
+
*
|
|
15
|
+
* Date: 2021-06-12T08:00:17.411Z
|
|
16
|
+
*/(e)}}),!1);const u=document.querySelector(".is-design-list");let p=e.opts.snippetPath;var h=!0;if(window.jQuery&&window.jQuery.fn.slick&&(h=!1),h)for(let t=0;t<e.opts.snippetJSON.snippets.length;t++)if(-1!==e.opts.snippetJSON.snippets[t].thumbnail.indexOf("element-slider.png")){e.opts.snippetJSON.snippets.splice(t,1);break}let v=1;e.opts.emailMode?e.opts.snippetJSON.snippets.forEach((t=>{t.id=v,t.category===e.opts.defaultEmailSnippetCategory+""&&wo.appendHtml(u,'<div class="snippet-item" data-id="'+t.id+'" data-cat="'+t.category+'"><img alt="'+i.out("Snippet")+'" src="'+p+t.thumbnail+'"><span class="is-overlay"></span></div>'),v++})):e.opts.snippetJSON.snippets.forEach((t=>{t.id=v,t.category===e.opts.defaultSnippetCategory+""&&wo.appendHtml(u,'<div class="snippet-item" data-id="'+t.id+'" data-cat="'+t.category+'"><img alt="'+i.out("Snippet")+'" src="'+p+t.thumbnail+'"><span class="is-overlay"></span></div>'),v++}));let f;if(new to(u,{forceFallback:!1,group:{name:"shared",pull:"clone",put:!1},sort:!1,animation:150,onMove:()=>{let t=document.querySelector(".row-add-initial");t&&(t.style.display="none")},onStart:()=>{f=null;const t=document.querySelector(".builder-active");t&&(f=t,wo.removeClass(f,"builder-active")),e.uo.saveForUndo();let i=document.querySelector(".is-sidebar-overlay");i&&(i.style.display="none")},onEnd:()=>{let t=document.querySelector(".is-sidebar-overlay");t&&(t.style.display="block"),i.checkEmpty();let e=document.querySelector(".row-add-initial");e&&(e.style.display=""),f&&wo.addClass(f,"builder-active")}}),new mi(document.querySelector(".snippet-cat"),{onChange:t=>{let n=t,o=u.querySelectorAll(".snippet-item"),r=!1;Array.prototype.forEach.call(o,(t=>{t.getAttribute("data-cat")===n&&(r=!0)})),r||e.opts.snippetJSON.snippets.forEach((t=>{t.category===n&&wo.appendHtml(u,'<div class="snippet-item" data-id="'+t.id+'" data-cat="'+t.category+'"><img alt="'+i.out("Snippet")+'" alt="" src="'+p+t.thumbnail+'"><span class="is-overlay"></span></div>')})),n&&(Array.prototype.forEach.call(o,(t=>{wo.addClass(t,"hide")})),Array.prototype.forEach.call(o,(t=>{t.getAttribute("data-cat")===n&&(t.className=t.className.replace(/hide/g,""))})))}}),"#divSnippetList"===e.opts.snippetList){const t=c.querySelector("#divSnippetHandle");wo.addEventListener(t,"click",(()=>{Co(e),i.clearActiveCell(),i.clearControls()}));const n=window.innerWidth;e.opts.snippetOpen&&n>=960&&(c.style.cssText="transition: all ease 0.8s;",setTimeout((function(){Co(e)}),100),setTimeout((function(){c.style.cssText=""}),1300))}let g=c.querySelector("#divSnippetScrollUp"),m=c.querySelector("#divSnippetScrollDown");g.style.display="none",m.style.display="none"};function Co(t){let e=document.querySelector("#divSnippetList");const i=e.querySelector("#divSnippetHandle");wo.hasClass(e,"active")?(wo.removeClass(e,"active"),"right"===t.opts.sidePanel?i.innerHTML='<svg class="is-icon-flex" style="width:17px;height:17px;"><use xlink:href="#ion-ios-arrow-left"></use></svg>':i.innerHTML='<svg class="is-icon-flex" style="width:17px;height:17px;"><use xlink:href="#ion-ios-arrow-right"></use></svg>'):(wo.addClass(e,"active"),"right"===t.opts.sidePanel?i.innerHTML='<svg class="is-icon-flex" style="width:17px;height:17px;"><use xlink:href="#ion-ios-arrow-right"></use></svg>':i.innerHTML='<svg class="is-icon-flex" style="width:17px;height:17px;"><use xlink:href="#ion-ios-arrow-left"></use></svg>')}function ko(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}function Eo(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?ko(Object(i),!0).forEach((function(e){To(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):ko(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}function Lo(t){return(Lo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Ao(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function qo(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function To(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function Mo(t){return function(t){if(Array.isArray(t))return Oo(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return Oo(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);"Object"===i&&t.constructor&&(i=t.constructor.name);if("Map"===i||"Set"===i)return Array.from(t);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return Oo(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Oo(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}var Ro="undefined"!=typeof window&&void 0!==window.document,No=Ro?window:{},Bo=!(!Ro||!No.document.documentElement)&&"ontouchstart"in No.document.documentElement,Io=!!Ro&&"PointerEvent"in No,$o="cropper",Do="all",Ho="crop",zo="move",Po="zoom",Fo="e",Uo="w",Wo="s",jo="n",Go="ne",Xo="nw",Yo="se",Vo="sw",Ko="".concat($o,"-crop"),Zo="".concat($o,"-disabled"),Qo="".concat($o,"-hidden"),Jo="".concat($o,"-hide"),tr="".concat($o,"-invisible"),er="".concat($o,"-modal"),ir="".concat($o,"-move"),nr="".concat($o,"Action"),or="".concat($o,"Preview"),rr="crop",sr="move",ar="none",lr="crop",dr="cropend",cr="cropmove",ur="cropstart",pr="dblclick",hr=Io?"pointerdown":Bo?"touchstart":"mousedown",vr=Io?"pointermove":Bo?"touchmove":"mousemove",fr=Io?"pointerup pointercancel":Bo?"touchend touchcancel":"mouseup",gr="ready",mr="resize",br="wheel",yr="zoom",xr="image/jpeg",_r=/^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/,wr=/^data:/,Sr=/^data:image\/jpeg;base64,/,Cr=/^img|canvas$/i,kr={viewMode:0,dragMode:rr,initialAspectRatio:NaN,aspectRatio:NaN,data:null,preview:"",responsive:!0,restore:!0,checkCrossOrigin:!0,checkOrientation:!0,modal:!0,guides:!0,center:!0,highlight:!0,background:!0,autoCrop:!0,autoCropArea:.8,movable:!0,rotatable:!0,scalable:!0,zoomable:!0,zoomOnTouch:!0,zoomOnWheel:!0,wheelZoomRatio:.1,cropBoxMovable:!0,cropBoxResizable:!0,toggleDragModeOnDblclick:!0,minCanvasWidth:0,minCanvasHeight:0,minCropBoxWidth:0,minCropBoxHeight:0,minContainerWidth:200,minContainerHeight:100,ready:null,cropstart:null,cropmove:null,cropend:null,crop:null,zoom:null},Er=Number.isNaN||No.isNaN;function Lr(t){return"number"==typeof t&&!Er(t)}var Ar=function(t){return t>0&&t<1/0};function qr(t){return void 0===t}function Tr(t){return"object"===Lo(t)&&null!==t}var Mr=Object.prototype.hasOwnProperty;function Or(t){if(!Tr(t))return!1;try{var e=t.constructor,i=e.prototype;return e&&i&&Mr.call(i,"isPrototypeOf")}catch(t){return!1}}function Rr(t){return"function"==typeof t}var Nr=Array.prototype.slice;function Br(t){return Array.from?Array.from(t):Nr.call(t)}function Ir(t,e){return t&&Rr(e)&&(Array.isArray(t)||Lr(t.length)?Br(t).forEach((function(i,n){e.call(t,i,n,t)})):Tr(t)&&Object.keys(t).forEach((function(i){e.call(t,t[i],i,t)}))),t}var $r=Object.assign||function(t){for(var e=arguments.length,i=new Array(e>1?e-1:0),n=1;n<e;n++)i[n-1]=arguments[n];return Tr(t)&&i.length>0&&i.forEach((function(e){Tr(e)&&Object.keys(e).forEach((function(i){t[i]=e[i]}))})),t},Dr=/\.\d*(?:0|9){12}\d*$/;function Hr(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e11;return Dr.test(t)?Math.round(t*e)/e:t}var zr=/^width|height|left|top|marginLeft|marginTop$/;function Pr(t,e){var i=t.style;Ir(e,(function(t,e){zr.test(e)&&Lr(t)&&(t="".concat(t,"px")),i[e]=t}))}function Fr(t,e){if(e)if(Lr(t.length))Ir(t,(function(t){Fr(t,e)}));else if(t.classList)t.classList.add(e);else{var i=t.className.trim();i?i.indexOf(e)<0&&(t.className="".concat(i," ").concat(e)):t.className=e}}function Ur(t,e){e&&(Lr(t.length)?Ir(t,(function(t){Ur(t,e)})):t.classList?t.classList.remove(e):t.className.indexOf(e)>=0&&(t.className=t.className.replace(e,"")))}function Wr(t,e,i){e&&(Lr(t.length)?Ir(t,(function(t){Wr(t,e,i)})):i?Fr(t,e):Ur(t,e))}var jr=/([a-z\d])([A-Z])/g;function Gr(t){return t.replace(jr,"$1-$2").toLowerCase()}function Xr(t,e){return Tr(t[e])?t[e]:t.dataset?t.dataset[e]:t.getAttribute("data-".concat(Gr(e)))}function Yr(t,e,i){Tr(i)?t[e]=i:t.dataset?t.dataset[e]=i:t.setAttribute("data-".concat(Gr(e)),i)}var Vr=/\s\s*/,Kr=function(){var t=!1;if(Ro){var e=!1,i=function(){},n=Object.defineProperty({},"once",{get:function(){return t=!0,e},set:function(t){e=t}});No.addEventListener("test",i,n),No.removeEventListener("test",i,n)}return t}();function Zr(t,e,i){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=i;e.trim().split(Vr).forEach((function(e){if(!Kr){var r=t.listeners;r&&r[e]&&r[e][i]&&(o=r[e][i],delete r[e][i],0===Object.keys(r[e]).length&&delete r[e],0===Object.keys(r).length&&delete t.listeners)}t.removeEventListener(e,o,n)}))}function Qr(t,e,i){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=i;e.trim().split(Vr).forEach((function(e){if(n.once&&!Kr){var r=t.listeners,s=void 0===r?{}:r;o=function(){delete s[e][i],t.removeEventListener(e,o,n);for(var r=arguments.length,a=new Array(r),l=0;l<r;l++)a[l]=arguments[l];i.apply(t,a)},s[e]||(s[e]={}),s[e][i]&&t.removeEventListener(e,s[e][i],n),s[e][i]=o,t.listeners=s}t.addEventListener(e,o,n)}))}function Jr(t,e,i){var n;return Rr(Event)&&Rr(CustomEvent)?n=new CustomEvent(e,{detail:i,bubbles:!0,cancelable:!0}):(n=document.createEvent("CustomEvent")).initCustomEvent(e,!0,!0,i),t.dispatchEvent(n)}function ts(t){var e=t.getBoundingClientRect();return{left:e.left+(window.pageXOffset-document.documentElement.clientLeft),top:e.top+(window.pageYOffset-document.documentElement.clientTop)}}var es=No.location,is=/^(\w+:)\/\/([^:/?#]*):?(\d*)/i;function ns(t){var e=t.match(is);return null!==e&&(e[1]!==es.protocol||e[2]!==es.hostname||e[3]!==es.port)}function os(t){var e="timestamp=".concat((new Date).getTime());return t+(-1===t.indexOf("?")?"?":"&")+e}function rs(t){var e=t.rotate,i=t.scaleX,n=t.scaleY,o=t.translateX,r=t.translateY,s=[];Lr(o)&&0!==o&&s.push("translateX(".concat(o,"px)")),Lr(r)&&0!==r&&s.push("translateY(".concat(r,"px)")),Lr(e)&&0!==e&&s.push("rotate(".concat(e,"deg)")),Lr(i)&&1!==i&&s.push("scaleX(".concat(i,")")),Lr(n)&&1!==n&&s.push("scaleY(".concat(n,")"));var a=s.length?s.join(" "):"none";return{WebkitTransform:a,msTransform:a,transform:a}}function ss(t,e){var i=t.pageX,n=t.pageY,o={endX:i,endY:n};return e?o:Eo({startX:i,startY:n},o)}function as(t){var e=t.aspectRatio,i=t.height,n=t.width,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"contain",r=Ar(n),s=Ar(i);if(r&&s){var a=i*e;"contain"===o&&a>n||"cover"===o&&a<n?i=n/e:n=i*e}else r?i=n/e:s&&(n=i*e);return{width:n,height:i}}function ls(t,e,i,n){var o=e.aspectRatio,r=e.naturalWidth,s=e.naturalHeight,a=e.rotate,l=void 0===a?0:a,d=e.scaleX,c=void 0===d?1:d,u=e.scaleY,p=void 0===u?1:u,h=i.aspectRatio,v=i.naturalWidth,f=i.naturalHeight,g=n.fillColor,m=void 0===g?"transparent":g,b=n.imageSmoothingEnabled,y=void 0===b||b,x=n.imageSmoothingQuality,_=void 0===x?"low":x,w=n.maxWidth,S=void 0===w?1/0:w,C=n.maxHeight,k=void 0===C?1/0:C,E=n.minWidth,L=void 0===E?0:E,A=n.minHeight,q=void 0===A?0:A,T=document.createElement("canvas"),M=T.getContext("2d"),O=as({aspectRatio:h,width:S,height:k}),R=as({aspectRatio:h,width:L,height:q},"cover"),N=Math.min(O.width,Math.max(R.width,v)),B=Math.min(O.height,Math.max(R.height,f)),I=as({aspectRatio:o,width:S,height:k}),$=as({aspectRatio:o,width:L,height:q},"cover"),D=Math.min(I.width,Math.max($.width,r)),H=Math.min(I.height,Math.max($.height,s)),z=[-D/2,-H/2,D,H];return T.width=Hr(N),T.height=Hr(B),M.fillStyle=m,M.fillRect(0,0,N,B),M.save(),M.translate(N/2,B/2),M.rotate(l*Math.PI/180),M.scale(c,p),M.imageSmoothingEnabled=y,M.imageSmoothingQuality=_,M.drawImage.apply(M,[t].concat(Mo(z.map((function(t){return Math.floor(Hr(t))}))))),M.restore(),T}var ds=String.fromCharCode;var cs=/^data:.*,/;function us(t){var e,i=new DataView(t);try{var n,o,r;if(255===i.getUint8(0)&&216===i.getUint8(1))for(var s=i.byteLength,a=2;a+1<s;){if(255===i.getUint8(a)&&225===i.getUint8(a+1)){o=a;break}a+=1}if(o){var l=o+10;if("Exif"===function(t,e,i){var n="";i+=e;for(var o=e;o<i;o+=1)n+=ds(t.getUint8(o));return n}(i,o+4,4)){var d=i.getUint16(l);if(((n=18761===d)||19789===d)&&42===i.getUint16(l+2,n)){var c=i.getUint32(l+4,n);c>=8&&(r=l+c)}}}if(r){var u,p,h=i.getUint16(r,n);for(p=0;p<h;p+=1)if(u=r+12*p+2,274===i.getUint16(u,n)){u+=8,e=i.getUint16(u,n),i.setUint16(u,1,n);break}}}catch(t){e=1}return e}var ps={render:function(){this.initContainer(),this.initCanvas(),this.initCropBox(),this.renderCanvas(),this.cropped&&this.renderCropBox()},initContainer:function(){var t=this.element,e=this.options,i=this.container,n=this.cropper,o=Number(e.minContainerWidth),r=Number(e.minContainerHeight);Fr(n,Qo),Ur(t,Qo);var s={width:Math.max(i.offsetWidth,o>=0?o:200),height:Math.max(i.offsetHeight,r>=0?r:100)};this.containerData=s,Pr(n,{width:s.width,height:s.height}),Fr(t,Qo),Ur(n,Qo)},initCanvas:function(){var t=this.containerData,e=this.imageData,i=this.options.viewMode,n=Math.abs(e.rotate)%180==90,o=n?e.naturalHeight:e.naturalWidth,r=n?e.naturalWidth:e.naturalHeight,s=o/r,a=t.width,l=t.height;t.height*s>t.width?3===i?a=t.height*s:l=t.width/s:3===i?l=t.width/s:a=t.height*s;var d={aspectRatio:s,naturalWidth:o,naturalHeight:r,width:a,height:l};this.canvasData=d,this.limited=1===i||2===i,this.limitCanvas(!0,!0),d.width=Math.min(Math.max(d.width,d.minWidth),d.maxWidth),d.height=Math.min(Math.max(d.height,d.minHeight),d.maxHeight),d.left=(t.width-d.width)/2,d.top=(t.height-d.height)/2,d.oldLeft=d.left,d.oldTop=d.top,this.initialCanvasData=$r({},d)},limitCanvas:function(t,e){var i=this.options,n=this.containerData,o=this.canvasData,r=this.cropBoxData,s=i.viewMode,a=o.aspectRatio,l=this.cropped&&r;if(t){var d=Number(i.minCanvasWidth)||0,c=Number(i.minCanvasHeight)||0;s>1?(d=Math.max(d,n.width),c=Math.max(c,n.height),3===s&&(c*a>d?d=c*a:c=d/a)):s>0&&(d?d=Math.max(d,l?r.width:0):c?c=Math.max(c,l?r.height:0):l&&(d=r.width,(c=r.height)*a>d?d=c*a:c=d/a));var u=as({aspectRatio:a,width:d,height:c});d=u.width,c=u.height,o.minWidth=d,o.minHeight=c,o.maxWidth=1/0,o.maxHeight=1/0}if(e)if(s>(l?0:1)){var p=n.width-o.width,h=n.height-o.height;o.minLeft=Math.min(0,p),o.minTop=Math.min(0,h),o.maxLeft=Math.max(0,p),o.maxTop=Math.max(0,h),l&&this.limited&&(o.minLeft=Math.min(r.left,r.left+(r.width-o.width)),o.minTop=Math.min(r.top,r.top+(r.height-o.height)),o.maxLeft=r.left,o.maxTop=r.top,2===s&&(o.width>=n.width&&(o.minLeft=Math.min(0,p),o.maxLeft=Math.max(0,p)),o.height>=n.height&&(o.minTop=Math.min(0,h),o.maxTop=Math.max(0,h))))}else o.minLeft=-o.width,o.minTop=-o.height,o.maxLeft=n.width,o.maxTop=n.height},renderCanvas:function(t,e){var i=this.canvasData,n=this.imageData;if(e){var o=function(t){var e=t.width,i=t.height,n=t.degree;if(90==(n=Math.abs(n)%180))return{width:i,height:e};var o=n%90*Math.PI/180,r=Math.sin(o),s=Math.cos(o),a=e*s+i*r,l=e*r+i*s;return n>90?{width:l,height:a}:{width:a,height:l}}({width:n.naturalWidth*Math.abs(n.scaleX||1),height:n.naturalHeight*Math.abs(n.scaleY||1),degree:n.rotate||0}),r=o.width,s=o.height,a=i.width*(r/i.naturalWidth),l=i.height*(s/i.naturalHeight);i.left-=(a-i.width)/2,i.top-=(l-i.height)/2,i.width=a,i.height=l,i.aspectRatio=r/s,i.naturalWidth=r,i.naturalHeight=s,this.limitCanvas(!0,!1)}(i.width>i.maxWidth||i.width<i.minWidth)&&(i.left=i.oldLeft),(i.height>i.maxHeight||i.height<i.minHeight)&&(i.top=i.oldTop),i.width=Math.min(Math.max(i.width,i.minWidth),i.maxWidth),i.height=Math.min(Math.max(i.height,i.minHeight),i.maxHeight),this.limitCanvas(!1,!0),i.left=Math.min(Math.max(i.left,i.minLeft),i.maxLeft),i.top=Math.min(Math.max(i.top,i.minTop),i.maxTop),i.oldLeft=i.left,i.oldTop=i.top,Pr(this.canvas,$r({width:i.width,height:i.height},rs({translateX:i.left,translateY:i.top}))),this.renderImage(t),this.cropped&&this.limited&&this.limitCropBox(!0,!0)},renderImage:function(t){var e=this.canvasData,i=this.imageData,n=i.naturalWidth*(e.width/e.naturalWidth),o=i.naturalHeight*(e.height/e.naturalHeight);$r(i,{width:n,height:o,left:(e.width-n)/2,top:(e.height-o)/2}),Pr(this.image,$r({width:i.width,height:i.height},rs($r({translateX:i.left,translateY:i.top},i)))),t&&this.output()},initCropBox:function(){var t=this.options,e=this.canvasData,i=t.aspectRatio||t.initialAspectRatio,n=Number(t.autoCropArea)||.8,o={width:e.width,height:e.height};i&&(e.height*i>e.width?o.height=o.width/i:o.width=o.height*i),this.cropBoxData=o,this.limitCropBox(!0,!0),o.width=Math.min(Math.max(o.width,o.minWidth),o.maxWidth),o.height=Math.min(Math.max(o.height,o.minHeight),o.maxHeight),o.width=Math.max(o.minWidth,o.width*n),o.height=Math.max(o.minHeight,o.height*n),o.left=e.left+(e.width-o.width)/2,o.top=e.top+(e.height-o.height)/2,o.oldLeft=o.left,o.oldTop=o.top,this.initialCropBoxData=$r({},o)},limitCropBox:function(t,e){var i=this.options,n=this.containerData,o=this.canvasData,r=this.cropBoxData,s=this.limited,a=i.aspectRatio;if(t){var l=Number(i.minCropBoxWidth)||0,d=Number(i.minCropBoxHeight)||0,c=s?Math.min(n.width,o.width,o.width+o.left,n.width-o.left):n.width,u=s?Math.min(n.height,o.height,o.height+o.top,n.height-o.top):n.height;l=Math.min(l,n.width),d=Math.min(d,n.height),a&&(l&&d?d*a>l?d=l/a:l=d*a:l?d=l/a:d&&(l=d*a),u*a>c?u=c/a:c=u*a),r.minWidth=Math.min(l,c),r.minHeight=Math.min(d,u),r.maxWidth=c,r.maxHeight=u}e&&(s?(r.minLeft=Math.max(0,o.left),r.minTop=Math.max(0,o.top),r.maxLeft=Math.min(n.width,o.left+o.width)-r.width,r.maxTop=Math.min(n.height,o.top+o.height)-r.height):(r.minLeft=0,r.minTop=0,r.maxLeft=n.width-r.width,r.maxTop=n.height-r.height))},renderCropBox:function(){var t=this.options,e=this.containerData,i=this.cropBoxData;(i.width>i.maxWidth||i.width<i.minWidth)&&(i.left=i.oldLeft),(i.height>i.maxHeight||i.height<i.minHeight)&&(i.top=i.oldTop),i.width=Math.min(Math.max(i.width,i.minWidth),i.maxWidth),i.height=Math.min(Math.max(i.height,i.minHeight),i.maxHeight),this.limitCropBox(!1,!0),i.left=Math.min(Math.max(i.left,i.minLeft),i.maxLeft),i.top=Math.min(Math.max(i.top,i.minTop),i.maxTop),i.oldLeft=i.left,i.oldTop=i.top,t.movable&&t.cropBoxMovable&&Yr(this.face,nr,i.width>=e.width&&i.height>=e.height?zo:Do),Pr(this.cropBox,$r({width:i.width,height:i.height},rs({translateX:i.left,translateY:i.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),Jr(this.element,lr,this.getData())}},hs={initPreview:function(){var t=this.element,e=this.crossOrigin,i=this.options.preview,n=e?this.crossOriginUrl:this.url,o=t.alt||"The image to preview",r=document.createElement("img");if(e&&(r.crossOrigin=e),r.src=n,r.alt=o,this.viewBox.appendChild(r),this.viewBoxImage=r,i){var s=i;"string"==typeof i?s=t.ownerDocument.querySelectorAll(i):i.querySelector&&(s=[i]),this.previews=s,Ir(s,(function(t){var i=document.createElement("img");Yr(t,or,{width:t.offsetWidth,height:t.offsetHeight,html:t.innerHTML}),e&&(i.crossOrigin=e),i.src=n,i.alt=o,i.style.cssText='display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"',t.innerHTML="",t.appendChild(i)}))}},resetPreview:function(){Ir(this.previews,(function(t){var e=Xr(t,or);Pr(t,{width:e.width,height:e.height}),t.innerHTML=e.html,function(t,e){if(Tr(t[e]))try{delete t[e]}catch(i){t[e]=void 0}else if(t.dataset)try{delete t.dataset[e]}catch(i){t.dataset[e]=void 0}else t.removeAttribute("data-".concat(Gr(e)))}(t,or)}))},preview:function(){var t=this.imageData,e=this.canvasData,i=this.cropBoxData,n=i.width,o=i.height,r=t.width,s=t.height,a=i.left-e.left-t.left,l=i.top-e.top-t.top;this.cropped&&!this.disabled&&(Pr(this.viewBoxImage,$r({width:r,height:s},rs($r({translateX:-a,translateY:-l},t)))),Ir(this.previews,(function(e){var i=Xr(e,or),d=i.width,c=i.height,u=d,p=c,h=1;n&&(p=o*(h=d/n)),o&&p>c&&(u=n*(h=c/o),p=c),Pr(e,{width:u,height:p}),Pr(e.getElementsByTagName("img")[0],$r({width:r*h,height:s*h},rs($r({translateX:-a*h,translateY:-l*h},t))))})))}},vs={bind:function(){var t=this.element,e=this.options,i=this.cropper;Rr(e.cropstart)&&Qr(t,ur,e.cropstart),Rr(e.cropmove)&&Qr(t,cr,e.cropmove),Rr(e.cropend)&&Qr(t,dr,e.cropend),Rr(e.crop)&&Qr(t,lr,e.crop),Rr(e.zoom)&&Qr(t,yr,e.zoom),Qr(i,hr,this.onCropStart=this.cropStart.bind(this)),e.zoomable&&e.zoomOnWheel&&Qr(i,br,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),e.toggleDragModeOnDblclick&&Qr(i,pr,this.onDblclick=this.dblclick.bind(this)),Qr(t.ownerDocument,vr,this.onCropMove=this.cropMove.bind(this)),Qr(t.ownerDocument,fr,this.onCropEnd=this.cropEnd.bind(this)),e.responsive&&Qr(window,mr,this.onResize=this.resize.bind(this))},unbind:function(){var t=this.element,e=this.options,i=this.cropper;Rr(e.cropstart)&&Zr(t,ur,e.cropstart),Rr(e.cropmove)&&Zr(t,cr,e.cropmove),Rr(e.cropend)&&Zr(t,dr,e.cropend),Rr(e.crop)&&Zr(t,lr,e.crop),Rr(e.zoom)&&Zr(t,yr,e.zoom),Zr(i,hr,this.onCropStart),e.zoomable&&e.zoomOnWheel&&Zr(i,br,this.onWheel,{passive:!1,capture:!0}),e.toggleDragModeOnDblclick&&Zr(i,pr,this.onDblclick),Zr(t.ownerDocument,vr,this.onCropMove),Zr(t.ownerDocument,fr,this.onCropEnd),e.responsive&&Zr(window,mr,this.onResize)}},fs={resize:function(){if(!this.disabled){var t,e,i=this.options,n=this.container,o=this.containerData,r=n.offsetWidth/o.width,s=n.offsetHeight/o.height,a=Math.abs(r-1)>Math.abs(s-1)?r:s;if(1!==a)i.restore&&(t=this.getCanvasData(),e=this.getCropBoxData()),this.render(),i.restore&&(this.setCanvasData(Ir(t,(function(e,i){t[i]=e*a}))),this.setCropBoxData(Ir(e,(function(t,i){e[i]=t*a}))))}},dblclick:function(){var t,e;this.disabled||this.options.dragMode===ar||this.setDragMode((t=this.dragBox,e=Ko,(t.classList?t.classList.contains(e):t.className.indexOf(e)>-1)?sr:rr))},wheel:function(t){var e=this,i=Number(this.options.wheelZoomRatio)||.1,n=1;this.disabled||(t.preventDefault(),this.wheeling||(this.wheeling=!0,setTimeout((function(){e.wheeling=!1}),50),t.deltaY?n=t.deltaY>0?1:-1:t.wheelDelta?n=-t.wheelDelta/120:t.detail&&(n=t.detail>0?1:-1),this.zoom(-n*i,t)))},cropStart:function(t){var e=t.buttons,i=t.button;if(!(this.disabled||("mousedown"===t.type||"pointerdown"===t.type&&"mouse"===t.pointerType)&&(Lr(e)&&1!==e||Lr(i)&&0!==i||t.ctrlKey))){var n,o=this.options,r=this.pointers;t.changedTouches?Ir(t.changedTouches,(function(t){r[t.identifier]=ss(t)})):r[t.pointerId||0]=ss(t),n=Object.keys(r).length>1&&o.zoomable&&o.zoomOnTouch?Po:Xr(t.target,nr),_r.test(n)&&!1!==Jr(this.element,ur,{originalEvent:t,action:n})&&(t.preventDefault(),this.action=n,this.cropping=!1,n===Ho&&(this.cropping=!0,Fr(this.dragBox,er)))}},cropMove:function(t){var e=this.action;if(!this.disabled&&e){var i=this.pointers;t.preventDefault(),!1!==Jr(this.element,cr,{originalEvent:t,action:e})&&(t.changedTouches?Ir(t.changedTouches,(function(t){$r(i[t.identifier]||{},ss(t,!0))})):$r(i[t.pointerId||0]||{},ss(t,!0)),this.change(t))}},cropEnd:function(t){if(!this.disabled){var e=this.action,i=this.pointers;t.changedTouches?Ir(t.changedTouches,(function(t){delete i[t.identifier]})):delete i[t.pointerId||0],e&&(t.preventDefault(),Object.keys(i).length||(this.action=""),this.cropping&&(this.cropping=!1,Wr(this.dragBox,er,this.cropped&&this.options.modal)),Jr(this.element,dr,{originalEvent:t,action:e}))}}},gs={change:function(t){var e,i=this.options,n=this.canvasData,o=this.containerData,r=this.cropBoxData,s=this.pointers,a=this.action,l=i.aspectRatio,d=r.left,c=r.top,u=r.width,p=r.height,h=d+u,v=c+p,f=0,g=0,m=o.width,b=o.height,y=!0;!l&&t.shiftKey&&(l=u&&p?u/p:1),this.limited&&(f=r.minLeft,g=r.minTop,m=f+Math.min(o.width,n.width,n.left+n.width),b=g+Math.min(o.height,n.height,n.top+n.height));var x=s[Object.keys(s)[0]],_={x:x.endX-x.startX,y:x.endY-x.startY},w=function(t){switch(t){case Fo:h+_.x>m&&(_.x=m-h);break;case Uo:d+_.x<f&&(_.x=f-d);break;case jo:c+_.y<g&&(_.y=g-c);break;case Wo:v+_.y>b&&(_.y=b-v)}};switch(a){case Do:d+=_.x,c+=_.y;break;case Fo:if(_.x>=0&&(h>=m||l&&(c<=g||v>=b))){y=!1;break}w(Fo),(u+=_.x)<0&&(a=Uo,d-=u=-u),l&&(p=u/l,c+=(r.height-p)/2);break;case jo:if(_.y<=0&&(c<=g||l&&(d<=f||h>=m))){y=!1;break}w(jo),p-=_.y,c+=_.y,p<0&&(a=Wo,c-=p=-p),l&&(u=p*l,d+=(r.width-u)/2);break;case Uo:if(_.x<=0&&(d<=f||l&&(c<=g||v>=b))){y=!1;break}w(Uo),u-=_.x,d+=_.x,u<0&&(a=Fo,d-=u=-u),l&&(p=u/l,c+=(r.height-p)/2);break;case Wo:if(_.y>=0&&(v>=b||l&&(d<=f||h>=m))){y=!1;break}w(Wo),(p+=_.y)<0&&(a=jo,c-=p=-p),l&&(u=p*l,d+=(r.width-u)/2);break;case Go:if(l){if(_.y<=0&&(c<=g||h>=m)){y=!1;break}w(jo),p-=_.y,c+=_.y,u=p*l}else w(jo),w(Fo),_.x>=0?h<m?u+=_.x:_.y<=0&&c<=g&&(y=!1):u+=_.x,_.y<=0?c>g&&(p-=_.y,c+=_.y):(p-=_.y,c+=_.y);u<0&&p<0?(a=Vo,c-=p=-p,d-=u=-u):u<0?(a=Xo,d-=u=-u):p<0&&(a=Yo,c-=p=-p);break;case Xo:if(l){if(_.y<=0&&(c<=g||d<=f)){y=!1;break}w(jo),p-=_.y,c+=_.y,u=p*l,d+=r.width-u}else w(jo),w(Uo),_.x<=0?d>f?(u-=_.x,d+=_.x):_.y<=0&&c<=g&&(y=!1):(u-=_.x,d+=_.x),_.y<=0?c>g&&(p-=_.y,c+=_.y):(p-=_.y,c+=_.y);u<0&&p<0?(a=Yo,c-=p=-p,d-=u=-u):u<0?(a=Go,d-=u=-u):p<0&&(a=Vo,c-=p=-p);break;case Vo:if(l){if(_.x<=0&&(d<=f||v>=b)){y=!1;break}w(Uo),u-=_.x,d+=_.x,p=u/l}else w(Wo),w(Uo),_.x<=0?d>f?(u-=_.x,d+=_.x):_.y>=0&&v>=b&&(y=!1):(u-=_.x,d+=_.x),_.y>=0?v<b&&(p+=_.y):p+=_.y;u<0&&p<0?(a=Go,c-=p=-p,d-=u=-u):u<0?(a=Yo,d-=u=-u):p<0&&(a=Xo,c-=p=-p);break;case Yo:if(l){if(_.x>=0&&(h>=m||v>=b)){y=!1;break}w(Fo),p=(u+=_.x)/l}else w(Wo),w(Fo),_.x>=0?h<m?u+=_.x:_.y>=0&&v>=b&&(y=!1):u+=_.x,_.y>=0?v<b&&(p+=_.y):p+=_.y;u<0&&p<0?(a=Xo,c-=p=-p,d-=u=-u):u<0?(a=Vo,d-=u=-u):p<0&&(a=Go,c-=p=-p);break;case zo:this.move(_.x,_.y),y=!1;break;case Po:this.zoom(function(t){var e=Eo({},t),i=0;return Ir(t,(function(t,n){delete e[n],Ir(e,(function(e){var n=Math.abs(t.startX-e.startX),o=Math.abs(t.startY-e.startY),r=Math.abs(t.endX-e.endX),s=Math.abs(t.endY-e.endY),a=Math.sqrt(n*n+o*o),l=(Math.sqrt(r*r+s*s)-a)/a;Math.abs(l)>Math.abs(i)&&(i=l)}))})),i}(s),t),y=!1;break;case Ho:if(!_.x||!_.y){y=!1;break}e=ts(this.cropper),d=x.startX-e.left,c=x.startY-e.top,u=r.minWidth,p=r.minHeight,_.x>0?a=_.y>0?Yo:Go:_.x<0&&(d-=u,a=_.y>0?Vo:Xo),_.y<0&&(c-=p),this.cropped||(Ur(this.cropBox,Qo),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0))}y&&(r.width=u,r.height=p,r.left=d,r.top=c,this.action=a,this.renderCropBox()),Ir(s,(function(t){t.startX=t.endX,t.startY=t.endY}))}},ms={crop:function(){return!this.ready||this.cropped||this.disabled||(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&Fr(this.dragBox,er),Ur(this.cropBox,Qo),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=$r({},this.initialImageData),this.canvasData=$r({},this.initialCanvasData),this.cropBoxData=$r({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&($r(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),Ur(this.dragBox,er),Fr(this.cropBox,Qo)),this},replace:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return!this.disabled&&t&&(this.isImg&&(this.element.src=t),e?(this.url=t,this.image.src=t,this.ready&&(this.viewBoxImage.src=t,Ir(this.previews,(function(e){e.getElementsByTagName("img")[0].src=t})))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(t))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,Ur(this.cropper,Zo)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,Fr(this.cropper,Zo)),this},destroy:function(){var t=this.element;return t.cropper?(t.cropper=void 0,this.isImg&&this.replaced&&(t.src=this.originalUrl),this.uncreate(),this):this},move:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,i=this.canvasData,n=i.left,o=i.top;return this.moveTo(qr(t)?t:n+Number(t),qr(e)?e:o+Number(e))},moveTo:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,i=this.canvasData,n=!1;return t=Number(t),e=Number(e),this.ready&&!this.disabled&&this.options.movable&&(Lr(t)&&(i.left=t,n=!0),Lr(e)&&(i.top=e,n=!0),n&&this.renderCanvas(!0)),this},zoom:function(t,e){var i=this.canvasData;return t=(t=Number(t))<0?1/(1-t):1+t,this.zoomTo(i.width*t/i.naturalWidth,null,e)},zoomTo:function(t,e,i){var n=this.options,o=this.canvasData,r=o.width,s=o.height,a=o.naturalWidth,l=o.naturalHeight;if((t=Number(t))>=0&&this.ready&&!this.disabled&&n.zoomable){var d=a*t,c=l*t;if(!1===Jr(this.element,yr,{ratio:t,oldRatio:r/a,originalEvent:i}))return this;if(i){var u=this.pointers,p=ts(this.cropper),h=u&&Object.keys(u).length?function(t){var e=0,i=0,n=0;return Ir(t,(function(t){var o=t.startX,r=t.startY;e+=o,i+=r,n+=1})),{pageX:e/=n,pageY:i/=n}}(u):{pageX:i.pageX,pageY:i.pageY};o.left-=(d-r)*((h.pageX-p.left-o.left)/r),o.top-=(c-s)*((h.pageY-p.top-o.top)/s)}else Or(e)&&Lr(e.x)&&Lr(e.y)?(o.left-=(d-r)*((e.x-o.left)/r),o.top-=(c-s)*((e.y-o.top)/s)):(o.left-=(d-r)/2,o.top-=(c-s)/2);o.width=d,o.height=c,this.renderCanvas(!0)}return this},rotate:function(t){return this.rotateTo((this.imageData.rotate||0)+Number(t))},rotateTo:function(t){return Lr(t=Number(t))&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=t%360,this.renderCanvas(!0,!0)),this},scaleX:function(t){var e=this.imageData.scaleY;return this.scale(t,Lr(e)?e:1)},scaleY:function(t){var e=this.imageData.scaleX;return this.scale(Lr(e)?e:1,t)},scale:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,i=this.imageData,n=!1;return t=Number(t),e=Number(e),this.ready&&!this.disabled&&this.options.scalable&&(Lr(t)&&(i.scaleX=t,n=!0),Lr(e)&&(i.scaleY=e,n=!0),n&&this.renderCanvas(!0,!0)),this},getData:function(){var t,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],i=this.options,n=this.imageData,o=this.canvasData,r=this.cropBoxData;if(this.ready&&this.cropped){t={x:r.left-o.left,y:r.top-o.top,width:r.width,height:r.height};var s=n.width/n.naturalWidth;if(Ir(t,(function(e,i){t[i]=e/s})),e){var a=Math.round(t.y+t.height),l=Math.round(t.x+t.width);t.x=Math.round(t.x),t.y=Math.round(t.y),t.width=l-t.x,t.height=a-t.y}}else t={x:0,y:0,width:0,height:0};return i.rotatable&&(t.rotate=n.rotate||0),i.scalable&&(t.scaleX=n.scaleX||1,t.scaleY=n.scaleY||1),t},setData:function(t){var e=this.options,i=this.imageData,n=this.canvasData,o={};if(this.ready&&!this.disabled&&Or(t)){var r=!1;e.rotatable&&Lr(t.rotate)&&t.rotate!==i.rotate&&(i.rotate=t.rotate,r=!0),e.scalable&&(Lr(t.scaleX)&&t.scaleX!==i.scaleX&&(i.scaleX=t.scaleX,r=!0),Lr(t.scaleY)&&t.scaleY!==i.scaleY&&(i.scaleY=t.scaleY,r=!0)),r&&this.renderCanvas(!0,!0);var s=i.width/i.naturalWidth;Lr(t.x)&&(o.left=t.x*s+n.left),Lr(t.y)&&(o.top=t.y*s+n.top),Lr(t.width)&&(o.width=t.width*s),Lr(t.height)&&(o.height=t.height*s),this.setCropBoxData(o)}return this},getContainerData:function(){return this.ready?$r({},this.containerData):{}},getImageData:function(){return this.sized?$r({},this.imageData):{}},getCanvasData:function(){var t=this.canvasData,e={};return this.ready&&Ir(["left","top","width","height","naturalWidth","naturalHeight"],(function(i){e[i]=t[i]})),e},setCanvasData:function(t){var e=this.canvasData,i=e.aspectRatio;return this.ready&&!this.disabled&&Or(t)&&(Lr(t.left)&&(e.left=t.left),Lr(t.top)&&(e.top=t.top),Lr(t.width)?(e.width=t.width,e.height=t.width/i):Lr(t.height)&&(e.height=t.height,e.width=t.height*i),this.renderCanvas(!0)),this},getCropBoxData:function(){var t,e=this.cropBoxData;return this.ready&&this.cropped&&(t={left:e.left,top:e.top,width:e.width,height:e.height}),t||{}},setCropBoxData:function(t){var e,i,n=this.cropBoxData,o=this.options.aspectRatio;return this.ready&&this.cropped&&!this.disabled&&Or(t)&&(Lr(t.left)&&(n.left=t.left),Lr(t.top)&&(n.top=t.top),Lr(t.width)&&t.width!==n.width&&(e=!0,n.width=t.width),Lr(t.height)&&t.height!==n.height&&(i=!0,n.height=t.height),o&&(e?n.height=n.width/o:i&&(n.width=n.height*o)),this.renderCropBox()),this},getCroppedCanvas:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement)return null;var e=this.canvasData,i=ls(this.image,this.imageData,e,t);if(!this.cropped)return i;var n=this.getData(),o=n.x,r=n.y,s=n.width,a=n.height,l=i.width/Math.floor(e.naturalWidth);1!==l&&(o*=l,r*=l,s*=l,a*=l);var d=s/a,c=as({aspectRatio:d,width:t.maxWidth||1/0,height:t.maxHeight||1/0}),u=as({aspectRatio:d,width:t.minWidth||0,height:t.minHeight||0},"cover"),p=as({aspectRatio:d,width:t.width||(1!==l?i.width:s),height:t.height||(1!==l?i.height:a)}),h=p.width,v=p.height;h=Math.min(c.width,Math.max(u.width,h)),v=Math.min(c.height,Math.max(u.height,v));var f=document.createElement("canvas"),g=f.getContext("2d");f.width=Hr(h),f.height=Hr(v),g.fillStyle=t.fillColor||"transparent",g.fillRect(0,0,h,v);var m=t.imageSmoothingEnabled,b=void 0===m||m,y=t.imageSmoothingQuality;g.imageSmoothingEnabled=b,y&&(g.imageSmoothingQuality=y);var x,_,w,S,C,k,E=i.width,L=i.height,A=o,q=r;A<=-s||A>E?(A=0,x=0,w=0,C=0):A<=0?(w=-A,A=0,C=x=Math.min(E,s+A)):A<=E&&(w=0,C=x=Math.min(s,E-A)),x<=0||q<=-a||q>L?(q=0,_=0,S=0,k=0):q<=0?(S=-q,q=0,k=_=Math.min(L,a+q)):q<=L&&(S=0,k=_=Math.min(a,L-q));var T=[A,q,x,_];if(C>0&&k>0){var M=h/s;T.push(w*M,S*M,C*M,k*M)}return g.drawImage.apply(g,[i].concat(Mo(T.map((function(t){return Math.floor(Hr(t))}))))),f},setAspectRatio:function(t){var e=this.options;return this.disabled||qr(t)||(e.aspectRatio=Math.max(0,t)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(t){var e=this.options,i=this.dragBox,n=this.face;if(this.ready&&!this.disabled){var o=t===rr,r=e.movable&&t===sr;t=o||r?t:ar,e.dragMode=t,Yr(i,nr,t),Wr(i,Ko,o),Wr(i,ir,r),e.cropBoxMovable||(Yr(n,nr,t),Wr(n,Ko,o),Wr(n,ir,r))}return this}},bs=No.Cropper,ys=function(){function t(e){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Ao(this,t),!e||!Cr.test(e.tagName))throw new Error("The first argument is required and must be an <img> or <canvas> element.");this.element=e,this.options=$r({},kr,Or(i)&&i),this.cropped=!1,this.disabled=!1,this.pointers={},this.ready=!1,this.reloading=!1,this.replaced=!1,this.sized=!1,this.sizing=!1,this.init()}var e,i,n;return e=t,n=[{key:"noConflict",value:function(){return window.Cropper=bs,t}},{key:"setDefaults",value:function(t){$r(kr,Or(t)&&t)}}],(i=[{key:"init",value:function(){var t,e=this.element,i=e.tagName.toLowerCase();if(!e.cropper){if(e.cropper=this,"img"===i){if(this.isImg=!0,t=e.getAttribute("src")||"",this.originalUrl=t,!t)return;t=e.src}else"canvas"===i&&window.HTMLCanvasElement&&(t=e.toDataURL());this.load(t)}}},{key:"load",value:function(t){var e=this;if(t){this.url=t,this.imageData={};var i=this.element,n=this.options;if(n.rotatable||n.scalable||(n.checkOrientation=!1),n.checkOrientation&&window.ArrayBuffer)if(wr.test(t))Sr.test(t)?this.read((o=t.replace(cs,""),r=atob(o),s=new ArrayBuffer(r.length),Ir(a=new Uint8Array(s),(function(t,e){a[e]=r.charCodeAt(e)})),s)):this.clone();else{var o,r,s,a,l=new XMLHttpRequest,d=this.clone.bind(this);this.reloading=!0,this.xhr=l,l.onabort=d,l.onerror=d,l.ontimeout=d,l.onprogress=function(){l.getResponseHeader("content-type")!==xr&&l.abort()},l.onload=function(){e.read(l.response)},l.onloadend=function(){e.reloading=!1,e.xhr=null},n.checkCrossOrigin&&ns(t)&&i.crossOrigin&&(t=os(t)),l.open("GET",t,!0),l.responseType="arraybuffer",l.withCredentials="use-credentials"===i.crossOrigin,l.send()}else this.clone()}}},{key:"read",value:function(t){var e=this.options,i=this.imageData,n=us(t),o=0,r=1,s=1;if(n>1){this.url=function(t,e){for(var i=[],n=new Uint8Array(t);n.length>0;)i.push(ds.apply(null,Br(n.subarray(0,8192)))),n=n.subarray(8192);return"data:".concat(e,";base64,").concat(btoa(i.join("")))}(t,xr);var a=function(t){var e=0,i=1,n=1;switch(t){case 2:i=-1;break;case 3:e=-180;break;case 4:n=-1;break;case 5:e=90,n=-1;break;case 6:e=90;break;case 7:e=90,i=-1;break;case 8:e=-90}return{rotate:e,scaleX:i,scaleY:n}}(n);o=a.rotate,r=a.scaleX,s=a.scaleY}e.rotatable&&(i.rotate=o),e.scalable&&(i.scaleX=r,i.scaleY=s),this.clone()}},{key:"clone",value:function(){var t=this.element,e=this.url,i=t.crossOrigin,n=e;this.options.checkCrossOrigin&&ns(e)&&(i||(i="anonymous"),n=os(e)),this.crossOrigin=i,this.crossOriginUrl=n;var o=document.createElement("img");i&&(o.crossOrigin=i),o.src=n||e,o.alt=t.alt||"The image to crop",this.image=o,o.onload=this.start.bind(this),o.onerror=this.stop.bind(this),Fr(o,Jo),t.parentNode.insertBefore(o,t.nextSibling)}},{key:"start",value:function(){var t=this,e=this.image;e.onload=null,e.onerror=null,this.sizing=!0;var i=No.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(No.navigator.userAgent),n=function(e,i){$r(t.imageData,{naturalWidth:e,naturalHeight:i,aspectRatio:e/i}),t.initialImageData=$r({},t.imageData),t.sizing=!1,t.sized=!0,t.build()};if(!e.naturalWidth||i){var o=document.createElement("img"),r=document.body||document.documentElement;this.sizingImage=o,o.onload=function(){n(o.width,o.height),i||r.removeChild(o)},o.src=e.src,i||(o.style.cssText="left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;",r.appendChild(o))}else n(e.naturalWidth,e.naturalHeight)}},{key:"stop",value:function(){var t=this.image;t.onload=null,t.onerror=null,t.parentNode.removeChild(t),this.image=null}},{key:"build",value:function(){if(this.sized&&!this.ready){var t=this.element,e=this.options,i=this.image,n=t.parentNode,o=document.createElement("div");o.innerHTML='<div class="cropper-container" touch-action="none"><div class="cropper-wrap-box"><div class="cropper-canvas"></div></div><div class="cropper-drag-box"></div><div class="cropper-crop-box"><span class="cropper-view-box"></span><span class="cropper-dashed dashed-h"></span><span class="cropper-dashed dashed-v"></span><span class="cropper-center"></span><span class="cropper-face"></span><span class="cropper-line line-e" data-cropper-action="e"></span><span class="cropper-line line-n" data-cropper-action="n"></span><span class="cropper-line line-w" data-cropper-action="w"></span><span class="cropper-line line-s" data-cropper-action="s"></span><span class="cropper-point point-e" data-cropper-action="e"></span><span class="cropper-point point-n" data-cropper-action="n"></span><span class="cropper-point point-w" data-cropper-action="w"></span><span class="cropper-point point-s" data-cropper-action="s"></span><span class="cropper-point point-ne" data-cropper-action="ne"></span><span class="cropper-point point-nw" data-cropper-action="nw"></span><span class="cropper-point point-sw" data-cropper-action="sw"></span><span class="cropper-point point-se" data-cropper-action="se"></span></div></div>';var r=o.querySelector(".".concat($o,"-container")),s=r.querySelector(".".concat($o,"-canvas")),a=r.querySelector(".".concat($o,"-drag-box")),l=r.querySelector(".".concat($o,"-crop-box")),d=l.querySelector(".".concat($o,"-face"));this.container=n,this.cropper=r,this.canvas=s,this.dragBox=a,this.cropBox=l,this.viewBox=r.querySelector(".".concat($o,"-view-box")),this.face=d,s.appendChild(i),Fr(t,Qo),n.insertBefore(r,t.nextSibling),this.isImg||Ur(i,Jo),this.initPreview(),this.bind(),e.initialAspectRatio=Math.max(0,e.initialAspectRatio)||NaN,e.aspectRatio=Math.max(0,e.aspectRatio)||NaN,e.viewMode=Math.max(0,Math.min(3,Math.round(e.viewMode)))||0,Fr(l,Qo),e.guides||Fr(l.getElementsByClassName("".concat($o,"-dashed")),Qo),e.center||Fr(l.getElementsByClassName("".concat($o,"-center")),Qo),e.background&&Fr(r,"".concat($o,"-bg")),e.highlight||Fr(d,tr),e.cropBoxMovable&&(Fr(d,ir),Yr(d,nr,Do)),e.cropBoxResizable||(Fr(l.getElementsByClassName("".concat($o,"-line")),Qo),Fr(l.getElementsByClassName("".concat($o,"-point")),Qo)),this.render(),this.ready=!0,this.setDragMode(e.dragMode),e.autoCrop&&this.crop(),this.setData(e.data),Rr(e.ready)&&Qr(t,gr,e.ready,{once:!0}),Jr(t,gr)}}},{key:"unbuild",value:function(){this.ready&&(this.ready=!1,this.unbind(),this.resetPreview(),this.cropper.parentNode.removeChild(this.cropper),Ur(this.element,Qo))}},{key:"uncreate",value:function(){this.ready?(this.unbuild(),this.ready=!1,this.cropped=!1):this.sizing?(this.sizingImage.onload=null,this.sizing=!1,this.sized=!1):this.reloading?(this.xhr.onabort=null,this.xhr.abort()):this.image&&this.stop()}}])&&qo(e.prototype,i),n&&qo(e,n),t}();function xs(t){for(var e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i];return e.map((function(e){return e.split(" ").map((function(e){return e?""+t+e:""})).join(" ")})).join(" ")}function _s(t,e){return function(i){i&&(t[e]=i)}}function ws(t,e,i){return function(n){n&&(t[e][i]=n)}}function Ss(t,e){return function(i){var n=i.prototype;t.forEach((function(t){e(n,t)}))}}function Cs(t,e){return void 0===e&&(e={}),function(i,n){t.forEach((function(t){var o=e[t]||t;o in i||(i[o]=function(){for(var e,i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];var r=(e=this[n])[t].apply(e,i);return r===this[n]?this:r})}))}}$r(ys.prototype,ps,hs,vs,fs,gs,ms);var ks=function(){function t(){this.keys=[],this.values=[]}var e=t.prototype;return e.get=function(t){return this.values[this.keys.indexOf(t)]},e.set=function(t,e){var i=this.keys,n=this.values,o=i.indexOf(t),r=-1===o?i.length:o;i[r]=t,n[r]=e},t}(),Es=function(){function t(){this.object={}}var e=t.prototype;return e.get=function(t){return this.object[t]},e.set=function(t,e){this.object[t]=e},t}(),Ls="function"==typeof Map,As=function(){function t(){}var e=t.prototype;return e.connect=function(t,e){this.prev=t,this.next=e,t&&(t.next=this),e&&(e.prev=this)},e.disconnect=function(){var t=this.prev,e=this.next;t&&(t.next=e),e&&(e.prev=t)},e.getIndex=function(){for(var t=this,e=-1;t;)t=t.prev,++e;return e},t}();var qs=function(){function t(t,e,i,n,o,r,s,a){this.prevList=t,this.list=e,this.added=i,this.removed=n,this.changed=o,this.maintained=r,this.changedBeforeAdded=s,this.fixed=a}var e=t.prototype;return Object.defineProperty(e,"ordered",{get:function(){return this.cacheOrdered||this.caculateOrdered(),this.cacheOrdered},enumerable:!0,configurable:!0}),Object.defineProperty(e,"pureChanged",{get:function(){return this.cachePureChanged||this.caculateOrdered(),this.cachePureChanged},enumerable:!0,configurable:!0}),e.caculateOrdered=function(){var t=function(t,e){var i=[],n=[];return t.forEach((function(t){var e=t[0],o=t[1],r=new As;i[e]=r,n[o]=r})),i.forEach((function(t,e){t.connect(i[e-1])})),t.filter((function(t,i){return!e[i]})).map((function(t,e){var o=t[0],r=t[1];if(o===r)return[0,0];var s=i[o],a=n[r-1],l=s.getIndex();return s.disconnect(),a?s.connect(a,a.next):s.connect(void 0,i[0]),[l,s.getIndex()]}))}(this.changedBeforeAdded,this.fixed),e=this.changed,i=[];this.cacheOrdered=t.filter((function(t,n){var o=t[0],r=t[1],s=e[n],a=s[0],l=s[1];if(o!==r)return i.push([a,l]),!0})),this.cachePureChanged=i},t}();function Ts(t,e,i){var n=Ls?Map:i?Es:ks,o=i||function(t){return t},r=[],s=[],a=[],l=t.map(o),d=e.map(o),c=new n,u=new n,p=[],h=[],v={},f=[],g=0,m=0;return l.forEach((function(t,e){c.set(t,e)})),d.forEach((function(t,e){u.set(t,e)})),l.forEach((function(t,e){var i=u.get(t);void 0===i?(++m,s.push(e)):v[i]=m})),d.forEach((function(t,e){var i=c.get(t);void 0===i?(r.push(e),++g):(a.push([i,e]),m=v[e]||0,p.push([i-m,e-g]),h.push(e===i),i!==e&&f.push([i,e]))})),s.reverse(),new qs(t,e,r,s,f,a,p,h)}var Ms=function(){function t(t,e){void 0===t&&(t=[]),this.findKeyCallback=e,this.list=[].slice.call(t)}return t.prototype.update=function(t){var e=[].slice.call(t),i=Ts(this.list,e,this.findKeyCallback);return this.list=e,i},t}(),Os=[{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:'\\"',close:'\\"'},{open:"\\'",close:"\\'"}],Rs=1e-7,Ns={cm:function(t){return 96*t/2.54},mm:function(t){return 96*t/254},in:function(t){return 96*t},pt:function(t){return 96*t/72},pc:function(t){return 96*t/6},"%":function(t,e){return t*e/100},vw:function(t,e){return void 0===e&&(e=window.innerWidth),t/100*e},vh:function(t,e){return void 0===e&&(e=window.innerHeight),t/100*e},vmax:function(t,e){return void 0===e&&(e=Math.max(window.innerWidth,window.innerHeight)),t/100*e},vmin:function(t,e){return void 0===e&&(e=Math.min(window.innerWidth,window.innerHeight)),t/100*e}};function Bs(t){return void 0===t}function Is(t){return t&&"object"==typeof t}function $s(t){return Array.isArray(t)}function Ds(t){return"string"==typeof t}function Hs(t){return"function"==typeof t}function zs(t,e,i,n,o){return Ps(t,e,i)?i:function(t,e,i,n,o){for(var r,s=function(i){var s=e[i].trim();if(s===t.close&&!Ps(t,e,i))return{value:i};var a=i,l=Ks(o,(function(t){return t.open===s}));if(l&&(a=zs(l,e,i,n,o)),-1===a)return r=i,"break";r=i=a},a=i;a<n;++a){var l=s(a);if(a=r,"object"==typeof l)return l.value;if("break"===l)break}return-1}(t,e,i+1,n,o)}function Ps(t,e,i){if(!t.ignore)return null;var n=e.slice(Math.max(i-3,0),i+3).join("");return new RegExp(t.ignore).exec(n)}function Fs(t,e){var i=Ds(e)?{separator:e}:e,n=i.separator,o=void 0===n?",":n,r=i.isSeparateFirst,s=i.isSeparateOnlyOpenClose,a=i.isSeparateOpenClose,l=void 0===a?s:a,d=i.openCloseCharacters,c=void 0===d?Os:d,u=c.map((function(t){var e=t.open,i=t.close;return e===i?e:e+"|"+i})).join("|"),p=new RegExp("(\\s*"+o+"\\s*|"+u+"|\\s+)","g"),h=t.split(p).filter(Boolean),v=h.length,f=[],g=[];function m(){return!!g.length&&(f.push(g.join("")),g=[],!0)}for(var b,y=function(t){var e=h[t].trim(),i=t,n=Ks(c,(function(t){return t.open===e})),a=Ks(c,(function(t){return t.close===e}));if(n){if(-1!==(i=zs(n,h,t,v,c))&&l)return m()&&r?(b=t,"break"):(f.push(h.slice(t,i+1).join("")),t=i,r?(b=t,"break"):(b=t,"continue"))}else{if(a&&!Ps(a,h,t))throw new Error("invalid format: "+a.close);if(function(t,e){return(""===e||" "==e)&&(""===t||" "==t)||t===e}(e,o)&&!s)return m(),r?(b=t,"break"):(b=t,"continue")}-1===i&&(i=v-1),g.push(h.slice(t,i+1).join("")),b=t=i},x=0;x<v;++x){var _=y(x);if(x=b,"break"===_)break}return g.length&&f.push(g.join("")),f}function Us(t){return Fs(t,"")}function Ws(t){return Fs(t,",")}function js(t){var e=/([^(]*)\(([\s\S]*)\)([\s\S]*)/g.exec(t);return!e||e.length<4?{}:{prefix:e[1],value:e[2],suffix:e[3]}}function Gs(t){var e=/^([^\d|e|\-|\+]*)((?:\d|\.|-|e-|e\+)+)(\S*)$/g.exec(t);if(!e)return{prefix:"",unit:"",value:NaN};var i=e[1],n=e[2];return{prefix:i,unit:e[3],value:parseFloat(n)}}function Xs(t,e){return void 0===e&&(e="-"),t.replace(/([a-z])([A-Z])/g,(function(t,i,n){return""+i+e+n.toLowerCase()}))}function Ys(){return Date.now?Date.now():(new Date).getTime()}function Vs(t,e,i){void 0===i&&(i=-1);for(var n=t.length,o=0;o<n;++o)if(e(t[o],o,t))return o;return i}function Ks(t,e,i){var n=Vs(t,e);return n>-1?t[n]:i}function Zs(t){if(Object.keys)return Object.keys(t);var e=[];for(var i in e)e.push(i);return e}function Qs(t,e){var i=Gs(t),n=i.value,o=i.unit;if(Is(e)){var r=e[o];if(r){if(Hs(r))return r(n);if(Ns[o])return Ns[o](n,r)}}else if("%"===o)return n*e/100;return Ns[o]?Ns[o](n):n}function Js(t,e,i){return[[ra(e[0],Rs),ra(e[0]*t[1]/t[0],Rs)],[ra(e[1]*t[0]/t[1],Rs),ra(e[1],Rs)]].filter((function(t){return t.every((function(t,n){return i?t<=e[n]:t>=e[n]}))}))[0]||t}function ta(t,e,i,n){if(!n)return t.map((function(t,n){return function(t,e,i){return Math.max(e,Math.min(t,i))}(t,e[n],i[n])}));var o=t[0],r=t[1],s=Js(t,e,!1),a=s[0],l=s[1],d=Js(t,i,!0),c=d[0],u=d[1];return o<a||r<l?(o=a,r=l):(o>c||r>u)&&(o=c,r=u),[o,r]}function ea(t){for(var e=t.length,i=0,n=e-1;n>=0;--n)i+=t[n];return e?i/e:0}function ia(t,e){var i=e[0]-t[0],n=e[1]-t[1],o=Math.atan2(n,i);return o>=0?o:o+2*Math.PI}function na(t){var e=function(t){return[0,1].map((function(e){return ea(t.map((function(t){return t[e]})))}))}(t),i=ia(e,t[0]),n=ia(e,t[1]);return i<n&&n-i<Math.PI||i>n&&n-i<-Math.PI?1:-1}function oa(t,e){return Math.sqrt(Math.pow((e?e[0]:0)-t[0],2)+Math.pow((e?e[1]:0)-t[1],2))}function ra(t,e){return e?Math.round(t/e)*e:t}function sa(t,e){return t.forEach((function(i,n){t[n]=ra(t[n],e)})),t}function aa(t,e){return t.classList?t.classList.contains(e):!!t.className.match(new RegExp("(\\s|^)"+e+"(\\s|$)"))}function la(t,e,i,n){t.addEventListener(e,i,n)}function da(t,e,i,n){t.removeEventListener(e,i,n)}
|
|
17
|
+
/*! *****************************************************************************
|
|
18
|
+
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
19
|
+
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
20
|
+
this file except in compliance with the License. You may obtain a copy of the
|
|
21
|
+
License at http://www.apache.org/licenses/LICENSE-2.0
|
|
22
|
+
|
|
23
|
+
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
24
|
+
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
|
|
25
|
+
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
|
|
26
|
+
MERCHANTABLITY OR NON-INFRINGEMENT.
|
|
27
|
+
|
|
28
|
+
See the Apache Version 2.0 License for specific language governing permissions
|
|
29
|
+
and limitations under the License.
|
|
30
|
+
***************************************************************************** */var ca=function(t,e){return(ca=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(t,e)};function ua(t,e){function i(){this.constructor=t}ca(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}var pa=function(){return(pa=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++)for(var o in e=arguments[i])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)};function ha(t,e){var i={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(i[n]=t[n]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(t);o<n.length;o++)e.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(t,n[o])&&(i[n[o]]=t[n[o]])}return i}function va(t,e){if(t===e)return!1;for(var i in t)if(!(i in e))return!0;for(var i in e)if(t[i]!==e[i])return!0;return!1}function fa(t,e){var i=Object.keys(t),n=Object.keys(e),o=Ts(i,n,(function(t){return t})),r={},s={},a={};return o.added.forEach((function(t){var i=n[t];r[i]=e[i]})),o.removed.forEach((function(e){var n=i[e];s[n]=t[n]})),o.maintained.forEach((function(n){var o=n[0],r=i[o],s=[t[r],e[r]];t[r]!==e[r]&&(a[r]=s)})),{added:r,removed:s,changed:a}}function ga(t){t.forEach((function(t){t()}))}function ma(t){var e=0;return t.map((function(t){return null==t?"$compat"+ ++e:""+t}))}function ba(t,e,i,n){return Ds(t)||"number"==typeof t?new ka("text_"+t,e,i,n,null,{}):new("string"==typeof t.type?Ea:t.type.prototype.render?Ma:qa)(t.type,e,i,n,t.ref,t.props)}function ya(t){var e=[];return t.forEach((function(t){e=e.concat($s(t)?ya(t):t)})),e}function xa(t){var e=t.className,i=ha(t,["className"]);return null!=e&&(i.class=e),delete i.style,delete i.children,i}function _a(t,e){if(!e)return t;for(var i in e)Bs(t[i])&&(t[i]=e[i]);return t}function wa(t,e){for(var i=[],n=2;n<arguments.length;n++)i[n-2]=arguments[n];var o=e||{},r=o.key,s=o.ref,a=ha(o,["key","ref"]);return{type:t,key:r,ref:s,props:pa(pa({},a),{children:ya(i).filter((function(t){return null!=t&&!1!==t}))})}}var Sa=function(){function t(t,e,i,n,o,r){void 0===r&&(r={}),this.type=t,this.key=e,this.index=i,this.container=n,this.ref=o,this.props=r,this._providers=[]}var e=t.prototype;return e._should=function(t,e){return!0},e._update=function(t,e,i,n){if(this.base&&!Ds(e)&&!n&&!this._should(e.props,i))return!1;this.original=e,this._setState(i);var o=this.props;return Ds(e)||(this.props=e.props,this.ref=e.ref),this._render(t,this.base?o:{},i),!0},e._mounted=function(){var t=this.ref;t&&t(this.base)},e._setState=function(t){},e._updated=function(){var t=this.ref;t&&t(this.base)},e._destroy=function(){var t=this.ref;t&&t(null)},t}();function Ca(t){var e={},i={};for(var n in t)0===n.indexOf("on")?i[n.replace("on","").toLowerCase()]=t[n]:e[n]=t[n];return{attributes:e,events:i}}var ka=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}ua(e,t);var i=e.prototype;return i._render=function(t){var e=this,i=!this.base;return i&&(this.base=document.createTextNode(this.type.replace("text_",""))),t.push((function(){i?e._mounted():e._updated()})),!0},i._unmount=function(){this.base.parentNode.removeChild(this.base)},e}(Sa),Ea=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.events={},e._isSVG=!1,e}ua(e,t);var i=e.prototype;return i.addEventListener=function(t,e){var i=this.events;i[t]=function(t){t.nativeEvent=t,e(t)},this.base.addEventListener(t,i[t])},i.removeEventListener=function(t){var e=this.events;this.base.removeEventListener(t,e[t]),delete e[t]},i._should=function(t){return va(this.props,t)},i._render=function(t,e){var i=this,n=!this.base;if(n){var o=this._hasSVG();this._isSVG=o;var r=this.props.portalContainer;if(!r){var s=this.type;r=o?document.createElementNS("http://www.w3.org/2000/svg",s):document.createElement(s)}this.base=r}Ia(this,this._providers,this.props.children,t,null);var a=this.base,l=Ca(e),d=l.attributes,c=l.events,u=Ca(this.props),p=u.attributes,h=u.events;return function(t,e,i){var n=fa(t,e),o=n.added,r=n.removed,s=n.changed;for(var a in o)i.setAttribute(a,o[a]);for(var a in s)i.setAttribute(a,s[a][1]);for(var a in r)i.removeAttribute(a)}(xa(d),xa(p),a),function(t,e,i){var n=fa(t,e),o=n.added,r=n.removed,s=n.changed;for(var a in r)i.removeEventListener(a);for(var a in o)i.addEventListener(a,o[a]);for(var a in s)i.removeEventListener(a),i.addEventListener(a,s[a][1]);for(var a in r)i.removeEventListener(a)}(c,h,this),function(t,e,i){var n=i.style,o=fa(t,e),r=o.added,s=o.removed,a=o.changed;for(var l in r){var d=Xs(l,"-");n.setProperty?n.setProperty(d,r[l]):n[d]=r[l]}for(var l in a)d=Xs(l,"-"),n.setProperty?n.setProperty(d,a[l][1]):n[d]=a[l][1];for(var l in s)d=Xs(l,"-"),n.removeProperty?n.removeProperty(d):n[d]=""}(e.style||{},this.props.style||{},a),t.push((function(){n?i._mounted():i._updated()})),!0},i._unmount=function(){var t=this.events,e=this.base;for(var i in t)e.removeEventListener(i,t[i]);this._providers.forEach((function(t){t._unmount()})),this.events={},this.props.portalContainer||e.parentNode.removeChild(e)},i._hasSVG=function(){if(this._isSVG||"svg"===this.type)return!0;var t=La(this.container);return t&&"ownerSVGElement"in t},e}(Sa);function La(t){if(!t)return null;var e=t.base;return e instanceof Node?e:La(t.container)}function Aa(t){if(!t)return null;if(t instanceof Node)return t;var e=t.$_provider._providers;return e.length?Aa(e[0].base):null}var qa=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}ua(e,t);var i=e.prototype;return i._render=function(t){var e=this.type(this.props);return Ia(this,this._providers,e?[e]:[],t),!0},i._unmount=function(){this._providers.forEach((function(t){t._unmount()}))},e}(Sa),Ta=function(t){function e(e){var i=t.call(this,"container","container",0,null)||this;return i.base=e,i}ua(e,t);var i=e.prototype;return i._render=function(){return!0},i._unmount=function(){},e}(Sa),Ma=function(t){function e(e,i,n,o,r,s){return void 0===s&&(s={}),t.call(this,e,i,n,o,r,_a(s,e.defaultProps))||this}ua(e,t);var i=e.prototype;return i._should=function(t,e){return this.base.shouldComponentUpdate(_a(t,this.type.defaultProps),e||this.base.state)},i._render=function(t,e,i){var n=this;this.props=_a(this.props,this.type.defaultProps);var o=!this.base;o?(this.base=new this.type(this.props),this.base.$_provider=this):this.base.props=this.props;var r=this.base,s=r.state,a=r.render();a&&a.props&&!a.props.children.length&&(a.props.children=this.props.children),Ia(this,this._providers,a?[a]:[],t,i,null),t.push((function(){o?(n._mounted(),r.componentDidMount()):(n._updated(),r.componentDidUpdate(e,s))}))},i._setState=function(t){t&&(this.base.state=t)},i._unmount=function(){this._providers.forEach((function(t){t._unmount()})),clearTimeout(this.base.$_timer),this.base.componentWillUnmount()},e}(Sa),Oa=function(){function t(t){void 0===t&&(t={}),this.props=t,this.state={},this.$_timer=0,this.$_state={}}var e=t.prototype;return e.shouldComponentUpdate=function(t,e){return!0},e.render=function(){return null},e.setState=function(t,e,i){var n=this;this.$_timer||(this.$_state={}),clearTimeout(this.$_timer),this.$_timer=0,this.$_state=pa(pa({},this.$_state),t),i?this.$_setState(e,i):this.$_timer=setTimeout((function(){n.$_timer=0,n.$_setState(e,i)}))},e.forceUpdate=function(t){this.setState({},t,!0)},e.componentDidMount=function(){},e.componentDidUpdate=function(t,e){},e.componentWillUnmount=function(){},e.$_setState=function(t,e){var i=[],n=this.$_provider;Ia(n.container,[n],[n.original],i,pa(pa({},this.state),this.$_state),e)&&(t&&i.push(t),ga(i))},t}(),Ra=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return ua(e,t),e.prototype.shouldComponentUpdate=function(t,e){return va(this.props,t)||va(this.state,e)},e}(Oa),Na=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}ua(e,t);var i=e.prototype;return i.componentDidMount=function(){var t=this.props,e=t.element,i=t.container;this._portalProvider=new Ta(i),$a(e,i,this._portalProvider)},i.componentDidUpdate=function(){var t=this.props;$a(t.element,t.container,this._portalProvider)},i.componentWillUnmount=function(){$a(null,this.props.container,this._portalProvider),this._portalProvider=null},e}(Ra);function Ba(t,e,i){var n=i.map((function(t){return Ds(t)?null:t.key})),o=Ts(ma(e.map((function(t){return t.key}))),ma(n),(function(t){return t}));o.removed.forEach((function(t){e.splice(t,1)[0]._unmount()})),o.ordered.forEach((function(t){var i=t[0],n=t[1],o=e.splice(i,1)[0];e.splice(n,0,o);var r=Aa(o.base),s=Aa(e[n+1]&&e[n+1].base);r&&r.parentNode.insertBefore(r,s)})),o.added.forEach((function(o){e.splice(o,0,ba(i[o],n[o],o,t))}));var r=o.maintained.filter((function(o){o[0];var r=o[1],s=i[r],a=e[r];return(Ds(s)?"text_"+s:s.type)!==a.type?(a._unmount(),e.splice(r,1,ba(s,n[r],r,t)),!0):(a.index=r,!1)}));return function(){for(var t=0,e=0,i=arguments.length;e<i;e++)t+=arguments[e].length;var n=Array(t),o=0;for(e=0;e<i;e++)for(var r=arguments[e],s=0,a=r.length;s<a;s++,o++)n[o]=r[s];return n}(o.added,r.map((function(t){return t[0],t[1]})))}function Ia(t,e,i,n,o,r){var s=Ba(t,e,i),a=e.filter((function(t,e){return t._update(n,i[e],o,r)})),l=La(t);return l&&s.reverse().forEach((function(i){var n=e[i],o=Aa(n.base);if(o&&l!==o&&!o.parentNode){var r=function(t,e){for(var i=t._providers,n=i.length,o=e.index+1;o<n;++o){var r=Aa(i[o].base);if(r)return r}return null}(t,n);l.insertBefore(o,r)}})),a.length>0}function $a(t,e,i){void 0===i&&(i=e.__REACT_COMPAT__);var n=!!i;return i||(i=new Ta(e)),function(t,e,i){var n=[];Ia(t,t._providers,e,n,i),ga(n)}(i,t?[t]:[]),n||(e.__REACT_COMPAT__=i),i}function Da(t,e,i){var n=e.__REACT_COMPAT__;t&&!n&&(e.innerHTML=""),$a(t,e,n),i&&i()}function Ha(t,e){for(var i=t.length,n=0;n<i;++n)if(e(t[n],n))return!0;return!1}function za(t,e){for(var i=t.length,n=0;n<i;++n)if(e(t[n],n))return t[n];return null}function Pa(t,e){try{return new RegExp(t,"g").exec(e)}catch(t){return null}}function Fa(t){return t.replace(/_/g,".")}function Ua(t,e){var i=null,n="-1";return Ha(t,(function(t){var o=Pa("("+t.test+")((?:\\/|\\s|:)([0-9|\\.|_]+))?",e);return!(!o||t.brand)&&(i=t,n=o[3]||"-1",t.versionAlias?n=t.versionAlias:t.versionTest&&(n=function(t,e){var i=Pa("("+t+")((?:\\/|\\s|:)([0-9|\\.|_]+))",e);return i?i[3]:""}(t.versionTest.toLowerCase(),e)||n),n=Fa(n),!0)})),{preset:i,version:n}}function Wa(t,e){var i={brand:"",version:"-1"};return Ha(t,(function(t){var n=ja(e,t);return!!n&&(i.brand=t.id,i.version=t.versionAlias||n.version,"-1"!==i.version)})),i}function ja(t,e){return za(t,(function(t){var i=t.brand;return Pa(""+e.test,i.toLowerCase())}))}var Ga=[{test:"phantomjs",id:"phantomjs"},{test:"whale",id:"whale"},{test:"edgios|edge|edg",id:"edge"},{test:"msie|trident|windows phone",id:"ie",versionTest:"iemobile|msie|rv"},{test:"miuibrowser",id:"miui browser"},{test:"samsungbrowser",id:"samsung internet"},{test:"samsung",id:"samsung internet",versionTest:"version"},{test:"chrome|crios",id:"chrome"},{test:"firefox|fxios",id:"firefox"},{test:"android",id:"android browser",versionTest:"version"},{test:"safari|iphone|ipad|ipod",id:"safari",versionTest:"version"}],Xa=[{test:"(?=.*applewebkit/(53[0-7]|5[0-2]|[0-4]))(?=.*\\schrome)",id:"chrome",versionTest:"chrome"},{test:"chromium",id:"chrome"},{test:"whale",id:"chrome",versionAlias:"-1",brand:!0}],Ya=[{test:"applewebkit",id:"webkit",versionTest:"applewebkit|safari"}],Va=[{test:"(?=(iphone|ipad))(?!(.*version))",id:"webview"},{test:"(?=(android|iphone|ipad))(?=.*(naver|daum|; wv))",id:"webview"},{test:"webview",id:"webview"}],Ka=[{test:"windows phone",id:"windows phone"},{test:"windows 2000",id:"window",versionAlias:"5.0"},{test:"windows nt",id:"window"},{test:"iphone|ipad|ipod",id:"ios",versionTest:"iphone os|cpu os"},{test:"mac os x",id:"mac"},{test:"android",id:"android"},{test:"tizen",id:"tizen"},{test:"webos|web0s",id:"webos"}];function Za(t){var e=function(t){var e=t;if(void 0===e){if("undefined"==typeof navigator||!navigator)return"";e=navigator.userAgent||""}return e.toLowerCase()}(t),i=!!/mobi/g.exec(e),n={name:"unknown",version:"-1",majorVersion:-1,webview:!!Ua(Va,e).preset,chromium:!1,chromiumVersion:"-1",webkit:!1,webkitVersion:"-1"},o={name:"unknown",version:"-1",majorVersion:-1},r=Ua(Ga,e),s=r.preset,a=r.version,l=Ua(Ka,e),d=l.preset,c=l.version,u=Ua(Xa,e);if(n.chromium=!!u.preset,n.chromiumVersion=u.version,!n.chromium){var p=Ua(Ya,e);n.webkit=!!p.preset,n.webkitVersion=p.version}return d&&(o.name=d.id,o.version=c,o.majorVersion=parseInt(c,10)),s&&(n.name=s.id,n.version=a,n.webview&&"ios"===o.name&&"safari"!==n.name&&(n.webview=!1)),n.majorVersion=parseInt(n.version,10),{browser:n,os:o,isMobile:i,isHints:!1}}function Qa(t,e,i,n,o,r){for(var s=0;s<o;++s){var a=i+s*o,l=n+s*o;t[a]+=t[l]*r,e[a]+=e[l]*r}}function Ja(t,e,i,n,o){for(var r=0;r<o;++r){var s=i+r*o,a=n+r*o,l=t[s],d=e[s];t[s]=t[a],t[a]=l,e[s]=e[a],e[a]=d}}function tl(t,e,i,n,o){for(var r=0;r<n;++r){var s=i+r*n;t[s]/=o,e[s]/=o}}function el(t,e,i){void 0===i&&(i=Math.sqrt(t.length));for(var n=t.slice(),o=0;o<i;++o)n[o*i+e-1]=0,n[(e-1)*i+o]=0;return n[(e-1)*(i+1)]=1,n}function il(t,e){void 0===e&&(e=Math.sqrt(t.length));for(var i=t.slice(),n=yl(e),o=0;o<e;++o){var r=e*o+o;if(!ra(i[r],Rs))for(var s=o+1;s<e;++s)if(i[e*o+s]){Ja(i,n,o,s,e);break}if(!ra(i[r],Rs))return[];tl(i,n,o,e,i[r]);for(s=0;s<e;++s){var a=s,l=i[s+o*e];ra(l,Rs)&&o!==s&&Qa(i,n,a,o,e,-l)}}return n}function nl(t,e){for(var i=t.slice(),n=t.length;n<e-1;++n)i[n]=0;return i[e-1]=1,i}function ol(t,e,i){if(void 0===e&&(e=Math.sqrt(t.length)),e===i)return t;for(var n=yl(i),o=Math.min(e,i),r=0;r<o-1;++r){for(var s=0;s<o-1;++s)n[r*i+s]=t[r*e+s];n[(r+1)*i-1]=t[(r+1)*e-1],n[(i-1)*i+r]=t[(e-1)*e+r]}return n[i*i-1]=t[e*e-1],n}function rl(t){for(var e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i];var n=yl(t);return e.forEach((function(e){n=sl(n,e,t)})),n}function sl(t,e,i){void 0===i&&(i=Math.sqrt(t.length));var n=[],o=t.length/i,r=e.length/o;if(!o)return e;if(!r)return t;for(var s=0;s<i;++s)for(var a=0;a<r;++a){n[a*i+s]=0;for(var l=0;l<o;++l)n[a*i+s]+=t[l*i+s]*e[a*o+l]}return n}function al(t,e){for(var i=Math.min(t.length,e.length),n=t.slice(),o=0;o<i;++o)n[o]=n[o]+e[o];return n}function ll(t,e){for(var i=Math.min(t.length,e.length),n=t.slice(),o=0;o<i;++o)n[o]=n[o]-e[o];return n}function dl(t,e){return void 0===e&&(e=9===t.length),e?[t[0],t[1],t[3],t[4],t[6],t[7]]:t}function cl(t,e,i){void 0===i&&(i=e.length);var n=sl(t,e,i),o=n[i-1];return n.map((function(t){return t/o}))}function ul(t,e){return sl(t,[1,0,0,0,0,Math.cos(e),Math.sin(e),0,0,-Math.sin(e),Math.cos(e),0,0,0,0,1],4)}function pl(t,e){return sl(t,[Math.cos(e),0,-Math.sin(e),0,0,1,0,0,Math.sin(e),0,Math.cos(e),0,0,0,0,1],4)}function hl(t,e){return sl(t,bl(e,4))}function vl(t,e){var i=e[0],n=void 0===i?1:i,o=e[1],r=void 0===o?1:o,s=e[2];return sl(t,[n,0,0,0,0,r,0,0,0,0,void 0===s?1:s,0,0,0,0,1],4)}function fl(t,e){return cl(bl(e,3),nl(t,3))}function gl(t,e){var i=e[0],n=void 0===i?0:i,o=e[1],r=void 0===o?0:o,s=e[2];return sl(t,[1,0,0,0,0,1,0,0,0,0,1,0,n,r,void 0===s?0:s,1],4)}function ml(t,e){return sl(t,e,4)}function bl(t,e){var i=Math.cos(t),n=Math.sin(t),o=yl(e);return o[0]=i,o[1]=n,o[e]=-n,o[e+1]=i,o}function yl(t){for(var e=t*t,i=[],n=0;n<e;++n)i[n]=n%(t+1)?0:1;return i}function xl(t,e){for(var i=yl(e),n=Math.min(t.length,e-1),o=0;o<n;++o)i[(e+1)*o]=t[o];return i}function _l(t,e){for(var i=yl(e),n=Math.min(t.length,e-1),o=0;o<n;++o)i[e*(e-1)+o]=t[o];return i}function wl(t,e,i,n,o,r,s,a){var l=t[0],d=t[1],c=e[0],u=e[1],p=i[0],h=i[1],v=n[0],f=n[1],g=o[0],m=o[1],b=r[0],y=r[1],x=s[0],_=s[1],w=a[0],S=a[1],C=il([l,0,c,0,p,0,v,0,d,0,u,0,h,0,f,0,1,0,1,0,1,0,1,0,0,l,0,c,0,p,0,v,0,d,0,u,0,h,0,f,0,1,0,1,0,1,0,1,-g*l,-m*l,-b*c,-y*c,-x*p,-_*p,-w*v,-S*v,-g*d,-m*d,-b*u,-y*u,-x*h,-_*h,-w*f,-S*f],8);if(!C.length)return[];var k=sl(C,[g,m,b,y,x,_,w,S],8);return k[8]=1,ol(function(t,e){void 0===e&&(e=Math.sqrt(t.length));for(var i=[],n=0;n<e;++n)for(var o=0;o<e;++o)i[o*e+n]=t[e*n+o];return i}(k),3,4)}function Sl(t){var e=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return t.forEach((function(t){var i=t.matrixFunction,n=t.functionValue;i&&(e=i(e,n))})),e}function Cl(t){return($s(t)?t:Us(t)).map((function(t){var e=js(t),i=e.prefix,n=e.value,o=null,r=i,s="";if("translate"===i||"translateX"===i||"translate3d"===i){var a=Ws(n).map((function(t){return parseFloat(t)})),l=a[0],d=a[1],c=void 0===d?0:d,u=a[2];o=gl,s=[l,c,void 0===u?0:u]}else if("translateY"===i){o=gl,s=[0,c=parseFloat(n),0]}else if("translateZ"===i){o=gl,s=[0,0,parseFloat(n)]}else if("scale"===i||"scale3d"===i){var p=Ws(n).map((function(t){return parseFloat(t)})),h=p[0],v=p[1],f=void 0===v?h:v,g=p[2];o=vl,s=[h,f,void 0===g?1:g]}else if("scaleX"===i){o=vl,s=[h=parseFloat(n),1,1]}else if("scaleY"===i){o=vl,s=[1,f=parseFloat(n),1]}else if("scaleZ"===i){o=vl,s=[1,1,parseFloat(n)]}else if("rotate"===i||"rotateZ"===i||"rotateX"===i||"rotateY"===i){var m=Gs(n),b=m.unit,y=m.value;"rotate"===i||"rotateZ"===i?(r="rotateZ",o=hl):"rotateX"===i?o=ul:"rotateY"===i&&(o=pl),s="rad"===b?y:y*Math.PI/180}else if("matrix3d"===i)o=ml,s=Ws(n).map((function(t){return parseFloat(t)}));else if("matrix"===i){var x=Ws(n).map((function(t){return parseFloat(t)}));o=ml,s=[x[0],x[1],0,0,x[2],x[3],0,0,0,0,1,0,x[4],x[5],0,1]}else r="";return{name:i,functionName:r,value:n,matrixFunction:o,functionValue:s}}))}
|
|
31
|
+
/*! *****************************************************************************
|
|
32
|
+
Copyright (c) Microsoft Corporation.
|
|
33
|
+
|
|
34
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
35
|
+
purpose with or without fee is hereby granted.
|
|
36
|
+
|
|
37
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
38
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
39
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
40
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
41
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
42
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
43
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
44
|
+
***************************************************************************** */function kl(t){return t.length<3?0:Math.abs(function(t){for(var e=0,i=t.length-1;i>=0;--i)e+=t[i];return e}(t.map((function(e,i){var n=t[i+1]||t[0];return e[0]*n[1]-n[0]*e[1]}))))/2}function El(t,e){var i=e.width,n=e.height,o=e.left,r=e.top,s=Ll(t),a=s.minX,l=s.minY,d=s.maxX,c=s.maxY,u=i/(d-a),p=n/(c-l);return t.map((function(t){return[o+(t[0]-a)*u,r+(t[1]-l)*p]}))}function Ll(t){var e=t.map((function(t){return t[0]})),i=t.map((function(t){return t[1]}));return{minX:Math.min.apply(Math,e),minY:Math.min.apply(Math,i),maxX:Math.max.apply(Math,e),maxY:Math.max.apply(Math,i)}}function Al(t,e,i){var n=t[0],o=t[1],r=Ll(e),s=r.minX,a=r.minY,l=r.maxX,d=r.maxY,c=[[s,o],[l,o]],u=[[n,a],[n,d]],p=ql(c[0],c[1]),h=ql(u[0],u[1]),v=Ol(e),f=[],g=[];return v.forEach((function(t){var e=ql(t[0],t[1]),i=Ml(Tl(p,e),[c,t]),r=Ml(Tl(h,e),[u,t]);1===i.length&&t[0][1]===o||f.push.apply(f,i),1===r.length&&t[0][0]===n||g.push.apply(g,r),e[0]||f.push.apply(f,i),e[1]||g.push.apply(g,r)})),!i&&(Vs(f,(function(t){return t[0]===n}))>-1||Vs(g,(function(t){return t[1]===o}))>-1)||!!(f.filter((function(t){return t[0]>n})).length%2&&g.filter((function(t){return t[1]>o})).length%2)}function ql(t,e){var i=t[0],n=t[1],o=e[0],r=e[1];if(i===o&&n===r)return[0,0,0];if(i===o)return[1,0,-i];if(n===r)return[0,1,-n];var s=(o-i)/(n-r);return[1,s,-i-s*n]}function Tl(t,e){var i,n,o=t[0],r=t[1],s=t[2],a=e[0],l=e[1],d=e[2],c=0===o&&0===a,u=0===r&&0===l;if(c&&u)return[];if(c){var p=-s/r;return p!==-d/l?[]:[[-1/0,p],[1/0,p]]}if(u){var h=-s/o;return h!==-d/a?[]:[[h,-1/0],[h,1/0]]}return 0===o?[[i=-(l*(n=-s/r)+d)/a,n]]:0===a?[[i=-(r*(n=-d/l)+s)/o,n]]:0===r?[[i=-s/o,n=-(a*i+d)/l]]:0===l?[[i=-d/a,n=-(o*i+s)/r]]:[[i=(r*d-l*s)/(l*o-r*a),n=-(o*i+s)/r]]}function Ml(t,e){var i=e.map((function(t){return[0,1].map((function(e){return[Math.min(t[0][e],t[1][e]),Math.max(t[0][e],t[1][e])]}))}));if(2===t.length){var n=t[0],o=n[0],r=n[1];if(o===t[1][0]){var s=Math.max.apply(Math,i.map((function(t){return t[1][0]}))),a=Math.min.apply(Math,i.map((function(t){return t[1][1]})));return s>a?[]:[[o,s],[o,a]]}if(r===t[1][1]){var l=Math.max.apply(Math,i.map((function(t){return t[0][0]}))),d=Math.min.apply(Math,i.map((function(t){return t[0][1]})));return l>d?[]:[[l,r],[d,r]]}}return t.filter((function(t){return i.every((function(e){return e[0][0]<=t[0]&&t[0]<=e[0][1]&&e[1][0]<=t[1]&&t[1]<=e[1][1]}))}))}function Ol(t){return function(){for(var t=0,e=0,i=arguments.length;e<i;e++)t+=arguments[e].length;var n=Array(t),o=0;for(e=0;e<i;e++)for(var r=arguments[e],s=0,a=r.length;s<a;s++,o++)n[o]=r[s];return n}(t.slice(1),[t[0]]).map((function(e,i){return[t[i],e]}))}function Rl(t,e){return kl(function(t,e){var i=t.slice(),n=e.slice();-1===na(i)&&i.reverse(),-1===na(n)&&n.reverse();var o=Ol(i),r=Ol(n),s=o.map((function(t){return ql(t[0],t[1])})),a=r.map((function(t){return ql(t[0],t[1])})),l=[];s.forEach((function(t,e){var i=o[e],s=[];a.forEach((function(n,o){var a=Ml(Tl(t,n),[i,r[o]]);s.push.apply(s,a.map((function(t){return{index1:e,index2:o,pos:t}})))})),s.sort((function(t,e){return oa(i[0],t.pos)-oa(i[0],e.pos)})),l.push.apply(l,s),Al(i[1],n)&&l.push({index1:e,index2:-1,pos:i[1]})})),r.forEach((function(t,e){if(Al(t[1],i)){var n=!1,o=Vs(l,(function(t){return t.index2===e?(n=!0,!1):!!n}));-1===o&&(n=!1,o=Vs(l,(function(t){var i=t.index1,o=t.index2;return-1===i&&o+1===e?(n=!0,!1):!!n}))),-1===o?l.push({index1:-1,index2:e,pos:t[1]}):l.splice(o,0,{index1:-1,index2:e,pos:t[1]})}}));var d=l.map((function(t){return t.pos})),c={};return d.filter((function(t){var e=t[0]+"x"+t[1];return!c[e]&&(c[e]=!0,!0)}))}(t,e))}
|
|
45
|
+
/*! *****************************************************************************
|
|
46
|
+
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
47
|
+
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
48
|
+
this file except in compliance with the License. You may obtain a copy of the
|
|
49
|
+
License at http://www.apache.org/licenses/LICENSE-2.0
|
|
50
|
+
|
|
51
|
+
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
52
|
+
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
|
|
53
|
+
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
|
|
54
|
+
MERCHANTABLITY OR NON-INFRINGEMENT.
|
|
55
|
+
|
|
56
|
+
See the Apache Version 2.0 License for specific language governing permissions
|
|
57
|
+
and limitations under the License.
|
|
58
|
+
***************************************************************************** */var Nl=function(t,e){return(Nl=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(t,e)};var Bl,Il="function"==typeof Map?void 0:(Bl=0,function(t){return t.__DIFF_KEY__||(t.__DIFF_KEY__=++Bl)});var $l=function(t){function e(e){return void 0===e&&(e=[]),t.call(this,e,Il)||this}return function(t,e){function i(){this.constructor=t}Nl(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}(e,t),e}(Ms),Dl=function(){return(Dl=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++)for(var o in e=arguments[i])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)};
|
|
59
|
+
/*! *****************************************************************************
|
|
60
|
+
Copyright (c) Microsoft Corporation.
|
|
61
|
+
|
|
62
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
63
|
+
purpose with or without fee is hereby granted.
|
|
64
|
+
|
|
65
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
66
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
67
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
68
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
69
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
70
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
71
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
72
|
+
***************************************************************************** */var Hl=function(){function t(){this._events={}}var e=t.prototype;return e.on=function(t,e){if(Is(t))for(var i in t)this.on(i,t[i]);else this._addEvent(t,e,{});return this},e.off=function(t,e){if(t)if(Is(t))for(var i in t)this.off(i);else if(e){var n=this._events[t];if(n){var o=Vs(n,(function(t){return t.listener===e}));o>-1&&n.splice(o,1)}}else this._events[t]=[];else this._events={};return this},e.once=function(t,e){var i=this;return e&&this._addEvent(t,e,{once:!0}),new Promise((function(e){i._addEvent(t,e,{once:!0})}))},e.emit=function(t,e){var i=this;void 0===e&&(e={});var n=this._events[t];if(!t||!n)return!0;var o=!1;return e.eventType=t,e.stop=function(){o=!0},e.currentTarget=this,function(){for(var t=0,e=0,i=arguments.length;e<i;e++)t+=arguments[e].length;var n=Array(t),o=0;for(e=0;e<i;e++)for(var r=arguments[e],s=0,a=r.length;s<a;s++,o++)n[o]=r[s];return n}(n).forEach((function(n){n.listener(e),n.once&&i.off(t,n.listener)})),!o},e.trigger=function(t,e){return void 0===e&&(e={}),this.emit(t,e)},e._addEvent=function(t,e,i){var n=this._events;n[t]=n[t]||[],n[t].push(Dl({listener:e},i))},t}(),zl=function(t,e){return(zl=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(t,e)};function Pl(t){var e=t.container;return e===document.body?[e.scrollLeft||document.documentElement.scrollLeft,e.scrollTop||document.documentElement.scrollTop]:[e.scrollLeft,e.scrollTop]}var Fl=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.startRect=null,e.startPos=[],e.prevTime=0,e.timer=0,e}!function(t,e){function i(){this.constructor=t}zl(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}(e,t);var i=e.prototype;return i.dragStart=function(t,e){var i=e.container,n=0,o=0,r=0,s=0;if(i===document.body)r=window.innerWidth,s=window.innerHeight;else{var a=i.getBoundingClientRect();n=a.top,o=a.left,r=a.width,s=a.height}this.startPos=[t.clientX,t.clientY],this.startRect={top:n,left:o,width:r,height:s}},i.drag=function(t,e){var i=this,n=t.clientX,o=t.clientY,r=e.container,s=e.threshold,a=void 0===s?0:s,l=e.throttleTime,d=void 0===l?0:l,c=e.getScrollPosition,u=void 0===c?Pl:c,p=this.startRect,h=this.startPos,v=Ys(),f=Math.max(d+this.prevTime-v,0),g=[0,0];if(p.top>o-a?(h[1]>p.top||o<h[1])&&(g[1]=-1):p.top+p.height<o+a&&(h[1]<p.top+p.height||o>h[1])&&(g[1]=1),p.left>n-a?(h[0]>p.left||n<h[0])&&(g[0]=-1):p.left+p.width<n+a&&(h[0]<p.left+p.width||n>h[0])&&(g[0]=1),clearTimeout(this.timer),!g[0]&&!g[1])return!1;if(f>0)return this.timer=window.setTimeout((function(){i.drag(t,e)}),f),!1;this.prevTime=v;var m=u({container:r,direction:g});this.trigger("scroll",{container:r,direction:g,inputEvent:t});var b=u({container:r,direction:g}),y=b[0]-m[0],x=b[1]-m[1];return!(!y&&!x)&&(this.trigger("move",{offsetX:g[0]?y:0,offsetY:g[1]?x:0,inputEvent:t}),d&&(this.timer=window.setTimeout((function(){i.drag(t,e)}),d)),!0)},i.dragEnd=function(){clearTimeout(this.timer)},e}(Hl),Ul=function(t,e){return(Ul=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(t,e)};var Wl=function(){return(Wl=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++)for(var o in e=arguments[i])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)};function jl(t){return 180*(e=[t[0].clientX,t[0].clientY],i=[t[1].clientX,t[1].clientY],n=i[0]-e[0],o=i[1]-e[1],((r=Math.atan2(o,n))>=0?r:r+2*Math.PI)/Math.PI);var e,i,n,o,r}function Gl(t){return t.touches?function(t){for(var e=Math.min(t.length,2),i=[],n=0;n<e;++n)i.push(Vl(t[n]));return i}(t.touches):[Vl(t)]}function Xl(t,e,i){var n=i.length,o=Kl(t,n),r=o.clientX,s=o.clientY,a=o.originalClientX,l=o.originalClientY,d=Kl(e,n),c=d.clientX,u=d.clientY,p=Kl(i,n);return{clientX:a,clientY:l,deltaX:r-c,deltaY:s-u,distX:r-p.clientX,distY:s-p.clientY}}function Yl(t){return Math.sqrt(Math.pow(t[0].clientX-t[1].clientX,2)+Math.pow(t[0].clientY-t[1].clientY,2))}function Vl(t){return{clientX:t.clientX,clientY:t.clientY}}function Kl(t,e){void 0===e&&(e=t.length);for(var i={clientX:0,clientY:0,originalClientX:0,originalClientY:0},n=0;n<e;++n){var o=t[n];i.originalClientX+="originalClientX"in o?o.originalClientX:o.clientX,i.originalClientY+="originalClientY"in o?o.originalClientY:o.clientY,i.clientX+=o.clientX,i.clientY+=o.clientY}return e?{clientX:i.clientX/e,clientY:i.clientY/e,originalClientX:i.originalClientX/e,originalClientY:i.originalClientY/e}:i}var Zl=function(){function t(t){this.prevClients=[],this.startClients=[],this.movement=0,this.length=0,this.startClients=t,this.prevClients=t,this.length=t.length}var e=t.prototype;return e.addClients=function(t){void 0===t&&(t=this.prevClients);var e=this.getPosition(t),i=e.deltaX,n=e.deltaY;return this.movement+=Math.sqrt(i*i+n*n),this.prevClients=t,e},e.getAngle=function(t){return void 0===t&&(t=this.prevClients),jl(t)},e.getRotation=function(t){return void 0===t&&(t=this.prevClients),jl(t)-jl(this.startClients)},e.getPosition=function(t){return Xl(t||this.prevClients,this.prevClients,this.startClients)},e.getPositions=function(t){void 0===t&&(t=this.prevClients);var e=this.prevClients;return this.startClients.map((function(i,n){return Xl([t[n]],[e[n]],[i])}))},e.getMovement=function(t){var e=this.movement;if(!t)return e;var i=Kl(t,this.length),n=Kl(this.prevClients,this.length),o=i.clientX-n.clientX,r=i.clientY-n.clientY;return Math.sqrt(o*o+r*r)+e},e.getDistance=function(t){return void 0===t&&(t=this.prevClients),Yl(t)},e.getScale=function(t){return void 0===t&&(t=this.prevClients),Yl(t)/Yl(this.startClients)},e.move=function(t,e){this.startClients.forEach((function(i){i.clientX-=t,i.clientY-=e})),this.prevClients.forEach((function(i){i.clientX-=t,i.clientY-=e}))},t}(),Ql=["textarea","input"],Jl=function(t){function e(e,i){void 0===i&&(i={});var n=t.call(this)||this;n.options={},n.flag=!1,n.pinchFlag=!1,n.datas={},n.isDrag=!1,n.isPinch=!1,n.isMouse=!1,n.isTouch=!1,n.clientStores=[],n.targets=[],n.prevTime=0,n.doubleFlag=!1,n.onDragStart=function(t,e){if(void 0===e&&(e=!0),n.flag||!1!==t.cancelable){var i=n.options,o=i.container,r=i.pinchOutside,s=i.preventRightClick,a=i.preventDefault,l=i.checkInput,d=n.isTouch,c=!n.flag;if(c){var u=document.activeElement,p=t.target,h=p.tagName.toLowerCase(),v=Ql.indexOf(h)>-1,f=p.isContentEditable;if(v||f){if(l||u===p)return!1;if(u&&f&&u.isContentEditable&&u.contains(p))return!1}else if((a||"touchstart"===t.type)&&u){var g=u.tagName;(u.isContentEditable||Ql.indexOf(g)>-1)&&u.blur()}if(n.clientStores=[new Zl(Gl(t))],n.flag=!0,n.isDrag=!1,n.datas={},s&&(3===t.which||2===t.button))return n.initDrag(),!1;n.doubleFlag=Ys()-n.prevTime<200,!1===n.emit("dragStart",Wl({datas:n.datas,inputEvent:t,isTrusted:e,isDouble:n.doubleFlag},n.getCurrentStore().getPosition()))&&n.initDrag(),n.flag&&a&&t.preventDefault()}if(!n.flag)return!1;var m=0;if(c&&d&&r&&(m=setTimeout((function(){la(o,"touchstart",n.onDragStart,{passive:!1})}))),!c&&d&&r&&da(o,"touchstart",n.onDragStart),n.flag&&function(t){return t.touches&&t.touches.length>=2}(t)){if(clearTimeout(m),c&&t.touches.length!==t.changedTouches.length)return;n.pinchFlag||n.onPinchStart(t)}}},n.onDrag=function(t,e){if(n.flag){var i=Gl(t),o=n.moveClients(i,t,!1);(n.pinchFlag||o.deltaX||o.deltaY)&&n.emit("drag",Wl({},o,{isScroll:!!e,inputEvent:t})),n.pinchFlag&&n.onPinch(t,i),n.getCurrentStore().addClients(i)}},n.onDragEnd=function(t){if(n.flag){var e=n.options,i=e.pinchOutside,o=e.container;n.isTouch&&i&&da(o,"touchstart",n.onDragStart),n.flag=!1;var r=n.getCurrentStore().getPosition(),s=Ys(),a=!n.isDrag&&n.doubleFlag;n.prevTime=n.isDrag||a?0:s,n.emit("dragEnd",Wl({datas:n.datas,isDouble:a,isDrag:n.isDrag,isClick:!n.isDrag,inputEvent:t},r)),n.pinchFlag&&n.onPinchEnd(t),n.clientStores=[]}},n.onBlur=function(){n.onDragEnd()};var o=[].concat(e);n.options=Wl({checkInput:!1,container:o.length>1?window:o[0],preventRightClick:!0,preventDefault:!0,checkWindowBlur:!1,pinchThreshold:0,events:["touch","mouse"]},i);var r=n.options,s=r.container,a=r.events,l=r.checkWindowBlur;if(n.isTouch=a.indexOf("touch")>-1,n.isMouse=a.indexOf("mouse")>-1,n.targets=o,n.isMouse&&(o.forEach((function(t){la(t,"mousedown",n.onDragStart)})),la(s,"mousemove",n.onDrag),la(s,"mouseup",n.onDragEnd),la(s,"contextmenu",n.onDragEnd)),l&&la(window,"blur",n.onBlur),n.isTouch){var d={passive:!1};o.forEach((function(t){la(t,"touchstart",n.onDragStart,d)})),la(s,"touchmove",n.onDrag,d),la(s,"touchend",n.onDragEnd,d),la(s,"touchcancel",n.onDragEnd,d)}return n}!function(t,e){function i(){this.constructor=t}Ul(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}(e,t);var i=e.prototype;return i.getMovement=function(t){return this.getCurrentStore().getMovement(t)+this.clientStores.slice(1).reduce((function(t,e){return t+e.movement}),0)},i.isDragging=function(){return this.isDrag},i.isFlag=function(){return this.flag},i.isPinchFlag=function(){return this.pinchFlag},i.isDoubleFlag=function(){return this.doubleFlag},i.isPinching=function(){return this.isPinch},i.scrollBy=function(t,e,i,n){void 0===n&&(n=!0),this.flag&&(this.clientStores[0].move(t,e),n&&this.onDrag(i,!0))},i.move=function(t,e){var i=t[0],n=t[1],o=this.getCurrentStore().prevClients;return this.moveClients(o.map((function(t){var e=t.clientX,o=t.clientY;return{clientX:e+i,clientY:o+n,originalClientX:e,originalClientY:o}})),e,!0)},i.triggerDragStart=function(t){this.onDragStart(t,!1)},i.setEventDatas=function(t){var e=this.datas;for(var i in t)e[i]=t[i];return this},i.getEventDatas=function(){return this.datas},i.unset=function(){var t=this,e=this.targets,i=this.options.container;this.off(),da(window,"blur",this.onBlur),this.isMouse&&(e.forEach((function(e){da(e,"mousedown",t.onDragStart)})),da(i,"mousemove",this.onDrag),da(i,"mouseup",this.onDragEnd),da(i,"contextmenu",this.onDragEnd)),this.isTouch&&(e.forEach((function(e){da(e,"touchstart",t.onDragStart)})),da(i,"touchstart",this.onDragStart),da(i,"touchmove",this.onDrag),da(i,"touchend",this.onDragEnd),da(i,"touchcancel",this.onDragEnd))},i.onPinchStart=function(t){var e=this.options.pinchThreshold;if(!(this.isDrag&&this.getMovement()>e)){var i=new Zl(Gl(t));this.pinchFlag=!0,this.clientStores.splice(0,0,i),!1===this.emit("pinchStart",Wl({datas:this.datas,angle:i.getAngle(),touches:this.getCurrentStore().getPositions()},i.getPosition(),{inputEvent:t}))&&(this.pinchFlag=!1)}},i.onPinch=function(t,e){if(this.flag&&this.pinchFlag&&!(e.length<2)){var i=this.getCurrentStore();this.isPinch=!0,this.emit("pinch",Wl({datas:this.datas,movement:this.getMovement(e),angle:i.getAngle(e),rotation:i.getRotation(e),touches:i.getPositions(e),scale:i.getScale(e),distance:i.getDistance(e)},i.getPosition(e),{inputEvent:t}))}},i.onPinchEnd=function(t){if(this.pinchFlag){var e=this.isPinch;this.isPinch=!1,this.pinchFlag=!1;var i=this.getCurrentStore();this.emit("pinchEnd",Wl({datas:this.datas,isPinch:e,touches:i.getPositions()},i.getPosition(),{inputEvent:t})),this.isPinch=!1,this.pinchFlag=!1}},i.initDrag=function(){this.clientStores=[],this.pinchFlag=!1,this.doubleFlag=!1,this.prevTime=0,this.flag=!1},i.getCurrentStore=function(){return this.clientStores[0]},i.moveClients=function(t,e,i){var n=this.getCurrentStore()[i?"addClients":"getPosition"](t);return this.isDrag=!0,Wl({datas:this.datas},n,{movement:this.getMovement(t),isDrag:this.isDrag,isPinch:this.isPinch,isScroll:!1,inputEvent:e})},e}(Hl);var td=function(t){for(var e=5381,i=t.length;i;)e=33*e^t.charCodeAt(--i);return e>>>0};function ed(t,e,i,n){var o=document.createElement("style");return o.setAttribute("type","text/css"),o.setAttribute("data-styled-id",t),i.nonce&&o.setAttribute("nonce",i.nonce),o.innerHTML=function(t,e,i){return i.original?e:e.replace(/([^};{\s}][^};{]*|^\s*){/gm,(function(e,i){var n=i.trim();return(n?Ws(n):[""]).map((function(e){var i=e.trim();return 0===i.indexOf("@")?i:i.indexOf(":global")>-1?i.replace(/\:global/g,""):i.indexOf(":host")>-1?""+i.replace(/\:host/g,"."+t):i?"."+t+" "+i:"."+t})).join(", ")+" {"}))}(t,e,i),(n||document.head||document.body).appendChild(o),o}function id(t){var e,i="rCS"+td(t).toString(36),n=0;return{className:i,inject:function(o,r){void 0===r&&(r={});var s,a=function(t){if(t&&t.getRootNode){var e=t.getRootNode();if(11===e.nodeType)return e}}(o),l=0===n;return(a||l)&&(s=ed(i,t,r,a)),l&&(e=s),a||++n,{destroy:function(){a?(o.removeChild(s),s=null):(n>0&&--n,0===n&&e&&(e.parentNode.removeChild(e),e=null))}}}}}
|
|
73
|
+
/*! *****************************************************************************
|
|
74
|
+
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
75
|
+
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
76
|
+
this file except in compliance with the License. You may obtain a copy of the
|
|
77
|
+
License at http://www.apache.org/licenses/LICENSE-2.0
|
|
78
|
+
|
|
79
|
+
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
80
|
+
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
|
|
81
|
+
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
|
|
82
|
+
MERCHANTABLITY OR NON-INFRINGEMENT.
|
|
83
|
+
|
|
84
|
+
See the Apache Version 2.0 License for specific language governing permissions
|
|
85
|
+
and limitations under the License.
|
|
86
|
+
***************************************************************************** */var nd=function(t,e){return(nd=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(t,e)};function od(t,e){function i(){this.constructor=t}nd(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}var rd=function(){return(rd=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++)for(var o in e=arguments[i])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)};var sd=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.injectResult=null,e.tag="div",e}od(e,t);var i=e.prototype;return i.render=function(){var t=this.props,e=t.className,i=void 0===e?"":e;t.cspNonce;var n=t.portalContainer,o=function(t,e){var i={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(i[n]=t[n]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(t);o<n.length;o++)e.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(t,n[o])&&(i[n[o]]=t[n[o]])}return i}(t,["className","cspNonce","portalContainer"]),r=this.injector.className,s=this.tag,a={};return"simple-1.1.0".indexOf("simple")>-1&&n&&(a={portalContainer:n}),wa(s,rd({ref:_s(this,"element"),"data-styled-id":r,className:i+" "+r},a,o))},i.componentDidMount=function(){this.injectResult=this.injector.inject(this.element,{nonce:this.props.cspNonce})},i.componentWillUnmount=function(){this.injectResult.destroy(),this.injectResult=null},i.getElement=function(){return this.element},e}(Oa);function ad(t,e){var i=id(e);return function(e){function n(){var n=null!==e&&e.apply(this,arguments)||this;return n.injector=i,n.tag=t,n}return od(n,e),n}(sd)}
|
|
87
|
+
/*! *****************************************************************************
|
|
88
|
+
Copyright (c) Microsoft Corporation.
|
|
89
|
+
|
|
90
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
91
|
+
purpose with or without fee is hereby granted.
|
|
92
|
+
|
|
93
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
94
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
95
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
96
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
97
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
98
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
99
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
100
|
+
***************************************************************************** */var ld=function(t,e){return(ld=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(t,e)};function dd(t,e){function i(){this.constructor=t}ld(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}var cd=function(){return(cd=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++)for(var o in e=arguments[i])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)};function ud(){for(var t=0,e=0,i=arguments.length;e<i;e++)t+=arguments[e].length;var n=Array(t),o=0;for(e=0;e<i;e++)for(var r=arguments[e],s=0,a=r.length;s<a;s++,o++)n[o]=r[s];return n}function pd(t,e){var i;return cd({events:{},props:(i={},i[t]=Boolean,i),name:t},e)}function hd(t,e){return'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="'+32*t+'px" height="'+32*t+'px" viewBox="0 0 32 32" ><path d="M 16,5 L 12,10 L 14.5,10 L 14.5,22 L 12,22 L 16,27 L 20,22 L 17.5,22 L 17.5,10 L 20, 10 L 16,5 Z" stroke-linejoin="round" stroke-width="1.2" fill="black" stroke="white" style="transform:rotate('+e+'deg);transform-origin: 16px 16px"></path></svg>'}var vd,fd=function(t){return void 0===t&&function(){if("undefined"==typeof navigator||!navigator||!navigator.userAgentData)return!1;var t=navigator.userAgentData,e=t.brands||t.uaList;return!(!e||!e.length)}()?function(t){var e=navigator.userAgentData,i=(e.uaList||e.brands).slice(),n=e.mobile||!1,o=i[0],r={name:o.brand,version:o.version,majorVersion:-1,webkit:!1,webkitVersion:"-1",chromium:!1,chromiumVersion:"-1",webview:!!Wa(Va,i).brand},s={name:"unknown",version:"-1",majorVersion:-1};r.webkit=!r.chromium&&Ha(Ya,(function(t){return ja(i,t)}));var a=Wa(Xa,i);if(r.chromium=!!a.brand,r.chromiumVersion=a.version,!r.chromium){var l=Wa(Ya,i);r.webkit=!!l.brand,r.webkitVersion=l.version}if(t){var d=t.platform.toLowerCase(),c=za(Ka,(function(t){return new RegExp(""+t.test,"g").exec(d)}));s.name=c?c.id:d,s.version=t.platformVersion}var u=Wa(Ga,i);return u.brand&&(r.name=u.brand,r.version=t?t.uaFullVersion:u.version),"Linux armv8l"===navigator.platform?s.name="android":r.webkit&&(s.name=n?"ios":"mac"),"ios"===s.name&&r.webview&&(r.version="-1"),s.version=Fa(s.version),r.version=Fa(r.version),s.majorVersion=parseInt(s.version,10),r.majorVersion=parseInt(r.version,10),{browser:r,os:s,isMobile:n,isHints:!0}}():Za(t)}().browser.webkit,gd=fd&&(!!(vd=/applewebkit\/([^\s]+)/g.exec(navigator.userAgent.toLowerCase()))&&parseFloat(vd[1])<605),md="moveable-",bd="\n{\n\tposition: absolute;\n\twidth: 1px;\n\theight: 1px;\n\tleft: 0;\n\ttop: 0;\n z-index: 3000;\n --moveable-color: #4af;\n --zoom: 1;\n --zoompx: 1px;\n will-change: transform;\n}\n.control-box {\n z-index: 0;\n}\n.line, .control {\n position: absolute;\n\tleft: 0;\n top: 0;\n will-change: transform;\n}\n.control {\n\twidth: 14px;\n\theight: 14px;\n\tborder-radius: 50%;\n\tborder: 2px solid #fff;\n\tbox-sizing: border-box;\n background: #4af;\n background: var(--moveable-color);\n\tmargin-top: -7px;\n margin-left: -7px;\n border: 2px solid #fff;\n z-index: 10;\n}\n.padding {\n position: absolute;\n top: 0px;\n left: 0px;\n width: 100px;\n height: 100px;\n transform-origin: 0 0;\n}\n.line {\n\twidth: 1px;\n height: 1px;\n background: #4af;\n background: var(--moveable-color);\n\ttransform-origin: 0px 50%;\n}\n.line.dashed {\n box-sizing: border-box;\n background: transparent;\n}\n.line.dashed.horizontal {\n border-top: 1px dashed #4af;\n border-top-color: #4af;\n border-top-color: var(--moveable-color);\n}\n.line.dashed.vertical {\n border-left: 1px dashed #4af;\n border-left-color: #4af;\n border-left-color: var(--moveable-color);\n}\n.line.vertical {\n transform: translateX(-50%);\n}\n.line.horizontal {\n transform: translateY(-50%);\n}\n.line.vertical.bold {\n width: 2px;\n}\n.line.horizontal.bold {\n height: 2px;\n}\n\n.control.origin {\n\tborder-color: #f55;\n\tbackground: #fff;\n\twidth: 12px;\n\theight: 12px;\n\tmargin-top: -6px;\n margin-left: -6px;\n\tpointer-events: none;\n}\n"+[0,15,30,45,60,75,90,105,120,135,150,165].map((function(t){return'\n.direction[data-rotation="'+t+'"] {\n\t'+function(t){var e=hd(1,t),i=hd(2,t),n=45*Math.round(t/45)%180,o="ns-resize";return 135===n?o="nwse-resize":45===n?o="nesw-resize":90===n&&(o="ew-resize"),"cursor:"+o+";cursor: url('"+e+"') 16 16, "+o+";cursor: -webkit-image-set(url('"+e+"') 1x, url('"+i+"') 2x) 16 16, "+o+";"}(t)+"\n}\n"})).join("\n")+"\n.group {\n z-index: -1;\n}\n.area {\n position: absolute;\n}\n.area-pieces {\n position: absolute;\n top: 0;\n left: 0;\n display: none;\n}\n.area.avoid, .area.pass {\n pointer-events: none;\n}\n.area.avoid+.area-pieces {\n display: block;\n}\n.area-piece {\n position: absolute;\n}\n\n"+(gd?':global svg *:before {\n\tcontent:"";\n\ttransform-origin: inherit;\n}':"")+"\n",yd=[[0,1,2],[1,0,3],[2,0,3],[3,1,2]],xd=1e-4,_d=1e-7,wd=1e-9,Sd=Math.pow(10,10),Cd=-Sd,kd=["n","w","s","e","nw","ne","sw","se"],Ed={n:[0,1],s:[2,3],w:[2,0],e:[1,3],nw:[0],ne:[1],sw:[2],se:[3]},Ld={n:0,s:180,w:270,e:90,nw:315,ne:45,sw:225,se:135},Ad=["isMoveableElement","updateRect","updateTarget","destroy","dragStart","isInside","hitTest","setState","getRect","request","isDragging","getManager"];function qd(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return xs.apply(void 0,ud([md],t))}function Td(t,e,i){return rl(e,_l(i,e),t,_l(i.map((function(t){return-t})),e))}function Md(t){return Od(lc(t,":before")).map((function(e,i){var n=Gs(e),o=n.value,r=n.unit;return o*function(t,e,i){return"%"===e?zd(t.ownerSVGElement)[i?"width":"height"]/100:1}(t,r,0===i)}))}function Od(t){var e=t.transformOrigin;return e?e.split(" "):["0","0"]}function Rd(t,e,i){for(var n=document.body,o=!t||i?t:t.parentElement,r=t===e||o===e,s="relative";o&&o!==n;){e===o&&(r=!0);var a=lc(o),l=a.transform;if(s=a.position,"svg"===o.tagName.toLowerCase()||"static"!==s||l&&"none"!==l)break;o=o.parentElement,s="relative"}return{isStatic:"static"===s,isEnd:r||!o||o===n,offsetParent:o||n}}function Nd(t,e,i,n){var o,r=t.tagName.toLowerCase(),s=t.offsetLeft,a=t.offsetTop;if(n){var l=(e||document.documentElement).getBoundingClientRect();s-=l.left,a-=l.top}var d,c,u=Bs(s),p=!u;return p||"svg"===r?c=(d=Od(i).map((function(t){return parseFloat(t)}))).slice():(c=(d=gd?Md(t):Od(i).map((function(t){return parseFloat(t)}))).slice(),p=!0,s=(o=function(t,e){if(!t.getBBox)return[0,0];var i=t.getBBox(),n=zd(t.ownerSVGElement),o=i.x-n.x,r=i.y-n.y;return[o,r,e[0]-o,e[1]-r]}(t,d))[0],a=o[1],d[0]=o[2],d[1]=o[3]),{tagName:r,isSVG:u,hasOffset:p,offset:[s||0,a||0],origin:d,targetOrigin:c}}function Bd(t,e,i){void 0===i&&(i=lc(t));var n=lc(document.body),o=n.position;if(!(e||o&&"static"!==o))return[0,0];var r=parseInt(n.marginLeft,10),s=parseInt(n.marginTop,10);return"absolute"===i.position&&("auto"===i.top&&"auto"===i.bottom||(s=0),"auto"===i.left&&"auto"===i.right||(r=0)),[r,s]}function Id(t){t.forEach((function(t){var e=t.matrix;e&&(t.matrix=ol(e,3,4))}))}function $d(t,e){for(var i,n,o,r,s,a,l=t,d=[],c=t===e,u=!1,p=3,h=Rd(e,e,!0).offsetParent;l&&!c;){var v=lc(l),f=v.position,g="fixed"===f,m=(a=v.transform,r=a&&"none"!==a?Is(a)?a:js(a).value.split(/s*,\s*/g).map((function(t){return parseFloat(t)})):[1,0,0,1,0,0],void 0===(s=void 0)&&(s=6===r.length),s?[r[0],r[1],0,r[2],r[3],0,r[4],r[5],1]:r),b=m.length;u||16!==b||(u=!0,p=4,Id(d)),u&&9===b&&(m=ol(m,3,4));var y=Nd(l,e,v,g),x=y.tagName,_=y.hasOffset,w=y.isSVG,S=y.origin,C=y.targetOrigin,k=y.offset,E=k[0],L=k[1];"svg"===x&&o?(d.push({type:"target",target:l,matrix:Pd(l,p)}),d.push({type:"offset",target:l,matrix:yl(p)})):"g"===x&&t!==l&&(E=0,L=0);var A=Rd(l,e),q=A.offsetParent,T=A.isEnd,M=A.isStatic;fd&&_&&!w&&M&&("relative"===f||"static"===f)&&(E-=q.offsetLeft,L-=q.offsetTop,c=c||T);var O=0,R=0;if(_&&h!==q&&(O=q.clientLeft,R=q.clientTop),_&&q===document.body){var N=Bd(l,!1,v);E+=N[0],L+=N[1]}if(d.push({type:"target",target:l,matrix:Td(m,p,S)}),_?d.push({type:"offset",target:l,matrix:_l([E-l.scrollLeft+O,L-l.scrollTop+R],p)}):d.push({type:"offset",target:l,origin:S}),o||(o=m),i||(i=S),n||(n=C),c||g)break;l=q,c=T}return o||(o=yl(p)),i||(i=[0,0]),n||(n=[0,0]),{offsetContainer:h,matrixes:d,targetMatrix:o,transformOrigin:i,targetOrigin:n,is3d:u}}function Dd(t,e,i,n){var o;void 0===i&&(i=e);var r=0,s=0,a=0,l={};if(t){var d=lc(t);r=t.offsetWidth,s=t.offsetHeight,Bs(r)&&(r=(o=Zd(t,d,!0))[0],s=o[1])}if(t){var c=function(t,e,i,n){void 0===i&&(i=e);var o=$d(t,e),r=o.matrixes,s=o.is3d,a=o.targetMatrix,l=o.transformOrigin,d=o.targetOrigin,c=$d(o.offsetContainer,i),u=c.matrixes,p=c.is3d,h=n||p||s,v=h?4:3,f="svg"!==t.tagName.toLowerCase()&&"ownerSVGElement"in t,g=a,m=yl(v),b=yl(v),y=yl(v),x=yl(v),_=r.length,w=i||document.body,S=Rd(w,w,!0).offsetParent;u.reverse(),r.reverse(),!s&&h&&(g=ol(g,3,4),Id(r));!p&&h&&Id(u);u.forEach((function(t){b=sl(b,t.matrix,v)})),r.forEach((function(t,e){if(_-2===e&&(y=m.slice()),_-1===e&&(x=m.slice()),!t.matrix){var i=function(t,e,i,n,o){var r,s=t.target,a=t.origin,l=e.matrix,d=Zd(s,void 0,!0),c=d[0],u=d[1],p=i.getBoundingClientRect(),h=[0,0];i===document.body&&(h=Bd(s,!0));var v=s.getBoundingClientRect(),f=v.left-p.left+i.scrollLeft-(i.clientLeft||0)+h[0],g=v.top-p.top+i.scrollTop-(i.clientTop||0)+h[1],m=v.width,b=v.height,y=rl(n,o,l),x=jd(y,c,u,n),_=x.left,w=x.top,S=x.width,C=x.height,k=Fd(y,a,n),E=ll(k,[_,w]),L=[f+E[0]*m/S,g+E[1]*b/C],A=[0,0],q=0;for(;++q<10;){var T=il(o,n);r=ll(Fd(T,L,n),Fd(T,k,n)),A[0]=r[0],A[1]=r[1];var M=jd(rl(n,o,_l(A,n),l),c,u,n),O=M.left-f,R=M.top-g;if(Math.abs(O)<2&&Math.abs(R)<2)break;L[0]-=O,L[1]-=R}return A.map((function(t){return Math.round(t)}))}(t,r[e+1],S,v,sl(b,m,v));t.matrix=_l(i,v)}m=sl(m,t.matrix,v)}));var C=!f&&s;g||(g=yl(C?4:3));var k=Hd(f&&16===g.length?ol(g,4,3):g,C);return{rootMatrix:b=el(b,v,v),beforeMatrix:y,offsetMatrix:x,allMatrix:m,targetMatrix:g,targetTransform:k,transformOrigin:l,targetOrigin:d,is3d:h}}(t,e,i,n),u=Gd(c.allMatrix,c.transformOrigin,r,s);l=cd(cd({},c),u);var p=Gd(c.allMatrix,[50,50],100,100);a=Qd([p.pos1,p.pos2],p.direction)}var h=n?4:3;return cd({width:r,height:s,rotation:a,rootMatrix:yl(h),beforeMatrix:yl(h),offsetMatrix:yl(h),allMatrix:yl(h),targetMatrix:yl(h),targetTransform:"",transformOrigin:[0,0],targetOrigin:[0,0],is3d:!!n,left:0,top:0,right:0,bottom:0,origin:[0,0],pos1:[0,0],pos2:[0,0],pos3:[0,0],pos4:[0,0],direction:1},l)}function Hd(t,e){return void 0===e&&(e=t.length>9),(e?"matrix3d":"matrix")+"("+dl(t,!e).join(",")+")"}function zd(t){var e=t.clientWidth,i=t.clientHeight;if(!t)return{x:0,y:0,width:0,height:0,clientWidth:e,clientHeight:i};var n=t.viewBox,o=n&&n.baseVal||{x:0,y:0,width:0,height:0};return{x:o.x,y:o.y,width:o.width||e,height:o.height||i,clientWidth:e,clientHeight:i}}function Pd(t,e){var i=zd(t),n=i.width,o=i.height,r=i.clientWidth,s=i.clientHeight,a=r/n,l=s/o,d=t.preserveAspectRatio.baseVal,c=d.align,u=d.meetOrSlice,p=[0,0],h=[a,l],v=[0,0];if(1!==c){var f=(c-2)%3,g=Math.floor((c-2)/3);p[0]=n*f/2,p[1]=o*g/2;var m=2===u?Math.max(l,a):Math.min(a,l);h[0]=m,h[1]=m,v[0]=(r-n)/2*f,v[1]=(s-o)/2*g}var b=xl(h,e);return b[e*(e-1)]=v[0],b[e*(e-1)+1]=v[1],Td(b,e,p)}function Fd(t,e,i){return cl(t,nl(e,i),i)}function Ud(t,e,i,n){return[[0,0],[e,0],[0,i],[e,i]].map((function(e){return Fd(t,e,n)}))}function Wd(t){var e=t.map((function(t){return t[0]})),i=t.map((function(t){return t[1]})),n=Math.min.apply(Math,e),o=Math.min.apply(Math,i),r=Math.max.apply(Math,e),s=Math.max.apply(Math,i);return{left:n,top:o,right:r,bottom:s,width:r-n,height:s-o}}function jd(t,e,i,n){return Wd(Ud(t,e,i,n))}function Gd(t,e,i,n){var o=16===t.length?4:3,r=Ud(t,i,n,o),s=r[0],a=s[0],l=s[1],d=r[1],c=d[0],u=d[1],p=r[2],h=p[0],v=p[1],f=r[3],g=f[0],m=f[1],b=Fd(t,e,o),y=b[0],x=b[1],_=Math.min(a,c,h,g),w=Math.min(l,u,v,m),S=Math.max(a,c,h,g);return a=a-_||0,{left:_,top:w,right:S,bottom:Math.max(l,u,v,m),origin:[y=y-_||0,x=x-w||0],pos1:[a,l=l-w||0],pos2:[c=c-_||0,u=u-w||0],pos3:[h=h-_||0,v=v-w||0],pos4:[g=g-_||0,m=m-w||0],direction:na(r)}}function Xd(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function Yd(t,e){return Xd([e[0]-t[0],e[1]-t[1]])}function Vd(t,e,i,n){void 0===i&&(i=1),void 0===n&&(n=ia(t,e));var o=Yd(t,e);return{transform:"translateY(-50%) translate("+t[0]+"px, "+t[1]+"px) rotate("+n+"rad) scaleY("+i+")",width:o+"px"}}function Kd(t,e){for(var i=[],n=2;n<arguments.length;n++)i[n-2]=arguments[n];var o=i.length,r=i.reduce((function(t,e){return t+e[0]}),0)/o,s=i.reduce((function(t,e){return t+e[1]}),0)/o;return{transform:"translateZ(0px) translate("+r+"px, "+s+"px) rotate("+t+"rad) scale("+e+")"}}function Zd(t,e,i,n){void 0===e&&(e=lc(t)),void 0===n&&(n=i||"border-box"===e.boxSizing);var o=t.offsetWidth,r=t.offsetHeight,s=!Bs(o);if((i||n)&&s)return[o,r];if(!s&&"svg"!==t.tagName.toLowerCase()){var a=t.getBBox();return[a.width,a.height]}return o=t.clientWidth,r=t.clientHeight,i||n?[o+(parseFloat(e.borderLeftWidth)||0)+(parseFloat(e.borderRightWidth)||0),r+(parseFloat(e.borderTopWidth)||0)+(parseFloat(e.borderBottomWidth)||0)]:[o-(parseFloat(e.paddingLeft)||0)-(parseFloat(e.paddingRight)||0),r-(parseFloat(e.paddingTop)||0)-(parseFloat(e.paddingBottom)||0)]}function Qd(t,e){return ia(e>0?t[0]:t[1],e>0?t[1]:t[0])}function Jd(t,e,i,n,o){var r=1,s=[0,0],a={left:0,right:0,top:0,bottom:0,width:0,height:0,clientLeft:0,clientTop:0,clientWidth:0,clientHeight:0,scrollWidth:0,scrollHeight:0},l={left:0,right:0,top:0,bottom:0,width:0,height:0,clientLeft:0,clientTop:0,clientWidth:0,clientHeight:0,scrollWidth:0,scrollHeight:0},d={left:0,right:0,top:0,bottom:0,width:0,height:0,clientLeft:0,clientTop:0,clientWidth:0,clientHeight:0,scrollWidth:0,scrollHeight:0},c=Dd(e,i,o,!1);if(e){var u=c.is3d?4:3,p=Gd(c.offsetMatrix,al(c.transformOrigin,function(t,e){void 0===e&&(e=Math.sqrt(t.length));for(var i=[],n=t[e*e-1],o=0;o<e-1;++o)i[o]=t[e*(e-1)+o]/n;return i[e-1]=0,i}(c.targetMatrix,u)),c.width,c.height);r=p.direction,s=al(p.origin,[p.left-c.left,p.top-c.top]),a=tc(e),l=tc(Rd(n,n,!0).offsetParent||document.body,!0),t&&(d=tc(t))}return cd({targetClientRect:a,containerClientRect:l,moveableClientRect:d,beforeDirection:r,beforeOrigin:s,originalBeforeOrigin:s,target:e},c)}function tc(t,e){var i=0,n=0,o=0,r=0;if(t===document.body||t===document.documentElement)o=window.innerWidth,r=window.innerHeight,i=-(document.documentElement.scrollLeft||document.body.scrollLeft),n=-(document.documentElement.scrollTop||document.body.scrollTop);else{var s=t.getBoundingClientRect();i=s.left,n=s.top,o=s.width,r=s.height}var a={left:i,right:i+o,top:n,bottom:n+r,width:o,height:r};return e&&(a.clientLeft=t.clientLeft,a.clientTop=t.clientTop,a.clientWidth=t.clientWidth,a.clientHeight=t.clientHeight,a.scrollWidth=t.scrollWidth,a.scrollHeight=t.scrollHeight,a.overflow="visible"!==lc(t).overflow),a}function ec(t){if(t){var e=t.getAttribute("data-direction");if(e){var i=[0,0];return e.indexOf("w")>-1&&(i[0]=-1),e.indexOf("e")>-1&&(i[0]=1),e.indexOf("n")>-1&&(i[1]=-1),e.indexOf("s")>-1&&(i[1]=1),i}}}function ic(t,e){return[al(e,t[0]),al(e,t[1]),al(e,t[2]),al(e,t[3])]}function nc(t){var e=t.left,i=t.top;return ic([t.pos1,t.pos2,t.pos3,t.pos4],[e,i])}function oc(t,e){t[e]&&(t[e].unset(),t[e]=null)}function rc(t,e,i){var n=e.datas;n.datas||(n.datas={});var o=cd(cd({},i),{target:t.state.target,clientX:e.clientX,clientY:e.clientY,inputEvent:e.inputEvent,currentTarget:t,moveable:t,datas:n.datas});return n.isStartEvent?n.lastEvent=o:n.isStartEvent=!0,o}function sc(t,e,i){var n=e.datas,o="isDrag"in i?i.isDrag:e.isDrag;return n.datas||(n.datas={}),cd(cd({isDrag:o},i),{moveable:t,target:t.state.target,clientX:e.clientX,clientY:e.clientY,inputEvent:e.inputEvent,currentTarget:t,lastEvent:n.lastEvent,isDouble:e.isDouble,datas:n.datas})}function ac(t,e,i,n){return t.triggerEvent(e,i,n)}function lc(t,e){return window.getComputedStyle(t,e)}function dc(t,e,i){var n={},o={};return t.filter((function(t){var r=t.name;if(n[r]||!e.some((function(e){return t[e]})))return!1;if(!i&&t.ableGroup){if(o[t.ableGroup])return!1;o[t.ableGroup]=!0}return n[r]=!0,!0}))}function cc(t,e){return t===e||null==t&&null==e}function uc(t,e){var i=[],n=[];return t.forEach((function(o,r){var s=e(o,r,t),a=n.indexOf(s),l=i[a]||[];-1===a&&(n.push(s),i.push(l)),l.push(o)})),i}function pc(t){return t.reduce((function(t,e){return t.concat(e)}),[])}function hc(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return t.sort((function(t,e){return Math.abs(e)-Math.abs(t)})),t[0]}function vc(t,e,i){return cl(il(t,i),nl(e,i),i)}function fc(t,e){var i,n=t.is3d?4:3;return i=vc(t.rootMatrix,[e.distX,e.distY],n),e.distX=i[0],e.distY=i[1],e}function gc(t,e,i,n,o){return ll(Fd(t,al(i,e),o),n)}function mc(t,e,i){return i?t/e*100+"%":t+"px"}function bc(t){return Math.abs(t)<=_d?0:t}function yc(t,e){return e.isRequest?("resizable"===e.requestAble||"scalable"===e.requestAble)&&e.parentDirection:aa(e.inputEvent.target,qd("direction"))}function xc(t){var e={};for(var i in t)e[t[i]]=i;return e}function _c(t,e){return t?Ds(t)?e?document.querySelector(t):t:Hs(t)?t():"current"in t?t.current:t:null}function wc(t,e){return t?((i=t)&&Is(i)&&($s(i)||"length"in i)?[].slice.call(t):[t]).reduce((function(t,i){return Ds(i)&&e?ud(t,[].slice.call(document.querySelectorAll(i))):(t.push(_c(i,e)),t)}),[]):[];var i}function Sc(t,e){var i=t.rootMatrix,n=t.is3d,o=il(i,n?4:3);return n||(o=ol(o,3,4)),o[12]=0,o[13]=0,o[14]=0,function(t,e){var i=cl(t,[e[0],e[1]||0,e[2]||0,1],4),n=i[3]||1;return[i[0]/n,i[1]/n,i[2]/n]}(o,e)}var Cc=pd("pinchable",{events:{onPinchStart:"pinchStart",onPinch:"pinch",onPinchEnd:"pinchEnd",onPinchGroupStart:"pinchGroupStart",onPinchGroup:"pinchGroup",onPinchGroupEnd:"pinchGroupEnd"},dragStart:function(){return!0},pinchStart:function(t,e){var i=e.datas,n=e.targets,o=e.angle,r=e.originalDatas,s=t.props,a=s.pinchable,l=s.ables;if(!a)return!1;var d="onPinch"+(n?"Group":"")+"Start",c="drag"+(n?"Group":"")+"ControlStart",u=(!0===a?t.controlAbles:l.filter((function(t){return a.indexOf(t.name)>-1}))).filter((function(t){return t.canPinch&&t[c]})),p=rc(t,e,{});n&&(p.targets=n);var h=ac(t,d,p);i.isPinch=!1!==h,i.ables=u;var v=i.isPinch;return!!v&&(u.forEach((function(i){if(r[i.name]=r[i.name]||{},i[c]){var n=cd(cd({},e),{datas:r[i.name],parentRotate:o,isPinch:!0});i[c](t,n)}})),t.state.snapRenderInfo={request:e.isRequest,direction:[0,0]},v)},pinch:function(t,e){var i=e.datas,n=e.scale,o=e.distance,r=e.originalDatas,s=e.inputEvent,a=e.targets,l=e.angle;if(i.isPinch){var d=o*(1-1/n),c=rc(t,e,{});a&&(c.targets=a),ac(t,"onPinch"+(a?"Group":""),c);var u=i.ables,p="drag"+(a?"Group":"")+"Control";return u.forEach((function(i){i[p]&&i[p](t,cd(cd({},e),{datas:r[i.name],inputEvent:s,parentDistance:d,parentRotate:l,isPinch:!0}))})),c}},pinchEnd:function(t,e){var i=e.datas,n=e.isPinch,o=e.inputEvent,r=e.targets,s=e.originalDatas;if(i.isPinch){var a="onPinch"+(r?"Group":"")+"End",l=sc(t,e,{isDrag:n});r&&(l.targets=r),ac(t,a,l);var d=i.ables,c="drag"+(r?"Group":"")+"ControlEnd";return d.forEach((function(i){i[c]&&i[c](t,cd(cd({},e),{isDrag:n,datas:s[i.name],inputEvent:o,isPinch:!0}))})),n}},pinchGroupStart:function(t,e){return this.pinchStart(t,cd(cd({},e),{targets:t.props.targets}))},pinchGroup:function(t,e){return this.pinch(t,cd(cd({},e),{targets:t.props.targets}))},pinchGroupEnd:function(t,e){return this.pinchEnd(t,cd(cd({},e),{targets:t.props.targets}))}});function kc(t,e,i,n,o){var r=e.gesto.move(i,t.inputEvent),s=r.originalDatas||r.datas,a=s.draggable||(s.draggable={});return cd(cd({},o?fc(e,r):r),{isDrag:!0,isPinch:!!n,parentEvent:!0,datas:a,originalDatas:t.originalDatas})}var Ec=function(){function t(){this.prevX=0,this.prevY=0,this.startX=0,this.startY=0,this.isDrag=!1,this.isFlag=!1,this.datas={draggable:{}}}var e=t.prototype;return e.dragStart=function(t,e){this.isDrag=!1,this.isFlag=!1;var i=e.originalDatas;return this.datas=i,i.draggable||(i.draggable={}),cd(cd({},this.move(t,e.inputEvent)),{type:"dragstart"})},e.drag=function(t,e){return this.move([t[0]-this.prevX,t[1]-this.prevY],e)},e.move=function(t,e){var i,n;return this.isFlag?(i=this.prevX+t[0],n=this.prevY+t[1],this.isDrag=!0):(this.prevX=t[0],this.prevY=t[1],this.startX=t[0],this.startY=t[1],i=t[0],n=t[1],this.isFlag=!0),this.prevX=i,this.prevY=n,{type:"drag",clientX:i,clientY:n,inputEvent:e,isDrag:this.isDrag,distX:i-this.startX,distY:n-this.startY,deltaX:t[0],deltaY:t[1],datas:this.datas.draggable,originalDatas:this.datas,parentEvent:!0,parentGesto:this}},t}();function Lc(t,e,i){var n=i.originalDatas;n.groupable=n.groupable||{};var o=n.groupable;o.childDatas=o.childDatas||[];var r=o.childDatas;return t.moveables.map((function(t,n){return r[n]=r[n]||{},r[n][e]=r[n][e]||{},cd(cd({},i),{datas:r[n][e],originalDatas:r[n]})}))}function Ac(t,e,i,n,o,r){var s=!!i.match(/Start$/g),a=!!i.match(/End$/g),l=o.isPinch,d=o.datas,c=Lc(t,e.name,o),u=t.moveables,p=c.map((function(t,o){var c=u[o],p=t;s?p=(new Ec).dragStart(n,t):(c.state.gesto||(c.state.gesto=d.childGestos[o]),p=kc(t,c.state,n,l,r));var h=e[i](c,cd(cd({},p),{parentFlag:!0}));return a&&(c.state.gesto=null),h}));return s&&(d.childGestos=u.map((function(t){return t.state.gesto}))),p}function qc(t,e,i,n,o,r){void 0===o&&(o=function(t,e){return e});var s=!!i.match(/End$/g),a=Lc(t,e.name,n),l=t.moveables;return a.map((function(t,n){var a,d=l[n];a=o(d,t);var c=e[i](d,cd(cd({},a),{parentFlag:!0}));return c&&r&&r(d,t,c,n),s&&(d.state.gesto=null),c}))}function Tc(t,e){var i=e.clientX,n=e.clientY,o=e.datas,r=t.state,s=r.moveableClientRect,a=r.rootMatrix,l=r.is3d,d=r.pos1,c=ll(vc(a,[i-s.left,n-s.top],l?4:3),d),u=$c({datas:o,distX:c[0],distY:c[1]});return[u[0],u[1]]}function Mc(t,e){var i=e.datas,n=t.state,o=n.allMatrix,r=n.beforeMatrix,s=n.is3d,a=n.left,l=n.top,d=n.origin,c=n.offsetMatrix,u=n.targetMatrix,p=n.transformOrigin,h=s?4:3;i.is3d=s,i.matrix=o,i.targetMatrix=u,i.beforeMatrix=r,i.offsetMatrix=c,i.transformOrigin=p,i.inverseMatrix=il(o,h),i.inverseBeforeMatrix=il(r,h),i.absoluteOrigin=nl(al([a,l],d),h),i.startDragBeforeDist=cl(i.inverseBeforeMatrix,i.absoluteOrigin,h),i.startDragDist=cl(i.inverseMatrix,i.absoluteOrigin,h)}function Oc(t,e){var i=t.datas,n=t.originalDatas.beforeRenderable,o=i.transformIndex,r=n.nextTransforms,s=n.nextTransformAppendedIndexes,a=-1===o?r.length:o+s.filter((function(t){return t<o})).length,l=function(t,e){var i=t.slice(0,e<0?void 0:e),n=t.slice(0,e<0?void 0:e+1),o=t[e]||"",r=e<0?[]:t.slice(e),s=e<0?[]:t.slice(e+1),a=Cl(i),l=Cl(n),d=Cl([o]),c=Cl(r),u=Cl(s),p=Sl(a),h=Sl(l),v=Sl(c),f=Sl(u),g=sl(p,v,4);return{transforms:t,beforeFunctionMatrix:p,beforeFunctionMatrix2:h,targetFunctionMatrix:Sl(d),afterFunctionMatrix:v,afterFunctionMatrix2:f,allFunctionMatrix:g,beforeFunctions:a,beforeFunctions2:l,targetFunction:d[0],afterFunctions:c,afterFunctions2:u,beforeFunctionTexts:i,beforeFunctionTexts2:n,targetFunctionText:o,afterFunctionTexts:r,afterFunctionTexts2:s}}(r,a),d=l.targetFunction,c="rotate"===e?"rotateZ":e;i.beforeFunctionTexts=l.beforeFunctionTexts,i.afterFunctionTexts=l.afterFunctionTexts,i.beforeTransform=l.beforeFunctionMatrix,i.beforeTransform2=l.beforeFunctionMatrix2,i.targetTansform=l.targetFunctionMatrix,i.afterTransform=l.afterFunctionMatrix,i.afterTransform2=l.afterFunctionMatrix2,i.targetAllTransform=l.allFunctionMatrix,d.functionName===c?(i.afterFunctionTexts.splice(0,1),i.isAppendTransform=!1):(i.isAppendTransform=!0,n.nextTransformAppendedIndexes=ud(s,[a]))}function Rc(t,e,i){return t.beforeFunctionTexts.join(" ")+" "+(t.isAppendTransform?i:e)+" "+t.afterFunctionTexts.join(" ")}function Nc(t){var e=t.datas,i=Ic({datas:e,distX:t.distX,distY:t.distY});return cl(Bc(e,function(t,e){for(var i=yl(e),n=0;n<e-1;++n)i[e*(e-1)+n]=t[n]||0;return i}([i[0],i[1]],4)),nl([0,0,0],4),4)}function Bc(t,e,i){var n=t.beforeTransform,o=t.afterTransform,r=t.beforeTransform2,s=t.afterTransform2,a=t.targetAllTransform,l=i?sl(a,e,4):sl(e,a,4),d=sl(il(i?r:n,4),l,4);return sl(d,il(i?s:o,4),4)}function Ic(t){var e=t.datas,i=t.distX,n=t.distY,o=e.inverseBeforeMatrix,r=e.is3d,s=e.startDragBeforeDist,a=r?4:3;return ll(cl(o,al(e.absoluteOrigin,[i,n]),a),s)}function $c(t,e){var i=t.datas,n=t.distX,o=t.distY,r=i.inverseBeforeMatrix,s=i.inverseMatrix,a=i.is3d,l=i.startDragBeforeDist,d=i.startDragDist,c=a?4:3;return ll(cl(e?r:s,al(i.absoluteOrigin,[n,o]),c),e?l:d)}function Dc(t){var e=[];return t[1]>=0&&(t[0]>=0&&e.push(3),t[0]<=0&&e.push(2)),t[1]<=0&&(t[0]>=0&&e.push(1),t[0]<=0&&e.push(0)),e}function Hc(t,e){return Dc(e).map((function(e){return t[e]}))}function zc(t,e){var i=Hc(t,e);return[ea(i.map((function(t){return t[0]}))),ea(i.map((function(t){return t[1]})))]}function Pc(t,e,i,n){return sl(t,Td(e,n,i),n)}function Fc(t,e,i){var n=t.transformOrigin,o=t.offsetMatrix,r=t.is3d,s=e.beforeTransform,a=e.afterTransform,l=r?4:3;return Pc(o,ol(sl(sl(s,function(t){return Sl(Cl(t))}([i]),4),a,4),4,l),n,l)}function Uc(t){var e=t.originalDatas.beforeRenderable;return{setTransform:function(i,n){void 0===n&&(n=-1),e.startTransforms=$s(i)?i:Us(i),jc(t,n)},setTransformIndex:function(e){jc(t,e)}}}function Wc(t,e){jc(t,Vs(t.originalDatas.beforeRenderable.startTransforms,(function(t){return 0===t.indexOf(e+"(")})))}function jc(t,e){var i=t.originalDatas.beforeRenderable,n=t.datas;if(n.transformIndex=e,-1!==e){var o=i.startTransforms[e];if(o){var r=Cl([o]);n.startValue=r[0].functionValue}}}function Gc(t,e){t.originalDatas.beforeRenderable.nextTransforms=Us(e)}function Xc(t,e,i,n,o){return Gc(o,e),{transform:e,drag:tp.drag(t,kc(o,t.state,i,n,!1))}}function Yc(t,e,i,n,o){var r=t.state,s=r.left,a=r.top,l=t.props.groupable,d=l?s:0,c=l?a:0,u=ll(n,Kc(t,i,Fc(t.state,o,e)));return ll(u,[d,c])}function Vc(t){var e=t.state,i=e.width,n=e.height,o=e.transformOrigin;return[o[0]/(i/2)-1,o[1]/(n/2)-1]}function Kc(t,e,i){void 0===i&&(i=t.state.allMatrix);var n=t.state,o=n.width,r=n.height,s=n.is3d?4:3;return Fd(i,[o/2*(1+e[0]),r/2*(1+e[1])],s)}function Zc(t,e,i,n,o,r){var s=t.props.groupable,a=t.state,l=a.transformOrigin,d=a.targetMatrix,c=a.offsetMatrix,u=a.is3d,p=a.width,h=a.height,v=a.left,f=a.top,g=u?4:3,m=s?v:0,b=s?f:0;return ll(function(t,e,i,n,o,r){var s=zc(Ud(e,i,n,o),r);return[t[0]-s[0],t[1]-s[1]]}(o,Pc(c,d,function(t,e,i,n,o,r){return void 0===n&&(n=e),void 0===o&&(o=i),void 0===r&&(r=[0,0]),t?t.map((function(t,s){var a=Gs(t),l=a.value,d=a.unit,c=s?o:n,u=s?i:e;return"%"===t||isNaN(l)?u*(c?r[s]/c:0):"%"!==d?l:u*l/100})):r}(r,e,i,p,h,l),g),e,i,g,n),[m,b])}function Qc(t,e){return zc(nc(t.state),e)}function Jc(t,e,i){var n=Fd(t,[e.clientLeft,e.clientTop],i);return[e.left+n[0],e.top+n[1]]}function tu(t,e,i,n,o,r){var s=o[0],a=o[1],l=r[0],d=r[1],c=[],u=n?0:1,p="vertical"===e?"horizontal":"vertical",h=uc(t.filter((function(t){return t.type===e})),(function(t){return t.element})).map((function(t){return t[0]})).filter((function(t){var e=t.pos,i=t.sizes;return e[u]<=d&&l<=e[u]+i[u]}));return h.forEach((function(t){var e=t.pos[n],o=e+t.sizes[n];h.forEach((function(t){var r=t.pos,l=t.sizes,d=t.element,u=t.className,v=r[n],f=v+l[n],g=0,m=0,b=!0;if(o<=v)s<(g=f-(m=o-v))-i&&(b=!1);else{if(!(f<=e))return;a>(g=v-(m=e-f))+i&&(b=!1)}if(b&&c.push({pos:"vertical"===p?[g,r[1]]:[r[0],g],element:d,sizes:l,size:0,type:p,gap:m,className:u,gapGuidelines:h}),o<=s&&a<=v){var y=(v+o-(a-s))/2;ra(s-(y-i),.1)>=0&&c.push({pos:"vertical"===p?[y,r[1]]:[r[0],y],className:u,element:d,sizes:l,size:0,type:p,gap:o-s,gapGuidelines:h})}}))})),c}function eu(t,e,i,n,o,r,s){void 0===o&&(o=0),void 0===r&&(r=0),void 0===s&&(s={left:0,top:0,right:0,bottom:0});var a=[],l=s.left,d=s.top,c=s.bottom,u=i+s.right-l,p=n+c-d;return t&&t.forEach((function(t){a.push({type:"horizontal",pos:[l,ra(t-r+d,.1)],size:u})})),e&&e.forEach((function(t){a.push({type:"vertical",pos:[ra(t-o+l,.1),d],size:p})})),a}function iu(t,e){var i=[];if(!e.length)return i;var n=t.state,o=t.props.snapCenter,r=n.containerClientRect,s=n.targetClientRect,a=s.top,l=s.left,d=n.rootMatrix,c=n.is3d?4:3,u=Jc(d,r,c),p=u[0],h=u[1],v=Ll(nc(n)),f=ll([v.minX,v.minY],vc(d,[l-p,a-h],c)).map((function(t){return e=t,Math.round(e%1==-.5?e-1:e);var e})),g=f[0],m=f[1];return e.forEach((function(t){var e=t.element,n=t.top,r=t.left,s=t.right,a=t.bottom,l=t.className,u=e.getBoundingClientRect(),v=u.left-p,f=u.top-h,b=f+u.height,y=v+u.width,x=vc(d,[v,f],c),_=x[0],w=x[1],S=vc(d,[y,b],c),C=S[0],k=S[1],E=C-_,L=k-w,A=[E,L];!1!==n&&i.push({type:"vertical",element:e,pos:[ra(_+g,.1),w],size:L,sizes:A,className:l}),!1!==a&&i.push({type:"vertical",element:e,pos:[ra(C+g,.1),w],size:L,sizes:A,className:l}),!1!==r&&i.push({type:"horizontal",element:e,pos:[_,ra(w+m,.1)],size:E,sizes:A,className:l}),!1!==s&&i.push({type:"horizontal",element:e,pos:[_,ra(k+m,.1)],size:E,sizes:A,className:l}),o&&(i.push({type:"vertical",element:e,pos:[ra((_+C)/2+g,.1),w],size:L,sizes:A,center:!0,className:l}),i.push({type:"horizontal",element:e,pos:[_,ra((w+k)/2+m,.1)],size:E,sizes:A,center:!0,className:l}))})),i}function nu(t,e,i){void 0===i&&(i=[]);var n=[],o=t.state;if(e&&o.guidelines&&o.guidelines.length)return n;var r=t.props.elementGuidelines,s=void 0===r?[]:r;if(!s.length)return n;var a=o.elementGuidelineValues||[],l=s.map((function(t){return Is(t)&&"element"in t?t:{element:_c(t,!0)}})).filter((function(t){return t.element}));o.elementGuidelineValues=l;var d,c,u=(d=a.map((function(t){return t.element})),c=l.map((function(t){return t.element})),Ts(d,c,Il)),p=u.added,h=u.removed.map((function(t){return a[t].element})),v=iu(t,p.map((function(t){return l[t]})).filter((function(t){return t.refresh&&e||!t.refresh&&!e})));return ud(i.filter((function(t){return-1===h.indexOf(t.element)})),v)}function ou(t){var e=t.state,i=e.snapOffset,n=e.staticGuidelines,o=e.containerClientRect,r=o.overflow,s=o.scrollHeight,a=o.scrollWidth,l=o.clientHeight,d=o.clientWidth,c=o.clientLeft,u=o.clientTop,p=t.props,h=p.snapHorizontal,v=void 0===h||h,f=p.snapVertical,g=void 0===f||f,m=p.snapGap,b=void 0===m||m,y=p.verticalGuidelines,x=p.horizontalGuidelines,_=p.snapThreshold,w=void 0===_?5:_,S=p.snapGridWidth,C=void 0===S?0:S,k=p.snapGridHeight,E=void 0===k?0:k,L=ud(n,nu(t,!0));if(b){var A=Wd(nc(t.state)),q=A.top,T=A.left,M=A.bottom,O=A.right,R=n.filter((function(t){return t.element}));L.push.apply(L,ud(tu(R,"horizontal",w,0,[T,O],[q,M]),tu(R,"vertical",w,1,[q,M],[T,O])))}return L.push.apply(L,function(t,e,i,n,o,r){void 0===o&&(o=0);void 0===r&&(r=0);var s=[];if(e)for(var a=0;a<=n;a+=e)s.push({type:"horizontal",pos:[0,ra(a-r,.1)],size:i,hide:!0});if(t)for(a=0;a<=i;a+=t)s.push({type:"vertical",pos:[ra(a-o,.1),0],size:n,hide:!0});return s}(C,E,r?a:d,r?s:l,c,u)),L.push.apply(L,eu(v&&x||!1,g&&y||!1,r?a:d,r?s:l,c,u,i)),L}function ru(t,e,i,n,o){var r=t.props,s=r.snapElement,a=void 0===s||s,l=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];for(var i=t.length-1,n=0;n<i;++n){var o=t[n];if(!Bs(o))return o}return t[i]}(o,r.snapThreshold,5);return su(t.state.guidelines,e,i,{snapThreshold:l,snapCenter:n,snapElement:a})}function su(t,e,i,n){return{vertical:du(t,"vertical",e,n),horizontal:du(t,"horizontal",i,n)}}function au(t,e,i,n){var o=t.props.snapCenter&&i,r=["left","right"],s=["top","bottom"];return o&&(r.push("center"),s.push("middle")),r=r.filter((function(t){return t in e})),s=s.filter((function(t){return t in e})),ru(t,r.map((function(t){return e[t]})),s.map((function(t){return e[t]})),o,n)}function lu(t){var e=t.isSnap;if(!e)return{isSnap:!1,offset:0,dist:-1,pos:0,guideline:null};var i=t.posInfos[0],n=i.guidelineInfos[0],o=n.offset,r=n.dist,s=n.guideline;return{isSnap:e,offset:o,dist:r,pos:i.pos,guideline:s}}function du(t,e,i,n){var o=void 0===n?{}:n,r=o.snapThreshold,s=void 0===r?5:r,a=o.snapElement,l=o.snapCenter;if(!t||!t.length)return{isSnap:!1,index:-1,posInfos:[]};var d="vertical"===e?0:1,c=i.map((function(i,n){var o=t.map((function(t){var e=t.pos,n=i-e[d];return{offset:n,dist:Math.abs(n),guideline:t}})).filter((function(t){var i=t.guideline,n=t.dist,o=i.type,r=i.center,d=i.element;return!(!a&&d||!l&&r||o!==e||n>s)})).sort((function(t,e){return t.dist-e.dist}));return{pos:i,index:n,guidelineInfos:o}})).filter((function(t){return t.guidelineInfos.length>0})).sort((function(t,e){return t.guidelineInfos[0].dist-e.guidelineInfos[0].dist})),u=c.length>0;return{isSnap:u,index:u?c[0].index:-1,posInfos:c}}function cu(t,e){var i=Math.abs(t.offset),n=Math.abs(e.offset);return t.isBound&&e.isBound?n-i:t.isBound?-1:e.isBound?1:t.isSnap&&e.isSnap?n-i:t.isSnap?-1:e.isSnap||i<_d?1:n<_d?-1:i-n}function uu(t,e){return t.slice().sort((function(t,i){var n=t.sign[e],o=i.sign[e],r=t.offset[e],s=i.offset[e];return n?o?cu({isBound:t.isBound,isSnap:t.isSnap,offset:r},{isBound:i.isBound,isSnap:i.isSnap,offset:s}):-1:1}))[0]}function pu(t,e){var i=ea([e[0][0],e[1][0]]),n=ea([e[0][1],e[1][1]]);return{vertical:i<=t[0],horizontal:n<=t[1]}}function hu(t,e){var i,n,o=e[0],r=e[1],s=r[0]-o[0],a=r[1]-o[1];if(Math.abs(s)<_d&&(s=0),Math.abs(a)<_d&&(a=0),s)if(a){i=a/s*(t[0]-o[0])+o[1],n=t[1]}else i=o[1],n=t[1];else i=o[0],n=t[0];return i-n}function vu(t,e,i){void 0===i&&(i=_d);var n=hu(t[0],e)<=0;return t.slice(1).every((function(t){var o=hu(t,e);return o<=0===n||Math.abs(o)<=i}))}function fu(t,e,i,n,o){return void 0===o&&(o=0),n&&e-o<=t||!n&&t<=i+o?{isBound:!0,offset:n?e-t:i-t}:{isBound:!1,offset:0}}function gu(t,e,i,n,o){var r=t[0],s=t[1],a=e[0],l=e[1],d=bc(s[1]-r[1]),c=bc(s[0]-r[0]),u=bc(l[1]-a[1]);if(!bc(l[0]-a[0])){if(o&&!d)return{isBound:!1,offset:0};if(c)return fu(d/c*(a[0]-r[0])+r[1],a[1],l[1],i,n);var p=a[0]-r[0];return{isBound:h=Math.abs(p)<=(n||0),offset:h?p:0}}if(!u){if(o&&!c)return{isBound:!1,offset:0};if(d)return fu((a[1]-r[1])/(d/c)+r[0],a[0],l[0],i,n);var h;p=a[1]-r[1];return{isBound:h=Math.abs(p)<=(n||0),offset:h?p:0}}return{isBound:!1,offset:0}}function mu(t,e,i,n){return e.map((function(e){var o=e[0],r=e[1],s=e[2],a=function(t,e,i){var n=t.props.innerBounds;if(!n)return{isAllBound:!1,isBound:!1,isVerticalBound:!1,isHorizontalBound:!1,offset:[0,0]};var o=n.left,r=n.top,s=n.width,a=n.height,l=[[o,r],[o,r+a]],d=[[o,r],[o+s,r]],c=[[o+s,r],[o+s,r+a]],u=[[o,r+a],[o+s,r+a]],p=pu(i,e),h=p.horizontal,v=p.vertical;if(vu([i,[o,r],[o+s,r],[o,r+a],[o+s,r+a]],e))return{isAllBound:!1,isBound:!1,isVerticalBound:!1,isHorizontalBound:!1,offset:[0,0]};var f=gu(e,d,v),g=gu(e,u,v),m=gu(e,l,h),b=gu(e,c,h),y=f.isBound&&g.isBound,x=f.isBound||g.isBound,_=m.isBound&&b.isBound,w=m.isBound||b.isBound,S=hc(f.offset,g.offset),C=hc(m.offset,b.offset),k=[0,0],E=!1,L=!1;return Math.abs(C)<Math.abs(S)?(k=[S,0],E=x,L=y):(k=[0,C],E=w,L=_),{isAllBound:L,isVerticalBound:x,isHorizontalBound:w,isBound:E,offset:k}}(t,[r,s],i),l=a.isBound,d=a.offset,c=a.isVerticalBound,u=a.isHorizontalBound,p=$c({datas:n,distX:d[0],distY:d[1]}).map((function(t,e){return t*(o[e]?2/o[e]:0)}));return{sign:o,isBound:l,isVerticalBound:c,isHorizontalBound:u,isSnap:!1,offset:p}}))}function bu(t,e,i){var n,o=mu(t,yu(e,[0,0],!1).map((function(t){var e=t[0],i=t[1],n=t[2];return[e.map((function(t){return 2*Math.abs(t)})),i,n]})),zc(e,[0,0]),i),r=uu(o,0),s=uu(o,1),a=0,l=0,d=r.isVerticalBound||s.isVerticalBound,c=r.isHorizontalBound||s.isHorizontalBound;return(d||c)&&(a=(n=function(t,e){var i=t.datas,n=t.distX,o=t.distY,r=i.beforeMatrix,s=i.matrix,a=i.is3d,l=i.startDragBeforeDist,d=i.startDragDist,c=i.absoluteOrigin,u=a?4:3;return ll(cl(e?r:s,al(e?l:d,[n,o]),u),c)}({datas:i,distX:-r.offset[0],distY:-s.offset[1]}))[0],l=n[1]),{vertical:{isBound:d,offset:a},horizontal:{isBound:c,offset:l}}}function yu(t,e,i){return function(t,e){var i=[],n=t[0],o=t[1];return n&&o?i.push([[0,2*o],t,[-n,o]],[[2*n,0],t,[n,-o]]):n?(i.push([[2*n,0],[n,1],[n,-1]]),e&&i.push([[0,-1],[n,-1],[-n,-1]],[[0,1],[n,1],[-n,1]])):o?(i.push([[0,2*o],[1,o],[-1,o]]),e&&i.push([[-1,0],[-1,o],[-1,-o]],[[1,0],[1,o],[1,-o]])):i.push([[-1,0],[-1,-1],[-1,1]],[[1,0],[1,-1],[1,1]],[[0,-1],[-1,-1],[1,-1]],[[0,1],[-1,1],[1,1]]),i}(e,i).map((function(e){var i=e[0],n=e[1],o=e[2];return[i,zc(t,n),zc(t,o)]}))}function xu(t,e,i,n){var o=n?t.map((function(t){return fl(t,n)})):t,r=ud([i],e);return[[o[0],o[1]],[o[1],o[3]],[o[3],o[2]],[o[2],o[0]]].some((function(t){return!vu(r,t)}))}function _u(t,e,i,n,o){var r=t.props.innerBounds,s=o*Math.PI/180;if(!r)return[];var a=r.left,l=r.top,d=r.width,c=r.height,u=a-n[0],p=a+d-n[0],h=l-n[1],v=l+c-n[1],f=[[u,h],[p,h],[u,v],[p,v]],g=zc(i,[0,0]);if(!xu(i,f,g,0))return[];var m=[],b=f.map((function(t){return[Xd(t),ia([0,0],t)]}));return[[i[0],i[1]],[i[1],i[3]],[i[3],i[2]],[i[2],i[0]]].forEach((function(t){var i=ia([0,0],function(t){var e=t[0],i=t[1],n=i[0]-e[0],o=i[1]-e[1];if(!n)return[e[0],0];if(!o)return[0,e[1]];var r=o/n,s=-r*e[0]+e[1];return[-s/(r+1/r),s/(r*r+1)]}(t)),n=function(t){var e=t[0],i=t[1],n=i[0]-e[0],o=i[1]-e[1];if(!n)return Math.abs(e[0]);if(!o)return Math.abs(e[1]);var r=o/n;return Math.abs((-r*e[0]+e[1])/Math.sqrt(Math.pow(r,2)+1))}(t);m.push.apply(m,b.filter((function(t){var e=t[0];return e&&n<=e})).map((function(t){var e=t[0],o=t[1],r=Math.acos(e?n/e:0);return[s+(o+r)-i,s+(o-r)-i]})).reduce((function(t,e){return t.push.apply(t,e),t}),[]).filter((function(t){return!xu(e,f,g,t)})).map((function(t){return ra(180*t/Math.PI,_d)})))})),m}function wu(t,e,i){var n=t||{},o=n.position,r=void 0===o?"client":o,s=n.left,a=void 0===s?-1/0:s,l=n.top,d=void 0===l?-1/0:l,c=n.right,u=void 0===c?1/0:c,p=n.bottom,h={position:r,left:a,top:d,right:u,bottom:void 0===p?1/0:p};return{vertical:Cu(h,e,!0),horizontal:Cu(h,i,!1)}}function Su(t,e){var i=t.state,n=i.containerClientRect,o=n.clientHeight,r=n.clientWidth,s=n.clientLeft,a=n.clientTop,l=i.snapOffset,d=l.left,c=l.top,u=l.right,p=l.bottom,h=e||t.props.bounds||{},v="css"===(h.position||"client"),f=h.left,g=void 0===f?-1/0:f,m=h.top,b=void 0===m?-1/0:m,y=h.right,x=void 0===y?v?-1/0:1/0:y,_=h.bottom,w=void 0===_?v?-1/0:1/0:_;return v&&(x=r+u-d-x,w=o+p-c-w),{left:g+d-s,right:x+d-s,top:b+c-a,bottom:w+c-a}}function Cu(t,e,i){var n=t[i?"left":"top"],o=t[i?"right":"bottom"],r=Math.min.apply(Math,e),s=Math.max.apply(Math,e),a=[];return n+1>r&&a.push({isBound:!0,offset:r-n,pos:n}),o-1<s&&a.push({isBound:!0,offset:s-o,pos:o}),a.length||a.push({isBound:!1,offset:0,pos:0}),a.sort((function(t,e){return Math.abs(e.offset)-Math.abs(t.offset)}))}function ku(t,e,i){return(i?t.map((function(t){return fl(t,i)})):t).some((function(t){return t[0]<e.left&&Math.abs(t[0]-e.left)>.1||t[0]>e.right&&Math.abs(t[0]-e.right)>.1||t[1]<e.top&&Math.abs(t[1]-e.top)>.1||t[1]>e.bottom&&Math.abs(t[1]-e.bottom)>.1}))}function Eu(t,e,i,n,o){if(!t.props.bounds)return[];var r=o*Math.PI/180,s=Su(t),a=s.left,l=s.top,d=s.right,c=s.bottom,u=a-n[0],p=d-n[0],h=l-n[1],v=c-n[1],f={left:u,top:h,right:p,bottom:v};if(!ku(i,f,0))return[];var g=[];return[[u,0],[p,0],[h,1],[v,1]].forEach((function(t){var n=t[0],o=t[1];i.forEach((function(t){var i=ia([0,0],t);g.push.apply(g,function(t,e,i){var n=Xd(t),o=Math.sqrt(n*n-e*e)||0;return[o,-o].sort((function(e,n){return Math.abs(e-t[i?0:1])-Math.abs(n-t[i?0:1])})).map((function(t){return ia([0,0],i?[t,e]:[e,t])}))}(t,n,o).map((function(t){return r+t-i})).filter((function(t){return!ku(e,f,t)})).map((function(t){return ra(180*t/Math.PI,_d)})))}))})),g}var Lu={horizontal:["left","top","width","Y","X"],vertical:["top","left","height","X","Y"]};function Au(t,e,i,n){var o=t-i,r=o<0?o+e:n;return{size:(o<0?0:o)-r,pos:r}}function qu(t,e){return function(t,e){var i,n=t.direction,o=t.classNames,r=t.size,s=t.pos,a=t.zoom,l=t.key,d="horizontal"===n,c=d?"Y":"X";return e.createElement("div",{key:l,className:o.join(" "),style:(i={},i[d?"width":"height"]=""+r,i.transform="translate("+s[0]+", "+s[1]+") translate"+c+"(-50%) scale"+c+"("+a+")",i)})}(cd(cd({},t),{classNames:ud([qd("line","guideline",t.direction)],t.classNames).filter((function(t){return t})),size:t.size||t.sizeValue+"px",pos:t.pos||t.posValue.map((function(t){return ra(t,.1)+"px"}))}),e)}function Tu(t,e,i,n,o,r,s,a,l,d,c,u){var p=t.props,h=p.zoom,v=p.isDisplaySnapDigit,f=void 0===v||v,g=Lu[e],m=g[0],b=g[1],y=g[2],x=g[4];return pc(i.map((function(t,i){var p=!0;return t.map((function(t,v){var g,_=t.pos,w=t.size,S=Au(_[d],w,o,r),C=S.pos,k=S.size;if(k<a)return null;var E=p;p=!1;var L=f&&E?parseFloat(k.toFixed(l)):0;return u.createElement("div",{key:e+"LinkGuideline"+i+"-"+v,className:qd("guideline-group",e),style:(g={},g[m]=n+C+"px",g[b]=-s+_[d?0:1]+"px",g[y]=k+"px",g)},qu({direction:e,classNames:[qd("dashed")],size:"100%",posValue:[0,0],sizeValue:k,zoom:h},u),u.createElement("div",{className:qd("size-value"),style:{transform:"translate"+x+"(-50%) scale("+h+")"}},L>0?c(L):""))}))})))}function Mu(t,e,i,n,o,r,s,a){var l=t.props.zoom;return i.map((function(t,i){var d=t.type,c=t.pos,u=[0,0];return u[s]=n,u[s?0:1]=-o+c,qu({key:e+"TargetGuideline"+i,classNames:[qd("target","bold",d)],posValue:u,sizeValue:r,zoom:l,direction:e},a)}))}function Ou(t,e,i,n,o,r){var s=t.props.isDisplayInnerSnapDigit,a=i?0:1,l=n[i],d=r[i],c=[],u=e.filter((function(t){var e=t.element,o=t.pos,r=t.size;if(s&&e&&o[i]<l&&l+d<o[i]+r){var u=o[i]-l,p=o[a]-n[a];return c.push(cd(cd({},t),{inner:!0,gap:u,renderPos:i?[p,u]:[u,p]})),c.push(cd(cd({},t),{inner:!0,gap:o[i]+r-l-d,renderPos:i?[p,d]:[d,p]})),!1}return!0})),p=function(t,e,i,n){var o=[],r=uc(t.filter((function(t){var e=t.element,i=t.gap;return e&&!i})),(function(t){var i=t.element,r=t.pos,s=r[n],a=(Math.min(0,s-e)<0?-1:1)+"_"+r[n?0:1],l=Ks(o,(function(t){var e=t[0],n=t[1];return i===e&&s===n}));return l?l[2]:(o.push([i,s,a]),a)}));return r.forEach((function(t){t.sort((function(t,o){return Au(t.pos[n],t.size,e,i).size-Au(o.pos[n],t.size,e,i).size||t.pos[n?0:1]-o.pos[n?0:1]}))})),r}(u=u.filter((function(t){var e=t.element,n=t.pos,o=t.size,r=n[i];return!e||u.every((function(e){var n=e.element,s=e.pos,a=e.size,l=s[i];return!n||t===e||(r+o<=l||l+a<=r||r<l&&l+a<r+o)}))})),o[i],d,i);return c=c.filter((function(t){var e=t.gap,n=t.pos[a];return p.every((function(t){return t.every((function(t){var o=t.pos,s=-l+o[i];return o[a]!==n||!(e<0&&s<0)&&!(e>0&&s>r[i])}))}))})),{guidelines:u,groups:p,gapGuidelines:c}}function Ru(t,e,i,n,o){var r=t.props.zoom;return i.filter((function(t){return!t.hide})).map((function(t,i){var s=t.pos,a=t.size,l=t.element,d=[-n[0]+s[0],-n[1]+s[1]];return qu({key:e+"Guideline"+i,classNames:l?[qd("bold")]:[],direction:e,posValue:d,sizeValue:a,zoom:r},o)}))}function Nu(t,e,i,n,o){var r=t.props,s=r.snapDigit,a=void 0===s?0:s,l=r.isDisplaySnapDigit,d=void 0===l||l,c=r.zoom,u="horizontal"===e?"X":"Y",p="horizontal"===e?"width":"height";return i.map((function(t,i){var r,s=t.renderPos,l=t.gap,h=t.className,v=t.inner,f=Math.abs(l),g=d?parseFloat(f.toFixed(a)):0;return o.createElement("div",{key:e+"GapGuideline"+i,className:qd("guideline-group",e),style:(r={left:s[0]+"px",top:s[1]+"px"},r[p]=f+"px",r)},qu({direction:e,classNames:[qd(v?"dashed":"gap"),h],size:"100%",posValue:[0,0],sizeValue:f,zoom:c},o),o.createElement("div",{className:qd("size-value","gap"),style:{transform:"translate"+u+"(-50%) scale("+c+")"}},g>0?n(g):""))}))}function Bu(t){var e=t.state;if(!e.guidelines||!e.guidelines.length){var i=t.state.container,n=t.props.snapContainer||i,o=e.containerClientRect,r={left:0,top:0,bottom:0,right:0};if(i!==n){var s=_c(n,!0);if(s){var a=tc(s),l=Sc(e,[a.left-o.left,a.top-o.top]),d=Sc(e,[a.right-o.right,a.bottom-o.bottom]);r.left=ra(l[0],.1),r.top=ra(l[1],.1),r.right=ra(d[0],.1),r.bottom=ra(d[1],.1)}}e.snapOffset=r,e.elementGuidelineValues=[],e.staticGuidelines=nu(t,!1),e.guidelines=ou(t),e.enableSnap=!0}}function Iu(t,e){var i=t.props,n=i.snappable,o=i.bounds,r=i.innerBounds,s=i.verticalGuidelines,a=i.horizontalGuidelines,l=i.snapGridWidth,d=i.snapGridHeight,c=t.state,u=c.guidelines,p=c.enableSnap;return!(!n||!p||e&&!0!==n&&n.indexOf(e)<0)&&!!(l||d||o||r||u&&u.length||s&&s.length||a&&a.length)}function $u(t,e,i,n,o){var r=function(t,e,i,n){var o=e[0]-t[0],r=e[1]-t[1];Math.abs(o)<_d&&(o=0);Math.abs(r)<_d&&(r=0);if(!o)return n?[0,0]:[0,i];if(!r)return n?[i,0]:[0,0];var s=r/o,a=t[1]-s*t[0];return n?[i,s*(e[0]+i)+a-e[1]]:[(e[1]+i-a)/s-e[0],i]}(t,e,i,n);if(!r)return{isOutside:!1,offset:[0,0]};var s=oa(t,e),a=oa(r,t),l=oa(r,e),d=a>s||l>s,c=$c({datas:o,distX:r[0],distY:r[1]});return{offset:[c[0],c[1]],isOutside:d}}function Du(t,e,i,n,o,r){var s=Ud(t,e,i,r?4:3);return ic(s,ll(n,function(t,e){return zc(t,e.map((function(t){return-t})))}(s,o)))}function Hu(t,e){return t.isBound?t.offset:e.isSnap?e.offset:0}function zu(t,e){return t.isBound?t.offset:e.isSnap?lu(e).offset:0}function Pu(t,e,i,n){var o=function(t,e,i){var n=Su(t),o=n.left,r=n.top,s=n.right,a=n.bottom,l=i[0],d=i[1],c=ll(i,e),u=c[0],p=c[1];Math.abs(u)<_d&&(u=0),Math.abs(p)<_d&&(p=0);var h=p>0,v=u>0,f={isBound:!1,offset:0,pos:0},g={isBound:!1,offset:0,pos:0};if(0===u&&0===p)return{vertical:f,horizontal:g};if(0===u)h?a<d&&(g.pos=a,g.offset=d-a):r>d&&(g.pos=r,g.offset=d-r);else if(0===p)v?s<l&&(f.pos=s,f.offset=l-s):o>l&&(f.pos=o,f.offset=l-o);else{var m=p/u,b=i[1]-m*l,y=0,x=0,_=!1;v&&s<=l?(y=m*s+b,x=s,_=!0):!v&&l<=o&&(y=m*o+b,x=o,_=!0),_&&(y<r||y>a)&&(_=!1),_||(h&&a<=d?(x=((y=a)-b)/m,_=!0):!h&&d<=r&&(x=((y=r)-b)/m,_=!0)),_&&(f.isBound=!0,f.pos=x,f.offset=l-x,g.isBound=!0,g.pos=y,g.offset=d-y)}return{vertical:f,horizontal:g}}(t,e,i),r=o.horizontal,s=o.vertical,a=n?{horizontal:{isSnap:!1},vertical:{isSnap:!1}}:function(t,e,i){var n=i[0],o=i[1],r=e[0],s=e[1],a=ll(i,e),l=a[0],d=a[1],c=d>0,u=l>0;l=bc(l),d=bc(d);var p={isSnap:!1,offset:0,pos:0},h={isSnap:!1,offset:0,pos:0};if(0===l&&0===d)return{vertical:p,horizontal:h};var v=ru(t,l?[n]:[],d?[o]:[]),f=v.vertical,g=v.horizontal;f.posInfos.filter((function(t){var e=t.pos;return u?e>=r:e<=r})),g.posInfos.filter((function(t){var e=t.pos;return c?e>=s:e<=s})),f.isSnap=f.posInfos.length>0,g.isSnap=g.posInfos.length>0;var m=lu(f),b=m.isSnap,y=m.guideline,x=lu(g),_=x.isSnap,w=x.guideline,S=_?w.pos[1]:0,C=b?y.pos[0]:0;if(0===l)_&&(h.isSnap=!0,h.pos=w.pos[1],h.offset=o-h.pos);else if(0===d)b&&(p.isSnap=!0,p.pos=C,p.offset=n-C);else{var k=d/l,E=i[1]-k*n,L=0,A=0,q=!1;b?(L=k*(A=C)+E,q=!0):_&&(A=((L=S)-E)/k,q=!0),q&&(p.isSnap=!0,p.pos=A,p.offset=n-A,h.isSnap=!0,h.pos=L,h.offset=o-L)}return{vertical:p,horizontal:h}}(t,e,i),l=a.horizontal,d=a.vertical,c=Hu(r,l),u=Hu(s,d),p=Math.abs(c),h=Math.abs(u);return{horizontal:{isBound:r.isBound,isSnap:l.isSnap,offset:c,dist:p},vertical:{isBound:s.isBound,isSnap:d.isSnap,offset:u,dist:h}}}function Fu(t,e,i,n){void 0===n&&(n=i);var o=wu(Su(t),n.map((function(t){return t[0]})),n.map((function(t){return t[1]}))),r=o.horizontal,s=o.vertical,a=e?{horizontal:{isSnap:!1,index:-1},vertical:{isSnap:!1,index:-1}}:ru(t,i.map((function(t){return t[0]})),i.map((function(t){return t[1]})),t.props.snapCenter),l=a.horizontal,d=a.vertical,c=zu(r[0],l),u=zu(s[0],d),p=Math.abs(c),h=Math.abs(u);return{horizontal:{isBound:r[0].isBound,isSnap:l.isSnap,snapIndex:l.index,offset:c,dist:p,bounds:r,snap:l},vertical:{isBound:s[0].isBound,isSnap:d.isSnap,snapIndex:d.index,offset:u,dist:h,bounds:s,snap:d}}}function Uu(t,e,i,n,o){void 0===o&&(o={});var r=wu(e,i,n),s=r.horizontal,a=r.vertical,l=o.isRequest?{horizontal:{isSnap:!1,index:-1},vertical:{isSnap:!1,index:-1}}:su(t,i,n,o),d=l.horizontal,c=l.vertical,u=zu(s[0],d),p=zu(a[0],c),h=Math.abs(u),v=Math.abs(p);return{horizontal:{isBound:s[0].isBound,isSnap:d.isSnap,snapIndex:d.index,offset:u,dist:h,bounds:s,snap:d},vertical:{isBound:a[0].isBound,isSnap:c.isSnap,snapIndex:c.index,offset:p,dist:v,bounds:a,snap:c}}}function Wu(t,e,i,n,o,r){return i.map((function(i){var s=i[0],a=i[1],l=zc(e,s),d=zc(e,a),c=n?Pu(t,l,d,o):Fu(t,o,[d]),u=c.horizontal,p=u.offset,h=u.isBound,v=u.isSnap,f=c.vertical,g=f.offset,m=f.isBound,b=f.isSnap,y=ll(a,s);if(!g&&!p)return{isBound:m||h,isSnap:b||v,sign:y,offset:[0,0]};var x=function(t,e,i,n){var o=ia(t,e)/Math.PI*180,r=i.vertical,s=r.isBound,a=r.isSnap,l=r.dist,d=i.horizontal,c=d.isBound,u=d.isSnap,p=o%180,h=p<3||p>177,v=p>87&&p<93;return d.dist<l&&(s||a&&!v&&(!n||!h))?"vertical":!c&&(!u||h||n&&v)?"":"horizontal"}(l,d,c,n);if(!x)return{sign:y,isBound:!1,isSnap:!1,offset:[0,0]};var _="vertical"===x,w=$u(l,d,-(_?g:p),_,r).offset.map((function(t,e){return t*(y[e]?2/y[e]:0)}));return{sign:y,isBound:_?m:h,isSnap:_?b:v,offset:w}}))}function ju(t,e,i,n,o,r){var s=function(t,e){var i=[],n=[-t[0],-t[1]];return t[0]&&t[1]?(i.push([n,[t[0],-t[1]]],[n,[-t[0],t[1]]]),e&&i.push([n,t])):t[0]?e?i.push([n,[n[0],-1]],[n,[n[0],1]],[n,[t[0],-1]],[n,t],[n,[t[0],1]]):i.push([[n[0],-1],[t[0],-1]],[[n[0],0],[t[0],0]],[[n[0],1],[t[0],1]]):t[1]?e?i.push([n,[-1,n[1]]],[n,[1,n[1]]],[n,[-1,t[1]]],[n,[1,t[1]]],[n,t]):i.push([[-1,n[1]],[-1,t[1]]],[[0,n[1]],[0,t[1]]],[[1,n[1]],[1,t[1]]]):i.push([n,[1,0]],[n,[-1,0]],[n,[0,-1]],[n,[0,1]],[[1,0],[1,-1]],[[1,0],[1,1]],[[0,1],[1,1]],[[0,1],[-1,1]],[[-1,0],[-1,-1]],[[-1,0],[-1,1]],[[0,-1],[1,-1]],[[0,-1],[-1,-1]]),i}(i,n),a=yu(e,i,n),l=ud(Wu(t,e,s,n,o,r),mu(t,a,zc(e,[0,0]),r)),d=uu(l,0),c=uu(l,1);return{width:{isBound:d.isBound,offset:d.offset[0]},height:{isBound:c.isBound,offset:c.offset[1]}}}function Gu(t,e,i,n,o,r,s,a){for(var l=nc(t.state),d=t.props.keepRatio,c=0,u=0,p=0;p<2;++p){var h=ju(t,e(c,u),o,d,s,a),v=h.width,f=h.height,g=v.isBound,m=f.isBound,b=v.offset,y=f.offset;if(1===p&&(g||(b=0),m||(y=0)),0===p&&s&&!g&&!m)return[0,0];if(d){var x=Math.abs(b)*(i?1/i:1),_=Math.abs(y)*(n?1/n:1);(g&&m?x<_:m||!g&&x<_)?b=i*y/n:y=n*b/i}c+=b,u+=y}if(o[0]&&o[1]){var w=function(t,e,i,n,o){var r=[-i[0],-i[1]],s=t.state,a=s.width,l=s.height,d=t.props.bounds,c=1/0,u=1/0;if(d){var p=[[i[0],-i[1]],[-i[0],i[1]]],h=d.left,v=void 0===h?-1/0:h,f=d.top,g=void 0===f?-1/0:f,m=d.right,b=void 0===m?1/0:m,y=d.bottom,x=void 0===y?1/0:y;p.forEach((function(t){var i=t[0]!==r[0],s=t[1]!==r[1],d=zc(e,t),p=360*ia(n,d)/Math.PI;if(s){var h=d.slice();(Math.abs(p-360)<2||Math.abs(p-180)<2)&&(h[1]=n[1]);var f=$u(n,h,(n[1]<d[1]?x:g)-d[1],!1,o),m=f.offset[1],y=f.isOutside;isNaN(m)||(u=l+(y?1:-1)*Math.abs(m))}if(i){h=d.slice(),(Math.abs(p-90)<2||Math.abs(p-270)<2)&&(h[0]=n[0]);var _=$u(n,h,(n[0]<d[0]?b:v)-d[0],!0,o),w=_.offset[0],S=_.isOutside;isNaN(w)||(c=a+(S?1:-1)*Math.abs(w))}}))}return{maxWidth:c,maxHeight:u}}(t,l,o,r,a),S=w.maxWidth,C=w.maxHeight,k=function(t,e,i,n,o,r,s,a,l){var d=Fu(t,a,[zc(e,s)]),c=d.horizontal.offset,u=d.vertical.offset;if(u||c){var p=$c({datas:l,distX:-u,distY:-c}),h=p[0],v=p[1];return[Math.min(o||1/0,i+s[0]*h)-i,Math.min(r||1/0,n+s[1]*v)-n]}return[0,0]}(t,e(c,u).map((function(t){return t.map((function(t){return ra(t,xd)}))})),i+c,n+u,S,C,o,s,a);c+=b=k[0],u+=y=k[1]}return[c,u]}function Xu(t,e,i,n){if(!Iu(t,"rotatable"))return n;var o=e.pos1,r=e.pos2,s=e.pos3,a=e.pos4,l=n*Math.PI/180,d=[o,r,s,a].map((function(t){return ll(t,i)})),c=d.map((function(t){return fl(t,l)})),u=ud(Eu(t,d,c,i,n),_u(t,d,c,i,n));return u.sort((function(t,e){return Math.abs(t-n)-Math.abs(e-n)})),u.length?u[0]:n}function Yu(t,e,i,n,o){var r=o.width,s=o.height,a=o.fixedPosition;if(!Iu(t,"scalable"))return[0,0];var l=o.is3d,d=Gu(t,(function(t,n){return Du(function(t,e){var i=t.transformOrigin,n=t.offsetMatrix,o=t.is3d?4:3;return Pc(n,sl(t.targetMatrix,xl(e,o),o),i,o)}(o,al(e,[t/r,n/s])),r,s,a,i,l)}),r,s,i,a,n,o);return[d[0]/r,d[1]/s]}function Vu(t,e,i,n,o,r){if(!Iu(t,"draggable"))return[{isSnap:!1,isBound:!1,offset:0},{isSnap:!1,isBound:!1,offset:0}];var s=ic(r.absolutePoses,[e,i]),a=Wd(s),l=a.left,d=a.right,c=a.top,u=a.bottom,p=[[l,c],[d,c],[l,u],[d,u]];t.props.snapCenter&&p.push([(l+d)/2,(c+u)/2]);var h=Fu(t,o,p,s),v=h.vertical,f=h.horizontal,g=bu(t,s,r),m=g.vertical,b=g.horizontal,y=v.isSnap,x=f.isSnap,_=v.isBound||m.isBound,w=f.isBound||b.isBound,S=function(t,e,i,n,o){var r=e[0],s=e[1],a=i[0],l=i[1],d=n[0],c=n[1],u=o[0],p=o[1],h=-u,v=-p;if(t&&r&&s){h=0,v=0;var f=[];if(a&&l?f.push([0,p],[u,0]):a?f.push([u,0]):l?f.push([0,p]):d&&c?f.push([0,p],[u,0]):d?f.push([u,0]):c&&f.push([0,p]),f.length){f.sort((function(t,e){return Xd(ll([r,s],t))-Xd(ll([r,s],e))}));var g=f[0];if(g[0]&&Math.abs(r)>_d)h=-g[0],v=s*Math.abs(r+h)/Math.abs(r)-s;else if(g[1]&&Math.abs(s)>_d){var m=s;v=-g[1],h=r*Math.abs(s+v)/Math.abs(m)-r}if(t&&l&&a)if(Math.abs(h)>_d&&Math.abs(h)<Math.abs(u))h*=b=Math.abs(u)/Math.abs(h),v*=b;else if(Math.abs(v)>_d&&Math.abs(v)<Math.abs(p)){var b;h*=b=Math.abs(p)/Math.abs(v),v*=b}else h=hc(-u,h),v=hc(-p,v)}}else h=r||a?-u:0,v=s||l?-p:0;return[h,v]}(n,[e,i],[_,w],[y,x],[hc(v.offset,m.offset),hc(f.offset,b.offset)]);return[{isBound:_,isSnap:y,offset:S[0]},{isBound:w,isSnap:x,offset:S[1]}]}function Ku(t){var e=[];return t.forEach((function(t){t.guidelineInfos.forEach((function(t){var i=t.guideline;e.indexOf(i)>-1||e.push(i)}))})),e}function Zu(t,e,i,n){var o=t.filter((function(t){var i=t.element,n=t.gap,o=t.type;return i&&n&&o===e})),r="vertical"===e?[0,1]:[1,0],s=r[0],a=r[1];return pc(o.map((function(t){var e=t.pos,o=t.gap,r=t.gapGuidelines,l=t.sizes,d=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return t.sort((function(t,e){return Math.abs(t)-Math.abs(e)})),t[0]}(e[a]+l[a]-i[a],e[a]-i[a]-n[a]),c=Math.min(l[a],n[a]);if(d>0&&d>c?d=2*(d-c/2):d<0&&d<-c&&(d=2*(d+c/2)),0===d)return[];var u=(d>0?0:n[a])+d/2;return ud(function(t,e,i,n,o,r,s){var a=Math.abs(r),l=o[e]+(r>0?n[0]:0);return t.filter((function(t){return t.pos[e]<=i[e]})).sort((function(t,i){var n=t.pos;return i.pos[e]-n[e]})).filter((function(t){var i=t.pos,n=t.sizes,o=i[e];return ra(o+n[e],xd)===ra(l-a,xd)&&(l=o,!0)})).map((function(t){var n=-i[e]+t.pos[e]+t.sizes[e];return cd(cd({},t),{gap:r,renderPos:e?[s,n]:[n,s]})}))}(r,s,i,n,e,o,u),function(t,e,i,n,o,r,s){var a=Math.abs(r),l=o[e]+(r<0?n[e]:0);return t.filter((function(t){return t.pos[e]>i[e]})).sort((function(t,i){var n=t.pos,o=i.pos;return n[e]-o[e]})).filter((function(t){var i=t.pos,n=t.sizes,o=i[e];return ra(o,xd)===ra(l+a,xd)&&(l=o+n[e],!0)})).map((function(t){var n=-i[e]+t.pos[e]-a;return cd(cd({},t),{gap:r,renderPos:e?[s,n]:[n,s]})}))}(r,s,i,n,e,o,u))})))}function Qu(t,e,i,n,o,r){var s=wu(Su(t,r),e,i),a=s.vertical,l=s.horizontal;a.forEach((function(t){t.isBound&&n.push({type:"bounds",pos:t.pos})})),l.forEach((function(t){t.isBound&&o.push({type:"bounds",pos:t.pos})}));var d=function(t){var e=t.props.innerBounds;if(!e)return{vertical:[],horizontal:[]};var i=t.getRect(),n=i.pos1,o=i.pos2,r=i.pos3,s=i.pos4,a=zc([n,o,r,s],[0,0]),l=e.left,d=e.top,c=e.width,u=e.height,p=[[l,d],[l,d+u]],h=[[l,d],[l+c,d]],v=[[l+c,d],[l+c,d+u]],f=[[l,d+u],[l+c,d+u]],g=[],m=[],b={top:!1,bottom:!1,left:!1,right:!1};return[[n,o],[o,s],[s,r],[r,n]].forEach((function(t){var e=pu(a,t),i=e.horizontal,n=e.vertical,o=gu(t,h,n,1,!0),r=gu(t,f,n,1,!0),s=gu(t,p,i,1,!0),y=gu(t,v,i,1,!0);o.isBound&&!b.top&&(g.push(d),b.top=!0),r.isBound&&!b.bottom&&(g.push(d+u),b.bottom=!0),s.isBound&&!b.left&&(m.push(l),b.left=!0),y.isBound&&!b.right&&(m.push(l+c),b.right=!0)})),{horizontal:g,vertical:m}}(t),c=d.vertical,u=d.horizontal;c.forEach((function(t){Vs(n,(function(e){var i=e.type,n=e.pos;return"bounds"===i&&n===t}))>=0||n.push({type:"bounds",pos:t})})),u.forEach((function(t){Vs(o,(function(e){var i=e.type,n=e.pos;return"bounds"===i&&n===t}))>=0||o.push({type:"bounds",pos:t})}))}var Ju={name:"snappable",props:{snappable:[Boolean,Array],snapContainer:Object,snapCenter:Boolean,snapHorizontal:Boolean,snapVertical:Boolean,snapElement:Boolean,snapGap:Boolean,snapGridWidth:Number,snapGridHeight:Number,isDisplaySnapDigit:Boolean,isDisplayInnerSnapDigit:Boolean,snapDigit:Number,snapThreshold:Number,horizontalGuidelines:Array,verticalGuidelines:Array,elementGuidelines:Array,bounds:Object,innerBounds:Object,snapDistFormat:Function},events:{onSnap:"snap"},css:[":host {\n --bounds-color: #d66;\n}\n.guideline {\n pointer-events: none;\n z-index: 2;\n}\n.guideline.bounds {\n background: #d66;\n background: var(--bounds-color);\n}\n.guideline-group {\n position: absolute;\n top: 0;\n left: 0;\n}\n.guideline-group .size-value {\n position: absolute;\n color: #f55;\n font-size: 12px;\n font-weight: bold;\n}\n.guideline-group.horizontal .size-value {\n transform-origin: 50% 100%;\n transform: translateX(-50%);\n left: 50%;\n bottom: 5px;\n}\n.guideline-group.vertical .size-value {\n transform-origin: 0% 50%;\n top: 50%;\n transform: translateY(-50%);\n left: 5px;\n}\n.guideline.gap {\n background: #f55;\n}\n.size-value.gap {\n color: #f55;\n}\n"],render:function(t,e){var i=t.state,n=i.top,o=i.left,r=i.pos1,s=i.pos2,a=i.pos3,l=i.pos4,d=i.snapRenderInfo,c=i.targetClientRect,u=i.containerClientRect,p=i.is3d,h=i.rootMatrix;if(!d||!Iu(t,""))return[];i.staticGuidelines=nu(t,!1,i.staticGuidelines),i.guidelines=ou(t);var v=p?4:3,f=Math.min(r[0],s[0],a[0],l[0]),g=Math.min(r[1],s[1],a[1],l[1]),m=Jc(h,u,v),b=vc(h,[c.left-m[0],c.top-m[1]],v),y=b[0],x=b[1],_=t.props,w=_.snapThreshold,S=void 0===w?5:w,C=_.snapDigit,k=void 0===C?0:C,E=_.snapDistFormat,L=void 0===E?function(t){return t}:E,A=d.externalPoses||[],q=nc(t.state),T=[],M=[],O=[],R=[],N=[],B=Wd(q),I=B.width,$=B.height,D=B.top,H=B.left,z=B.bottom,P=B.right,F=A.length>0,U=F?Wd(A):{};if(!d.request){if(d.direction&&N.push(function(t,e,i){var n=[];if(i[0]&&i[1])n=[i,[-i[0],i[1]],[i[0],-i[1]]].map((function(t){return zc(e,t)}));else if(i[0]||i[1])t.props.keepRatio?n=[[-1,-1],[-1,1],[1,-1],[1,1],i].map((function(t){return zc(e,t)})):(n=Hc(e,i)).length>1&&n.push([(n[0][0]+n[1][0])/2,(n[0][1]+n[1][1])/2]);else for(var o=[e[0],e[1],e[3],e[2],e[0]],r=0;r<4;++r)n.push(o[r]),n.push([(o[r][0]+o[r+1][0])/2,(o[r][1]+o[r+1][1])/2]);return ru(t,n.map((function(t){return t[0]})),n.map((function(t){return t[1]})),!0,1)}(t,q,d.direction)),d.snap){var W=Wd(q);d.center&&(W.middle=(W.top+W.bottom)/2,W.center=(W.left+W.right)/2),N.push(au(t,W,!0,1))}F&&(d.center&&(U.middle=(U.top+U.bottom)/2,U.center=(U.left+U.right)/2),N.push(au(t,U,!0,1))),N.forEach((function(t){var e=t.vertical.posInfos,i=t.horizontal.posInfos;T.push.apply(T,e.filter((function(t){return t.guidelineInfos.some((function(t){return!t.guideline.hide}))})).map((function(t){return{type:"snap",pos:t.pos}}))),M.push.apply(M,i.filter((function(t){return t.guidelineInfos.some((function(t){return!t.guideline.hide}))})).map((function(t){return{type:"snap",pos:t.pos}}))),O.push.apply(O,Ku(e)),R.push.apply(R,Ku(i))}))}Qu(t,[H,P],[D,z],T,M),F&&Qu(t,[U.left,U.right],[U.top,U.bottom],T,M,d.externalBounds);var j=Zu(O,"vertical",[o,n],[I,$]),G=Zu(R,"horizontal",[o,n],[I,$]),X=ud(O,R);ac(t,"onSnap",{guidelines:X.filter((function(t){return!t.element})),elements:uc(X.filter((function(t){return t.element})),(function(t){return t.element})),gaps:ud(G,j)},!0);var Y=Ou(t,R,0,[o,n],[y,x],[I,$]),V=Y.guidelines,K=Y.groups,Z=Y.gapGuidelines,Q=Ou(t,O,1,[o,n],[y,x],[I,$]),J=Q.guidelines,tt=Q.groups;return ud(Nu(t,"vertical",ud(G,Q.gapGuidelines),L,e),Nu(t,"horizontal",ud(j,Z),L,e),Tu(t,"horizontal",K,f,y,I,n,S,k,0,L,e),Tu(t,"vertical",tt,g,x,$,o,S,k,1,L,e),Ru(t,"horizontal",V,[o,n],e),Ru(t,"vertical",J,[o,n],e),Mu(t,"horizontal",M,f,n,I,0,e),Mu(t,"vertical",T,g,o,$,1,e))},dragStart:function(t,e){t.state.snapRenderInfo={request:e.isRequest,snap:!0,center:!0},Bu(t)},drag:function(t){var e=t.state;e.staticGuidelines=nu(t,!1,e.staticGuidelines),e.guidelines=ou(t)},pinchStart:function(t){this.unset(t)},dragEnd:function(t){this.unset(t)},dragControlCondition:function(t,e){return!(!yc(0,e)&&!dp(t,e))||(!e.isRequest&&e.inputEvent?aa(e.inputEvent.target,qd("snap-control")):void 0)},dragControlStart:function(t){t.state.snapRenderInfo=null,Bu(t)},dragControl:function(t){this.drag(t)},dragControlEnd:function(t){this.unset(t)},dragGroupStart:function(t,e){this.dragStart(t,e)},dragGroup:function(t){this.drag(t)},dragGroupEnd:function(t){this.unset(t)},dragGroupControlStart:function(t){t.state.snapRenderInfo=null,Bu(t)},dragGroupControl:function(t){this.drag(t)},dragGroupControlEnd:function(t){this.unset(t)},unset:function(t){var e=t.state;e.enableSnap=!1,e.staticGuidelines=[],e.guidelines=[],e.snapRenderInfo=null}},tp={name:"draggable",props:{draggable:Boolean,throttleDrag:Number,throttleDragRotate:Number,startDragRotate:Number,edgeDraggable:Boolean},events:{onDragStart:"dragStart",onDrag:"drag",onDragEnd:"dragEnd",onDragGroupStart:"dragGroupStart",onDragGroup:"dragGroup",onDragGroupEnd:"dragGroupEnd"},render:function(t,e){var i=t.props,n=i.throttleDragRotate,o=i.zoom,r=t.state,s=r.dragInfo,a=r.beforeOrigin;if(!n||!s)return[];var l=s.dist;if(!l[0]&&!l[1])return[];var d=Xd(l),c=ia(l,[0,0]);return[e.createElement("div",{className:qd("line","horizontal","dragline","dashed"),key:"dragRotateGuideline",style:{width:d+"px",transform:"translate("+a[0]+"px, "+a[1]+"px) rotate("+c+"rad) scaleY("+o+")"}})]},dragStart:function(t,e){var i=e.datas,n=e.parentEvent,o=e.parentGesto,r=t.state,s=r.target;if(r.gesto)return!1;r.gesto=o||t.targetGesto;var a=lc(s);i.datas={},i.left=parseFloat(a.left||"")||0,i.top=parseFloat(a.top||"")||0,i.bottom=parseFloat(a.bottom||"")||0,i.right=parseFloat(a.right||"")||0,i.startValue=[0,0],Mc(t,e),Wc(e,"translate"),function(t,e){e.absolutePoses=nc(t.state)}(t,i),i.prevDist=[0,0],i.prevBeforeDist=[0,0],i.isDrag=!1;var l=rc(t,e,cd({set:function(t){i.startValue=t}},Uc(e)));return!1!==(n||ac(t,"onDragStart",l))?(i.isDrag=!0,t.state.dragInfo={startRect:t.getRect(),dist:[0,0]}):(r.gesto=null,i.isPinch=!1),!!i.isDrag&&l},drag:function(t,e){Oc(e,"translate");var i=e.datas,n=e.parentEvent,o=e.parentFlag,r=e.isPinch,s=e.isRequest,a=e.distX,l=e.distY,d=i.isDrag,c=i.prevDist,u=i.prevBeforeDist,p=i.startValue;if(d){var h=t.props,v=h.parentMoveable,f=n?0:h.throttleDrag||0,g=n?0:h.throttleDragRotate||0,m=!1,b=0;if(!n&&g>0&&(a||l)){var y=h.startDragRotate||0,x=ra(y+180*ia([0,0],[a,l])/Math.PI,g)-y,_=l*Math.abs(Math.cos((x-90)/180*Math.PI)),w=Xd([a*Math.abs(Math.cos(x/180*Math.PI)),_]);b=x*Math.PI/180,a=w*Math.cos(b),l=w*Math.sin(b)}if(!r&&!n&&!o&&(!g||a||l)){var S=Vu(t,a,l,g,s,i),C=S[0],k=S[1],E=C.isSnap,L=C.isBound,A=C.offset,q=k.isSnap,T=k.isBound;m=E||q||L||T,a+=A,l+=k.offset}i.passDeltaX=a-(i.passDistX||0),i.passDeltaY=l-(i.passDistY||0),i.passDistX=a,i.passDistY=l;var M=al(Ic({datas:i,distX:a,distY:l}),p),O=al(Nc({datas:i,distX:a,distY:l}),p);g||m||(sa(O,f),sa(M,f));var R=ll(M,p),N=ll(O,p),B=ll(N,c),I=ll(R,u);i.prevDist=N,i.prevBeforeDist=R;var $=i.left+R[0],D=i.top+R[1],H=i.right-R[0],z=i.bottom-R[1],P=Rc(i,"translate("+O[0]+"px, "+O[1]+"px)","translate("+N[0]+"px, "+N[1]+"px)");if(t.state.dragInfo.dist=n?[0,0]:N,n||v||!B.every((function(t){return!t}))||!I.some((function(t){return!t}))){var F=t.state,U=rc(t,e,{transform:P,dist:N,delta:B,translate:O,beforeDist:R,beforeDelta:I,beforeTranslate:M,left:$,top:D,right:H,bottom:z,width:F.width,height:F.height,isPinch:r});return!n&&ac(t,"onDrag",U),U}}},dragEnd:function(t,e){var i=e.parentEvent,n=e.datas,o=e.isDrag;if(t.state.gesto=null,t.state.dragInfo=null,n.isDrag)return n.isDrag=!1,!i&&ac(t,"onDragEnd",sc(t,e,{})),o},dragGroupStart:function(t,e){var i=e.datas,n=e.clientX,o=e.clientY,r=this.dragStart(t,e);if(!r)return!1;var s=Ac(t,this,"dragStart",[n||0,o||0],e,!1),a=ac(t,"onDragGroupStart",cd(cd({},r),{targets:t.props.targets,events:s}));return i.isDrag=!1!==a,!!i.isDrag&&r},dragGroup:function(t,e){if(e.datas.isDrag){var i=this.drag(t,e),n=e.datas,o=Ac(t,this,"drag",[n.passDeltaX,n.passDeltaY],e,!1);if(i){var r=cd({targets:t.props.targets,events:o},i);return ac(t,"onDragGroup",r),r}}},dragGroupEnd:function(t,e){var i=e.isDrag;if(e.datas.isDrag)return this.dragEnd(t,e),Ac(t,this,"dragEnd",[0,0],e,!1),ac(t,"onDragGroupEnd",sc(t,e,{targets:t.props.targets})),i},request:function(t){var e={},i=t.getRect(),n=0,o=0;return{isControl:!1,requestStart:function(){return{datas:e}},request:function(t){return"x"in t?n=t.x-i.left:"deltaX"in t&&(n+=t.deltaX),"y"in t?o=t.y-i.top:"deltaY"in t&&(o+=t.deltaY),{datas:e,distX:n,distY:o}},requestEnd:function(){return{datas:e,isDrag:!0}}}},unset:function(t){t.state.dragInfo=null}};function ep(t,e,i,n){void 0===n&&(n="");var o=t.state,r=o.renderPoses,s=o.rotation,a=o.direction,l=t.props,d=l.renderDirections,c=void 0===d?e:d,u=l.zoom,p={};if(!c)return[];var h=a>0?1:-1,v=!0===c?kd:c,f=s/Math.PI*180;return v.forEach((function(t){p[t]=!0})),v.map((function(t){var e=Ed[t];if(!e||!p[t])return null;var o=(ra(f,15)+h*Ld[t]+720)%180;return i.createElement("div",{className:qd("control","direction",t,n),"data-rotation":o,"data-direction":t,key:"direction-"+t,style:Kd.apply(void 0,ud([s,u],e.map((function(t){return r[t]}))))})}))}function ip(t,e,i,n,o,r){for(var s=[],a=6;a<arguments.length;a++)s[a-6]=arguments[a];var l=ia(i,n),d=e?ra(l/Math.PI*180,15)%180:-1;return t.createElement("div",{key:"line"+r,className:qd.apply(void 0,ud(["line","direction",e],s)),"data-rotation":d,"data-line-index":r,"data-direction":e,style:Vd(i,n,o,l)})}function np(t,e){return ep(t,kd,e)}function op(t,e){return ep(t,["nw","ne","sw","se"],e)}function rp(t,e,i,n,o,r){var s=t.state.is3d?4:3,a=Fd(t.state.rootMatrix,o,s),l=al([r.left,r.top],a);e.startAbsoluteOrigin=l,e.prevDeg=ia(l,[i,n])/Math.PI*180,e.prevSnapDeg=e.prevDeg,e.startDeg=e.prevDeg,e.loop=0}function sp(t,e,i,n,o,r){var s=i.prevDeg,a=Xu(t,e,i.origin,n);return i.prevDeg=a,[a-s,a,r+a]}function ap(t,e,i,n,o,r,s,a){var l=i.prevDeg,d=i.prevSnapDeg,c=i.startDeg,u=i.loop;l>n&&l>270&&n<90?++i.loop:l<n&&l<90&&n>270&&--i.loop;var p=i.loop,h=360*u+d-c+r,v=360*p+n-c+r;i.prevDeg=v-360*p+c-r;var f=o*((v=ra(v,s))-r);return a&&(v=(f=Xu(t,e,i.origin,f))/o+r),i.prevSnapDeg=v-360*p+c-r,[o*(v-h),f,r+f]}function lp(t,e,i,n,o,r,s,a){return ap(t,e,i,ia(i.startAbsoluteOrigin,[o,r])/Math.PI*180,n,s,a,!0)}function dp(t,e){if(e.isRequest)return"rotatable"===e.requestAble;var i=e.inputEvent.target;if(aa(i,qd("rotation-control")))return!0;var n=t.props.rotationTarget;return!!n&&wc(n,!0).some((function(t){return!!t&&(i===t||i.contains(t))}))}var cp={name:"rotatable",canPinch:!0,props:{rotatable:Boolean,rotationPosition:String,throttleRotate:Number,renderDirections:Object,rotationTarget:Object},events:{onRotateStart:"rotateStart",onRotate:"rotate",onRotateEnd:"rotateEnd",onRotateGroupStart:"rotateGroupStart",onRotateGroup:"rotateGroup",onRotateGroupEnd:"rotateGroupEnd"},css:[".rotation {\n position: absolute;\n height: 40px;\n width: 1px;\n transform-origin: 50% 100%;\n height: calc(40px * var(--zoom));\n top: auto;\n left: 0;\n bottom: 100%;\n will-change: transform;\n }\n .rotation .rotation-line {\n display: block;\n width: 100%;\n height: 100%;\n transform-origin: 50% 50%;\n }\n .rotation .rotation-control {\n border-color: #4af;\n border-color: var(--moveable-color);\n background:#fff;\n cursor: alias;\n }"],render:function(t,e){var i=t.props,n=i.rotatable,o=i.rotationPosition,r=i.zoom,s=i.renderDirections,a=t.state,l=a.renderPoses,d=a.direction;if(!n)return null;var c=function(t,e,i){var n=e[0],o=e[1],r=e[2],s=e[3];if("none"!==t){var a=(t||"top").split("-"),l=a[0],d=a[1],c=[n,o];"left"===l?c=[r,n]:"right"===l?c=[o,s]:"bottom"===l&&(c=[s,r]);var u=[(c[0][0]+c[1][0])/2,(c[0][1]+c[1][1])/2],p=Qd(c,i);if(d){var h="top"===d||"left"===d,v="bottom"===l||"left"===l;u=c[h&&!v||!h&&v?0:1]}return[u,p]}}(o,l,d),u=[];if(c){var p=c[0],h=c[1];u.push(e.createElement("div",{key:"rotation",className:qd("rotation"),style:{transform:"translate(-50%) translate("+p[0]+"px, "+p[1]+"px) rotate("+h+"rad)"}},e.createElement("div",{className:qd("line rotation-line"),style:{transform:"scaleX("+r+")"}}),e.createElement("div",{className:qd("control rotation-control"),style:{transform:"translate(0.5px) scale("+r+")"}})))}return s&&u.push.apply(u,ep(t,[],e)),u},dragControlCondition:dp,dragControlStart:function(t,e){var i=e.datas,n=e.clientX,o=e.clientY,r=e.parentRotate,s=e.parentFlag,a=e.isPinch,l=e.isRequest,d=t.state,c=d.target,u=d.left,p=d.top,h=d.origin,v=d.beforeOrigin,f=d.direction,g=d.beforeDirection,m=d.targetTransform,b=d.moveableClientRect;if(!l&&!c)return!1;var y=t.getRect();if(i.rect=y,i.transform=m,i.left=u,i.top=p,i.fixedPosition=Kc(t,Vc(t)),i.absoluteInfo={origin:y.origin,startValue:y.rotation},rp(t,i.absoluteInfo,n,o,h,b),l||a||s){var x=r||0;i.beforeInfo={origin:y.beforeOrigin,prevDeg:x,startDeg:x,prevSnapDeg:x,loop:0},i.afterInfo={origin:y.origin,prevDeg:x,startDeg:x,prevSnapDeg:x,loop:0}}else i.beforeInfo={origin:y.beforeOrigin},i.afterInfo={origin:y.origin},rp(t,i.beforeInfo,n,o,v,b),rp(t,i.afterInfo,n,o,h,b);i.direction=f,i.beforeDirection=g,i.startValue=0,i.datas={},Wc(e,"rotate");var _=rc(t,e,cd(cd({set:function(t){i.startValue=t*Math.PI/180}},Uc(e)),{dragStart:tp.dragStart(t,(new Ec).dragStart([0,0],e))})),w=ac(t,"onRotateStart",_);return i.isRotate=!1!==w,t.state.snapRenderInfo={request:e.isRequest},!!i.isRotate&&_},dragControl:function(t,e){var i,n,o,r,s,a,l,d,c,u=e.datas,p=e.clientX,h=e.clientY,v=e.parentRotate,f=e.parentFlag,g=e.isPinch,m=e.groupDelta,b=u.beforeDirection,y=u.beforeInfo,x=u.afterInfo,_=u.absoluteInfo,w=u.isRotate,S=u.startValue,C=u.rect;if(w){Oc(e,"rotate");var k,E,L,A,q,T,M,O,R,N=b*function(t){return Gd(t.datas.beforeTransform,[50,50],100,100).direction}(e),B=t.props,I=B.throttleRotate,$=void 0===I?0:I,D=B.parentMoveable,H=180/Math.PI*S,z=_.startValue;if(!f&&"parentDist"in e){var P=e.parentDist;k=(i=sp(t,C,x,P,0,H))[0],E=i[1],L=i[2],A=(n=sp(t,C,y,P,0,H))[0],q=n[1],T=n[2],M=(o=sp(t,C,_,P,0,z))[0],O=o[1],R=o[2]}else g||f?(k=(r=ap(t,C,x,v,N,H,$))[0],E=r[1],L=r[2],A=(s=ap(t,C,y,v,b,H,$))[0],q=s[1],T=s[2],M=(a=ap(t,C,_,v,N,z,$))[0],O=a[1],R=a[2]):(k=(l=lp(t,C,x,N,p,h,H,$))[0],E=l[1],L=l[2],A=(d=lp(t,C,y,b,p,h,H,$))[0],q=d[1],T=d[2],M=(c=lp(t,C,_,N,p,h,z,$))[0],O=c[1],R=c[2]);if(M||k||A||D){var F=Rc(u,"rotate("+L+"deg)","rotate("+E+"deg)"),U=function(t,e,i,n){return Yc(t,"rotate("+e+"deg)",Vc(t),i,n)}(t,E,u.fixedPosition,u),W=ll(al(m||[0,0],U),u.prevInverseDist||[0,0]);u.prevInverseDist=U;var j=rc(t,e,cd({delta:k,dist:E,rotate:L,beforeDist:q,beforeDelta:A,beforeRotate:T,absoluteDist:O,absoluteDelta:M,absoluteRotate:R,isPinch:!!g},Xc(t,F,W,g,e)));return ac(t,"onRotate",j),j}}},dragControlEnd:function(t,e){var i=e.datas,n=e.isDrag;return!!i.isRotate&&(i.isRotate=!1,ac(t,"onRotateEnd",sc(t,e,{})),n)},dragGroupControlCondition:dp,dragGroupControlStart:function(t,e){var i=e.datas,n=t.state,o=n.left,r=n.top,s=n.beforeOrigin,a=this.dragControlStart(t,e);if(!a)return!1;a.set(i.beforeDirection*t.rotation);var l=qc(t,this,"dragControlStart",e,(function(t,e){var i=t.state,n=i.left,a=i.top,l=i.beforeOrigin,d=al(ll([n,a],[o,r]),ll(l,s));return e.datas.groupClient=d,cd(cd({},e),{parentRotate:0})})),d=ac(t,"onRotateGroupStart",cd(cd({},a),{targets:t.props.targets,events:l}));return i.isRotate=!1!==d,!!i.isRotate&&a},dragGroupControl:function(t,e){var i=e.datas;if(i.isRotate){var n=this.dragControl(t,e);if(n){var o=i.beforeDirection,r=n.beforeDist,s=n.beforeDelta/180*Math.PI,a=qc(t,this,"dragControl",e,(function(t,e){var i=e.datas.groupClient,n=i[0],a=i[1],l=fl([n,a],s*o),d=l[0],c=l[1],u=[d-n,c-a];return e.datas.groupClient=[d,c],cd(cd({},e),{parentRotate:r,groupDelta:u})}));t.rotation=o*n.beforeRotate;var l=cd({targets:t.props.targets,events:a,set:function(e){t.rotation=e}},n);return ac(t,"onRotateGroup",l),l}}},dragGroupControlEnd:function(t,e){var i=e.isDrag;if(e.datas.isRotate)return this.dragControlEnd(t,e),qc(t,this,"dragControlEnd",e),ac(t,"onRotateGroupEnd",sc(t,e,{targets:t.props.targets})),i},request:function(t){var e={},i=0,n=t.getRotation();return{isControl:!0,requestStart:function(){return{datas:e}},request:function(t){return"deltaRotate"in t?i+=t.deltaRotate:"rotate"in t&&(i=t.rotate-n),{datas:e,parentDist:i}},requestEnd:function(){return{datas:e,isDrag:!0}}}}},up={name:"resizable",ableGroup:"size",canPinch:!0,props:{resizable:Boolean,throttleResize:Number,renderDirections:Array,keepRatio:Boolean},events:{onResizeStart:"resizeStart",onResize:"resize",onResizeEnd:"resizeEnd",onResizeGroupStart:"resizeGroupStart",onResizeGroup:"resizeGroup",onResizeGroupEnd:"resizeGroupEnd"},render:function(t,e){var i=t.props,n=i.resizable,o=i.edge;if(n)return o?op(t,e):np(t,e)},dragControlCondition:yc,dragControlStart:function(t,e){var i,n=e.inputEvent,o=e.isPinch,r=e.parentDirection,s=e.datas,a=e.parentFlag,l=r||(o?[0,0]:ec(n.target)),d=t.state,c=d.target,u=d.width,p=d.height;if(!l||!c)return!1;!o&&Mc(t,e),s.datas={},s.direction=l,s.startOffsetWidth=u,s.startOffsetHeight=p,s.prevWidth=0,s.prevHeight=0,i=function(t){var e=lc(t);return[parseFloat(e.width),parseFloat(e.height)]}(c),s.startWidth=i[0],s.startHeight=i[1];var h=[Math.max(0,u-s.startWidth),Math.max(0,p-s.startHeight)];if(s.minSize=h,s.maxSize=[1/0,1/0],!a){var v=lc(c),f=v.position,g=v.minWidth,m=v.minHeight,b=v.maxWidth,y=v.maxHeight,x="static"===f||"relative"===f,_=x?c.parentElement:c.offsetParent,w=u,S=p;if(_&&(w=_.clientWidth,S=_.clientHeight,x)){var C=lc(_);w-=parseFloat(C.paddingLeft)||0,S-=parseFloat(C.paddingTop)||0}s.minSize=al([Qs(g,w)||0,Qs(m,S)||0],h),s.maxSize=al([Qs(b,w)||1/0,Qs(y,S)||1/0],h)}var k=t.props.transformOrigin||"% %";function E(t){s.ratio=t&&isFinite(t)?t:0}function L(e){s.fixedDirection=e,s.fixedPosition=Qc(t,e)}s.transformOrigin=k&&Ds(k)?k.split(" "):k,s.isWidth=!l[0]&&!l[1]||l[0]||!l[1],E(u/p),L([-l[0],-l[1]]);var A=rc(t,e,{direction:l,set:function(t){var e=t[0],i=t[1];s.startWidth=e,s.startHeight=i},setMin:function(t){s.minSize=t},setMax:function(t){s.maxSize=[t[0]||1/0,t[1]||1/0]},setRatio:E,setFixedDirection:L,setOrigin:function(t){s.transformOrigin=t},dragStart:tp.dragStart(t,(new Ec).dragStart([0,0],e))});return!1!==ac(t,"onResizeStart",A)&&(s.isResize=!0,t.state.snapRenderInfo={request:e.isRequest,direction:l}),!!s.isResize&&A},dragControl:function(t,e){var i,n=e.datas,o=e.distX,r=e.distY,s=e.parentFlag,a=e.isPinch,l=e.parentDistance,d=e.parentScale,c=e.parentKeepRatio,u=e.dragClient,p=e.parentDist,h=e.isRequest,v=n.isResize,f=n.transformOrigin,g=n.fixedDirection,m=n.startWidth,b=n.startHeight,y=n.prevWidth,x=n.prevHeight,_=n.minSize,w=n.maxSize,S=n.ratio,C=n.isWidth,k=n.startOffsetWidth,E=n.startOffsetHeight;if(v){var L=t.props,A=L.throttleResize,q=void 0===A?0:A,T=L.parentMoveable,M=L.snapThreshold,O=void 0===M?5:M,R=n.direction,N=R,B=0,I=0;R[0]||R[1]||(N=[1,1]);var $=S&&(t.props.keepRatio||c),D=u;if(u||(D=!s&&a?Qc(t,[0,0]):n.fixedPosition),p)B=p[0],I=p[1],$&&(B?I||(I=B/S):B=I*S);else if(d)B=(d[0]-1)*k,I=(d[1]-1)*E;else if(a)l&&(B=l,I=l*E/k);else{var H=$c({datas:n,distX:o,distY:r});if(B=N[0]*H[0],I=N[1]*H[1],$&&k&&E){var z=ia([0,0],H),P=ia([0,0],N),F=Xd([B,I]),U=Math.cos(z-P)*F;if(N[0])if(N[1]){var W=2*N[0]*k,j=2*N[1]*E,G=Xd([W+H[0],j+H[1]])-Xd([W,j]),X=ia([0,0],[S,1]);B=Math.cos(X)*G,I=Math.sin(X)*G}else I=(B=U)*S;else B=(I=U)/S}else if(!$){var Y=ud(R);k||(H[0]<0?Y[0]=-1:H[0]>0&&(Y[0]=1)),E||(H[1]<0?Y[1]=-1:H[1]>0&&(Y[1]=1)),R=Y,B=(N=Y)[0]*H[0],I=N[1]*H[1]}}var V=N[0]||$?Math.max(k+B,_d):k,K=N[1]||$?Math.max(E+I,_d):E;$&&k&&E&&(C?K=V/S:V=K*S);var Z=[0,0];if(a||(Z=function(t,e,i,n,o,r,s){if(!Iu(t,"resizable"))return[0,0];var a=t.state,l=a.allMatrix,d=a.is3d;return Gu(t,(function(t,r){return Du(l,e+t,i+r,o,n,d)}),e,i,n,o,r,s)}(t,V,K,R,D,h,n)),p&&(!p[0]&&(Z[0]=0),!p[1]&&(Z[1]=0)),$){N[0]&&N[1]&&Z[0]&&Z[1]&&(Math.abs(Z[0])>Math.abs(Z[1])?Z[1]=0:Z[0]=0);var Q=!Z[0]&&!Z[1];Q&&(C?V=ra(V,q):K=ra(K,q)),N[0]&&!N[1]||Z[0]&&!Z[1]||Q&&C?K=(V+=Z[0])/S:(!N[0]&&N[1]||!Z[0]&&Z[1]||Q&&!C)&&(V=(K+=Z[1])*S)}else k+B<-O&&(Z[0]=0),k+I<-O&&(Z[1]=0),V+=Z[0],K+=Z[1],Z[0]||(V=ra(V,q)),Z[1]||(K=ra(K,q));V=(i=ta([V,K],_,w,$))[0],K=i[1];var J=[(B=(V=Math.round(V))-k)-y,(I=(K=Math.round(K))-E)-x];n.prevWidth=B,n.prevHeight=I;var tt=Zc(t,V,K,g,D,f);if(T||!J.every((function(t){return!t}))||!tt.every((function(t){return!t}))){var et=rc(t,e,{width:m+B,height:b+I,offsetWidth:V,offsetHeight:K,direction:R,dist:[B,I],delta:J,isPinch:!!a,drag:tp.drag(t,kc(e,t.state,tt,!!a,!1))});return ac(t,"onResize",et),et}}},dragControlAfter:function(t,e){var i=e.datas,n=i.isResize,o=i.startOffsetWidth,r=i.startOffsetHeight,s=i.prevWidth,a=i.prevHeight;if(n){var l=t.state,d=l.width-(o+s),c=l.height-(r+a),u=Math.abs(d)>3,p=Math.abs(c)>3;return u&&(i.startWidth+=d,i.startOffsetWidth+=d,i.prevWidth+=d),p&&(i.startHeight+=c,i.startOffsetHeight+=c,i.prevHeight+=c),u||p?(this.dragControl(t,e),!0):void 0}},dragControlEnd:function(t,e){var i=e.datas,n=e.isDrag;return!!i.isResize&&(i.isResize=!1,ac(t,"onResizeEnd",sc(t,e,{})),n)},dragGroupControlCondition:yc,dragGroupControlStart:function(t,e){var i=e.datas,n=this.dragControlStart(t,e);if(!n)return!1;var o=Lc(t,"resizable",e);function r(e,n){var o=i.fixedDirection,r=i.fixedPosition,s=Qc(e,o),a=cl(bl(-t.rotation/180*Math.PI,3),[s[0]-r[0],s[1]-r[1],1],3),l=a[0],d=a[1];return n.datas.originalX=l,n.datas.originalY=d,n}var s=qc(t,this,"dragControlStart",e,(function(t,e){return r(t,e)})),a=cd(cd({},n),{targets:t.props.targets,events:s,setFixedDirection:function(e){n.setFixedDirection(e),s.forEach((function(i,n){i.setFixedDirection(e),r(t.moveables[n],o[n])}))}}),l=ac(t,"onResizeGroupStart",a);return i.isResize=!1!==l,!!i.isResize&&n},dragGroupControl:function(t,e){var i=e.datas;if(i.isResize){var n=this.dragControl(t,e);if(n){var o=n.offsetWidth,r=n.offsetHeight,s=n.dist,a=t.props.keepRatio,l=[o/(o-s[0]),r/(r-s[1])],d=i.fixedPosition,c=qc(t,this,"dragControl",e,(function(e,i){var n=cl(bl(t.rotation/180*Math.PI,3),[i.datas.originalX*l[0],i.datas.originalY*l[1],1],3),o=n[0],r=n[1];return cd(cd({},i),{parentDist:null,parentScale:l,dragClient:al(d,[o,r]),parentKeepRatio:a})})),u=cd({targets:t.props.targets,events:c},n);return ac(t,"onResizeGroup",u),u}}},dragGroupControlEnd:function(t,e){var i=e.isDrag;if(e.datas.isResize)return this.dragControlEnd(t,e),qc(t,this,"dragControlEnd",e),ac(t,"onResizeGroupEnd",sc(t,e,{targets:t.props.targets})),i},request:function(t){var e={},i=0,n=0,o=t.getRect();return{isControl:!0,requestStart:function(t){return{datas:e,parentDirection:t.direction||[1,1]}},request:function(t){return"offsetWidth"in t?i=t.offsetWidth-o.offsetWidth:"deltaWidth"in t&&(i+=t.deltaWidth),"offsetHeight"in t?n=t.offsetHeight-o.offsetHeight:"deltaHeight"in t&&(n+=t.deltaHeight),{datas:e,parentDist:[i,n]}},requestEnd:function(){return{datas:e,isDrag:!0}}}}},pp={name:"scalable",ableGroup:"size",canPinch:!0,props:{scalable:Boolean,throttleScale:Number,renderDirections:String,keepRatio:Boolean},events:{onScaleStart:"scaleStart",onScale:"scale",onScaleEnd:"scaleEnd",onScaleGroupStart:"scaleGroupStart",onScaleGroup:"scaleGroup",onScaleGroupEnd:"scaleGroupEnd"},render:function(t,e){var i=t.props,n=i.resizable,o=i.scalable,r=i.edge;if(!n&&o)return r?op(t,e):np(t,e)},dragControlCondition:yc,dragControlStart:function(t,e){var i=e.datas,n=e.isPinch,o=e.inputEvent,r=e.parentDirection||(n?[0,0]:ec(o.target)),s=t.state,a=s.width,l=s.height,d=s.targetTransform,c=s.target,u=s.pos1,p=s.pos2,h=s.pos4;if(!r||!c)return!1;n||Mc(t,e),i.datas={},i.transform=d,i.prevDist=[1,1],i.direction=r,i.width=a,i.height=l,i.startValue=[1,1];var v=oa(u,p),f=oa(p,h),g=!r[0]&&!r[1]||r[0]||!r[1];function m(t){i.ratio=t&&isFinite(t)?t:0}function b(e){i.fixedDirection=e,i.fixedPosition=Qc(t,e)}i.scaleWidth=v,i.scaleHeight=f,i.scaleXRatio=v/a,i.scaleYRatio=f/l,Wc(e,"scale"),i.isWidth=g,m(oa(u,p)/oa(p,h)),b([-r[0],-r[1]]);var y=rc(t,e,cd(cd({direction:r,set:function(t){i.startValue=t},setRatio:m,setFixedDirection:b},Uc(e)),{dragStart:tp.dragStart(t,(new Ec).dragStart([0,0],e))}));return!1!==ac(t,"onScaleStart",y)&&(i.isScale=!0,t.state.snapRenderInfo={request:e.isRequest,direction:r}),!!i.isScale&&y},dragControl:function(t,e){Oc(e,"scale");var i=e.datas,n=e.distX,o=e.distY,r=e.parentScale,s=e.parentDistance,a=e.parentKeepRatio,l=e.parentFlag,d=e.isPinch,c=e.dragClient,u=e.parentDist,p=e.isRequest,h=i.prevDist,v=i.direction,f=i.width,g=i.height,m=i.isScale,b=i.startValue,y=i.isWidth,x=i.ratio,_=i.fixedDirection,w=i.scaleXRatio,S=i.scaleYRatio;if(!m)return!1;var C=t.props,k=C.throttleScale,E=C.parentMoveable,L=v;v[0]||v[1]||(L=[1,1]);var A=x&&(t.props.keepRatio||a),q=t.state,T=1,M=1,O=c;if(c||(O=!l&&d?Qc(t,[0,0]):i.fixedPosition),u)T=(f+u[0])/f,M=(g+u[1])/g;else if(r)T=r[0],M=r[1];else if(d)s&&(T=(f+s)/f,M=(g+s*g/f)/g);else{var R=$c({datas:i,distX:n,distY:o}),N=L[0]*R[0]*w,B=L[1]*R[1]*S;if(A&&f&&g)if(L[0])if(L[1]){var I=Xd([N,B]),$=ia([0,0],R),D=ia([0,0],L),H=Math.cos($-D)*I,z=ia([0,0],[x,1]);N=Math.cos(z)*H,B=Math.sin(z)*H}else B=N/x;else N=B*x;T=(f+N/w)/f,M=(g+B/S)/g}T=L[0]||A?T*b[0]:b[0],M=L[1]||A?M*b[1]:b[1],0===T&&(T=(h[0]>0?1:-1)*wd),0===M&&(M=(h[1]>0?1:-1)*wd);var P=[T/b[0],M/b[1]],F=[T,M];if(!d&&t.props.groupable){var U=(q.snapRenderInfo||{}).direction;$s(U)&&(U[0]||U[1])&&(q.snapRenderInfo={direction:v,request:e.isRequest})}var W=[0,0];if(d||(W=Yu(t,P,v,p,i)),A){L[0]&&L[1]&&W[0]&&W[1]&&(Math.abs(W[0]*f)>Math.abs(W[1]*g)?W[1]=0:W[0]=0);var j=!W[0]&&!W[1];if(j&&(y?P[0]=ra(P[0]*b[0],k)/b[0]:P[1]=ra(P[1]*b[1],k)/b[1]),L[0]&&!L[1]||W[0]&&!W[1]||j&&y){P[0]+=W[0];var G=f*P[0]*b[0]/x;P[1]=G/g/b[1]}else if(!L[0]&&L[1]||!W[0]&&W[1]||j&&!y){P[1]+=W[1];var X=g*P[1]*b[1]*x;P[0]=X/f/b[0]}}else P[0]+=W[0],P[1]+=W[1],W[0]||(P[0]=ra(P[0]*b[0],k)/b[0]),W[1]||(P[1]=ra(P[1]*b[1],k)/b[1]);0===P[0]&&(P[0]=(h[0]>0?1:-1)*wd),0===P[1]&&(P[1]=(h[1]>0?1:-1)*wd);var Y,V,K=[P[0]/h[0],P[1]/h[1]];V=b,F=[(Y=P)[0]*V[0],Y[1]*V[1]];var Z=function(t,e,i,n,o){return Yc(t,"scale("+e.join(", ")+")",i,n,o)}(t,P,_,O,i),Q=ll(Z,i.prevInverseDist||[0,0]);if(i.prevDist=P,i.prevInverseDist=Z,T===h[0]&&M===h[1]&&Q.every((function(t){return!t}))&&!E)return!1;var J=Rc(i,"scale("+F.join(", ")+")","scale("+P.join(", ")+")"),tt=rc(t,e,cd({offsetWidth:f,offsetHeight:g,direction:v,scale:F,dist:P,delta:K,isPinch:!!d},Xc(t,J,Q,d,e)));return ac(t,"onScale",tt),tt},dragControlEnd:function(t,e){var i=e.datas,n=e.isDrag;return!!i.isScale&&(i.isScale=!1,ac(t,"onScaleEnd",sc(t,e,{})),n)},dragGroupControlCondition:yc,dragGroupControlStart:function(t,e){var i=e.datas,n=this.dragControlStart(t,e);if(!n)return!1;var o=Lc(t,"resizable",e);function r(e,n){var o=i.fixedDirection,r=i.fixedPosition,s=Qc(e,o),a=cl(bl(-t.rotation/180*Math.PI,3),[s[0]-r[0],s[1]-r[1],1],3),l=a[0],d=a[1];return n.datas.originalX=l,n.datas.originalY=d,n}i.moveableScale=t.scale;var s=qc(t,this,"dragControlStart",e,(function(t,e){return r(t,e)})),a=cd(cd({},n),{targets:t.props.targets,events:s,setFixedDirection:function(e){n.setFixedDirection(e),s.forEach((function(i,n){i.setFixedDirection(e),r(t.moveables[n],o[n])}))}}),l=ac(t,"onScaleGroupStart",a);return i.isScale=!1!==l,!!i.isScale&&a},dragGroupControl:function(t,e){var i=e.datas;if(i.isScale){var n=this.dragControl(t,e);if(n){var o=i.moveableScale;t.scale=[n.scale[0]*o[0],n.scale[1]*o[1]];var r=t.props.keepRatio,s=n.dist,a=n.scale,l=i.fixedPosition,d=qc(t,this,"dragControl",e,(function(e,i){var n=cl(bl(t.rotation/180*Math.PI,3),[i.datas.originalX*s[0],i.datas.originalY*s[1],1],3),o=n[0],d=n[1];return cd(cd({},i),{parentDist:null,parentScale:a,parentKeepRatio:r,dragClient:al(l,[o,d])})})),c=cd({targets:t.props.targets,events:d},n);return ac(t,"onScaleGroup",c),c}}},dragGroupControlEnd:function(t,e){var i=e.isDrag;if(e.datas.isScale)return this.dragControlEnd(t,e),qc(t,this,"dragControlEnd",e),ac(t,"onScaleGroupEnd",sc(t,e,{targets:t.props.targets})),i},request:function(){var t={},e=0,i=0;return{isControl:!0,requestStart:function(e){return{datas:t,parentDirection:e.direction||[1,1]}},request:function(n){return e+=n.deltaWidth,i+=n.deltaHeight,{datas:t,parentDist:[e,i]}},requestEnd:function(){return{datas:t,isDrag:!0}}}}};function hp(t,e){return t.map((function(t,i){return n=t,o=e[i],(n*(s=2)+o*(r=1))/(r+s);var n,o,r,s}))}function vp(t,e,i){var n=ia(t,e),o=ia(t,i)-n;return o>=0?o:o+2*Math.PI}var fp={name:"warpable",ableGroup:"size",props:{warpable:Boolean,renderDirections:Array},events:{onWarpStart:"warpStart",onWarp:"warp",onWarpEnd:"warpEnd"},render:function(t,e){var i=t.props,n=i.resizable,o=i.scalable,r=i.warpable,s=i.zoom;if(n||o||!r)return[];var a=t.state,l=a.pos1,d=a.pos2,c=a.pos3,u=a.pos4,p=hp(l,d),h=hp(d,l),v=hp(l,c),f=hp(c,l),g=hp(c,u),m=hp(u,c),b=hp(d,u),y=hp(u,d);return ud([e.createElement("div",{className:qd("line"),key:"middeLine1",style:Vd(p,g,s)}),e.createElement("div",{className:qd("line"),key:"middeLine2",style:Vd(h,m,s)}),e.createElement("div",{className:qd("line"),key:"middeLine3",style:Vd(v,b,s)}),e.createElement("div",{className:qd("line"),key:"middeLine4",style:Vd(f,y,s)})],np(t,e))},dragControlCondition:function(t,e){return!e.isRequest&&aa(e.inputEvent.target,qd("direction"))},dragControlStart:function(t,e){var i=e.datas,n=e.inputEvent,o=t.props.target,r=ec(n.target);if(!r||!o)return!1;var s=t.state,a=s.transformOrigin,l=s.is3d,d=s.targetTransform,c=s.targetMatrix,u=s.width,p=s.height,h=s.left,v=s.top;return i.datas={},i.targetTransform=d,i.warpTargetMatrix=l?c:ol(c,3,4),i.targetInverseMatrix=el(il(i.warpTargetMatrix,4),3,4),i.direction=r,i.left=h,i.top=v,i.poses=[[0,0],[u,0],[0,p],[u,p]].map((function(t){return ll(t,a)})),i.nextPoses=i.poses.map((function(t){var e=t[0],n=t[1];return cl(i.warpTargetMatrix,[e,n,0,1],4)})),i.startValue=yl(4),i.prevMatrix=yl(4),i.absolutePoses=nc(s),i.posIndexes=Dc(r),Mc(t,e),Wc(e,"matrix3d"),s.snapRenderInfo={request:e.isRequest,direction:r},!1!==ac(t,"onWarpStart",rc(t,e,cd({set:function(t){i.startValue=t}},Uc(e))))&&(i.isWarp=!0),i.isWarp},dragControl:function(t,e){var i=e.datas,n=e.isRequest,o=e.distX,r=e.distY,s=i.targetInverseMatrix,a=i.prevMatrix,l=i.isWarp,d=i.startValue,c=i.poses,u=i.posIndexes,p=i.absolutePoses;if(!l)return!1;if(Oc(e,"matrix3d"),Iu(t,"warpable")){var h=u.map((function(t){return p[t]}));h.length>1&&h.push([(h[0][0]+h[1][0])/2,(h[0][1]+h[1][1])/2]);var v=Fu(t,n,h.map((function(t){return[t[0]+o,t[1]+r]}))),f=v.horizontal,g=v.vertical;r-=f.offset,o-=g.offset}var m=$c({datas:i,distX:o,distY:r},!0),b=i.nextPoses.slice();if(u.forEach((function(t){b[t]=al(b[t],m)})),!yd.every((function(t){return e=t.map((function(t){return c[t]})),i=t.map((function(t){return b[t]})),n=vp(e[0],e[1],e[2]),o=vp(i[0],i[1],i[2]),r=Math.PI,!(n>=r&&o<=r||n<=r&&o>=r);var e,i,n,o,r})))return!1;var y=wl(c[0],c[2],c[1],c[3],b[0],b[2],b[1],b[3]);if(!y.length)return!1;var x=Bc(i,sl(s,y,4),!0),_=sl(il(a,4),x,4);i.prevMatrix=x;var w=sl(d,x,4),S=Rc(i,"matrix3d("+w.join(", ")+")","matrix3d("+x.join(", ")+")");return Gc(e,S),ac(t,"onWarp",rc(t,e,{delta:_,matrix:w,dist:x,multiply:sl,transform:S})),!0},dragControlEnd:function(t,e){var i=e.datas,n=e.isDrag;return!!i.isWarp&&(i.isWarp=!1,ac(t,"onWarpEnd",sc(t,e,{})),n)}},gp=qd("area-pieces"),mp=qd("area-piece"),bp=qd("avoid");function yp(t){var e=t.areaElement,i=t.state,n=i.width,o=i.height;!function(t,e){if(t.classList)t.classList.remove(e);else{var i=new RegExp("(\\s|^)"+e+"(\\s|$)");t.className=t.className.replace(i," ")}}(e,bp),e.style.cssText+="left: 0px; top: 0px; width: "+n+"px; height: "+o+"px"}function xp(t){return t.createElement("div",{key:"area_pieces",className:gp},t.createElement("div",{className:mp}),t.createElement("div",{className:mp}),t.createElement("div",{className:mp}),t.createElement("div",{className:mp}))}var _p={name:"dragArea",props:{dragArea:Boolean,passDragArea:Boolean},events:{onClick:"click",onClickGroup:"clickGroup"},render:function(t,e){var i=t.props,n=i.target,o=i.dragArea,r=i.groupable,s=i.passDragArea,a=t.state,l=a.width,d=a.height,c=a.renderPoses,u=s?qd("area","pass"):qd("area");if(r)return[e.createElement("div",{key:"area",ref:_s(t,"areaElement"),className:u}),xp(e)];if(!n||!o)return[];var p=wl([0,0],[l,0],[0,d],[l,d],c[0],c[1],c[2],c[3]),h=p.length?Hd(p,!0):"none";return[e.createElement("div",{key:"area",ref:_s(t,"areaElement"),className:u,style:{top:"0px",left:"0px",width:l+"px",height:d+"px",transformOrigin:"0 0",transform:h}}),xp(e)]},dragStart:function(t,e){var i=e.datas,n=e.clientX,o=e.clientY;if(!e.inputEvent)return!1;i.isDragArea=!1;var r,s,a=t.areaElement,l=t.state,d=l.moveableClientRect,c=l.renderPoses,u=l.rootMatrix,p=l.is3d,h=d.left,v=d.top,f=Wd(c),g=f.left,m=f.top,b=f.width,y=f.height,x=vc(u,[n-h,o-v],p?4:3),_=x[0],w=x[1],S=[{left:g,top:m,width:b,height:(w-=m)-10},{left:g,top:m,width:(_-=g)-10,height:y},{left:g,top:m+w+10,width:b,height:y-w-10},{left:g+_+10,top:m,width:b-_-10,height:y}],C=[].slice.call(a.nextElementSibling.children);S.forEach((function(t,e){C[e].style.cssText="left: "+t.left+"px;top: "+t.top+"px; width: "+t.width+"px; height: "+t.height+"px;"})),s=bp,(r=a).classList?r.classList.add(s):r.className+=" "+s,l.disableNativeEvent=!0},drag:function(t,e){var i=e.datas,n=e.inputEvent;if(this.enableNativeEvent(t),!n)return!1;i.isDragArea||(i.isDragArea=!0,yp(t))},dragEnd:function(t,e){this.enableNativeEvent(t);var i=e.inputEvent,n=e.datas;if(!i)return!1;n.isDragArea||yp(t)},dragGroupStart:function(t,e){return this.dragStart(t,e)},dragGroup:function(t,e){return this.drag(t,e)},dragGroupEnd:function(t,e){return this.dragEnd(t,e)},unset:function(t){yp(t),t.state.disableNativeEvent=!1},enableNativeEvent:function(t){var e=t.state;e.disableNativeEvent&&requestAnimationFrame((function(){e.disableNativeEvent=!1}))}},wp=pd("origin",{render:function(t,e){var i=t.props.zoom,n=t.state,o=n.beforeOrigin,r=n.rotation;return[e.createElement("div",{className:qd("control","origin"),style:Kd(r,i,o),key:"beforeOrigin"})]}});function Sp(t){var e=t.scrollContainer;return[e.scrollLeft,e.scrollTop]}var Cp={name:"scrollable",canPinch:!0,props:{scrollable:Boolean,scrollContainer:Object,scrollThreshold:Number,getScrollPosition:Function},events:{onScroll:"scroll",onScrollGroup:"scrollGroup"},dragStart:function(t,e){var i=t.props.scrollContainer,n=void 0===i?t.getContainer():i,o=new Fl,r=_c(n,!0);e.datas.dragScroll=o;var s=e.isControl?"controlGesto":"targetGesto",a=e.targets;o.on("scroll",(function(i){var n=i.container,o=i.direction,r=rc(t,e,{scrollContainer:n,direction:o}),s=a?"onScrollGroup":"onScroll";a&&(r.targets=a),ac(t,s,r)})).on("move",(function(i){var n=i.offsetX,o=i.offsetY;t[s].scrollBy(n,o,e.inputEvent,!1)})),o.dragStart(e,{container:r})},checkScroll:function(t,e){var i=e.datas.dragScroll;if(i){var n=t.props,o=n.scrollContainer,r=void 0===o?t.getContainer():o,s=n.scrollThreshold,a=void 0===s?0:s,l=n.getScrollPosition,d=void 0===l?Sp:l;return i.drag(e,{container:r,threshold:a,getScrollPosition:function(t){return d({scrollContainer:t.container,direction:t.direction})}}),!0}},drag:function(t,e){return this.checkScroll(t,e)},dragEnd:function(t,e){e.datas.dragScroll.dragEnd(),e.datas.dragScroll=null},dragControlStart:function(t,e){return this.dragStart(t,cd(cd({},e),{isControl:!0}))},dragControl:function(t,e){return this.drag(t,e)},dragControlEnd:function(t,e){return this.dragEnd(t,e)},dragGroupStart:function(t,e){return this.dragStart(t,cd(cd({},e),{targets:t.props.targets}))},dragGroup:function(t,e){return this.drag(t,cd(cd({},e),{targets:t.props.targets}))},dragGroupEnd:function(t,e){return this.dragEnd(t,cd(cd({},e),{targets:t.props.targets}))},dragGroupControlStart:function(t,e){return this.dragStart(t,cd(cd({},e),{targets:t.props.targets,isControl:!0}))},dragGroupContro:function(t,e){return this.drag(t,cd(cd({},e),{targets:t.props.targets}))},dragGroupControEnd:function(t,e){return this.dragEnd(t,cd(cd({},e),{targets:t.props.targets}))}},kp={name:"",props:{target:Object,dragTarget:Object,container:Object,portalContainer:Object,rootContainer:Object,zoom:Number,transformOrigin:Array,edge:Boolean,ables:Array,className:String,pinchThreshold:Number,pinchOutside:Boolean,triggerAblesSimultaneously:Boolean,checkInput:Boolean,cspNonce:String,translateZ:Number,props:Object},events:{}},Ep=pd("padding",{render:function(t,e){var i=t.props;if(i.dragArea)return[];var n=i.padding||{},o=n.left,r=void 0===o?0:o,s=n.top,a=void 0===s?0:s,l=n.right,d=void 0===l?0:l,c=n.bottom,u=void 0===c?0:c,p=t.state,h=p.renderPoses,v=[p.pos1,p.pos2,p.pos3,p.pos4],f=[];return r>0&&f.push([0,2]),a>0&&f.push([0,1]),d>0&&f.push([1,3]),u>0&&f.push([2,3]),f.map((function(t,i){var n=t[0],o=t[1],r=wl([0,0],[100,0],[0,100],[100,100],v[n],v[o],h[n],h[o]);if(r.length)return e.createElement("div",{key:"padding"+i,className:qd("padding"),style:{transform:Hd(r,!0)}})}))}}),Lp=["nw","ne","se","sw"];function Ap(t,e){var i=t[0]+t[1],n=i>e?e/i:1;return t[0]*=n,t[1]=e-t[1]*n,t}var qp=[1,2,5,6],Tp=[0,3,4,7],Mp=[1,-1,-1,1],Op=[1,1,-1,-1];function Rp(t,e,i,n,o,r,s,a,l){void 0===r&&(r=0),void 0===s&&(s=0),void 0===a&&(a=n),void 0===l&&(l=o);var d=[],c=!1,u=t.map((function(t,u){var p=e[u],h=p.horizontal,v=p.vertical;if(v&&!c&&(c=!0,d.push("/")),c){var f=Math.max(0,1===v?t[1]-s:l-t[1]);return d.push(mc(f,o,i)),f}f=Math.max(0,1===h?t[0]-r:a-t[0]);return d.push(mc(f,n,i)),f}));return{styles:d,raws:u}}function Np(t){for(var e=[0,0],i=[0,0],n=t.length,o=0;o<n;++o){var r=t[o];r.sub&&(r.horizontal&&(0===e[1]&&(e[0]=o),e[1]=o-e[0]+1,i[0]=o+1),r.vertical&&(0===i[1]&&(i[0]=o),i[1]=o-i[0]+1))}return{horizontalRange:e,verticalRange:i}}function Bp(t,e,i,n,o,r){var s,a,l,d;void 0===r&&(r=[0,0]);var c=t.indexOf("/"),u=(c>-1?t.slice(0,c):t).length,p=t.slice(0,u),h=t.slice(u+1),v=p[0],f=void 0===v?"0px":v,g=p[1],m=void 0===g?f:g,b=p[2],y=void 0===b?f:b,x=p[3],_=void 0===x?m:x,w=h[0],S=void 0===w?f:w,C=h[1],k=void 0===C?S:C,E=h[2],L=void 0===E?S:E,A=h[3],q=void 0===A?k:A,T=[f,m,y,_].map((function(t){return Qs(t,e)})),M=[S,k,L,q].map((function(t){return Qs(t,i)})),O=T.slice(),R=M.slice();s=Ap([O[0],O[1]],e),O[0]=s[0],O[1]=s[1],a=Ap([O[3],O[2]],e),O[3]=a[0],O[2]=a[1],l=Ap([R[0],R[3]],i),R[0]=l[0],R[3]=l[1],d=Ap([R[1],R[2]],i),R[1]=d[0],R[2]=d[1];var N=O.slice(0,Math.max(r[0],p.length)),B=R.slice(0,Math.max(r[1],h.length));return ud(N.map((function(t,e){var r=Lp[e];return{horizontal:Mp[e],vertical:0,pos:[n+t,o+(-1===Op[e]?i:0)],sub:!0,raw:T[e],direction:r}})),B.map((function(t,i){var r=Lp[i];return{horizontal:0,vertical:Op[i],pos:[n+(-1===Mp[i]?e:0),o+t],sub:!0,raw:M[i],direction:r}})))}function Ip(t,e,i,n,o){void 0===o&&(o=e.length);var r=Np(t.slice(n)),s=r.horizontalRange,a=r.verticalRange,l=i-n,d=0;if(0===l)d=o;else if(l>0&&l<s[1])d=s[1]-l;else{if(!(l>=a[0]))return;d=a[0]+a[1]-l}t.splice(i,d),e.splice(i,d)}function $p(t,e,i,n,o,r,s,a,l,d,c){void 0===d&&(d=0),void 0===c&&(c=0);var u=Np(t.slice(i)),p=u.horizontalRange,h=u.verticalRange;if(n>-1)for(var v=1===Mp[n]?r-d:a-r,f=p[1];f<=n;++f){var g=1===Op[f]?c:l,m=0;if(n===f?m=r:0===f?m=d+v:-1===Mp[f]&&(m=a-(e[i][0]-d)),t.splice(i+f,0,{horizontal:Mp[f],vertical:0,pos:[m,g]}),e.splice(i+f,0,[m,g]),0===f)break}else if(o>-1){var b=1===Op[o]?s-c:l-s;if(0===p[1]&&0===h[1]){var y=[d+b,c];t.push({horizontal:Mp[0],vertical:0,pos:y}),e.push(y)}var x=h[0];for(f=h[1];f<=o;++f){m=1===Mp[f]?d:a,g=0;if(o===f?g=s:0===f?g=c+b:1===Op[f]?g=e[i+x][1]:-1===Op[f]&&(g=l-(e[i+x][1]-c)),t.push({horizontal:0,vertical:Op[f],pos:[m,g]}),e.push([m,g]),0===f)break}}}function Dp(t,e){return void 0===e&&(e=t.map((function(t){return t.raw}))),{horizontals:t.map((function(t,i){return t.horizontal?e[i]:null})).filter((function(t){return null!=t})),verticals:t.map((function(t,i){return t.vertical?e[i]:null})).filter((function(t){return null!=t}))}}var Hp=[[0,-1,"n"],[1,0,"e"]],zp=[[-1,-1,"nw"],[0,-1,"n"],[1,-1,"ne"],[1,0,"e"],[1,1,"se"],[0,1,"s"],[-1,1,"sw"],[-1,0,"w"]];function Pp(t,e,i){var n=t.props.clipRelative,o=t.state,r=o.width,s=o.height,a=e,l=a.type,d=a.poses,c="rect"===l,u="circle"===l;if("polygon"===l)return i.map((function(t){return mc(t[0],r,n)+" "+mc(t[1],s,n)}));if(c||"inset"===l){var p=i[1][1],h=i[3][0],v=i[7][0],f=i[5][1];if(c)return[p,h,f,v].map((function(t){return t+"px"}));var g=[p,r-h,s-f,v].map((function(t,e){return mc(t,e%2?r:s,n)}));if(i.length>8){var m=ll(i[4],i[0]),b=m[0],y=m[1];g.push.apply(g,ud(["round"],Rp(i.slice(8),d.slice(8),n,b,y,v,p,h,f).styles))}return g}if(u||"ellipse"===l){var x=i[0],_=mc(Math.abs(i[1][1]-x[1]),u?Math.sqrt((r*r+s*s)/2):s,n);return(g=u?[_]:[mc(Math.abs(i[2][0]-x[0]),r,n),_]).push("at",mc(x[0],r,n),mc(x[1],s,n)),g}}function Fp(t,e,i,n){var o=[n,(n+e)/2,e],r=[t,(t+i)/2,i];return zp.map((function(t){var e=t[0],i=t[1],n=t[2],s=o[e+1],a=r[i+1];return{vertical:Math.abs(i),horizontal:Math.abs(e),direction:n,pos:[s,a]}}))}function Up(t,e,i,n,o){var r,s,a,l,d,c,u,p=o;if(!p){var h=lc(t),v=h.clipPath;p="none"!==v?v:h.clip}if(p&&"none"!==p&&"auto"!==p||(p=n)){var f=js(p),g=f.prefix,m=void 0===g?p:g,b=f.value,y=void 0===b?"":b,x="circle"===m,_=" ";if("polygon"===m)return _=",",{type:m,clipText:p,poses:M=(E=Ws(y||"0% 0%, 100% 0%, 100% 100%, 0% 100%")).map((function(t){var n=t.split(" "),o=n[0],r=n[1];return{vertical:1,horizontal:1,pos:[Qs(o,e),Qs(r,i)]}})),splitter:_};if(x||"ellipse"===m){var w="",S="",C=0,k=0,E=Us(y);if(x){var L;L=void 0===(r=E[0])?"50%":r,w=void 0===(s=E[2])?"50%":s,S=void 0===(a=E[3])?"50%":a,C=Qs(L,Math.sqrt((e*e+i*i)/2)),k=C}else{var A,q;A=void 0===(l=E[0])?"50%":l,q=void 0===(d=E[1])?"50%":d,w=void 0===(c=E[3])?"50%":c,S=void 0===(u=E[4])?"50%":u,C=Qs(A,e),k=Qs(q,i)}var T=[Qs(w,e),Qs(S,i)],M=ud([{vertical:1,horizontal:1,pos:T,direction:"nesw"}],Hp.slice(0,x?1:2).map((function(t){return{vertical:Math.abs(t[1]),horizontal:t[0],direction:t[2],sub:!0,pos:[T[0]+t[0]*C,T[1]+t[1]*k]}})));return{type:m,clipText:p,radiusX:C,radiusY:k,left:T[0]-C,top:T[1]-k,poses:M,splitter:_}}if("inset"===m){var O=(E=Us(y||"0 0 0 0")).indexOf("round"),R=(O>-1?E.slice(0,O):E).length,N=E.slice(R+1),B=E.slice(0,R),I=B[0],$=B[1],D=void 0===$?I:$,H=B[2],z=void 0===H?I:H,P=B[3],F=void 0===P?D:P,U=[I,z].map((function(t){return Qs(t,i)})),W=U[0],j=U[1],G=[F,D].map((function(t){return Qs(t,e)})),X=G[0],Y=G[1],V=e-Y,K=i-j,Z=Bp(N,V-X,K-W,X,W);return{type:"inset",clipText:p,poses:M=ud(Fp(W,V,K,X),Z),top:W,left:X,right:V,bottom:K,radius:N,splitter:_}}if("rect"===m){_=",";var Q=(E=Ws(y||"0px, "+e+"px, "+i+"px, 0px")).map((function(t){return Gs(t).value}));return{type:"rect",clipText:p,poses:M=Fp(W=Q[0],Y=Q[1],j=Q[2],X=Q[3]),top:W,right:Y,bottom:j,left:X,values:E,splitter:_}}}}var Wp={name:"clippable",props:{clippable:Boolean,defaultClipPath:String,customClipPath:String,clipRelative:Boolean,clipArea:Boolean,dragWithClip:Boolean,clipTargetBounds:Boolean,clipVerticalGuidelines:Array,clipHorizontalGuidelines:Array,clipSnapThreshold:Boolean},events:{onClipStart:"clipStart",onClip:"clip",onClipEnd:"clipEnd"},css:[".control.clip-control {\n background: #6d6;\n cursor: pointer;\n}\n.control.clip-control.clip-radius {\n background: #d66;\n}\n.line.clip-line {\n background: #6e6;\n cursor: move;\n z-index: 1;\n}\n.clip-area {\n position: absolute;\n top: 0;\n left: 0;\n}\n.clip-ellipse {\n position: absolute;\n cursor: move;\n border: 1px solid #6d6;\n border: var(--zoompx) solid #6d6;\n border-radius: 50%;\n transform-origin: 0px 0px;\n}",":host {\n --bounds-color: #d66;\n}",".guideline {\n pointer-events: none;\n z-index: 2;\n}",".line.guideline.bounds {\n background: #d66;\n background: var(--bounds-color);\n}"],render:function(t,e){var i=t.props,n=i.customClipPath,o=i.defaultClipPath,r=i.clipArea,s=i.zoom,a=t.state,l=a.target,d=a.width,c=a.height,u=a.allMatrix,p=a.is3d,h=a.left,v=a.top,f=a.pos1,g=a.pos2,m=a.pos3,b=a.pos4,y=a.clipPathState,x=a.snapBoundInfos;if(!l)return[];var _=Up(l,d,c,o||"inset",y||n);if(!_)return[];var w=p?4:3,S=_.type,C=_.poses.map((function(t){var e=Fd(u,t.pos,w);return[e[0]-h,e[1]-v]})),k=[],E=[],L="rect"===S,A="inset"===S,q="polygon"===S;if(L||A||q){var T=A?C.slice(0,8):C;E=T.map((function(t,i){var n=0===i?T[T.length-1]:T[i-1],o=ia(n,t),r=Yd(n,t);return e.createElement("div",{key:"clipLine"+i,className:qd("line","clip-line","snap-control"),"data-clip-index":i,style:{width:r+"px",transform:"translate("+n[0]+"px, "+n[1]+"px) rotate("+o+"rad) scaleY("+s+")"}})}))}if(k=C.map((function(t,i){return e.createElement("div",{key:"clipControl"+i,className:qd("control","clip-control","snap-control"),"data-clip-index":i,style:{transform:"translate("+t[0]+"px, "+t[1]+"px) scale("+s+")"}})})),A&&k.push.apply(k,C.slice(8).map((function(t,i){return e.createElement("div",{key:"clipRadiusControl"+i,className:qd("control","clip-control","clip-radius","snap-control"),"data-clip-index":8+i,style:{transform:"translate("+t[0]+"px, "+t[1]+"px) scale("+s+")"}})}))),"circle"===S||"ellipse"===S){var M=_.left,O=_.top,R=_.radiusX,N=_.radiusY,B=ll(Fd(u,[M,O],w),Fd(u,[0,0],w)),I=B[0],$=B[1],D="none";if(!r){for(var H=Math.max(10,R/5,N/5),z=[],P=0;P<=H;++P){var F=2*Math.PI/H*P;z.push([R+(R-s)*Math.cos(F),N+(N-s)*Math.sin(F)])}z.push([R,-2]),z.push([-2,-2]),z.push([-2,2*N+2]),z.push([2*R+2,2*N+2]),z.push([2*R+2,-2]),z.push([R,-2]),D="polygon("+z.map((function(t){return t[0]+"px "+t[1]+"px"})).join(", ")+")"}k.push(e.createElement("div",{key:"clipEllipse",className:qd("clip-ellipse","snap-control"),style:{width:2*R+"px",height:2*N+"px",clipPath:D,transform:"translate("+(-h+I)+"px, "+(-v+$)+"px) "+Hd(u)}}))}if(r){var U=Wd(ud([f,g,m,b],C)),W=U.width,j=U.height,G=U.left,X=U.top;if(q||L||A){z=A?C.slice(0,8):C;k.push(e.createElement("div",{key:"clipArea",className:qd("clip-area","snap-control"),style:{width:W+"px",height:j+"px",transform:"translate("+G+"px, "+X+"px)",clipPath:"polygon("+z.map((function(t){return t[0]-G+"px "+(t[1]-X)+"px"})).join(", ")+")"}}))}}return x&&["vertical","horizontal"].forEach((function(t){var i=x[t],n="horizontal"===t;i.isSnap&&E.push.apply(E,i.snap.posInfos.map((function(i,o){var r=i.pos,a=ll(Fd(u,n?[0,r]:[r,0],w),[h,v]),l=ll(Fd(u,n?[d,r]:[r,c],w),[h,v]);return ip(e,"",a,l,s,"clip"+t+"snap"+o,"guideline")}))),i.isBound&&E.push.apply(E,i.bounds.map((function(i,o){var r=i.pos,a=ll(Fd(u,n?[0,r]:[r,0],w),[h,v]),l=ll(Fd(u,n?[d,r]:[r,c],w),[h,v]);return ip(e,"",a,l,s,"clip"+t+"bounds"+o,"guideline","bounds","bold")})))})),ud(k,E)},dragControlCondition:function(t,e){return e.inputEvent&&(e.inputEvent.target.getAttribute("class")||"").indexOf("clip")>-1},dragStart:function(t,e){var i=t.props.dragWithClip;return!(void 0===i||i)&&this.dragControlStart(t,e)},drag:function(t,e){return this.dragControl(t,e)},dragEnd:function(t,e){return this.dragControlEnd(t,e)},dragControlStart:function(t,e){var i=t.state,n=t.props,o=n.defaultClipPath,r=n.customClipPath,s=i.target,a=i.width,l=i.height,d=e.inputEvent?e.inputEvent.target:null,c=d?d.getAttribute("class"):"",u=e.datas,p=Up(s,a,l,o||"inset",r);if(!p)return!1;var h=p.clipText;return!1===ac(t,"onClipStart",rc(t,e,{clipType:p.type,clipStyle:h,poses:p.poses.map((function(t){return t.pos}))}))?(u.isClipStart=!1,!1):(u.isControl=c.indexOf("clip-control")>-1,u.isLine=c.indexOf("clip-line")>-1,u.isArea=c.indexOf("clip-area")>-1||c.indexOf("clip-ellipse")>-1,u.index=d?parseInt(d.getAttribute("data-clip-index"),10):-1,u.clipPath=p,u.isClipStart=!0,i.clipPathState=h,Mc(t,e),!0)},dragControl:function(t,e){var i=e.datas,n=e.originalDatas;if(!i.isClipStart)return!1;var o=n&&n.draggable||{},r=i,s=r.isControl,a=r.isLine,l=r.isArea,d=r.index,c=r.clipPath;if(!c)return!1;var u=o.isDrag?o.prevDist:$c(e),p=u[0],h=u[1],v=t.props,f=t.state,g=f.width,m=f.height,b=!l&&!s&&!a,y=c.type,x=c.poses,_=c.splitter,w=x.map((function(t){return t.pos}));b&&(p=-p,h=-h);var S=!s||"nesw"===x[d].direction,C="inset"===y||"rect"===y,k=x.map((function(){return[0,0]}));if(s&&!S){var E=x[d],L=E.horizontal,A=E.vertical,q=[p*Math.abs(L),h*Math.abs(A)];k=function(t,e,i,n){var o=t[e],r=o.direction,s=o.sub,a=t.map((function(){return[0,0]})),l=r?r.split(""):[];if(n&&e<8){var d=l.filter((function(t){return"w"===t||"e"===t}))[0],c=l.filter((function(t){return"n"===t||"s"===t}))[0];a[e]=i,t.forEach((function(t,e){var n=t.direction;n&&(n.indexOf(d)>-1&&(a[e][0]=i[0]),n.indexOf(c)>-1&&(a[e][1]=i[1]))})),d&&(a[1][0]=i[0]/2,a[5][0]=i[0]/2),c&&(a[3][1]=i[1]/2,a[7][1]=i[1]/2)}else r&&!s?l.forEach((function(e){var n="n"===e||"s"===e;t.forEach((function(t,o){var r=t.direction,s=t.horizontal,l=t.vertical;r&&-1!==r.indexOf(e)&&(a[o]=[n||!s?0:i[0],n&&l?i[1]:0])}))})):a[e]=i;return a}(x,d,q,C)}else S&&(k=w.map((function(){return[p,h]})));var T=w.map((function(t,e){return al(t,k[e])})),M=ud(T);f.snapBoundInfos=null;var O="circle"===c.type,R="ellipse"===c.type;if(O||R){var N=Wd(T),B=Math.abs(N.bottom-N.top),I=Math.abs(R?N.right-N.left:B),$=T[0][1]+B,D=T[0][0]-I,H=T[0][0]+I;O&&(M.push([H,N.bottom]),k.push([1,0])),M.push([N.left,$]),k.push([0,1]),M.push([D,N.bottom]),k.push([1,0])}var z=eu((v.clipHorizontalGuidelines||[]).map((function(t){return Qs(""+t,m)})),(v.clipVerticalGuidelines||[]).map((function(t){return Qs(""+t,g)})),g,m),P=[],F=[];if(O||R)P=[M[4][0],M[2][0]],F=[M[1][1],M[3][1]];else if(C){var U=[M[0],M[2],M[4],M[6]],W=[k[0],k[2],k[4],k[6]];P=U.filter((function(t,e){return W[e][0]})).map((function(t){return t[0]})),F=U.filter((function(t,e){return W[e][1]})).map((function(t){return t[1]}))}else P=M.filter((function(t,e){return k[e][0]})).map((function(t){return t[0]})),F=M.filter((function(t,e){return k[e][1]})).map((function(t){return t[1]}));for(var j=function(t){var e=Uu(z,v.clipTargetBounds&&{left:0,top:0,right:g,bottom:m},P,F,{snapThreshold:5}),i=e.horizontal,n=e.vertical,o=i.offset,r=n.offset;if(!R&&!O||0!==k[0][0]||0!==k[0][1])return M.forEach((function(t,e){var i=k[e];i[0]&&(t[0]-=r),i[1]&&(t[1]-=o)})),"break";var s=Wd(T),a=s.bottom-s.top,l=R?s.right-s.left:a;l-=n.isBound?Math.abs(r):0===n.snapIndex?-r:r,a-=i.isBound?Math.abs(o):0===i.snapIndex?-o:o,O&&(l=a=cu(n,i)>0?a:l);var d=M[0];M[1][1]=d[1]-a,M[2][0]=d[0]+l,M[3][1]=d[1]+a,M[4][0]=d[0]-l},G=0;G<2;++G){if("break"===j())break}var X=Pp(t,c,T),Y=y+"("+X.join(_)+")";if(f.clipPathState=Y,O||R)P=[M[4][0],M[2][0]],F=[M[1][1],M[3][1]];else if(C){U=[M[0],M[2],M[4],M[6]];P=U.map((function(t){return t[0]})),F=U.map((function(t){return t[1]}))}else P=M.map((function(t){return t[0]})),F=M.map((function(t){return t[1]}));return f.snapBoundInfos=Uu(z,v.clipTargetBounds&&{left:0,top:0,right:g,bottom:m},P,F,{snapThreshold:1}),ac(t,"onClip",rc(t,e,{clipEventType:"changed",clipType:y,poses:T,clipStyle:Y,clipStyles:X,distX:p,distY:h})),!0},dragControlEnd:function(t,e){this.unset(t);var i=e.isDrag,n=e.datas,o=e.isDouble,r=n.isLine,s=n.isClipStart,a=n.isControl;return!!s&&(ac(t,"onClipEnd",sc(t,e,{})),o&&(a?function(t,e){var i=e.datas,n=i.clipPath,o=i.index,r=n,s=r.type,a=r.poses,l=r.splitter,d=a.map((function(t){return t.pos})),c=d.length;if("polygon"===s)a.splice(o,1),d.splice(o,1);else{if("inset"!==s)return;if(o<8)return;if(Ip(a,d,o,8,c),c===a.length)return}var u=Pp(t,n,d);ac(t,"onClip",rc(t,e,{clipEventType:"removed",clipType:s,poses:d,clipStyles:u,clipStyle:s+"("+u.join(l)+")",distX:0,distY:0}))}(t,e):r&&function(t,e){var i=Tc(t,e),n=i[0],o=i[1],r=e.datas,s=r.clipPath,a=r.index,l=s,d=l.type,c=l.poses,u=l.splitter,p=c.map((function(t){return t.pos}));if("polygon"===d)p.splice(a,0,[n,o]);else{if("inset"!==d)return;var h=qp.indexOf(a),v=Tp.indexOf(a),f=c.length;if($p(c,p,8,h,v,n,o,p[4][0],p[4][1],p[0][0],p[0][1]),f===c.length)return}var g=Pp(t,s,p);ac(t,"onClip",rc(t,e,{clipEventType:"added",clipType:d,poses:p,clipStyles:g,clipStyle:d+"("+g.join(u)+")",distX:0,distY:0}))}(t,e)),o||i)},unset:function(t){t.state.clipPathState="",t.state.snapBoundInfos=null}},jp={name:"originDraggable",props:{originDraggable:Boolean,originRelative:Boolean},events:{onDragOriginStart:"dragOriginStart",onDragOrigin:"dragOrigin",onDragOriginEnd:"dragOriginEnd"},css:[":host[data-able-origindraggable] .control.origin {\n pointer-events: auto;\n}"],dragControlCondition:function(t,e){return e.isRequest?"originDraggable"===e.requestAble:aa(e.inputEvent.target,qd("origin"))},dragControlStart:function(t,e){var i=e.datas;Mc(t,e);var n=rc(t,e,{dragStart:tp.dragStart(t,(new Ec).dragStart([0,0],e))}),o=ac(t,"onDragOriginStart",n);return i.startOrigin=t.state.transformOrigin,i.startTargetOrigin=t.state.targetOrigin,i.prevOrigin=[0,0],i.isDragOrigin=!0,!1===o?(i.isDragOrigin=!1,!1):n},dragControl:function(t,e){var i=e.datas,n=e.isPinch,o=e.isRequest;if(!i.isDragOrigin)return!1;var r=$c(e),s=r[0],a=r[1],l=t.state,d=l.width,c=l.height,u=l.offsetMatrix,p=l.targetMatrix,h=l.is3d,v=t.props.originRelative,f=void 0===v||v,g=h?4:3,m=[s,a];if(o){var b=e.distOrigin;(b[0]||b[1])&&(m=b)}var y=al(i.startOrigin,m),x=al(i.startTargetOrigin,m),_=ll(m,i.prevOrigin),w=Pc(u,p,y,g),S=t.getRect(),C=Wd(Ud(w,d,c,g)),k=[S.left-C.left,S.top-C.top];i.prevOrigin=m;var E=rc(t,e,{width:d,height:c,origin:y,dist:m,delta:_,transformOrigin:[mc(x[0],d,f),mc(x[1],c,f)].join(" "),drag:tp.drag(t,kc(e,t.state,k,!!n,!1))});return ac(t,"onDragOrigin",E),E},dragControlEnd:function(t,e){return!!e.datas.isDragOrigin&&(ac(t,"onDragOriginEnd",sc(t,e,{})),!0)},dragGroupControlCondition:function(t,e){return this.dragControlCondition(t,e)},dragGroupControlStart:function(t,e){return!!this.dragControlStart(t,e)},dragGroupControl:function(t,e){var i=this.dragControl(t,e);return!!i&&(t.transformOrigin=i.transformOrigin,!0)},request:function(t){var e={},i=t.getRect(),n=0,o=0,r=i.transformOrigin,s=[0,0];return{isControl:!0,requestStart:function(){return{datas:e}},request:function(t){return"deltaOrigin"in t?(s[0]+=t.deltaOrigin[0],s[1]+=t.deltaOrigin[1]):"origin"in t?(s[0]=t.origin[0]-r[0],s[1]=t.origin[1]-r[1]):("x"in t?n=t.x-i.left:"deltaX"in t&&(n+=t.deltaX),"y"in t?o=t.y-i.top:"deltaY"in t&&(o+=t.deltaY)),{datas:e,distX:n,distY:o,distOrigin:s}},requestEnd:function(){return{datas:e,isDrag:!0}}}}};function Gp(t,e,i,n,o){var r;void 0===n&&(n=[0,0]);if(o)r=o;else{var s=lc(t);r=s&&s.borderRadius||""}return Bp(!r||!o&&"0px"===r?[]:Us(r),e,i,0,0,n)}function Xp(t,e,i,n,o,r){var s=t.state,a=s.width,l=s.height,d=Rp(r,o,t.props.roundRelative,a,l),c=d.raws,u=d.styles,p=Dp(o,c),h=p.horizontals,v=p.verticals,f=u.join(" ");s.borderRadiusState=f,ac(t,"onRound",rc(t,e,{horizontals:h,verticals:v,borderRadius:f,width:a,height:l,delta:n,dist:i}))}var Yp={name:"roundable",props:{roundable:Boolean,roundRelative:Boolean,minRoundControls:Array,maxRoundControls:Array,roundClickable:Boolean},events:{onRoundStart:"roundStart",onRound:"round",onRoundEnd:"roundEnd"},css:[".control.border-radius {\n background: #d66;\n cursor: pointer;\n}",":host[data-able-roundable] .line.direction {\n cursor: pointer;\n}"],render:function(t,e){var i=t.state,n=i.target,o=i.width,r=i.height,s=i.allMatrix,a=i.is3d,l=i.left,d=i.top,c=i.borderRadiusState,u=t.props,p=u.minRoundControls,h=void 0===p?[0,0]:p,v=u.maxRoundControls,f=void 0===v?[4,4]:v,g=u.zoom;if(!n)return null;var m=a?4:3,b=Gp(n,o,r,h,c);if(!b)return null;var y=0,x=0;return b.map((function(t,i){x+=Math.abs(t.horizontal),y+=Math.abs(t.vertical);var n=ll(Fd(s,t.pos,m),[l,d]),o=t.vertical?y<=f[1]:x<=f[0];return e.createElement("div",{key:"borderRadiusControl"+i,className:qd("control","border-radius"),"data-radius-index":i,style:{display:o?"block":"none",transform:"translate("+n[0]+"px, "+n[1]+"px) scale("+g+")"}})}))},dragControlCondition:function(t,e){if(!e.inputEvent||e.isRequest)return!1;var i=e.inputEvent.target.getAttribute("class")||"";return i.indexOf("border-radius")>-1||i.indexOf("moveable-line")>-1&&i.indexOf("moveable-direction")>-1},dragControlStart:function(t,e){var i=e.inputEvent,n=e.datas,o=i.target,r=o.getAttribute("class")||"",s=r.indexOf("border-radius")>-1,a=r.indexOf("moveable-line")>-1&&r.indexOf("moveable-direction")>-1,l=s?parseInt(o.getAttribute("data-radius-index"),10):-1,d=a?parseInt(o.getAttribute("data-line-index"),10):-1;if(!s&&!a)return!1;if(!1===ac(t,"onRoundStart",rc(t,e,{})))return!1;n.lineIndex=d,n.controlIndex=l,n.isControl=s,n.isLine=a,Mc(t,e);var c=t.props,u=c.roundRelative,p=c.minRoundControls,h=void 0===p?[0,0]:p,v=t.state,f=v.target,g=v.width,m=v.height;n.isRound=!0,n.prevDist=[0,0];var b=Gp(f,g,m,h)||[];return n.controlPoses=b,v.borderRadiusState=Rp(b.map((function(t){return t.pos})),b,u,g,m).styles.join(" "),!0},dragControl:function(t,e){var i=e.datas;if(!i.isRound||!i.isControl||!i.controlPoses.length)return!1;var n=i.controlIndex,o=i.controlPoses,r=$c(e),s=r[0],a=r[1],l=[s,a],d=ll(l,i.prevDist),c=t.props.maxRoundControls,u=void 0===c?[4,4]:c,p=t.state,h=p.width,v=p.height,f=o[n],g=f.vertical,m=f.horizontal,b=o.map((function(t){var e=t.horizontal,i=t.vertical,n=[e*m*l[0],i*g*l[1]];if(e){if(1===u[0])return n;if(u[0]<4&&e!==m)return n}else{if(0===u[1])return n[1]=i*m*l[0]/h*v,n;if(g){if(1===u[1])return n;if(u[1]<4&&i!==g)return n}}return[0,0]}));b[n]=l;var y=o.map((function(t,e){return al(t.pos,b[e])}));return i.prevDist=[s,a],Xp(t,e,l,d,o,y),!0},dragControlEnd:function(t,e){var i=t.state;i.borderRadiusState="";var n=e.datas,o=e.isDouble;if(!n.isRound)return!1;var r=i.width,s=i.height,a=n.isControl,l=n.controlIndex,d=n.isLine,c=n.lineIndex,u=n.controlPoses,p=u.map((function(t){return t.pos})),h=p.length,v=t.props.roundClickable;if(o&&(void 0===v||v)){if(a)Ip(u,p,l,0);else if(d){var f=Tc(t,e);!function(t,e,i,n,o,r,s){var a=Dp(t),l=a.horizontals,d=a.verticals,c=l.length,u=d.length,p=-1,h=-1;0===i?0===c?p=0:1===c&&(p=1):3===i&&(c<=2?p=2:c<=3&&(p=3)),2===i?0===u?h=0:u<4&&(h=3):1===i&&(u<=1?h=1:u<=2&&(h=2)),$p(t,e,0,p,h,n,o,r,s)}(u,p,c,f[0],f[1],r,s)}h!==u.length&&Xp(t,e,[0,0],[0,0],u,p)}return ac(t,"onRoundEnd",sc(t,e,{})),i.borderRadiusState="",!0},unset:function(t){t.state.borderRadiusState=""}},Vp={isPinch:!0,name:"beforeRenderable",props:{},events:{onBeforeRenderStart:"beforeRenderStart",onBeforeRender:"beforeRender",onBeforeRenderEnd:"beforeRenderEnd",onBeforeRenderGroupStart:"beforeRenderGroupStart",onBeforeRenderGroup:"beforeRenderGroup",onBeforeRenderGroupEnd:"beforeRenderGroupEnd"},setTransform:function(t,e){var i=t.state,n=i.is3d,o=i.target,r=i.targetMatrix,s=null==o?void 0:o.style.transform,a=n?"matrix3d("+r.join(",")+")":"matrix("+dl(r,!0)+")";e.datas.startTransforms=s&&"none"!==s?Us(s):[a]},resetTransform:function(t,e){e.datas.nextTransforms=e.datas.startTransforms,e.datas.nextTransformAppendedIndexes=[]},fillDragStartParams:function(t,e){return rc(t,e,{setTransform:function(t){e.datas.startTransforms=$s(t)?t:Us(t)},isPinch:!!e.isPinch})},fillDragParams:function(t,e){return rc(t,e,{isPinch:!!e.isPinch})},dragStart:function(t,e){this.setTransform(t,e),ac(t,"onBeforeRenderStart",this.fillDragStartParams(t,e))},drag:function(t,e){this.resetTransform(t,e),ac(t,"onBeforeRender",rc(t,e,{isPinch:!!e.isPinch}))},dragEnd:function(t,e){ac(t,"onBeforeRenderEnd",rc(t,e,{isPinch:!!e.isPinch,isDrag:e.isDrag}))},dragGroupStart:function(t,e){var i=this;this.dragStart(t,e);var n=Lc(t,"beforeRenderable",e),o=t.moveables,r=n.map((function(t,e){var n=o[e];return i.setTransform(n,t),i.fillDragStartParams(n,t)}));ac(t,"onBeforeRenderGroupStart",rc(t,e,{isPinch:!!e.isPinch,targets:t.props.targets,setTransform:function(){},events:r}))},dragGroup:function(t,e){var i=this;this.drag(t,e);var n=Lc(t,"beforeRenderable",e),o=t.moveables,r=n.map((function(t,e){var n=o[e];return i.resetTransform(n,t),i.fillDragParams(n,t)}));ac(t,"onBeforeRenderGroup",rc(t,e,{isPinch:!!e.isPinch,targets:t.props.targets,events:r}))},dragGroupEnd:function(t,e){this.dragEnd(t,e),ac(t,"onBeforeRenderGroupEnd",rc(t,e,{isPinch:!!e.isPinch,isDrag:e.isDrag,targets:t.props.targets}))},dragControlStart:function(t,e){return this.dragStart(t,e)},dragControl:function(t,e){return this.drag(t,e)},dragControlEnd:function(t,e){return this.dragEnd(t,e)},dragGroupControlStart:function(t,e){return this.dragGroupStart(t,e)},dragGroupControl:function(t,e){return this.dragGroup(t,e)},dragGroupControlEnd:function(t,e){return this.dragGroupEnd(t,e)}},Kp={name:"renderable",props:{},events:{onRenderStart:"renderStart",onRender:"render",onRenderEnd:"renderEnd",onRenderGroupStart:"renderGroupStart",onRenderGroup:"renderGroup",onRenderGroupEnd:"renderGroupEnd"},dragStart:function(t,e){ac(t,"onRenderStart",rc(t,e,{isPinch:!!e.isPinch}))},drag:function(t,e){ac(t,"onRender",rc(t,e,{isPinch:!!e.isPinch}))},dragEnd:function(t,e){ac(t,"onRenderEnd",rc(t,e,{isPinch:!!e.isPinch,isDrag:e.isDrag}))},dragGroupStart:function(t,e){ac(t,"onRenderGroupStart",rc(t,e,{isPinch:!!e.isPinch,targets:t.props.targets}))},dragGroup:function(t,e){ac(t,"onRenderGroup",rc(t,e,{isPinch:!!e.isPinch,targets:t.props.targets}))},dragGroupEnd:function(t,e){ac(t,"onRenderGroupEnd",rc(t,e,{isPinch:!!e.isPinch,isDrag:e.isDrag,targets:t.props.targets}))},dragControlStart:function(t,e){return this.dragStart(t,e)},dragControl:function(t,e){return this.drag(t,e)},dragControlEnd:function(t,e){return this.dragEnd(t,e)},dragGroupControlStart:function(t,e){return this.dragGroupStart(t,e)},dragGroupControl:function(t,e){return this.dragGroup(t,e)},dragGroupControlEnd:function(t,e){return this.dragGroupEnd(t,e)}};function Zp(t,e,i,n,o,r,s){var a="Start"===o,l=t.state.target,d=r.isRequest;if(!l||a&&n.indexOf("Control")>-1&&!d&&t.areaElement===r.inputEvent.target)return!1;var c=""+i+n+o,u=""+i+n+"Condition",p="End"===o,h=o.indexOf("After")>-1,v=a&&(!t.targetGesto||!t.controlGesto||!t.targetGesto.isFlag()||!t.controlGesto.isFlag());v&&t.updateRect(o,!0,!1),""!==o||h||d||fc(t.state,r);var f=ud([Vp],t[e].slice(),[Kp]);if(d){var g=r.requestAble;f.some((function(t){return t.name===g}))||f.push.apply(f,t.props.ables.filter((function(t){return t.name===g})))}if(!f.length)return!1;var m=f.filter((function(t){return t[c]})),b=r.datas;v&&m.forEach((function(e){e.unset&&e.unset(t)}));var y,x=r.inputEvent;p&&x&&(y=document.elementFromPoint(r.clientX,r.clientY)||x.target);var _=m.filter((function(e){var i=e.name,n=b[i]||(b[i]={});return a&&(n.isEventStart=!e[u]||e[u](t,r)),!!n.isEventStart&&e[c](t,cd(cd({},r),{datas:n,originalDatas:b,inputTarget:y}))})).length,w=a&&m.length&&!_;return(p||w)&&(t.state.gesto=null,t.moveables&&t.moveables.forEach((function(t){t.state.gesto=null}))),v&&w&&m.forEach((function(e){e.unset&&e.unset(t)})),!t.isUnmounted&&!w&&((!a&&_&&!s||p)&&(t.updateRect(o,!0,!1),t.forceUpdate()),a||p||h||!_||s||Zp(t,e,i,n,o+"After",r),!0)}function Qp(t,e,i){var n=t.controlBox.getElement(),o=[];o.push(n),t.props.dragArea&&!t.props.dragTarget||o.push(e);var r=function(e){var i=e.inputEvent.target;return i===t.areaElement||!t.isMoveableElement(i)||aa(i,"moveable-area")||aa(i,"moveable-padding")};return Jp(t,o,"targetAbles",i,{dragStart:r,pinchStart:r})}function Jp(t,e,i,n,o){void 0===o&&(o={});var r=t.props,s=r.pinchOutside,a=r.pinchThreshold,l={container:window,pinchThreshold:a,pinchOutside:s},d=new Jl(e,l);return["drag","pinch"].forEach((function(e){["Start","","End"].forEach((function(r){d.on(""+e+r,(function(s){var a=s.eventType;!o[a]||o[a](s)?Zp(t,i,e,n,r,s)||s.stop():s.stop()}))}))})),d}var th=function(){function t(t,e,i){var n=this;this.target=t,this.moveable=e,this.eventName=i,this.ables=[],this.onEvent=function(t){var e=n.eventName,i=n.moveable;i.state.disableNativeEvent||n.ables.forEach((function(n){n[e](i,{inputEvent:t})}))},this.target.addEventListener(this.eventName.toLowerCase(),this.onEvent)}var e=t.prototype;return e.setAbles=function(t){this.ables=t},e.destroy=function(){this.target.removeEventListener(this.eventName.toLowerCase(),this.onEvent),this.target=null,this.moveable=null},t}(),eh=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.state=cd({container:null,target:null,gesto:null,renderPoses:[[0,0],[0,0],[0,0],[0,0]],disableNativeEvent:!1},Jd(null)),e.enabledAbles=[],e.targetAbles=[],e.controlAbles=[],e.rotation=0,e.scale=[1,1],e.isUnmounted=!1,e.events={mouseEnter:null,mouseLeave:null},e.onPreventClick=function(t){t.stopPropagation(),da(window,"click",e.onPreventClick,!0)},e}dd(e,t);var i=e.prototype;return i.render=function(){var t=this.props,e=this.state,i=t.edge,n=t.parentPosition,o=t.className,r=t.target,s=t.zoom,a=t.cspNonce,l=t.translateZ,d=t.cssStyled,c=t.portalContainer;this.checkUpdate(),this.updateRenderPoses();var u=n||{left:0,top:0},p=u.left,h=u.top,v=e.left,f=e.top,g=e.target,m=e.direction,b=e.renderPoses,y=t.targets,x=(y&&y.length||r)&&g,_=this.isDragging(),w={},S={createElement:wa};return this.getEnabledAbles().forEach((function(t){w["data-able-"+t.name.toLowerCase()]=!0})),wa(d,cd({cspNonce:a,ref:_s(this,"controlBox"),className:qd("control-box",-1===m?"reverse":"",_?"dragging":"")+" "+o},w,{onClick:this.onPreventClick,portalContainer:c,style:{position:"absolute",display:x?"block":"none",transform:"translate3d("+(v-p)+"px, "+(f-h)+"px, "+l+")","--zoom":s,"--zoompx":s+"px"}}),this.renderAbles(),ip(S,i?"n":"",b[0],b[1],s,0),ip(S,i?"e":"",b[1],b[3],s,1),ip(S,i?"w":"",b[0],b[2],s,2),ip(S,i?"s":"",b[2],b[3],s,3))},i.componentDidMount=function(){this.controlBox.getElement();var t=this.props,e=t.parentMoveable,i=t.container,n=t.wrapperMoveable;this.updateEvent(t),this.updateNativeEvents(t),i||e||n||this.updateRect("",!1,!0),this.updateCheckInput()},i.componentDidUpdate=function(t){this.updateNativeEvents(t),this.updateEvent(t),this.updateCheckInput()},i.componentWillUnmount=function(){this.isUnmounted=!0,oc(this,"targetGesto"),oc(this,"controlGesto");var t=this.events;for(var e in t){var i=t[e];i&&i.destroy()}},i.getContainer=function(){var t=this.props,e=t.parentMoveable,i=t.wrapperMoveable;return t.container||i&&i.getContainer()||e&&e.getContainer()||this.controlBox.getElement().parentElement},i.isMoveableElement=function(t){return t&&(t.getAttribute("class")||"").indexOf(md)>-1},i.dragStart=function(t){return this.targetGesto&&this.targetGesto.triggerDragStart(t),this},i.hitTest=function(t){var e,i=this.state,n=i.target,o=i.pos1,r=i.pos2,s=i.pos3,a=i.pos4,l=i.targetClientRect;if(!n)return 0;if(t instanceof Element){var d=t.getBoundingClientRect();e={left:d.left,top:d.top,width:d.width,height:d.height}}else e=cd({width:0,height:0},t);var c=e.left,u=e.top,p=e.width,h=e.height,v=El([o,r,a,s],l),f=Rl(v,[[c,u],[c+p,u],[c+p,u+h],[c,u+h]]),g=kl(v);return f&&g?Math.min(100,f/g*100):0},i.isInside=function(t,e){var i=this.state,n=i.target,o=i.pos1,r=i.pos2,s=i.pos3,a=i.pos4,l=i.targetClientRect;return!!n&&Al([t,e],El([o,r,a,s],l))},i.updateRect=function(t,e,i){void 0===i&&(i=!0);var n=this.props,o=n.parentMoveable,r=this.state.target||this.props.target,s=this.getContainer(),a=o?o.props.rootContainer:n.rootContainer;this.updateState(Jd(this.controlBox&&this.controlBox.getElement(),r,s,s,a||s),!o&&i)},i.isTargetChanged=function(t,e){var i=this.props,n=i.dragTarget||i.target,o=t.dragTarget||t.target,r=i.dragArea,s=t.dragArea;return!r&&o!==n||(e||r)&&s!==r},i.updateNativeEvents=function(t){var e=this,i=this.props.dragArea?this.areaElement:this.state.target,n=this.events,o=Zs(n);if(this.isTargetChanged(t))for(var r in n){var s=n[r];s&&s.destroy(),n[r]=null}if(i){var a=this.enabledAbles;o.forEach((function(t){var o=dc(a,[t]),r=o.length>0,s=n[t];r?(s||(s=new th(i,e,t),n[t]=s),s.setAbles(o)):s&&(s.destroy(),n[t]=null)}))}},i.updateEvent=function(t){var e=this.controlBox.getElement(),i=this.targetAbles.length,n=this.controlAbles.length,o=this.props,r=o.dragTarget||o.target,s=this.isTargetChanged(t,!0),a=!i&&this.targetGesto||s;a&&(oc(this,"targetGesto"),this.updateState({gesto:null})),n||oc(this,"controlGesto"),r&&i&&!this.targetGesto&&(this.targetGesto=Qp(this,r,"")),!this.controlGesto&&n&&(this.controlGesto=Jp(this,e,"controlAbles","Control")),a&&this.unsetAbles()},i.isDragging=function(){return!!this.targetGesto&&this.targetGesto.isFlag()||!!this.controlGesto&&this.controlGesto.isFlag()},i.updateTarget=function(t){this.updateRect(t,!0)},i.getRect=function(){var t=this.state,e=nc(this.state),i=e[0],n=e[1],o=e[2],r=e[3],s=Wd(e),a=t.width,l=t.height,d=s.width,c=s.height,u=s.left,p=s.top,h=[t.left,t.top],v=al(h,t.origin);return{width:d,height:c,left:u,top:p,pos1:i,pos2:n,pos3:o,pos4:r,offsetWidth:a,offsetHeight:l,beforeOrigin:al(h,t.beforeOrigin),origin:v,transformOrigin:t.transformOrigin,rotation:this.getRotation()}},i.getManager=function(){return this},i.getRotation=function(){var t=this.state;return function(t,e,i){var n=ia(t,e)/Math.PI*180;return(n=i>=0?n:180-n)>=0?n:360+n}(t.pos1,t.pos2,t.direction)},i.request=function(t,e,i){void 0===e&&(e={});var n=this.props,o=n.ables,r=n.groupable,s=o.filter((function(e){return e.name===t}))[0];if(this.isDragging()||!s||!s.request)return{request:function(){return this},requestEnd:function(){return this}};var a=this,l=s.request(this),d=i||e.isInstant,c=l.isControl?"controlAbles":"targetAbles",u=(r?"Group":"")+(l.isControl?"Control":""),p={request:function(e){return Zp(a,c,"drag",u,"",cd(cd({},l.request(e)),{requestAble:t,isRequest:!0}),d),this},requestEnd:function(){return Zp(a,c,"drag",u,"End",cd(cd({},l.requestEnd()),{requestAble:t,isRequest:!0}),d),this}};return Zp(a,c,"drag",u,"Start",cd(cd({},l.requestStart(e)),{requestAble:t,isRequest:!0}),d),d?p.request(e).requestEnd():p},i.destroy=function(){this.componentWillUnmount()},i.updateRenderPoses=function(){var t=this.state,e=this.props,i=t.originalBeforeOrigin,n=t.transformOrigin,o=t.allMatrix,r=t.is3d,s=t.pos1,a=t.pos2,l=t.pos3,d=t.pos4,c=t.left,u=t.top,p=e.padding||{},h=p.left,v=void 0===h?0:h,f=p.top,g=void 0===f?0:f,m=p.bottom,b=void 0===m?0:m,y=p.right,x=void 0===y?0:y,_=r?4:3,w=e.groupable?i:al(i,[c,u]);t.renderPoses=[al(s,gc(o,[-v,-g],n,w,_)),al(a,gc(o,[x,-g],n,w,_)),al(l,gc(o,[-v,b],n,w,_)),al(d,gc(o,[x,b],n,w,_))]},i.checkUpdate=function(){var t=this.props,e=t.target,i=t.container,n=t.parentMoveable,o=this.state,r=o.target,s=o.container;(r||e)&&(this.updateAbles(),(!cc(r,e)||!cc(s,i))&&(this.updateState({target:e,container:i}),n||!i&&!this.controlBox||this.updateRect("End",!1,!1)))},i.triggerEvent=function(t,e){var i=this.props[t];return i&&i(e)},i.useCSS=function(t,e){var i=this.props.customStyledMap,n=t+e;return i[n]||(i[n]=ad(t,e)),i[n]},i.unsetAbles=function(){var t=this;this.targetAbles.filter((function(e){return!!e.unset&&(e.unset(t),!0)})).length&&this.forceUpdate()},i.updateAbles=function(t,e){void 0===t&&(t=this.props.ables),void 0===e&&(e="");var i=this.props,n=i.triggerAblesSimultaneously,o=t.filter((function(t){return t&&(t.always||i[t.name])})),r="drag"+e+"ControlStart",s=dc(o,["drag"+e+"Start","pinch"+e+"Start"],n),a=dc(o,[r],n);this.enabledAbles=o,this.targetAbles=s,this.controlAbles=a},i.updateState=function(t,e){if(e)this.setState(t);else{var i=this.state;for(var n in t)i[n]=t[n]}},i.getEnabledAbles=function(){var t=this.props;return t.ables.filter((function(e){return e&&t[e.name]}))},i.renderAbles=function(){var t,e,i,n,o=this,r=this.props.triggerAblesSimultaneously,s={createElement:wa};return(t=pc(dc(this.getEnabledAbles(),["render"],r).map((function(t){return(0,t.render)(o,s)||[]}))).filter((function(t){return t})),e=function(t){return t.key},i=[],n={},t.forEach((function(o,r){var s=e(o,r,t),a=n[s];a||(a=[],n[s]=a,i.push(a)),a.push(o)})),i).map((function(t){return t[0]}))},i.updateCheckInput=function(){this.targetGesto&&(this.targetGesto.options.checkInput=this.props.checkInput)},e.defaultProps={target:null,dragTarget:null,container:null,rootContainer:null,origin:!0,edge:!1,parentMoveable:null,wrapperMoveable:null,parentPosition:null,portalContainer:null,ables:[],pinchThreshold:20,dragArea:!1,passDragArea:!1,transformOrigin:"",className:"",zoom:1,triggerAblesSimultaneously:!1,padding:{},pinchOutside:!0,checkInput:!1,groupable:!1,cspNonce:"",translateZ:0,cssStyled:null,customStyledMap:{},props:{}},e}(Ra),ih={name:"groupable",props:{defaultGroupRotate:Number,defaultGroupOrigin:String,groupable:Boolean},events:{},render:function(t,e){var i=t.props.targets||[];t.moveables=[];var n=t.state,o={left:n.left,top:n.top};return i.map((function(i,n){return e.createElement(eh,{key:"moveable"+n,ref:ws(t,"moveables",n),target:i,origin:!1,cssStyled:t.props.cssStyled,customStyledMap:t.props.customStyledMap,parentMoveable:t,parentPosition:o})}))}},nh=pd("clickable",{props:{},events:{onClick:"click",onClickGroup:"clickGroup"},always:!0,dragStart:function(t,e){e.isRequest||la(window,"click",t.onPreventClick,!0)},dragControlStart:function(t,e){this.dragStart(t,e)},dragGroupStart:function(t,e){this.dragStart(t,e),e.datas.inputTarget=e.inputEvent&&e.inputEvent.target},dragEnd:function(t,e){this.endEvent(t);var i=t.state.target,n=e.inputEvent,o=e.inputTarget;if(n&&o&&!e.isDrag&&!t.isMoveableElement(o)){var r=i.contains(o);ac(t,"onClick",rc(t,e,{isDouble:e.isDouble,inputTarget:o,isTarget:i===o,containsTarget:r}))}},dragGroupEnd:function(t,e){this.endEvent(t);var i=e.inputEvent,n=e.inputTarget;if(i&&n&&!e.isDrag&&!t.isMoveableElement(n)&&e.datas.inputTarget!==n){var o=t.props.targets,r=o.indexOf(n),s=r>-1,a=!1;-1===r&&(a=(r=Vs(o,(function(t){return t.contains(n)})))>-1),ac(t,"onClickGroup",rc(t,e,{isDouble:e.isDouble,targets:o,inputTarget:n,targetIndex:r,isTarget:s,containsTarget:a}))}},dragControlEnd:function(t){this.endEvent(t)},dragGroupControlEnd:function(t){this.endEvent(t)},endEvent:function(t){var e=this;requestAnimationFrame((function(){e.unset(t)}))},unset:function(t){da(window,"click",t.onPreventClick,!0)}});function oh(t){var e=t.originalDatas.draggable;return e||(t.originalDatas.draggable={},e=t.originalDatas.draggable),cd(cd({},t),{datas:e})}var rh=pd("edgeDraggable",{dragControlCondition:function(t,e){if(!t.props.edgeDraggable||!e.inputEvent)return!1;var i=e.inputEvent.target;return aa(i,qd("direction"))&&aa(i,qd("line"))},dragControlStart:function(t,e){return tp.dragStart(t,oh(e))},dragControl:function(t,e){return tp.drag(t,oh(e))},dragControlEnd:function(t,e){return tp.dragEnd(t,oh(e))},dragGroupControlCondition:function(t,e){if(!t.props.edgeDraggable||!e.inputEvent)return!1;var i=e.inputEvent.target;return aa(i,qd("direction"))&&aa(i,qd("line"))},dragGroupControlStart:function(t,e){return tp.dragGroupStart(t,oh(e))},dragGroupControl:function(t,e){return tp.dragGroup(t,oh(e))},dragGroupControlEnd:function(t,e){return tp.dragGroupEnd(t,oh(e))},unset:function(t){t.state.dragInfo=null}}),sh={name:"individualGroupable",props:{individualGroupable:Boolean},events:{}},ah=[Vp,kp,Ju,Cc,tp,rh,cp,up,pp,fp,Cp,Ep,wp,jp,Wp,Yp,ih,sh,nh,_p,Kp],lh=ah.reduce((function(t,e){return cd(cd({},t),"events"in e?e.events:{})}),{}),dh=ah.reduce((function(t,e){return cd(cd({},t),e.props)}),{}),ch=xc(lh),uh=Object.keys(ch),ph=Object.keys(dh);function hh(t,e){return Math.max.apply(Math,t.map((function(t){var i=t[0],n=t[1],o=t[2],r=t[3];return Math.max(i[e],n[e],o[e],r[e])})))}function vh(t,e){return Math.min.apply(Math,t.map((function(t){var i=t[0],n=t[1],o=t[2],r=t[3];return Math.min(i[e],n[e],o[e],r[e])})))}var fh=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.differ=new $l,e.moveables=[],e.transformOrigin="50% 50%",e}dd(e,t);var i=e.prototype;return i.updateEvent=function(t){var e=this.state,i=this.props,n=t.dragTarget||e.target,o=i.dragTarget||this.areaElement;n!==o&&(oc(this,"targetGesto"),oc(this,"controlGesto"),e.target=null),e.target||(e.target=this.areaElement,this.controlBox.getElement().style.display="block",this.targetGesto=Qp(this,o,"Group"),this.controlGesto=Jp(this,this.controlBox.getElement(),"controlAbles","GroupControl"));var r=!cc(t.container,i.container);r&&(e.container=i.container);var s=this.differ.update(i.targets),a=s.added,l=s.changed,d=s.removed;(r||a.length||l.length||d.length)&&this.updateRect()},i.checkUpdate=function(){this.updateAbles()},i.updateRect=function(t,e,i){if(void 0===i&&(i=!0),this.controlBox){this.moveables.forEach((function(e){e.updateRect(t,!1,!1)}));var n=this.state,o=this.props,r=n.target||o.target;(!e||""!==t&&o.updateGroup)&&(this.rotation=o.defaultGroupRotate,this.transformOrigin=o.defaultGroupOrigin||"50% 50%",this.scale=[1,1]);var s=this.rotation,a=this.scale,l=function(t,e){if(!t.length)return[0,0,0,0];var i=t.map((function(t){return nc(t.state)})),n=Sd,o=Sd,r=0,s=0,a=ra(e,_d);if(a%90){var l=a/180*Math.PI,d=Math.tan(l),c=-1/d,u=[Cd,Sd],p=[Cd,Sd];i.forEach((function(t){t.forEach((function(t){var e=t[1]-d*t[0],i=t[1]-c*t[0];u[0]=Math.max(u[0],e),u[1]=Math.min(u[1],e),p[0]=Math.max(p[0],i),p[1]=Math.min(p[1],i)}))})),u.forEach((function(t){p.forEach((function(e){var i=(e-t)/(d-c),r=d*i+t;n=Math.min(n,i),o=Math.min(o,r)}))}));var h=i.map((function(t){var e=t[0],i=t[1],n=t[2],o=t[3];return[fl(e,-l),fl(i,-l),fl(n,-l),fl(o,-l)]}));r=hh(h,0)-vh(h,0),s=hh(h,1)-vh(h,1)}else if(n=vh(i,0),o=vh(i,1),r=hh(i,0)-n,s=hh(i,1)-o,a%180){var v=r;r=s,s=v}return[n,o,r,s]}(this.moveables,s),d=l[0],c=l[1],u=l[2],p=l[3],h="rotate("+s+"deg) scale("+(a[0]>=0?1:-1)+", "+(a[1]>=0?1:-1)+")";r.style.cssText+="left:0px;top:0px; transform-origin: "+this.transformOrigin+"; width:"+u+"px; height:"+p+"px;transform:"+h,n.width=u,n.height=p;var v=this.getContainer(),f=Jd(this.controlBox.getElement(),r,this.controlBox.getElement(),this.getContainer(),this.props.rootContainer||v),g=[f.left,f.top],m=nc(f),b=m[0],y=m[1],x=m[2],_=m[3],w=Ll([b,y,x,_]),S=[w.minX,w.minY];f.pos1=ll(b,S),f.pos2=ll(y,S),f.pos3=ll(x,S),f.pos4=ll(_,S),f.left=d-f.left+S[0],f.top=c-f.top+S[1],f.origin=ll(al(g,f.origin),S),f.beforeOrigin=ll(al(g,f.beforeOrigin),S),f.originalBeforeOrigin=al(g,f.originalBeforeOrigin);var C=f.targetClientRect,k=a[0]*a[1]>0?1:-1;C.top+=f.top-n.top,C.left+=f.left-n.left,r.style.transform="translate("+-S[0]+"px, "+-S[1]+"px) "+h,this.updateState(cd(cd({},f),{direction:k,beforeDirection:k}),i)}},i.getRect=function(){return cd(cd({},t.prototype.getRect.call(this)),{children:this.moveables.map((function(t){return t.getRect()}))})},i.triggerEvent=function(e,i,n){if(n||e.indexOf("Group")>-1)return t.prototype.triggerEvent.call(this,e,i)},i.updateAbles=function(){t.prototype.updateAbles.call(this,ud(this.props.ables,[ih]),"Group")},e.defaultProps=cd(cd({},eh.defaultProps),{transformOrigin:["50%","50%"],groupable:!0,dragArea:!0,keepRatio:!0,targets:[],defaultGroupRotate:0,defaultGroupOrigin:"50% 50%"}),e}(eh),gh=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.moveables=[],e}dd(e,t);var i=e.prototype;return i.render=function(){var t=this,e=this.props,i=e.cspNonce,n=e.cssStyled,o=e.targets;return wa(n,{cspNonce:i,ref:_s(this,"controlBox"),className:qd("control-box")},o.map((function(e,i){return wa(eh,cd({key:"moveable"+i,ref:ws(t,"moveables",i)},t.props,{target:e,wrapperMoveable:t}))})))},i.componentDidUpdate=function(){},i.updateRect=function(t,e,i){void 0===i&&(i=!0),this.moveables.forEach((function(n){n.updateRect(t,e,i)}))},i.getRect=function(){return cd(cd({},t.prototype.getRect.call(this)),{children:this.moveables.map((function(t){return t.getRect()}))})},i.request=function(){return{request:function(){return this},requestEnd:function(){return this}}},i.dragStart=function(){return this},i.hitTest=function(){return 0},i.isInside=function(){return!1},i.isDragging=function(){return!1},i.updateRenderPoses=function(){},i.updateEvent=function(){},i.checkUpdate=function(){},i.triggerEvent=function(){},i.updateAbles=function(){},e}(eh),mh=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return dd(e,t),e.defaultAbles=ah,e}(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.refTargets=[],e.selectorMap={},e}dd(e,t);var i=e.prototype;return e.makeStyled=function(){var t={};this.getTotalAbles().forEach((function(e){var i=e.css;i&&i.forEach((function(e){t[e]=!0}))}));var e=Zs(t).join("\n");this.defaultStyled=ad("div",function(t,e){return e.replace(/([^}{]*){/gm,(function(e,i){return i.replace(/\.([^{,\s\d.]+)/g,"."+t+"$1")+"{"}))}(md,bd+e))},e.getTotalAbles=function(){return ud([kp,ih,sh,_p],this.defaultAbles)},i.render=function(){var t=this.constructor;t.defaultStyled||t.makeStyled();var e=this.props,i=e.ables,n=e.props,o=function(t,e){var i={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(i[n]=t[n]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(t);o<n.length;o++)e.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(t,n[o])&&(i[n[o]]=t[n[o]])}return i}(e,["ables","props"]),r=wc(o.target||o.targets),s=function(t,e){var i=[];return t.forEach((function(t){t&&(Ds(t)?e[t]&&i.push.apply(i,e[t]):i.push(t))})),i}(r,this.selectorMap);this.refTargets=r;var a=s.length>1,l=ud(t.getTotalAbles(),i||[]),d=cd(cd(cd({},o),n||{}),{ables:l,cssStyled:t.defaultStyled,customStyledMap:t.customStyledMap});return a?o.individualGroupable?wa(gh,cd({key:"individual-group",ref:_s(this,"moveable")},d,{target:null,targets:s})):wa(fh,cd({key:"group",ref:_s(this,"moveable")},d,{target:null,targets:s})):wa(eh,cd({key:"single",ref:_s(this,"moveable")},d,{target:s[0]}))},i.componentDidMount=function(){this.updateRefs()},i.componentDidUpdate=function(){this.updateRefs()},i.updateRefs=function(t){var e=wc(this.props.target||this.props.targets),i=this.refTargets.some((function(t,i){var n=e[i];return!(!t&&!n)&&t!==n})),n=t?{}:this.selectorMap,o={};this.refTargets.forEach((function(t){Ds(t)&&(n[t]?o[t]=n[t]:(i=!0,o[t]=[].slice.call(document.querySelectorAll(t))))})),this.selectorMap=o,i&&this.forceUpdate()},i.getManager=function(){return this.moveable},e.defaultAbles=[],e.customStyledMap={},e.defaultStyled=null,function(t,e,i,n){var o,r=arguments.length,s=r<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,i,n);else for(var a=t.length-1;a>=0;a--)(o=t[a])&&(s=(r<3?o(s):r>3?o(e,i,s):o(e,i))||s);r>3&&s&&Object.defineProperty(e,i,s)}([Cs(Ad)],e.prototype,"moveable",void 0),e}(Ra)),bh=function(t,e){return(bh=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(t,e)};function yh(t,e){function i(){this.constructor=t}bh(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}var xh=function(){return(xh=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++)for(var o in e=arguments[i])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)};var _h=function(t){function e(e){var i=t.call(this,e)||this;return i.state={},i.state=i.props,i}return yh(e,t),e.prototype.render=function(){return t=wa(mh,xh({ref:_s(this,"moveable")},this.state)),e=this.state.parentElement,wa(Na,{element:t,container:e});var t,e},e}(Oa),wh=ph,Sh=Ad,Ch=uh,kh=function(){return(kh=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++)for(var o in e=arguments[i])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)};var Eh=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return yh(e,t),e}(function(t){function e(e,i){void 0===i&&(i={});var n=t.call(this)||this;n.tempElement=document.createElement("div");var o=xh({container:e||document.body},i),r={};Ch.forEach((function(t){var e;r[(e="on "+t,e.replace(/[\s-_]([a-z])/g,(function(t,e){return e.toUpperCase()})))]=function(e){return n.trigger(t,e)}})),Da(wa(_h,xh({ref:_s(n,"innerMoveable"),parentElement:e},o,r)),n.tempElement);var s=o.target;return $s(s)&&s.length>1&&n.updateRect(),n}yh(e,t);var i=e.prototype;return i.setState=function(t,e){this.innerMoveable.setState(t,e)},i.destroy=function(){Da(null,this.tempElement),this.off(),this.tempElement=null,this.innerMoveable=null},i.getMoveable=function(){return this.innerMoveable.moveable},e=function(t,e,i,n){var o,r=arguments.length,s=r<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,i,n);else for(var a=t.length-1;a>=0;a--)(o=t[a])&&(s=(r<3?o(s):r>3?o(e,i,s):o(e,i))||s);return r>3&&s&&Object.defineProperty(e,i,s),s}([Ss(Sh,(function(t,e){t[e]||(t[e]=function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];var n=this.getMoveable();if(n&&n[e])return n[e].apply(n,t)})})),Ss(wh,(function(t,e){Object.defineProperty(t,e,{get:function(){return this.getMoveable().props[e]},set:function(t){var i;this.setState(((i={})[e]=t,i))},enumerable:!0,configurable:!0})}))],e)}(function(){function t(){this._events={}}var e=t.prototype;return e.on=function(t,e){if(Is(t))for(var i in t)this.on(i,t[i]);else this._addEvent(t,e,{});return this},e.off=function(t,e){if(t)if(Is(t))for(var i in t)this.off(i);else if(e){var n=this._events[t];if(n){var o=Vs(n,(function(t){return t.listener===e}));o>-1&&n.splice(o,1)}}else this._events[t]=[];else this._events={};return this},e.once=function(t,e){var i=this;return e&&this._addEvent(t,e,{once:!0}),new Promise((function(e){i._addEvent(t,e,{once:!0})}))},e.emit=function(t,e){var i=this;void 0===e&&(e={});var n=this._events[t];if(!t||!n)return!0;var o=!1;return e.eventType=t,e.stop=function(){o=!0},e.currentTarget=this,function(){for(var t=0,e=0,i=arguments.length;e<i;e++)t+=arguments[e].length;var n=Array(t),o=0;for(e=0;e<i;e++)for(var r=arguments[e],s=0,a=r.length;s<a;s++,o++)n[o]=r[s];return n}(n).forEach((function(n){n.listener(e),n.once&&i.off(t,n.listener)})),!o},e.trigger=function(t,e){return void 0===e&&(e={}),this.emit(t,e)},e._addEvent=function(t,e,i){var n=this._events;n[t]=n[t]||[],n[t].push(kh({listener:e},i))},t}()));const Lh=new e;class Ah{constructor(e){this.builder=e;const i=new t(e);this.util=i;const n=i.builderStuff();let o,r=n.querySelector("#divImageTool");if(!r){let t=`\n <div id="divImageTool" class="is-tool">\n <div role="button" tabindex="0" class="image-embed" style="${this.builder.opts.imageEmbed?"":"display:none;"}width:40px;height:40px;overflow:hidden;">\n <div style="position:absolute;width:100%;height:100%;"><svg class="is-icon-flex" style="position: absolute;top: 13px;left: 15px;width: 14px;height: 14px;"><use xlink:href="#ion-image"></use></svg></div>\n <input title="${i.out("Change Image")}" data-title="${i.out("Change Image")}" id="fileEmbedImage" type="file" accept="image/*" style="position:absolute;top:-20px;left:0;width:100%;height:60px;opacity: 0;cursor: pointer;"/>\n </div>\n <button tabindex="0" title="${i.out("Link")}" data-title="${i.out("Link")}" class="image-link" style="width:40px;height:40px;"><svg class="is-icon-flex" style="width:17px;height:17px;"><use xlink:href="#ion-link"></use></svg></button> \n <button tabindex="0" title="${i.out("Edit")}" data-title="${i.out("Edit")}" class="image-edit" style="width:40px;height:40px;"><svg class="is-icon-flex" style="width:14px;height:14px;"><use xlink:href="#ion-android-create"></use></svg></button>\n </div>\n <div id="divImageProgress">\n <div>\n <div class="dot"></div>\n <div class="dot"></div>\n <div class="dot"></div>\n </div>\n </div>\n \n <div class="is-modal imageedit">\n <div class="is-modal-content">\n <div class="imageedit-crop" style="display:flex;height:80px;align-items:center;align-self:flex-start;">\n <button title="5x5" data-crop-size="1" style="width: 60px;height: 60px;">5x5</button>\n <button title="4x3" data-crop-size="1.33333" style="width: 60px;height: 45px;">4x3</button>\n <button title="3x4" data-crop-size="0.75" style="width: 45px;height: 60px;">3x4</button>\n <button title="6x4" data-crop-size="1.5" style="width: 60px;height: 40px;">6x4</button>\n <button title="4x6" data-crop-size="0.6666" style="width: 40px;height: 60px;">4x6</button>\n <button title="${i.out("Free")}" data-crop-size="" style="width: 60px;height: 45px;">${i.out("Free")}</button>\n </div>\n <div class="imageedit-preview" style="min-width:200px;">\n </div>\n <div style="margin-top:7px;text-align:right;align-self:flex-end;">\n <button title="${i.out("Cancel")}" class="input-cancel classic-secondary">${i.out("Cancel")}</button>\n <button title="${i.out("Apply")}" class="input-ok classic-primary">${i.out("Apply")}</button>\n </div>\n </div>\n </div>\n \n <div class="is-modal imagelink">\n <div class="is-modal-content">\n\n <label for="inpImageLinkSource" style="display:block">${i.out("Source")}:</label>\n <div class="image-src">\n <input id="inpImageLinkSource" class="input-src" type="text"/>\n <button title="${i.out("Select")}" class="input-select" style="flex:none;width:50px;height:50px;"><svg class="is-icon-flex"><use xlink:href="#ion-more"></use></svg></button>\n <div class="image-larger1" style="position:relative;flex:none;width:50px;height:50px;box-shadow: 0px 3px 6px -6px rgba(0, 0, 0, 0.32);">\n <form class="form-upload-larger" target="frameTargetImageUpload" method="post" action="${this.builder.opts.largerImageHandler}" enctype="multipart/form-data" style="position:absolute;top:0;left:0;width:100%;height:100%;">\n\t\t\t\t <input id="hidRefId1" name="hidRefId" type="hidden" value="" />\n <svg class="is-icon-flex" style="position: absolute;top: 16px;left: 15px;width: 18px;height: 18px;fill:rgb(53, 53, 53);"><use xlink:href="#ion-image"></use></svg>\n <input title="${i.out("Select")}" id="fileImage1" name="fileImage" type="file" accept="image/*" style="position:absolute;top:-30px;left:0;width:100%;height:80px;opacity: 0;cursor: pointer;">\n </form>\n\n <iframe id="frameTargetImageUpload" name="frameTargetImageUpload" src="about:blank" style="width:1px;height:1px;position:absolute;top:0;right:-100000px"></iframe>\n </div>\n </div>\n\n <label for="inpImageLinkTitle" style="margin-top:14px;display:block">${i.out("Title")}:</label>\n <input id="inpImageLinkTitle" class="input-title" type="text" style="width:100%;border-top: none;"/>\n\n <label for="inpImageLinkLink" style="margin-top:14px;display:block">${i.out("Link")}:</label>\n <div class="image-link">\n <input id="inpImageLinkLink" class="input-link" type="text" style="width:100%;border-top: none;"/>\n <button title="${i.out("Select")}" class="input-select2" style="flex:none;width:50px;height:50px;"><svg class="is-icon-flex"><use xlink:href="#ion-more"></use></svg></button>\n <div class="image-larger2" style="position:relative;flex:none;width:50px;height:50px;box-shadow: 0px 3px 6px -6px rgba(0, 0, 0, 0.32);">\n <form class="form-upload-larger" target="frameTargetImageUpload" method="post" action="${this.builder.opts.largerImageHandler}" enctype="multipart/form-data" style="position:absolute;top:0;left:0;width:100%;height:100%;">\n\t\t\t\t <input id="hidRefId2" name="hidRefId" type="hidden" value="" />\n <svg class="is-icon-flex" style="position: absolute;top: 16px;left: 15px;width: 18px;height: 18px;fill:rgb(53, 53, 53);"><use xlink:href="#ion-image"></use></svg>\n <input title="${i.out("Select")}" id="fileImage2" name="fileImage" type="file" accept="image/*" style="position:absolute;top:-30px;left:0;width:100%;height:80px;opacity: 0;cursor: pointer;">\n </form>\n </div>\n </div>\n\n <label style="display:block;margin-top:14px;">\n <input class="input-newwindow" type="checkbox" /> ${i.out("Open new window")} \n </label>\n <label id="lblImageLinkOpenLightbox" style="${this.builder.useLightbox?"display:block":"display:none"};margin-top:14px;">\n <input class="input-openlightbox" type="checkbox" /> ${i.out("Open in a lightbox (for image, video or Youtube)")} \n </label>\n \n <div style="text-align:right;margin-top:14px;">\n <button title="${i.out("Cancel")}" class="input-cancel classic-secondary">${i.out("Cancel")}</button>\n <button title="${i.out("Ok")}" class="input-ok classic-primary">${i.out("Ok")}</button>\n </div>\n </div>\n </div>\n\n <div class="is-modal imageselect" style="z-index:10005">\n <div style="max-width:800px;height:80%;padding:0;">\n <iframe style="width:100%;height:100%;border: none;display: block;" src="about:blank"></iframe>\n </div>\n </div>\n\n <div id="divImageResizer" data-x=0 data-y=0 class="is-tool moveable resizable">\n </div>\n `;Lh.appendHtml(n,t),r=n.querySelector("#divImageTool"),this.imageTool=r,o=document.querySelector("#divImageResizer"),this.imageResizer=o,this.builder.moveable=new Eh(document.body,{target:o,resizable:!0,throttleResize:0,keepRatio:!0}).on("resize",(({target:t,width:e,height:i})=>{if(0===e||0===i||isNaN(e)||isNaN(i))return;this.imageTool.style.display="",n.querySelector(".is-element-tool").style.display="";let o=this.builder.activeImage,r=!1;if(Lh.hasClass(o.parentNode,"img-circular")&&(o=o.parentNode,r=!0),r){let t=parseFloat(window.getComputedStyle(o.parentNode).getPropertyValue("padding-left")),n=parseFloat(window.getComputedStyle(o.parentNode).getPropertyValue("padding-right")),r=o.parentNode.offsetWidth*this.builder.opts.zoom-t-n;e>=r&&(e=r),i>=e?(o.style.width=e/this.builder.opts.zoom+"px",o.style.height=e/this.builder.opts.zoom+"px",o.querySelector("img").style.width=e/this.builder.opts.zoom+"px",o.querySelector("img").style.height=e/this.builder.opts.zoom+"px"):(o.style.width=e/this.builder.opts.zoom+"px",o.style.height=i/this.builder.opts.zoom+"px",o.querySelector("img").style.width=e/this.builder.opts.zoom+"px",o.querySelector("img").style.height=i/this.builder.opts.zoom+"px")}else o.style.width=e/this.builder.opts.zoom+"px",o.style.height="auto";t.style.top=o.getBoundingClientRect().top+window.pageYOffset+"px",t.style.left=o.getBoundingClientRect().left+window.pageXOffset+"px",t.style.width=o.offsetWidth+"px",t.style.height=o.offsetHeight+"px",this.repositionHandler(o.offsetWidth,o.offsetHeight),document.selection?document.selection.empty():window.getSelection().removeAllRanges();let s=n.querySelector(".is-column-tool");Lh.removeClass(s,"active")})).on("resizeEnd",(({target:t})=>{let e=this.builder.activeImage,i=!1;Lh.hasClass(e.parentNode,"img-circular")&&(e=e.parentNode,i=!0);var o=getComputedStyle(e.parentNode),r=parseFloat(o.paddingLeft)+parseFloat(o.paddingRight),s=parseFloat(o.borderLeftWidth)+parseFloat(o.borderRightWidth),a=e.parentNode.offsetWidth-r-s;if(!i){var l=a,d=e.offsetWidth,c=d/l*100;e.style.width=c+"%"}this.builder.opts.emailMode&&e.setAttribute("width",d),t.setAttribute("data-resized",1),setTimeout((()=>{t.setAttribute("data-resized",0)}),300),this.builder.opts.onChange();let u=n.querySelector(".is-column-tool");Lh.addClass(u,"active")})),document.querySelector(".moveable-control-box").style.display="none",o.addEventListener("click",(()=>{this.repositionImageTool(),this.builder.elmTool.repositionElementTool()}));let e=r.querySelector("#fileEmbedImage");Lh.addEventListener(e,"change",(t=>{this.builder.uo.saveForUndo();var i=t.target;let o=this.builder.activeImage,s=n.querySelector("#divImageProgress");s.style.display="table",s.style.width=o.offsetWidth*this.builder.opts.zoom+"px",s.style.height=o.offsetHeight*this.builder.opts.zoom+"px",s.style.top=o.getBoundingClientRect().top+window.pageYOffset+"px",s.style.left=o.getBoundingClientRect().left+window.pageXOffset+"px";try{o.setAttribute("data-filename",i.files[0].name),this.processImage(i.files[0],o,(()=>{s.style.display="none",e=r.querySelector("#fileEmbedImage"),e.value="",this.refreshIfIsModule(o),this.builder.opts.onChange(),this.builder.elmTool.refresh()}))}catch(t){s.style.display="none"}})),this.builder.opts.onImageBrowseClick&&(e=r.querySelector(".image-embed"),Lh.addEventListener(e,"click",(t=>(this.builder.opts.onImageBrowseClick(),t.preventDefault(),!1))));let s=n.querySelector(".imagelink");""!==this.builder.opts.largerImageHandler||this.builder.opts.onLargerImageUpload||(s.querySelector(".image-larger1").style.display="none",s.querySelector(".image-larger2").style.display="none"),this.builder.opts.onImageSelectClick||""!==this.builder.opts.imageselect||(s.querySelector(".input-select").style.display="none",s.querySelector(".input-select2").style.display="none"),e=r.querySelector(".image-link"),Lh.addEventListener(e,"click",(()=>{if(document.querySelector(".moveable-control-box").style.display="none",this.builder.opts.onImageSettingClick)return this.builder.opts.onImageSettingClick(),!1;let t,e=this.builder.activeImage;"a"===e.parentNode.tagName.toLowerCase()&&1===e.parentNode.childElementCount&&(t=e.parentNode);let n=e.getAttribute("src"),o=e.getAttribute("alt"),r=s.querySelector(".input-src");-1===n.indexOf("base64")?r.value=n:r.value="[Image Data]";let a=s.querySelector(".input-title");a.value=o;let l=s.querySelector(".input-link");l.value="";let d=s.querySelector(".input-newwindow");d.checked=!1;let c=s.querySelector(".input-openlightbox");if(c.checked=!1,t){if(l.value=t.getAttribute("href"),""===o){let e=t.getAttribute("title");e&&(a.value=e)}var u=t.getAttribute("target");d.checked="_blank"===u,Lh.hasClass(t,"is-lightbox")?c.checked=!0:c.checked=!1}i.showModal(s,!0,null,!0),r.focus()})),e=s.querySelector(".input-cancel"),Lh.addEventListener(e,"click",(()=>{i.hideModal(s),document.querySelector(".moveable-control-box").style.display="block"})),e=s.querySelector(".input-ok"),Lh.addEventListener(e,"click",(()=>{this.builder.uo.saveForUndo();let t,e=this.builder.activeImage;"a"===e.parentNode.tagName.toLowerCase()&&1===e.parentNode.childElementCount&&(t=e.parentNode);let n=s.querySelector(".input-src").value,o=s.querySelector(".input-title").value,r=s.querySelector(".input-link").value;-1===n.indexOf("[Image Data]")&&e.setAttribute("src",n),e.setAttribute("alt",o),""!==r?t?(t.setAttribute("href",r),t.setAttribute("title",o),s.querySelector(".input-newwindow").checked?t.setAttribute("target","_blank"):t.removeAttribute("target"),s.querySelector(".input-openlightbox").checked?Lh.addClass(t,"is-lightbox"):Lh.removeClass(t,"is-lightbox")):(t=Lh.createElement("a"),t.setAttribute("href",r),t.setAttribute("title",o),t.innerHTML=e.outerHTML,s.querySelector(".input-newwindow").checked?t.setAttribute("target","_blank"):t.removeAttribute("target"),s.querySelector(".input-openlightbox").checked?Lh.addClass(t,"is-lightbox"):Lh.removeClass(t,"is-lightbox"),e.outerHTML=t.outerHTML):t&&(t.outerHTML=t.innerHTML),this.refreshIfIsModule(e),this.builder.opts.onChange(),this.builder.opts.onRender(),i.hideModal(s),this.builder.elmTool.refresh()}));let a=s.querySelector(".image-src");this.builder.opts.onImageSelectClick||this.builder.opts.imageselect?(e=s.querySelector(".input-select"),e&&Lh.addEventListener(e,"click",(()=>{if(this.builder.opts.onImageSelectClick)this.builder.opts.onImageSelectClick({targetInput:s.querySelector(".input-src"),theTrigger:e});else{let t=n.querySelector(".is-modal.imageselect"),e=t.querySelector("iframe");"about:blank"===e.src&&(e.src=this.builder.opts.imageselect),i.showModal(t),t.setAttribute("data-target",".input-src")}})),e=s.querySelector(".input-select2"),e&&Lh.addEventListener(e,"click",(()=>{if(this.builder.opts.onImageSelectClick)this.builder.opts.onImageSelectClick({targetInput:s.querySelector(".input-link"),theTrigger:e});else{let t=n.querySelector(".is-modal.imageselect"),e=t.querySelector("iframe");"about:blank"===e.src&&(e.src=this.builder.opts.imageselect),i.showModal(t),t.setAttribute("data-target",".input-link")}}))):Lh.removeClass(a,"image-select");let l=s.querySelector("#fileImage1");Lh.addEventListener(l,"change",(t=>{let e=l;for(;"form"!==e.nodeName.toLowerCase();)e=e.parentNode;let i=e;Lh.addClass(i,"please-wait"),s.querySelector("#hidRefId1").value=this.builder.opts.customval,this.builder.opts.onLargerImageUpload?this.builder.opts.onLargerImageUpload(t):i.submit()}));let d=s.querySelector("#fileImage2");Lh.addEventListener(d,"change",(t=>{let e=d;for(;"form"!==e.nodeName.toLowerCase();)e=e.parentNode;let i=e;Lh.addClass(i,"please-wait"),s.querySelector("#hidRefId2").value=this.builder.opts.customval,this.builder.opts.onLargerImageUpload?this.builder.opts.onLargerImageUpload(t):i.submit()}));let c=n.querySelector(".imageedit");e=r.querySelector(".image-edit"),Lh.addEventListener(e,"click",(()=>{let t=this.builder.activeImage;i.showModal(c,!0);let e=c.querySelector(".imageedit-preview");if(t.offsetWidth<800&&t.offsetHeight<550)e.style.width=t.offsetWidth+"px";else{800*t.offsetHeight/t.offsetWidth<=550?e.style.width="800px":e.style.height="550px"}e.innerHTML='<img src="" style="max-width:100%"/>';let n=c.querySelector("img");n.src=t.src,this.cropper=new ys(n,{zoomable:!1}),document.querySelector(".moveable-control-box").style.display="none"}));let u=c.querySelector(".imageedit-crop").querySelectorAll("button");Array.prototype.forEach.call(u,(t=>{Lh.addEventListener(t,"click",(()=>{let e=1*t.getAttribute("data-crop-size");this.cropper.setAspectRatio(e)}))}));let p=c.querySelector(".input-cancel");Lh.addEventListener(p,"click",(()=>{i.hideModal(c),document.querySelector(".moveable-control-box").style.display="block"})),e=c.querySelector(".input-ok"),Lh.addEventListener(e,"click",(()=>{this.builder.uo.saveForUndo();let t=this.builder.activeImage,e=t.getAttribute("data-filename"),n="jpg";if(e)n=e.substr(e.lastIndexOf(".")+1).toLowerCase();else{let e=t.src;e.indexOf("/")>-1?t.setAttribute("data-filename",e.substr(e.lastIndexOf("/")+1)):t.setAttribute("data-filename",e),n=e.substr(e.lastIndexOf(".")+1).toLowerCase()}t.src="jpg"===n?this.cropper.getCroppedCanvas({fillColor:"#fff"}).toDataURL("image/jpeg"):this.cropper.getCroppedCanvas({}).toDataURL(),this.refreshIfIsModule(t),this.builder.opts.onChange(),i.hideModal(c),this.builder.elmTool.refresh()}))}}refreshIfIsModule(t){if(Lh.parentsHasAttribute(t,"data-html")){if(this.imageTool.style.display="",t.hasAttribute("data-sync")){let e=t.getAttribute("data-src"),i=t.getAttribute("data-filename");if(e){let n=t;for(;!n.getAttribute("data-html");)n=n.parentNode;let o=n.querySelectorAll("img");Array.prototype.forEach.call(o,(n=>{n.src===e&&(n.src=t.src,n.removeAttribute("data-src"),n.setAttribute("data-filename",i))})),t.removeAttribute("data-src")}}setTimeout((()=>{this.util.refreshModule(),this.imageTool.style.display=""}),1e3)}else this.refresh()}refresh(){if(this.builder.activeImage){let t=this.imageTool;t.style.display="",setTimeout((()=>{let e=this.builder.activeImage;Lh.hasClass(e.parentNode,"img-circular")&&(e=e.parentNode),t.style.display="flex";let i=t.offsetWidth,n=e.offsetWidth*this.builder.opts.zoom,o=e.getBoundingClientRect().top+window.pageYOffset,r=e.getBoundingClientRect().left+window.pageXOffset;r+=n/2-i/2;i+r>window.innerWidth&&(r=e.getBoundingClientRect().left),t.style.top=o+"px",t.style.left=r+"px";let s=this.imageResizer;s.style.top=e.getBoundingClientRect().top+window.pageYOffset+"px",s.style.left=e.getBoundingClientRect().left+window.pageXOffset+"px",s.style.width=e.offsetWidth*this.builder.opts.zoom+"px",s.style.height=e.offsetHeight*this.builder.opts.zoom+"px",s.style.display="block",this.repositionHandler(e.offsetWidth,e.offsetHeight),this.builder.moveable.updateRect(),document.querySelector(".moveable-control-box").style.display="block",0===e.offsetWidth&&(t.style.display="",this.builder.activeImage=null,s.style.display="none",s.style.top="-10px",s.style.left="-10px",s.style.width="1px",s.style.height="1px",this.builder.moveable.updateRect(),document.querySelector(".moveable-control-box").style.display="none")}),300)}}repositionImageTool(){if(this.builder.activeImage){let t=this.imageTool,e=this.builder.activeImage;Lh.hasClass(e.parentNode,"img-circular")&&(e=e.parentNode),t.style.display="flex";let i=t.offsetWidth,n=e.offsetWidth*this.builder.opts.zoom,o=e.getBoundingClientRect().top+window.pageYOffset,r=e.getBoundingClientRect().left+window.pageXOffset;r+=n/2-i/2;i+r>window.innerWidth&&(r=e.getBoundingClientRect().left),t.style.top=o+"px",t.style.left=r+"px";let s=this.imageResizer;s.style.top=e.getBoundingClientRect().top+window.pageYOffset+"px",s.style.left=e.getBoundingClientRect().left+window.pageXOffset+"px",s.style.width=e.offsetWidth*this.builder.opts.zoom+"px",s.style.height=e.offsetHeight*this.builder.opts.zoom+"px",s.style.display="block",this.repositionHandler(e.offsetWidth,e.offsetHeight),this.builder.moveable.updateRect(),document.querySelector(".moveable-control-box").style.display="block"}}click(t){let e=t.target;if("img"===e.tagName.toLowerCase()){let i=!1;if(e.hasAttribute("data-fixed")&&(i=!0),i){this.imageTool.style.display="",this.builder.activeImage=null;let t=this.imageResizer;t.style.display="none",t.style.top="-10px",t.style.left="-10px",t.style.width="1px",t.style.height="1px",this.builder.moveable.updateRect(),document.querySelector(".moveable-control-box").style.display="none"}else{this.builder.activeImage=e,Lh.hasClass(e.parentNode,"img-circular")&&(e=e.parentNode);let i=this.imageTool;i.style.display="flex";let n=i.offsetWidth,o=e.offsetWidth*this.builder.opts.zoom,r=e.getBoundingClientRect().top+window.pageYOffset,s=e.getBoundingClientRect().left+window.pageXOffset;s+=o/2-n/2;if(n+s>window.innerWidth&&(s=e.getBoundingClientRect().left),i.style.top=r+"px",i.style.left=s+"px",e.hasAttribute("data-noresize")){let t=this.imageResizer;t.style.display="none",t.style.top="-10px",t.style.left="-10px",t.style.width="1px",t.style.height="1px",this.builder.moveable.updateRect(),document.querySelector(".moveable-control-box").style.display="none"}else{let t=this.imageResizer;t.style.top=e.getBoundingClientRect().top+window.pageYOffset+"px",t.style.left=e.getBoundingClientRect().left+window.pageXOffset+"px",t.style.width=e.offsetWidth*this.builder.opts.zoom+"px",t.style.height=e.offsetHeight*this.builder.opts.zoom+"px",t.style.display="block",this.repositionHandler(e.offsetWidth,e.offsetHeight);let i,n=e.style.width;-1!==n.indexOf("%")?(n=1*n.replace("%",""),i=100*e.offsetWidth/n):i=e.offsetWidth,t.setAttribute("data-width",Math.round(i)),this.builder.moveable.updateRect(),document.querySelector(".moveable-control-box").style.display="block"}let a=!1;if(t.screenX&&0!==t.screenX&&t.screenY&&0!==t.screenY||(a=!0),a){i.style.display="";let t=this.imageResizer;t.style.display="none",t.style.top="-10px",t.style.left="-10px",t.style.width="1px",t.style.height="1px",this.builder.moveable.updateRect(),document.querySelector(".moveable-control-box").style.display="none"}}}else{this.imageTool.style.display="",this.builder.activeImage=null;let t=this.imageResizer;t.style.display="none",t.style.top="-10px",t.style.left="-10px",t.style.width="1px",t.style.height="1px",this.builder.moveable.updateRect(),document.querySelector(".moveable-control-box").style.display="none"}}repositionHandler(t,e){let i=document.querySelector("#divImageResizer");i.style.width=t*this.builder.opts.zoom+"px",i.style.height=e*this.builder.opts.zoom+"px"}processImage(t,e,i){if(!t)return i(),!1;if(!document.getElementById("myTmpCanvasNoCrop")){var n=document.createElement("canvas");n.id="myTmpCanvasNoCrop",n.style.display="none",document.querySelector("body").appendChild(n)}if(!this.builder.opts.autoResizeImageEmbed){let n=new FileReader;return n.addEventListener("load",(t=>{if(!document.getElementById("__preview")){var n=document.createElement("img");n.id="__preview",n.style.display="none";let t=this.util.builderStuff();Lh.appendChild(t,n)}var o=document.querySelector("#__preview");o.onload=()=>{var t=document.getElementById("myTmpCanvasNoCrop"),n=t.getContext("2d");t.height=o.height,t.width=o.width,n.drawImage(o,0,0);var a=t.toDataURL(r,s);e.src=a,o.onload=null,t.parentNode.removeChild(t),i()},o.src=t.target.result})),void n.readAsDataURL(t)}var o,r,s;"jpg"===(o=t.name?t.name.substr(t.name.lastIndexOf(".")+1).toLowerCase():t.substr(t.lastIndexOf(".")+1).toLowerCase())||"jpeg"===o?(r="image/jpeg",s=this.builder.opts.imageQuality):(r="image/png",s=1),Oh(t,((n,o)=>{var a,l,d;if(o.exif&&(a=o.exif.get("Orientation")),4<a&&a<9?(l=n.height,d=n.width):(l=n.width,d=n.height),l<=1600&&d<=1600){let n=new FileReader;return n.addEventListener("load",(t=>{if(!document.getElementById("__preview")){var n=document.createElement("img");n.id="__preview",n.style.display="none";let t=this.util.builderStuff();Lh.appendChild(t,n)}var o=document.querySelector("#__preview");o.onload=()=>{var t=document.getElementById("myTmpCanvasNoCrop"),n=t.getContext("2d");t.height=o.height,t.width=o.width,n.drawImage(o,0,0);var a=t.toDataURL(r,s);e.src=a,o.onload=null,t.parentNode.removeChild(t),i()},o.src=t.target.result})),void n.readAsDataURL(t)}var c=l;-1!==this.builder.opts.maxEmbedImageWidth&&(c=this.builder.opts.maxEmbedImageWidth);var u=c*d/l,p=!1;if(d<=u&&l>c?(d<=(u=d*c/l)&&(c=d*c/(u=d)),p=!0):l<=c&&d>u?(l<=(c=l*u/d)&&(u=l*u/(c=l)),p=!0):l<=c&&d<=u?(c=l,u=d):(u=d*c/l,p=!0),"image/png"===r&&(p=!1),!p){let t=document.getElementById("myTmpCanvasNoCrop"),o=t.getContext("2d");return t.height=d,t.width=l,o.drawImage(n,0,0),e.onload=()=>{e.onload=null,e.src=t.toDataURL(r,s),t.parentNode.removeChild(t),i()},void(e.src=t.toDataURL(r,s))}var h=new Mh(n),v=document.getElementById("myTmpCanvasNoCrop");h.render(v,{width:l,height:d,orientation:a},(()=>{if(p){var t=l,n=d;e.onload=()=>{this.count++,n/=2,((t/=2)<c||n<u)&&(t=c,n=u),new Mh(e).render(v,{width:t,height:n},(()=>{if(t<=c||n<=u){if(e.src=v.toDataURL(r,s),3===this.count){e.onload=null;try{v.parentNode.removeChild(v)}catch(t){}i()}try{v.parentNode.removeChild(v)}catch(t){}return i(),!1}if(e.src=v.toDataURL(r,s),3===this.count){e.onload=null;try{v.parentNode.removeChild(v)}catch(t){}i()}}))},e.src=v.toDataURL(r,s),this.count=0}else e.src=v.toDataURL(r,s),v.parentNode.removeChild(v),i()}))}),{canvas:!1,meta:!0})}}
|
|
101
|
+
/*!
|
|
102
|
+
Mega pixel image rendering library for iOS6 Safari
|
|
103
|
+
Copyright (c) 2012 Shinichi Tomita <shinichi.tomita@gmail.com>
|
|
104
|
+
MIT license
|
|
105
|
+
https://github.com/stomita/ios-imagefile-megapixel
|
|
106
|
+
*/function qh(t,e,i,n){var o=t.naturalWidth,r=t.naturalHeight;if(o+r){var s=i.width,a=i.height,l=e.getContext("2d");l.save(),function(t,e,i,n,o){switch(o){case 5:case 6:case 7:case 8:t.width=n,t.height=i;break;default:t.width=i,t.height=n}switch(o){case 2:e.translate(i,0),e.scale(-1,1);break;case 3:e.translate(i,n),e.rotate(Math.PI);break;case 4:e.translate(0,n),e.scale(1,-1);break;case 5:e.rotate(.5*Math.PI),e.scale(1,-1);break;case 6:e.rotate(.5*Math.PI),e.translate(0,-n);break;case 7:e.rotate(.5*Math.PI),e.translate(i,-n),e.scale(-1,1);break;case 8:e.rotate(-.5*Math.PI),e.translate(-i,0)}}(e,l,s,a,i.orientation),function(t){var e=t.naturalWidth;if(e*t.naturalHeight>1048576){var i=document.createElement("canvas");i.width=i.height=1;var n=i.getContext("2d");return n.drawImage(t,1-e,0),0===n.getImageData(0,0,1,1).data[3]}return!1}(t)&&(o/=2,r/=2);var d=1024,c=document.createElement("canvas");c.width=c.height=d;for(var u=c.getContext("2d"),p=n?function(t,e,i){var n=document.createElement("canvas");n.width=1,n.height=i;var o=n.getContext("2d");o.drawImage(t,0,0);for(var r=o.getImageData(0,0,1,i).data,s=0,a=i,l=i;l>s;)0===r[4*(l-1)+3]?a=l:s=l,l=a+s>>1;var d=l/i;return 0===d?1:d}(t,0,r):1,h=Math.ceil(d*s/o),v=Math.ceil(d*a/r/p),f=0,g=0;f<r;){for(var m=0,b=0;m<o;)u.clearRect(0,0,d,d),u.drawImage(t,-m,-f),l.drawImage(c,0,0,d,d,b,g,h,v),m+=d,b+=h;f+=d,g+=v}l.restore(),c=u=null}}var Th=window.URL&&window.URL.createObjectURL?window.URL:window.webkitURL&&window.webkitURL.createObjectURL?window.webkitURL:null;function Mh(t){if(window.Blob&&t instanceof Blob){if(!Th)throw Error("No createObjectURL function found to create blob url");var e=new Ah;e.src=Th.createObjectURL(t),this.blob=t,t=e}if(!t.naturalWidth&&!t.naturalHeight){var i=this;t.onload=t.onerror=function(){var t=i.imageLoadListeners;if(t){i.imageLoadListeners=null;for(var e=0,n=t.length;e<n;e++)t[e]()}},this.imageLoadListeners=[]}this.srcImage=t}function Oh(t,e,i){var n,o=document.createElement("img");return o.onerror=function(n){return Oh.onerror(o,n,t,e,i)},o.onload=function(n){return Oh.onload(o,n,t,e,i)},"string"==typeof t?(Oh.fetchBlob(t,(function(e){e?(t=e,n=Oh.createObjectURL(t)):(n=t,i&&i.crossOrigin&&(o.crossOrigin=i.crossOrigin)),o.src=n}),i),o):Oh.isInstanceOf("Blob",t)||Oh.isInstanceOf("File",t)?(n=o._objectURL=Oh.createObjectURL(t))?(o.src=n,o):Oh.readFile(t,(function(t){var i=t.target;i&&i.result?o.src=i.result:e&&e(t)})):void 0}Mh.prototype.render=function(t,e,i){if(this.imageLoadListeners){var n=this;this.imageLoadListeners.push((function(){n.render(t,e,i)}))}else{e=e||{};var o=this.srcImage.naturalWidth,r=this.srcImage.naturalHeight,s=e.width,a=e.height,l=e.maxWidth,d=e.maxHeight,c=!this.blob||"image/jpeg"===this.blob.type;s&&!a?a=r*s/o<<0:a&&!s?s=o*a/r<<0:(s=o,a=r),l&&s>l&&(a=r*(s=l)/o<<0),d&&a>d&&(s=o*(a=d)/r<<0);var u={width:s,height:a};for(var p in e)u[p]=e[p];var h=t.tagName.toLowerCase();"img"===h?t.src=function(t,e,i){var n=document.createElement("canvas");return qh(t,n,e,i),n.toDataURL("image/jpeg",e.quality||.8)}(this.srcImage,u,c):"canvas"===h&&qh(this.srcImage,t,u,c),"function"==typeof this.onrender&&this.onrender(t),i&&i(),this.blob&&(this.blob=null,Th.revokeObjectURL(this.srcImage.src))}};var Rh=Th.revokeObjectURL&&Th;function Nh(t,e){!t._objectURL||e&&e.noRevoke||(Oh.revokeObjectURL(t._objectURL),delete t._objectURL)}Oh.fetchBlob=function(t,e){e()},Oh.isInstanceOf=function(t,e){return Object.prototype.toString.call(e)==="[object "+t+"]"},Oh.transform=function(t,e,i,n,o){i(t,o)},Oh.onerror=function(t,e,i,n,o){Nh(t,o),n&&n.call(t,e)},Oh.onload=function(t,e,i,n,o){Nh(t,o),n&&Oh.transform(t,o,n,i,{originalWidth:t.naturalWidth||t.width,originalHeight:t.naturalHeight||t.height})},Oh.createObjectURL=function(t){return!!Rh&&Rh.createObjectURL(t)},Oh.revokeObjectURL=function(t){return!!Rh&&Rh.revokeObjectURL(t)},Oh.readFile=function(t,e,i){if(FileReader){var n=new FileReader;if(n.onload=n.onerror=e,n[i=i||"readAsDataURL"])return n[i](t),n}return!1};var Bh="undefined"!=typeof Blob&&(Blob.prototype.slice||Blob.prototype.webkitSlice||Blob.prototype.mozSlice);Oh.blobSlice=Bh&&function(){var t=this.slice||this.webkitSlice||this.mozSlice;return t.apply(this,arguments)},Oh.metaDataParsers={jpeg:{65505:[],65517:[]}},Oh.parseMetaData=function(t,e,i,n){n=n||{};var o=this,r=(i=i||{}).maxMetaDataSize||262144;!!("undefined"!=typeof DataView&&t&&t.size>=12&&"image/jpeg"===t.type&&Oh.blobSlice)&&Oh.readFile(Oh.blobSlice.call(t,0,r),(function(t){if(t.target.error)return console.log(t.target.error),void e(n);var r,s,a,l,d=t.target.result,c=new DataView(d),u=2,p=c.byteLength-4,h=u;if(65496===c.getUint16(0)){for(;u<p&&((r=c.getUint16(u))>=65504&&r<=65519||65534===r);){if(u+(s=c.getUint16(u+2)+2)>c.byteLength){console.log("Invalid meta data: Invalid segment size.");break}if(a=Oh.metaDataParsers.jpeg[r])for(l=0;l<a.length;l+=1)a[l].call(o,c,u,s,n,i);h=u+=s}!i.disableImageHead&&h>6&&(d.slice?n.imageHead=d.slice(0,h):n.imageHead=new Uint8Array(d).subarray(0,h))}else console.log("Invalid JPEG file: Missing JPEG marker.");e(n)}),"readAsArrayBuffer")||e(n)},Oh.hasMetaOption=function(t){return t&&t.meta};var Ih=Oh.transform;Oh.transform=function(t,e,i,n,o){Oh.hasMetaOption(e)?Oh.parseMetaData(n,(function(o){Ih.call(Oh,t,e,i,n,o)}),e,o):Ih.apply(Oh,arguments)},Oh.ExifMap=function(){return this},Oh.ExifMap.prototype.map={Orientation:274},Oh.ExifMap.prototype.get=function(t){return this[t]||this[this.map[t]]},Oh.getExifThumbnail=function(t,e,i){if(i&&!(e+i>t.byteLength))return Oh.createObjectURL(new Blob([t.buffer.slice(e,e+i)]));console.log("Invalid Exif data: Invalid thumbnail data.")},Oh.exifTagTypes={1:{getValue:function(t,e){return t.getUint8(e)},size:1},2:{getValue:function(t,e){return String.fromCharCode(t.getUint8(e))},size:1,ascii:!0},3:{getValue:function(t,e,i){return t.getUint16(e,i)},size:2},4:{getValue:function(t,e,i){return t.getUint32(e,i)},size:4},5:{getValue:function(t,e,i){return t.getUint32(e,i)/t.getUint32(e+4,i)},size:8},9:{getValue:function(t,e,i){return t.getInt32(e,i)},size:4},10:{getValue:function(t,e,i){return t.getInt32(e,i)/t.getInt32(e+4,i)},size:8}},Oh.exifTagTypes[7]=Oh.exifTagTypes[1],Oh.getExifValue=function(t,e,i,n,o,r){var s,a,l,d,c,u,p=Oh.exifTagTypes[n];if(p){if(!((a=(s=p.size*o)>4?e+t.getUint32(i+8,r):i+8)+s>t.byteLength)){if(1===o)return p.getValue(t,a,r);for(l=[],d=0;d<o;d+=1)l[d]=p.getValue(t,a+d*p.size,r);if(p.ascii){for(c="",d=0;d<l.length&&"\0"!==(u=l[d]);d+=1)c+=u;return c}return l}console.log("Invalid Exif data: Invalid data offset.")}else console.log("Invalid Exif data: Invalid tag type.")},Oh.parseExifTag=function(t,e,i,n,o){var r=t.getUint16(i,n);o.exif[r]=Oh.getExifValue(t,e,i,t.getUint16(i+2,n),t.getUint32(i+4,n),n)},Oh.parseExifTags=function(t,e,i,n,o){var r,s,a;if(i+6>t.byteLength)console.log("Invalid Exif data: Invalid directory offset.");else{if(!((s=i+2+12*(r=t.getUint16(i,n)))+4>t.byteLength)){for(a=0;a<r;a+=1)this.parseExifTag(t,e,i+2+12*a,n,o);return t.getUint32(s,n)}console.log("Invalid Exif data: Invalid directory size.")}},Oh.parseExifData=function(t,e,i,n,o){if(!o.disableExif){var r,s,a,l=e+10;if(1165519206===t.getUint32(e+4))if(l+8>t.byteLength)console.log("Invalid Exif data: Invalid segment size.");else if(0===t.getUint16(e+8)){switch(t.getUint16(l)){case 18761:r=!0;break;case 19789:r=!1;break;default:return void console.log("Invalid Exif data: Invalid byte alignment marker.")}42===t.getUint16(l+2,r)?(s=t.getUint32(l+4,r),n.exif=new Oh.ExifMap,(s=Oh.parseExifTags(t,l,l+s,r,n))&&!o.disableExifThumbnail&&(a={exif:{}},s=Oh.parseExifTags(t,l,l+s,r,a),a.exif[513]&&(n.exif.Thumbnail=Oh.getExifThumbnail(t,l+a.exif[513],a.exif[514]))),n.exif[34665]&&!o.disableExifSub&&Oh.parseExifTags(t,l,l+n.exif[34665],r,n),n.exif[34853]&&!o.disableExifGps&&Oh.parseExifTags(t,l,l+n.exif[34853],r,n)):console.log("Invalid Exif data: Missing TIFF marker.")}else console.log("Invalid Exif data: Missing byte alignment offset.")}},Oh.metaDataParsers.jpeg[65505].push(Oh.parseExifData);const $h=new e;class Dh{constructor(e){this.builder=e;const i=new t(e),n=i.builderStuff();this.builderStuff=n;let o=n.querySelector("#divLinkTool");if(!o){let t=`<div id="divLinkTool" class="is-tool">\n <button title="${i.out("Link")}" data-title="${i.out("Link")}" class="link-edit"><svg class="is-icon-flex" style="width:13px;height:13px;"><use xlink:href="#ion-link"></use></svg></button>\n <button title="${i.out("Duplicate")}" data-title="${i.out("Duplicate")}" class="link-duplicate"><svg class="is-icon-flex" style="width:11px;height:11px;"><use xlink:href="#ion-ios-photos-outline"></use></svg></button>\n <button title="${i.out("Delete")}" data-title="${i.out("Delete")}" class="link-remove"><svg class="is-icon-flex" style="width:20px;height:20px;"><use xlink:href="#ion-ios-close-empty"></use></svg></button>\n </div>\n <div class="is-modal createlink">\n <div class="is-modal-content"> \n <label for="inpCreateLinkUrl">${i.out("Link")}:</label>\n <div class="link-src">\n <input id="inpCreateLinkUrl" class="input-url" type="text"/>\n <button title="${i.out("Select")}" class="input-select"><svg class="is-icon-flex"><use xlink:href="#ion-more"></use></svg></button>\n </div>\n <label style="display:block;margin-top:14px;">\n <input class="input-newwindow" type="checkbox" /> ${i.out("Open new window")} \n </label>\n <label id="lblOpenLightbox" style="${this.builder.useLightbox?"display:block":"display:none"};margin-top:14px;">\n <input class="input-openlightbox" type="checkbox" /> ${i.out("Open in a lightbox (for image, video or Youtube)")} \n </label>\n\n <label for="inpCreateLinkText" style="margin-top:14px;display:block">${i.out("Text")}:</label>\n <input id="inpCreateLinkText" class="input-text" type="text" style="width:100%;"/>\n \n <label for="inpCreateLinkTitle" style="margin-top:14px;display:block">${i.out("Title")}:</label>\n <input id="inpCreateLinkTitle" class="input-title" type="text" style="width:100%;border-top: none;"/>\n \n <div style="text-align:right;margin-top:14px;">\n <button title="${i.out("Cancel")}" class="input-cancel classic-secondary">${i.out("Cancel")}</button>\n <button title="${i.out("Ok")}" class="input-ok classic-primary">${i.out("Ok")}</button>\n </div>\n </div>\n </div>\n \n <div class="is-modal fileselect">\n <div class="is-modal-content" style="max-width:800px;height:80%;padding:0;">\n <iframe style="width:100%;height:100%;border: none;display: block;" src="about:blank"></iframe>\n </div>\n </div>\n `;$h.appendHtml(n,t),o=n.querySelector("#divLinkTool");let e=o.querySelector(".link-edit");$h.addEventListener(e,"click",(()=>{this.editLink()}));let r=o.querySelector(".link-duplicate");$h.addEventListener(r,"click",(()=>{if(this.builder.activeLink)if(this.builder.uo.saveForUndo(),this.builder.opts.emailMode){for(var t=this.builder.activeLink;"table"!==t.tagName.toLowerCase()&&!$h.hasClass(t,"button");)t=t.parentNode;let e=t=t.parentNode;const i=e.cloneNode(!0);let n=i.querySelector(".icon-active");n&&$h.removeClass(n,"icon-active"),i.style.paddingRight="15px",e.parentNode.insertBefore(i,e),this.showTool(this.builder.activeLink)}else{const t=this.builder.activeLink.cloneNode(!0);let e=t.querySelector(".icon-active");e&&$h.removeClass(e,"icon-active"),this.builder.activeLink.parentNode.insertBefore(t,this.builder.activeLink),this.showTool(this.builder.activeLink)}}));let s=o.querySelector(".link-remove");$h.addEventListener(s,"click",(()=>{if(this.builder.uo.saveForUndo(),this.builder.opts.emailMode){for(var t=this.builder.activeLink;"table"!==t.tagName.toLowerCase()&&!$h.hasClass(t,"button");)t=t.parentNode;let e=t=t.parentNode;e&&e.parentNode.removeChild(e),o.style.display=""}else this.builder.activeLink&&this.builder.activeLink.parentNode.removeChild(this.builder.activeLink),o.style.display="";this.builder.activeLink.querySelector(".icon-active")&&(this.builder.activeIcon=null)}));let a=this.builderStuff.querySelector(".is-modal.createlink"),l=a.querySelector(".input-ok");$h.addEventListener(l,"click",(()=>{this.builder.uo.saveForUndo();let t=this.builder.activeLink;if(t){let i=a.querySelector(".input-url").value,n=a.querySelector(".input-title").value,o=a.querySelector(".input-text").value;if(""===o&&(o=i),""!==i)t.setAttribute("href",i),a.querySelector(".input-newwindow").checked?t.setAttribute("target","_blank"):t.removeAttribute("target"),a.querySelector(".input-openlightbox").checked?$h.addClass(t,"is-lightbox"):$h.removeClass(t,"is-lightbox"),this.builder.activeIcon||(t.innerHTML=o),t.setAttribute("title",n);else{var e=t;$h.selectElementContents(e),document.execCommand("unlink",!1,null)}this.builder.opts.onChange()}else{i.restoreSelection();let t=a.querySelector(".input-url").value,e=a.querySelector(".input-title").value,n=a.querySelector(".input-text").value;if(""===n&&(n=t),""!==t){let o;if(this.builder.uo.saveForUndo(),this.builder.activeIcon){let n=this.builder.activeIcon.outerHTML;this.builder.activeIcon.outerHTML=`<a class="__dummy" href="${t}">${n}</a>`,o=document.querySelector(".__dummy"),$h.removeClass(o,"__dummy"),a.querySelector(".input-newwindow").checked?o.setAttribute("target","_blank"):o.removeAttribute("target"),a.querySelector(".input-openlightbox").checked?$h.addClass(o,"is-lightbox"):$h.removeClass(o,"is-lightbox"),o.setAttribute("title",e),this.builder.activeIcon=o.childNodes[0],i.appleMobile||$h.selectElementContents(this.builder.activeIcon)}else{document.execCommand("createLink",!1,"http://dummy");let o=document.querySelector('a[href="http://dummy"]');o.setAttribute("href",t),o.innerHTML=n,a.querySelector(".input-newwindow").checked?o.setAttribute("target","_blank"):o.removeAttribute("target"),a.querySelector(".input-openlightbox").checked?$h.addClass(o,"is-lightbox"):$h.removeClass(o,"is-lightbox"),o.setAttribute("title",e),i.appleMobile||$h.selectElementContents(o)}}i.saveSelection(),this.builder.opts.onChange(),this.builder.opts.onRender()}i.hideModal(a)}));let d=a.querySelector(".input-cancel");$h.addEventListener(d,"click",(()=>{i.hideModal(a),i.appleMobile||i.restoreSelection()}))}this.linkTool=o}click(t,e){let i=!1;t.hasAttribute("data-html")&&(i=!0);let n=!1;t.hasAttribute("data-noedit")&&(n=!0);let o=!1;t.hasAttribute("data-protected")&&(o=!0);const r=e.target;if(this.builder.activeLink=null,"a"!==r.tagName.toLowerCase()&&!$h.parentsHasTag(r,"a")||i||n||o)this.hideTool();else{if(r.childNodes.length>0&&r.childNodes[0].tagName&&"i"===r.childNodes[0].tagName.toLowerCase()&&1===r.childNodes.length&&""===r.childNodes[0].innerHTML){const t=document.querySelectorAll(".icon-active");Array.prototype.forEach.call(t,(t=>{$h.removeClass(t,"icon-active")})),$h.addClass(r.childNodes[0],"icon-active"),$h.selectElementContents(r.childNodes[0]),this.builder.activeIcon=r.childNodes[0]}if("img"===r.tagName.toLowerCase())return;let t;if("a"===r.tagName.toLowerCase())t=r;else{let e=r;for(;"a"!==e.tagName.toLowerCase();)e=e.parentNode;t=e}this.builder.activeLink=t,this.showTool(t),e.preventDefault()}}showTool(t){const e=this.linkTool;"inline-block"===$h.getStyle(t,"display")||this.builder.activeIcon?(e.querySelector(".link-duplicate").style.display="block",e.querySelector(".link-remove").style.display="block"):(e.querySelector(".link-duplicate").style.display="none",e.querySelector(".link-remove").style.display="none");const i=t.getBoundingClientRect().top,n=t.getBoundingClientRect().left;e.style.display="flex";const o=e.offsetWidth,r=e.offsetHeight;e.style.top=i-r+window.pageYOffset-3+"px",e.style.left=n+t.offsetWidth*this.builder.opts.zoom-o+"px"}hideTool(){this.linkTool.style.display=""}createLink(){const e=new t(this.builder);let i;if(this.builder.activeLink)i=this.builder.activeLink;else{let t;try{let e;window.getSelection?(e=window.getSelection().getRangeAt(0).commonAncestorContainer,t=3===e.nodeType?e.parentNode:e):document.selection&&(e=document.selection.createRange(),t=document.selection.createRange().parentElement())}catch(t){return}if("a"===t.nodeName.toLowerCase())i=t;else{let e=t;for(;"a"!==e.nodeName.toLowerCase()&&"BODY"!==e.tagName&&"HTML"!==e.tagName;)e.parentNode&&(e=e.parentNode);"a"===e.nodeName.toLowerCase()&&(i=e)}i&&(this.builder.activeLink=i,"i"===t.nodeName.toLowerCase()&&""===t.innerHTML||($h.selectElementContents(this.builder.activeLink),e.saveSelection()))}var n=$h.getSelected();let o=this.builderStuff.querySelector(".is-modal.createlink");if(this.builder.opts.onFileSelectClick||""!==this.builder.opts.fileselect){o.querySelector(".input-select").style.display="block";let t=o.querySelector(".input-select");$h.addEventListener(t,"click",(t=>{if(this.builder.opts.onFileSelectClick)this.builder.opts.onFileSelectClick({targetInput:o.querySelector(".input-url"),theTrigger:o.querySelector(".input-select")});else{let t=this.builderStuff.querySelector(".is-modal.fileselect");"about:blank"===t.querySelector("iframe").src&&(t.querySelector("iframe").src=this.builder.opts.fileselect),e.showModal(t,!1,null,!1)}t.preventDefault(),t.stopImmediatePropagation()}))}else o.querySelector(".input-select").style.display="none";if(o.querySelector(".input-url").value="",o.querySelector(".input-newwindow").checked=!1,o.querySelector(".input-openlightbox").checked=!1,o.querySelector(".input-title").value="",o.querySelector(".input-text").value="",i){let t=i.getAttribute("href"),e=i.getAttribute("target"),n=i.getAttribute("title"),r=i.innerHTML;o.querySelector(".input-url").value=t,o.querySelector(".input-newwindow").checked="_blank"===e,$h.hasClass(i,"is-lightbox")?o.querySelector(".input-openlightbox").checked=!0:o.querySelector(".input-openlightbox").checked=!1,o.querySelector(".input-title").value=n,o.querySelector(".input-text").value=r}else o.querySelector(".input-text").value=n;e.showModal(o,!0,(()=>{e.appleMobile||e.restoreSelection()}),!0),o.querySelector(".input-url").focus()}editLink(){const e=new t(this.builder);let i=this.builder.activeLink,n=this.builderStuff.querySelector(".is-modal.createlink");if(this.builder.opts.onFileSelectClick||""!==this.builder.opts.fileselect){n.querySelector(".input-select").style.display="block",n.querySelector(".input-url").style.width="444px";let t=n.querySelector(".input-select");$h.addEventListener(t,"click",(()=>{if(this.builder.opts.onFileSelectClick)this.builder.opts.onFileSelectClick({targetInput:n.querySelector(".input-url"),theTrigger:n.querySelector(".input-select")});else{let t=this.builderStuff.querySelector(".is-modal.fileselect");"about:blank"===t.querySelector("iframe").src&&(t.querySelector("iframe").src=this.builder.opts.fileselect),e.showModal(t,!1,null,!1)}}))}else n.querySelector(".input-select").style.display="none",n.querySelector(".input-url").style.width="100%";let o=i.getAttribute("href"),r=i.getAttribute("target"),s=i.getAttribute("title"),a=i.innerHTML;n.querySelector(".input-url").value=o,n.querySelector(".input-newwindow").checked="_blank"===r,$h.hasClass(i,"is-lightbox")?n.querySelector(".input-openlightbox").checked=!0:n.querySelector(".input-openlightbox").checked=!1,n.querySelector(".input-title").value=s,n.querySelector(".input-text").value=a,e.showModal(n,!0,null,!0),n.querySelector(".input-url").focus()}}const Hh=new e;class zh{constructor(e){this.builder=e;const i=new t(e);this.util=i;const n=i.builderStuff();this.builderStuff=n;let o=n.querySelector(".is-spacer-tool");if(!o){let t=`\n <div id="divSpacerTool" class="is-tool is-spacer-tool">\n <button title="${i.out("Decrease")}" data-value="-"><svg class="is-icon-flex"><use xlink:href="#ion-ios-minus-empty"></use></svg></button>\n <button title="${i.out("Increase")}" data-value="+" style="border-left: none;"><svg class="is-icon-flex"><use xlink:href="#ion-ios-plus-empty"></use></svg></button>\n </div>\n `;Hh.appendHtml(n,t),o=n.querySelector(".is-spacer-tool");const e=o.querySelectorAll("button");Array.prototype.forEach.call(e,(t=>{Hh.addEventListener(t,"click",(()=>{this.builder.uo.saveForUndo();const e=t.getAttribute("data-value");let i=this.builder.activeSpacer;"-"===e?Hh.hasClass(i,"height-300")?(Hh.removeClass(i,"height-300"),Hh.addClass(i,"height-280")):Hh.hasClass(i,"height-280")?(Hh.removeClass(i,"height-280"),Hh.addClass(i,"height-260")):Hh.hasClass(i,"height-260")?(Hh.removeClass(i,"height-260"),Hh.addClass(i,"height-240")):Hh.hasClass(i,"height-240")?(Hh.removeClass(i,"height-240"),Hh.addClass(i,"height-220")):Hh.hasClass(i,"height-220")?(Hh.removeClass(i,"height-220"),Hh.addClass(i,"height-200")):Hh.hasClass(i,"height-200")?(Hh.removeClass(i,"height-200"),Hh.addClass(i,"height-180")):Hh.hasClass(i,"height-180")?(Hh.removeClass(i,"height-180"),Hh.addClass(i,"height-160")):Hh.hasClass(i,"height-160")?(Hh.removeClass(i,"height-160"),Hh.addClass(i,"height-140")):Hh.hasClass(i,"height-140")?(Hh.removeClass(i,"height-140"),Hh.addClass(i,"height-120")):Hh.hasClass(i,"height-120")?(Hh.removeClass(i,"height-120"),Hh.addClass(i,"height-100")):Hh.hasClass(i,"height-100")?(Hh.removeClass(i,"height-100"),Hh.addClass(i,"height-80")):Hh.hasClass(i,"height-80")?(Hh.removeClass(i,"height-80"),Hh.addClass(i,"height-60")):Hh.hasClass(i,"height-60")?(Hh.removeClass(i,"height-60"),Hh.addClass(i,"height-40")):Hh.hasClass(i,"height-40")&&(Hh.removeClass(i,"height-40"),Hh.addClass(i,"height-20")):Hh.hasClass(i,"height-20")?(Hh.removeClass(i,"height-20"),Hh.addClass(i,"height-40")):Hh.hasClass(i,"height-40")?(Hh.removeClass(i,"height-40"),Hh.addClass(i,"height-60")):Hh.hasClass(i,"height-60")?(Hh.removeClass(i,"height-60"),Hh.addClass(i,"height-80")):Hh.hasClass(i,"height-80")?(Hh.removeClass(i,"height-80"),Hh.addClass(i,"height-100")):Hh.hasClass(i,"height-100")?(Hh.removeClass(i,"height-100"),Hh.addClass(i,"height-120")):Hh.hasClass(i,"height-120")?(Hh.removeClass(i,"height-120"),Hh.addClass(i,"height-140")):Hh.hasClass(i,"height-140")?(Hh.removeClass(i,"height-140"),Hh.addClass(i,"height-160")):Hh.hasClass(i,"height-160")?(Hh.removeClass(i,"height-160"),Hh.addClass(i,"height-180")):Hh.hasClass(i,"height-180")?(Hh.removeClass(i,"height-180"),Hh.addClass(i,"height-200")):Hh.hasClass(i,"height-200")?(Hh.removeClass(i,"height-200"),Hh.addClass(i,"height-220")):Hh.hasClass(i,"height-220")?(Hh.removeClass(i,"height-220"),Hh.addClass(i,"height-240")):Hh.hasClass(i,"height-240")?(Hh.removeClass(i,"height-240"),Hh.addClass(i,"height-260")):Hh.hasClass(i,"height-260")?(Hh.removeClass(i,"height-260"),Hh.addClass(i,"height-280")):Hh.hasClass(i,"height-280")&&(Hh.removeClass(i,"height-280"),Hh.addClass(i,"height-300")),this.showTool(i),this.builder.opts.onChange(),this.builder.opts.onRender()}))}))}this.spacerTool=o}click(t){const e=t.target;Hh.hasClass(e,"spacer")?(this.builder.activeSpacer=e,this.showTool(e)):this.hideTool()}showTool(t){const e=t.getBoundingClientRect().top+window.pageYOffset,i=t.getBoundingClientRect().left;this.spacerTool.style.display="flex";const n=this.spacerTool.offsetWidth,o=this.spacerTool.offsetHeight;this.spacerTool.style.top=e+(t.offsetHeight*this.builder.opts.zoom-o)/2+"px",this.spacerTool.style.left=i+(t.offsetWidth*this.builder.opts.zoom-n)/2+"px"}hideTool(){this.spacerTool.style.display=""}}const Ph=new e;class Fh{constructor(e){this.builder=e;const i=new t(e);this.util=i;const n=i.builderStuff();this.builderStuff=n;let o,r=n.querySelector(".is-module-tool");if(!r){let t=`\n <div class="is-tool is-module-tool">\n <button title="${i.out("Settings")}" data-title="${i.out("Settings")}" style="width:40px;height:40px;"><svg class="is-icon-flex"><use xlink:href="#ion-ios-gear"></use></svg></button>\n </div>\n\n <input id="hidContentModuleCode" type="hidden" />\n <input id="hidContentModuleSettings" type="hidden" />\n \n <div class="is-modal custommodule">\n <div class="is-modal-content">\n <div class="is-modal-bar is-draggable">\n ${i.out("Module Settings")}\n <div class="is-modal-close" ole="button" tabindex="0" title="${i.out("Close")}">✕</div>\n </div>\n <iframe style="position: absolute;top: 0;left: 0;width:100%;height:100%;border:none;border-bottom:90px solid transparent;border-top:40px solid transparent;margin:0;box-sizing:border-box;" src="about:blank"></iframe>\n <div style="width:100%;height:90px;padding: 20px; box-sizing: border-box;position:absolute;left:0;bottom:0;overflow:hidden;text-align:right">\n <button title="${i.out("Cancel")}" class="input-cancel classic-secondary">${i.out("Cancel")}</button>\n <button title="${i.out("Ok")}" class="input-ok classic-primary">${i.out("Ok")}</button>\n </div>\n </div>\n </div> \n `;Ph.appendHtml(n,t),r=n.querySelector(".is-module-tool"),o=n.querySelector(".is-modal.custommodule");let e=r.querySelector("button");Ph.addEventListener(e,"click",(()=>{let t=this.builder.activeModule;Ph.removeAttributes(document.querySelectorAll("[data-module-active]"),"data-module-active"),t.setAttribute("data-module-active","1");var e=t.getAttribute("data-module"),i=t.getAttribute("data-module-desc");o.querySelector(".is-modal-bar").innerHTML=i?i+'<div class="is-modal-close" style="z-index:1;width:32px;height:32px;position:absolute;top:0px;right:0px;box-sizing:border-box;padding:0;line-height:32px;font-size: 12px;text-align:center;cursor:pointer;">✕</div>':this.util.out("Module Settings")+'<div class="is-modal-close" style="z-index:1;width:32px;height:32px;position:absolute;top:0px;right:0px;box-sizing:border-box;padding:0;line-height:32px;font-size: 12px;text-align:center;cursor:pointer;">✕</div>';var n=t.getAttribute("data-dialog-width");n&&""!==n||(n="900px");var r=t.getAttribute("data-dialog-height");r&&""!==r||(r="570px"),o.querySelector("div:not(.is-modal-overlay)").style.maxWidth=n,o.querySelector("div:not(.is-modal-overlay)").style.height=r;let s=o.querySelector(".is-modal-close");Ph.addEventListener(s,"click",(()=>{this.util.hideModal(o)}));var a=1;const l=t.querySelectorAll("[data-subblock]");Array.prototype.forEach.call(l,(e=>{let i=e.innerHTML;t.setAttribute("data-html-"+a,encodeURIComponent(i)),a++})),this.util.showModal(o,!0);var d=new Date;o.querySelector("iframe").src=this.builder.opts.modulePath+e+".html?"+d.getTime()}));let s=o.querySelector(".input-ok");Ph.addEventListener(s,"click",(()=>{this.builder.uo.saveForUndo();let t=this.builder.activeModule;t.setAttribute("data-html",encodeURIComponent(this.builderStuff.querySelector("#hidContentModuleCode").value)),t.setAttribute("data-settings",encodeURIComponent(this.builderStuff.querySelector("#hidContentModuleSettings").value));let e=this.builderStuff.querySelector("#hidContentModuleCode").value;e=e.replace(/{id}/g,this.util.makeId()),t.innerHTML="";var i=document.createRange();i.setStart(t,0),t.appendChild(i.createContextualFragment(e));let n=t.querySelectorAll("[data-subblock]");var r=1;Array.prototype.forEach.call(n,(e=>{t.getAttribute("data-html-"+r)&&(e.innerHTML=decodeURIComponent(t.getAttribute("data-html-"+r))),r++})),this.builder.applyBehavior(),this.builder.opts.onChange(),this.builder.opts.onRender(),this.util.hideModal(o),this.util.hideControls()}));let a=o.querySelector(".input-cancel");Ph.addEventListener(a,"click",(()=>{this.util.hideModal(o)}))}this.moduleTool=r,this.moduleModal=o}click(t){let e=!1;if(t.hasAttribute("data-module")&&(e=!0),e){this.builder.activeModule=t;let e=t;this.moduleTool.style.display="flex";let i=this.moduleTool.offsetWidth,n=e.offsetWidth*this.builder.opts.zoom,o=e.getBoundingClientRect().top+window.pageYOffset,r=e.getBoundingClientRect().left-2;r+=n-i;i+r>window.innerWidth&&(r=e.getBoundingClientRect().left),this.moduleTool.style.top=o+"px",this.moduleTool.style.left=r+"px"}else this.builder.activeModule=null,this.moduleTool.style.display=""}}const Uh=new e;class Wh{constructor(e){this.builder=e;const i=new t(e);this.util=i;const n=new Xe(e);this.htmlUtil=n;const o=i.builderStuff();this.builderStuff=o;let r=o.querySelector(".is-code-tool");if(!r){let t=`\n <div class="is-tool is-code-tool">\n <button title="${i.out("Settings")}" data-title="${i.out("Settings")}" style="width:40px;height:40px;"><svg class="is-icon-flex"><use xlink:href="#ion-ios-gear"></use></svg></button>\n </div>\n `;Uh.appendHtml(o,t),r=o.querySelector(".is-code-tool");let e=r.querySelector("button");Uh.addEventListener(e,"click",(()=>{let t=this.builder.activeCodeBlock,e=this.builderStuff.querySelector("#tmp_buildercontent");e&&e.parentNode.removeChild(e),Uh.appendHtml(this.builderStuff,'<div id="tmp_buildercontent" style="position:absolute;top:0;left:0;width:1px;height:1px;overflow:hidden;visibility:hidden;"></div>'),e=this.builderStuff.querySelector("#tmp_buildercontent");var n=1;const o=t.querySelectorAll("is-builder");Array.prototype.forEach.call(o,(i=>{let o=i.innerHTML;e=this.builderStuff.querySelector("#tmp_buildercontent"),e.innerHTML=o;let r=e.querySelectorAll(".elm-active");Uh.removeClasses(r,"elm-active"),r=e.querySelectorAll(".elm-inspected"),Uh.removeClasses(r,"elm-inspected"),r=e.querySelectorAll(".cell-active"),Uh.removeClasses(r,"cell-active"),r=e.querySelectorAll(".row-active"),Uh.removeClasses(r,"row-active"),r=e.querySelectorAll(".row-outline"),Uh.removeClasses(r,"row-outline"),r=e.querySelectorAll(".row-outline"),Uh.removeClasses(r,"row-outline"),r=e.querySelectorAll("[data-click]"),Uh.removeAttributes(r,"data-click"),r=e.querySelectorAll("[contenteditable]"),Uh.removeAttributes(r,"contenteditable"),r=e.querySelectorAll("[data-module-active]"),Uh.removeAttributes(r,"data-module-active"),Uh.removeElements(e.querySelectorAll(".is-row-tool")),Uh.removeElements(e.querySelectorAll(".is-rowadd-tool")),Uh.removeElements(e.querySelectorAll(".ovl")),Uh.removeElements(e.querySelectorAll(".row-add-initial")),r=e.querySelectorAll("[data-keep]"),Uh.removeAttributes(r,"data-keep"),o=e.innerHTML.trim(),o=o.replace(/<font/g,"<span").replace(/<\/font/g,"</span"),t.setAttribute("data-html-"+n,encodeURIComponent(o)),n++}));let r,s=decodeURIComponent(t.getAttribute("data-html"));s=s.replace(/{id}/g,this.util.makeId()),e.parentNode.removeChild(e),r=this.builder.opts.htmlSyntaxHighlighting?this.builderStuff.querySelector(".viewhtmlformatted"):this.builderStuff.querySelector(".viewhtml"),r.querySelector(".is-modal-footer").innerHTML=`<button title="${i.out("Cancel")}" class="input-cancel classic-secondary">${i.out("Cancel")}</button>\n <button title="${i.out("Ok")}" class="input-ok classic-primary">${i.out("Ok")}</button>`,i.showModal(r,!0),r.querySelector("textarea").value=s;let a=r.querySelector(".input-ok");if(Uh.addEventListener(a,"click",(()=>{this.builder.uo.saveForUndo();var e=r.querySelector("textarea").value;t.setAttribute("data-html",encodeURIComponent(e)),e=e.replace(/{id}/g,this.util.makeId());for(var n=1;n<=20;n++)e=e.replace("[%HTML"+n+"%]",void 0===t.getAttribute("data-html-"+n)?"":decodeURIComponent(t.getAttribute("data-html-"+n)));t.innerHTML="";var o=document.createRange();o.setStart(t,0),t.appendChild(o.createContextualFragment(e)),this.builder.applyBehavior(),this.builder.opts.onChange(),this.builder.opts.onRender(),i.hideModal(r),i.hideControls()})),a=r.querySelector(".input-cancel"),Uh.addEventListener(a,"click",(()=>{i.hideModal(r)})),this.builder.opts.htmlSyntaxHighlighting){let t=r.querySelector("textarea");t.setAttribute("data-source-active","1"),t.setAttribute("data-source-ok",".viewhtmlformatted .input-ok"),t.setAttribute("data-source-cancel",".viewhtmlformatted .input-cancel"),r.querySelector("iframe").outerHTML='<iframe id="ifrHtmlFormatted" style="width:100%;height:100%;border: none;" src="about:blank"></iframe>';var l=r.querySelector("iframe").contentWindow.document;l.open(),l.write(this.htmlUtil.getIframeHtml()),l.close()}}))}this.codeTool=r}click(t){let e=!1;if(t.hasAttribute("data-html")&&!t.hasAttribute("data-module")&&(e=!0),e){this.builder.activeCodeBlock=t;let e=t;this.codeTool.style.display="flex";let i=this.codeTool.offsetWidth,n=e.offsetWidth*this.builder.opts.zoom,o=e.getBoundingClientRect().top+window.pageYOffset,r=e.getBoundingClientRect().left-2;r+=n-i;i+r>window.innerWidth&&(r=e.getBoundingClientRect().left),this.codeTool.style.top=o+"px",this.codeTool.style.left=r+"px"}else this.builder.activeCodeBlock=null,this.codeTool.style.display=""}}const jh=new e;class Gh{constructor(e){this.builder=e;const i=new t(e);this.util=i;const n=i.builderStuff();this.builderStuff=n;let o,r=n.querySelector(".is-iframe-tool");if(!r){let t=`\n <div class="is-tool is-iframe-tool">\n <button title="${i.out("Settings")}" data-title="${i.out("Settings")}" style="width:40px;height:40px;background:none;"><svg class="is-icon-flex"><use xlink:href="#ion-ios-gear"></use></svg></button>\n </div>\n \n <div class="is-modal iframelink">\n <div class="is-modal-content">\n <input class="input-src" type="text" placeholder="Source" style="width:100%;margin-bottom:12px;"/>\n <textarea class="input-embedcode" type="text" placeholder="Embed Code" style="width:100%;height:300px;margin-bottom:12px;display:none;"></textarea>\n <div style="text-align:right">\n <button title="${i.out("Cancel")}" class="input-cancel classic-secondary">${i.out("Cancel")}</button>\n <button title="${i.out("Ok")}" class="input-ok classic-primary">${i.out("Ok")}</button>\n </div>\n </div>\n </div>\n \n `;jh.appendHtml(n,t),r=n.querySelector(".is-iframe-tool"),o=n.querySelector(".is-modal.iframelink");let e=r.querySelector("button");jh.addEventListener(e,"click",(()=>{let t=this.builder.activeIframe;var e=t.src;o.querySelector(".input-src").value="",o.querySelector(".input-embedcode").value="",null!=/^.*\/\/www.youtube.com\/embed\//.exec(e)||null!=/^.*\/\/player.vimeo.com\/video\//.exec(e)?(o.querySelector(".input-embedcode").style.display="none",o.querySelector(".input-src").style.display="block",o.querySelector(".input-src").value=e,o.querySelector(".input-src").focus()):(o.querySelector(".input-src").style.display="none",o.querySelector(".input-embedcode").style.display="block",o.querySelector(".input-embedcode").value=t.outerHTML),this.util.showModal(o,!0)}));let s=o.querySelector(".input-ok");jh.addEventListener(s,"click",(()=>{this.builder.uo.saveForUndo();let t=this.builder.activeIframe,e=t.parentNode;if(this.builder.uo.saveForUndo(),""!==o.querySelector(".input-src").value){var i=o.querySelector(".input-src").value,n=/^http[s]?:\/\/(((www.youtube.com\/watch\?(feature=player_detailpage&)?)v=)|(youtu.be\/))([^#&?]*)/.exec(i),r=/^.*(vimeo\.com\/)((channels\/[A-z]+\/)|(groups\/[A-z]+\/videos\/)|(video\/))?([0-9]+)\/?/.exec(i);if(null===n&&null===r||-1!==i.indexOf("player.vimeo.com")||-1!==i.indexOf("youtube.com/embed/"))t.src=i;else{if(null!=n&&n.length>=7)i="https://www.youtube.com/embed/"+n[6]+"?rel=0";if(null!=r&&r.length>=7)i="https://player.vimeo.com/video/"+r[6];t.src=i}this.builder.opts.onChange()}else{var s=o.querySelector(".input-embedcode").value;""!==s&&(t.outerHTML=s),this.builder.activeIframe=e.querySelector("iframe"),this.builder.applyBehavior(),this.builder.opts.onChange()}this.util.hideModal(o)}));let a=o.querySelector(".input-cancel");jh.addEventListener(a,"click",(()=>{this.util.hideModal(o)}))}this.iframeTool=r,this.iframeModal=o}click(t){if(jh.hasClass(t.target,"ovl")){t.target.style.display="none",this.builder.activeIframe=t.target.parentNode.querySelector("iframe");let e=this.builder.activeIframe;this.iframeTool.style.display="flex";let i=this.iframeTool.offsetWidth,n=e.offsetWidth*this.builder.opts.zoom,o=e.getBoundingClientRect().top+window.pageYOffset,r=e.getBoundingClientRect().left-2;r+=n-i;i+r>window.innerWidth&&(r=e.getBoundingClientRect().left),this.iframeTool.style.top=o+"px",this.iframeTool.style.left=r+"px"}else{let t=document.querySelectorAll(".ovl");Array.prototype.forEach.call(t,(t=>{t.style.display="block"})),this.builder.activeIframe=null,this.iframeTool.style.display=""}}}const Xh=new e;class Yh{constructor(e){this.builder=e;const i=new t(e);this.util=i;const n=i.builderStuff();this.builderStuff=n;let o,r=n.querySelector(".is-table-tool");if(!r){let t=`\n <div class="is-tool is-table-tool">\n <button title="${i.out("Settings")}" style="width:40px;height:40px;"><svg class="is-icon-flex"><use xlink:href="#ion-ios-gear"></use></svg></button>\n </div>\n <div class="is-modal is-modal-content edittable">\n <div class="is-modal-bar is-draggable">\n ${i.out("Table")}\n <div class="is-modal-close" role="button" tabindex="0" title="${i.out("Close")}">✕</div>\n </div>\n <div style="padding:0">\n <div class="is-tabs clearfix" data-group="table">\n <a title="${i.out("Style")}" id="tabTableGeneral" href="" data-content="divTableGeneral" class="active">${i.out("Style")}</a>\n <a title="${i.out("Layout")}" id="tabTableLayout" href="" data-content="divTableLayout">${i.out("Layout")}</a>\n </div>\n <div id="divTableGeneral" class="is-tab-content" data-group="table" style="display:block">\n\n <div style="display:flex;padding-bottom:12px">\n <div style="padding-right:15px">\n <div>${i.out("Background")}:</div>\n <div>\n <button title="${i.out("Background Color")}" class="input-table-bgcolor is-btn-color"></button>\n </div>\n </div>\n <div>\n <div>${i.out("Text Color")}:</div>\n <div>\n <button title="${i.out("Text Color")}" class="input-table-textcolor is-btn-color"></button>\n </div>\n </div>\n </div>\n\n <div style="padding-bottom:12px;">\n <div>${i.out("Border Thickness")}:</div>\n <div>\n <select id="selCellBorderWidth" style="width:120px;"><option value="0">No Border</option><option value="1">1</option><option value="2">2</option><option value="3">3</option></select> \n </div>\n </div>\n \n <div style="padding-bottom:12px;">\n <div>${i.out("Border Color")}:</div>\n <div>\n <button title="${i.out("Border Color")}" class="input-table-bordercolor is-btn-color"></button>\n </div>\n </div>\n \n <div style="padding-bottom:12px;">\n <div>${i.out("Apply To")}:</div>\n <div>\n <select id="selTableApplyTo" style="width:120px;">\n <option value="table">${i.out("Table")}</option>\n <option value="currentrow">${i.out("Current Row")}</option>\n <option value="currentcol">${i.out("Current Column")}</option>\n <option value="evenrows">${i.out("Even Rows")}</option>\n <option value="oddrows">${i.out("Odd Rows")}</option> \n <option value="currentcell">${i.out("Current Cell")}</option> \n </select>\n </div>\n </div>\n\n </div>\n\n <div id="divTableLayout" class="is-tab-content" data-group="table">\n \n <div style="padding-bottom:12px;">\n <div>${i.out("Insert Row")}:</div>\n <div style="display:flex">\n <button class="classic" title="${i.out("Above")}" data-table-cmd="rowabove" title="${i.out("Above")}" style="margin-right:15px"> ${i.out("Above")} </button>\n <button class="classic" title="${i.out("Below")}" data-table-cmd="rowbelow" title="${i.out("Below")}" style=""> ${i.out("Below")} </button>\n </div> \n </div>\n \n <div style="padding-bottom:15px;">\n <div>${i.out("Insert Column")}:</div>\n <div style="display:flex">\n <button class="classic" title="${i.out("Left")}" data-table-cmd="columnleft" title="${i.out("Left")}" style="margin-right:15px"> ${i.out("Left")} </button> \n <button class="classic" title="${i.out("Right")}" data-table-cmd="columnright" title="${i.out("Right")}" style=""> ${i.out("Right")} </button> \n </div> \n </div>\n\n <div style="padding-bottom:15px;">\n <button class="classic" title="${i.out("Delete Row")}" data-table-cmd="delrow" title="Delete Row" style=""> ${i.out("Delete Row")} </button> \n </div>\n\n <div style="padding-bottom:15px;"> \n <button class="classic" title="${i.out("Delete Column")}" data-table-cmd="delcolumn" title="Delete Column" style=""> ${i.out("Delete Column")} </button> \n </div>\n \n <div> \n <button class="classic" title="${i.out("Merge Cell")}" data-table-cmd="mergecell" style="">${i.out("Merge Cell")}</button> \n </div>\n </div>\n </div>\n </div>\n \n `;Xh.appendHtml(n,t),r=n.querySelector(".is-table-tool"),o=n.querySelector(".is-modal.edittable");let e=r.querySelector("button");Xh.addEventListener(e,"click",(()=>{Xh.hasClass(o,"active")?Xh.removeClass(o,"active"):Xh.addClass(o,"active")}));let s=o.querySelector(".is-modal-close");Xh.addEventListener(s,"click",(()=>{Xh.removeClass(o,"active")})),e=o.querySelector(".input-table-bgcolor"),e.addEventListener("click",(t=>{this.builder.uo.saveForUndo();let i=t.target;this.builder.colorPicker.open((t=>{if(this.builder.activeTd){var e=o.querySelector("#selTableApplyTo").value,n=this.builder.activeTable,r=this.builder.activeTd.parentNode,s=this.builder.activeTd;"currentcell"===e&&(this.builder.activeTd.style.backgroundColor=t);for(var a=0;a<n.rows.length;a++)for(var l=n.rows[a],d=0;d<l.cells.length;d++){var c=l.cells[d];("table"===e||"evenrows"===e&&Vh(a+1)||"oddrows"===e&&!Vh(a+1)||"currentrow"===e&&l===this.builder.activeTd.parentNode||"currentcol"===e&&d===Kh(n,r,s))&&(c.style.backgroundColor=t)}i.style.backgroundColor=t}}),e.style.backgroundColor)})),e=o.querySelector(".input-table-textcolor"),e.addEventListener("click",(t=>{this.builder.uo.saveForUndo();let i=t.target;this.builder.colorPicker.open((t=>{if(this.builder.activeTd){var e=o.querySelector("#selTableApplyTo").value,n=this.builder.activeTable,r=this.builder.activeTd.parentNode,s=this.builder.activeTd;"currentcell"===e&&(this.builder.activeTd.style.color=t);for(var a=0;a<n.rows.length;a++)for(var l=n.rows[a],d=0;d<l.cells.length;d++){var c=l.cells[d];("table"===e||"evenrows"===e&&Vh(a+1)||"oddrows"===e&&!Vh(a+1)||"currentrow"===e&&l===this.builder.activeTd.parentNode||"currentcol"===e&&d===Kh(n,r,s))&&(c.style.color=t)}i.style.backgroundColor=t}}),e.style.backgroundColor)})),e=o.querySelector(".input-table-bordercolor"),e.addEventListener("click",(t=>{this.builder.uo.saveForUndo();let i=t.target;this.builder.colorPicker.open((t=>{if(this.builder.activeTd){var e=o.querySelector("#selCellBorderWidth").value;"0"===e&&(o.querySelector("#selCellBorderWidth").value=1,e=1);var n=o.querySelector("#selTableApplyTo").value,r=this.builder.activeTable,s=this.builder.activeTd.parentNode,a=this.builder.activeTd;"currentcell"===n&&(this.builder.activeTd.style.borderWidth=e+"px",this.builder.activeTd.style.borderStyle="solid",this.builder.activeTd.style.borderColor=t);for(var l=0;l<r.rows.length;l++)for(var d=r.rows[l],c=0;c<d.cells.length;c++){var u=d.cells[c];("table"===n||"evenrows"===n&&Vh(l+1)||"oddrows"===n&&!Vh(l+1)||"currentrow"===n&&d===this.builder.activeTd.parentNode||"currentcol"===n&&c===Kh(r,s,a))&&(u.style.borderWidth=e+"px",u.style.borderStyle="solid",u.style.borderColor=t)}i.style.backgroundColor=t}}),e.style.backgroundColor)}));let a=o.querySelector("#selCellBorderWidth");a.addEventListener("change",(()=>{if(!this.builder.activeTd)return;this.builder.uo.saveForUndo();let t=a.value,e=o.querySelector(".input-table-bordercolor").style.backgroundColor;""===e&&(e="#000000");var i=o.querySelector("#selTableApplyTo").value,n=this.builder.activeTable,r=this.builder.activeTd.parentNode,s=this.builder.activeTd;"currentcell"===i&&(this.builder.activeTd.style.borderWidth=t+"px",this.builder.activeTd.style.borderStyle="solid",this.builder.activeTd.style.borderColor=e,"0"===t&&(this.builder.activeTd.style.borderWidth="",this.builder.activeTd.style.borderStyle="",this.builder.activeTd.style.borderColor="",o.querySelector(".input-table-bordercolor").style.backgroundColor=""));for(var l=0;l<n.rows.length;l++)for(var d=n.rows[l],c=0;c<d.cells.length;c++){var u=d.cells[c];("table"===i||"evenrows"===i&&Vh(l+1)||"oddrows"===i&&!Vh(l+1)||"currentrow"===i&&d===this.builder.activeTd.parentNode||"currentcol"===i&&c===Kh(n,r,s))&&(u.style.borderWidth=t+"px",u.style.borderStyle="solid",u.style.borderColor=e,"0"===t&&(u.style.borderWidth="",u.style.borderStyle="",u.style.borderColor="",o.querySelector(".input-table-bordercolor").style.backgroundColor=""))}this.builder.opts.onChange()})),e=o.querySelector('[data-table-cmd="rowabove"]'),e.addEventListener("click",(()=>{if(!this.builder.activeTd)return;this.builder.uo.saveForUndo();let t=this.builder.activeTable,e=this.builder.activeTd.parentNode,i=t.insertRow(e.rowIndex);for(var n=0;n<e.cells.length;n++){var o=i.insertCell(i.cells.length);o.setAttribute("style",this.builder.activeTd.getAttribute("style")),o.setAttribute("valign","top"),o.innerHTML="<br>"}this.builder.opts.onChange()})),e=o.querySelector('[data-table-cmd="rowbelow"]'),e.addEventListener("click",(()=>{if(!this.builder.activeTd)return;this.builder.uo.saveForUndo();let t=this.builder.activeTable,e=this.builder.activeTd.parentNode,i=t.insertRow(e.rowIndex+1);for(var n=0;n<e.cells.length;n++){var o=i.insertCell(i.cells.length);o.setAttribute("style",this.builder.activeTd.getAttribute("style")),o.setAttribute("valign","top"),o.innerHTML="<br>"}this.builder.opts.onChange()})),e=o.querySelector('[data-table-cmd="columnleft"]'),e.addEventListener("click",(()=>{if(!this.builder.activeTd)return;this.builder.uo.saveForUndo();let t=this.builder.activeTable;for(var e=this.builder.activeTd.cellIndex,i=0;i<t.rows.length;i++){var n=t.rows[i].insertCell(e);n.setAttribute("style",this.builder.activeTd.getAttribute("style")),n.setAttribute("valign","top"),n.innerHTML="<br>"}this.builder.opts.onChange()})),e=o.querySelector('[data-table-cmd="columnright"]'),e.addEventListener("click",(()=>{if(!this.builder.activeTd)return;this.builder.uo.saveForUndo();let t=this.builder.activeTable;for(var e=this.builder.activeTd.cellIndex,i=0;i<t.rows.length;i++){var n=t.rows[i].insertCell(e+1);n.setAttribute("style",this.builder.activeTd.getAttribute("style")),n.setAttribute("valign","top"),n.innerHTML="<br>"}this.builder.opts.onChange()})),e=o.querySelector('[data-table-cmd="delrow"]'),e.addEventListener("click",(()=>{if(!this.builder.activeTd)return;this.builder.uo.saveForUndo();let t=this.builder.activeTable,e=this.builder.activeTd.parentNode;t.deleteRow(e.rowIndex),this.builder.activeTable=null,this.builder.activeTd=null,0===t.rows.length&&t.parentNode.removeChild(t),this.builder.opts.onChange()})),e=o.querySelector('[data-table-cmd="delcolumn"]'),e.addEventListener("click",(()=>{if(!this.builder.activeTd)return;this.builder.uo.saveForUndo();let t=this.builder.activeTable;for(var e=this.builder.activeTd.cellIndex,i=0;i<t.rows.length;i++)t.rows[i].deleteCell(e);this.builder.activeTable=null,this.builder.activeTd=null,0===t.rows[0].cells.length&&t.parentNode.removeChild(t),this.builder.opts.onChange()})),e=o.querySelector('[data-table-cmd="mergecell"]'),e.addEventListener("click",(()=>{if(!this.builder.activeTd)return;this.builder.uo.saveForUndo();let t=this.builder.activeTable,e=this.builder.activeTd.parentNode,i=this.builder.activeTd;i.colSpan=i.colSpan+1,i.cellIndex+1<t.rows[e.rowIndex].cells.length&&t.rows[e.rowIndex].deleteCell(i.cellIndex+1),this.builder.opts.onChange()}))}this.tableTool=r,this.tableModal=o}click(t){if(Xh.parentsHasElement(t.target,"table")){let e,i,n=t.target;if("td"===n.tagName.toLowerCase())e=n;else{for(;"td"!==n.tagName.toLowerCase();)n=n.parentNode;e=n}for(;"table"!==n.tagName.toLowerCase();)n=n.parentNode;if(i=n,Xh.hasClass(i,"default")){this.builder.activeTd=e,this.builder.activeTable=i;let t=i;this.tableTool.style.display="flex";let n=this.tableTool.offsetWidth,o=t.offsetWidth*this.builder.opts.zoom,r=t.getBoundingClientRect().top+window.pageYOffset,s=t.getBoundingClientRect().left-2;s+=o-n;n+s>window.innerWidth&&(s=t.getBoundingClientRect().left),this.tableTool.style.top=r+"px",this.tableTool.style.left=s+"px"}else this.builder.activeTd=null,this.builder.activeTable=null,this.tableTool.style.display=""}else this.builder.activeTd=null,this.builder.activeTable=null,this.tableTool.style.display="";if(Xh.hasClass(this.tableModal,"active")&&this.builder.activeTable){let t=this.builder.activeTd;this.tableModal.querySelector(".input-table-bgcolor").style.backgroundColor=t.style.backgroundColor,this.tableModal.querySelector(".input-table-textcolor").style.backgroundColor=t.style.color,this.tableModal.querySelector(".input-table-bordercolor").style.backgroundColor=t.style.borderColor,this.tableModal.querySelector("#selCellBorderWidth").value=parseInt(t.style.borderWidth)}else this.tableModal.querySelector(".input-table-bgcolor").style.backgroundColor="",this.tableModal.querySelector(".input-table-textcolor").style.backgroundColor="",this.tableModal.querySelector(".input-table-bordercolor").style.backgroundColor="",this.tableModal.querySelector("#selCellBorderWidth").value=0}}function Vh(t){return t%2==0}function Kh(t,e,i){for(var n=0,o=!1,r=0;r<e.cells.length;r++)!1===o&&(n+=e.cells[r].colSpan),i===e.cells[r]&&(o=!0);return(n-=i.colSpan-1)-1}const Zh=new e;class Qh{constructor(e){this.builder=e;const i=new t(e);this.util=i,this.hyperlink=new Dh(e),this.image=new Ah(e),this.spacer=new zh(e),this.module=new Fh(e),this.code=new Wh(e),this.iframe=new Gh(e),this.table=new Yh(e);const n=i.builderStuff();this.builderStuff=n,window.addEventListener("keydown",(t=>{if(46===t.keyCode&&this.builder.activeIcon&&Zh.parentsHasClass(t.target,"is-builder")){if("a"===this.builder.activeIcon.parentNode.tagName.toLowerCase()&&1===this.builder.activeIcon.parentNode.childNodes.length){let t=this.builder.activeIcon.parentNode;t.parentNode.removeChild(t);n.querySelector("#divLinkTool").style.display=""}else this.builder.activeIcon.parentNode.removeChild(this.builder.activeIcon);t.preventDefault()}if(8===t.keyCode&&this.builder.activeIcon&&Zh.parentsHasClass(t.target,"is-builder")){if("a"===this.builder.activeIcon.parentNode.tagName.toLowerCase()&&1===this.builder.activeIcon.parentNode.childNodes.length){let t=this.builder.activeIcon.parentNode;t.parentNode.removeChild(t);n.querySelector("#divLinkTool").style.display=""}else this.builder.activeIcon.parentNode.removeChild(this.builder.activeIcon);t.preventDefault()}}),!1)}applyBehavior(t){let e=!1;t.hasAttribute("data-html")&&(e=!0);let i=!1;t.hasAttribute("data-noedit")&&(i=!0);let n=!1;if(t.hasAttribute("data-protected")&&(n=!0),e||i||n){if(i){let e=t.querySelectorAll("[contenteditable]");Array.prototype.forEach.call(e,(t=>{t.contentEditable=!1}))}return}let o=t.querySelectorAll(".is-social");Array.prototype.forEach.call(o,(t=>{t.contentEditable=!1}));let r=t.querySelectorAll(".spacer");Array.prototype.forEach.call(r,(t=>{t.contentEditable=!1}));let s=t.querySelectorAll("hr");Array.prototype.forEach.call(s,(t=>{t.contentEditable=!1}));let a=t.querySelectorAll("a");Array.prototype.forEach.call(a,(t=>{"inline-block"===Zh.getStyle(t,"display")&&(t.contentEditable=!0,"span"!==t.parentNode.tagName.toLowerCase()?t.outerHTML='<span contenteditable="false">'+t.outerHTML+"</span>":1===t.parentNode.childElementCount&&(t.parentNode.contentEditable=!1))}));let l=t.querySelectorAll(".embed-responsive");Array.prototype.forEach.call(l,(t=>{let e=t.querySelector(".ovl");e||(Zh.appendHtml(t,'<div class="ovl" style="position:absolute;background:#fff;opacity:0.01;cursor:pointer;top:0;left:0px;width:100%;height:100%;z-index:1"></div>'),e=t.querySelector(".ovl"),Zh.addEventListener(e,"click",(()=>{e.style.display="none"})))}))}click(t,e){const i=e.target;let n=!1;t.hasAttribute("data-noedit")&&(n=!0);let o=!1;t.hasAttribute("data-protected")&&(o=!0);let r=!1,s=!1;if(t.hasAttribute("data-html")&&(r=!0,Zh.parentsHasAttribute(i,"data-subblock")&&(s=!0)),!r&&!n&&!o||s){const n=document.querySelectorAll(".icon-active");Array.prototype.forEach.call(n,(t=>{Zh.removeClass(t,"icon-active")})),this.builder.activeIcon=null,"i"===i.tagName.toLowerCase()&&""===i.innerHTML&&(Zh.addClass(i,"icon-active"),Zh.selectElementContents(i),this.builder.activeIcon=i),this.image.click(e),this.hyperlink.click(t,e),"a"!==i.tagName.toLowerCase()&&!Zh.parentsHasTag(i,"a")||r||e.preventDefault(),this.table.click(e),this.iframe.click(e),this.spacer.click(e)}else if(this.util.hideControls(),"img"===e.target.tagName.toLowerCase()&&e.target.hasAttribute("data-image-embed")&&(this.image.click(e),e.target.hasAttribute("data-sync"))){let t=e.target;t.setAttribute("data-src",t.src)}this.code.click(t,e),this.module.click(t,e)}}const Jh=new e;class tv{constructor(e){this.builder=e,this.grid=new ni(e);const i=new t(this.builder),n=new Xe(e),o=i.builderStuff();let r=o.querySelector(".rowmore"),s="";if(e.opts.rowHtmlEditor&&(s=`<button type="button" title="${i.out("HTML")}" class="row-html">\n <span><svg class="is-icon-flex" style="margin-right:-3px;width:12px;height:12px;"><use xlink:href="#ion-ios-arrow-left"></use></svg><svg class="is-icon-flex" style="margin-left:-2px;width:12px;height:12px;"><use xlink:href="#ion-ios-arrow-right"></use></svg></span>${i.out("HTML")}\n </button>`),!r){let t=`<div class="is-pop rowmore" style="z-index:10002;">\n <div style="display:flex;flex-flow:wrap;padding-top:3px;">\n <button type="button" title="${i.out("Move Up")}" class="row-up"><span><svg class="is-icon-flex" style="width:15px;height:15px;"><use xlink:href="#ion-ios-arrow-thin-up"></use></svg></span>${i.out("Move Up")}</button>\n <button type="button" title="${i.out("Move Down")}" class="row-down"><span><svg class="is-icon-flex" style="width:15px;height:15px;"><use xlink:href="#ion-ios-arrow-thin-down"></use></svg></span>${i.out("Move Down")}</button>\n <button type="button" title="${i.out("Duplicate")}" class="row-duplicate"><span><svg class="is-icon-flex" style="width:12px;height:12px;"><use xlink:href="#ion-ios-photos-outline"></use></svg></span>${i.out("Duplicate")}</button>\n ${s}\n </div>\n </div>`;Jh.appendHtml(o,t),r=o.querySelector(".rowmore");let e=r.querySelector(".row-up");e&&Jh.addEventListener(e,"click",(()=>{this.grid.moveRowUp(),i.clearControls()})),e=r.querySelector(".row-down"),e&&Jh.addEventListener(e,"click",(()=>{this.grid.moveRowDown(),i.clearControls()})),e=r.querySelector(".row-duplicate"),e&&Jh.addEventListener(e,"click",(()=>{this.grid.duplicateRow(),this.rowMore.style.display="",i.clearControls()})),e=r.querySelector(".row-html"),e&&Jh.addEventListener(e,"click",(()=>{i.cellSelected()&&n.view("row")}))}this.rowMore=r,document.addEventListener("mousedown",(t=>{var e=(t=t||window.event).target||t.srcElement;if("flex"===r.style.display){let t=Jh.parentsHasClass(e,"rowmore"),i=Jh.parentsHasClass(e,"row-more");if(t||i)return;r.style.display=""}}))}render(e){const i=new t(this.builder),n=i.builderStuff();let o=this.rowMore,r=e.querySelector(".is-row-tool");if(!r){let t=`<div class="is-tool is-row-tool">\n <div title="${i.out("Move")}" class="row-handle" style="width:100%;cursor:move;text-align:center;"><svg class="is-icon-flex"><use xlink:href="#ion-move"></use></svg></div>\n <button type="button" title="${i.out("More")}" class="row-more"><svg class="is-icon-flex"><use xlink:href="#ion-more"></use></svg></button>\n <button type="button" title="${i.out("Grid Editor")}" class="row-grideditor"><svg class="is-icon-flex"><use xlink:href="#ion-grid"></use></svg></button>\n <button type="button" title="${i.out("Delete")}" class="row-remove"><svg class="is-icon-flex"><use xlink:href="#ion-ios-close-empty"></use></svg></button>\n </div>`;Jh.appendHtml(e,t),r=e.querySelector(".is-row-tool");let s=r.querySelectorAll("[title]");Array.prototype.forEach.call(s,(t=>{t.setAttribute("data-title",t.getAttribute("title")),this.builder.tooltip.set(t,5,3)}));let a=r.querySelector(".row-grideditor");a&&Jh.addEventListener(a,"click",(()=>{const t=n.querySelector(".grideditor");if(Jh.hasClass(t,"active")){Jh.removeClass(t,"active");const e=document.querySelectorAll(this.builder.opts.container);Array.prototype.forEach.call(e,(t=>{t.removeAttribute("grideditor")}))}else{Jh.addClass(t,"active");const e=document.querySelectorAll(this.builder.opts.container);Array.prototype.forEach.call(e,(t=>{t.setAttribute("grideditor","")}))}})),a=r.querySelector(".row-more"),a&&Jh.addEventListener(a,"click",(()=>{let t=i.cellSelected();if(!t)return;let e=t.parentNode;Jh.removeClass(e,"row-outline");let s=n.querySelector(".is-column-tool");Jh.removeClass(s,"active");const a=r.querySelector(".row-more"),l=a.getBoundingClientRect().top+window.pageYOffset,d=a.getBoundingClientRect().left+window.pageXOffset;o.style.display="flex",o.style.top=l-8+"px",Jh.removeClass(o,"arrow-bottom"),Jh.removeClass(o,"arrow-left"),Jh.removeClass(o,"arrow-right"),Jh.removeClass(o,"center"),Jh.removeClass(o,"right"),Jh.removeClass(o,"left"),"right"===this.builder.opts.rowTool?(o.style.left=d-o.offsetWidth-10+"px",Jh.addClass(o,"arrow-right"),Jh.addClass(o,"left")):(o.style.left=d+35+"px",Jh.addClass(o,"arrow-left"),Jh.addClass(o,"left"));let c=o.querySelector(".row-html"),u=o.querySelector(".row-duplicate");t.getAttribute("data-html")?(c&&(c.style.display="none"),u&&(u.style.display="none")):(c&&(c.style.display=""),u&&(u.style.display=""))})),a=r.querySelector(".row-remove"),a&&Jh.addEventListener(a,"click",(()=>{this.grid.removeRow(),i.clearControls()}))}}}const ev=new e;class iv{constructor(t){this.builder=t}render(e){const i=new t(this.builder),n=ei(this.builder);let o=e.querySelector(".is-rowadd-tool");if(!o){const t=`<div class="is-rowadd-tool" style="height:0">\n <button type="button" title="${i.out("Add")}" title="${i.out("Add")}" style="outline:none;line-height:1;margin:0;padding:0;cursor:pointer;background-color:rgba(255,255,255,0.9);"><svg class="is-icon-flex" style="fill:rgba(0, 0, 0, 0.8);width:17px;height:17px;"><use xlink:href="#ion-ios-plus-empty"></use></svg></button>\n </div>`;ev.appendHtml(e,t),o=e.querySelector(".is-rowadd-tool");let n=o.querySelectorAll("[title]");Array.prototype.forEach.call(n,(t=>{t.setAttribute("data-title",t.getAttribute("title")),this.builder.tooltip.set(t,5,3)}))}let r=o.querySelector("button");ev.addEventListener(r,"click",(()=>{n.querySelector(".is-pop-tabs").style.display="none";const t=window.innerHeight,e=r.getBoundingClientRect().top,i=r.getBoundingClientRect().left;n.style.display="flex";const o=n.offsetWidth,s=n.offsetHeight;return t-e>s?(n.style.top=e+window.pageYOffset+27+"px",n.style.left=i-o/2+7+"px",ev.removeClass(n,"arrow-bottom"),ev.removeClass(n,"arrow-right"),ev.removeClass(n,"arrow-left"),ev.removeClass(n,"center"),ev.addClass(n,"arrow-top"),ev.addClass(n,"center")):(n.style.top=e+window.pageYOffset-s-8+"px",n.style.left=i-o/2+7+"px",ev.removeClass(n,"arrow-top"),ev.removeClass(n,"arrow-right"),ev.removeClass(n,"arrow-left"),ev.removeClass(n,"center"),ev.addClass(n,"arrow-bottom"),ev.addClass(n,"center")),n.setAttribute("data-mode","row"),!1}))}}class nv{constructor(t={}){this.opts=Object.assign(this,{animateModal:!1,elementToAnimate:"",stuffPlacement:"#_cbhtml"},t),this.id=this.makeId();let e=document.querySelector(this.opts.stuffPlacement);e||(e=document.createElement("div"),e.id="_cbhtml",document.body.appendChild(e)),this.builderStuff=e;const i=document.createElement("div");i.id=this.id,e.appendChild(i),this.objStuff=i}confirm(t,e,i){let n=`<div class="is-modal is-confirm">\n <div class="is-modal-content" style="padding-bottom:20px;">\n <p>${t}</p>\n <button title="${this.out("Delete")}" class="input-ok classic">${this.out("Delete")}</button>\n </div>\n </div>`,o=this.objStuff.querySelector(".is-confirm");o||(this.objStuff.insertAdjacentHTML("beforeend",n),o=this.builderStuff.querySelector(".is-confirm")),this.show(o,!1,(()=>{o.parentNode.removeChild(o),e(!1)}),i);let r=o.querySelector(".is-confirm .input-ok");this.addEventListener(r,"click",(()=>{this.hide(o),o.parentNode.removeChild(o),e(!0)}))}show(t,e,i,n){this.addClass(t,"active");let o=!1;if(o=null!=n?n:this.opts.animateModal,o){const t=document.querySelectorAll(this.opts.elementToAnimate);Array.prototype.forEach.call(t,(t=>{t.style.transform=`scale(${this.builder.opts.zoom-.02})`,t.style.WebkitTransform=`scale(${this.builder.opts.zoom-.02})`,t.style.MozTransform=`scale(${this.builder.opts.zoom-.02})`,t.setAttribute("scaled-down","1")}))}if(!t.querySelector(".is-modal-overlay")){let n;if(n=e?'<div class="is-modal-overlay overlay-stay"></div>':'<div class="is-modal-overlay"></div>',t.insertAdjacentHTML("afterbegin",n),!e){let e=t.querySelector(".is-modal-overlay");this.addEventListener(e,"click",(()=>{i&&i(),this.hide(t)}))}}}hide(t){if(""!==this.opts.elementToAnimate){const t=document.querySelectorAll(this.opts.elementToAnimate);Array.prototype.forEach.call(t,(t=>{t.getAttribute("scaled-down")&&(t.style.transform=`scale(${this.builder.opts.zoom})`,t.style.WebkitTransform=`scale(${this.builder.opts.zoom})`,t.style.MozTransform=`scale(${this.builder.opts.zoom})`,t.removeAttribute("scaled-down"))}))}this.removeClass(t,"active")}makeId(){let t="",e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";for(let i=0;i<2;i++)t+=e.charAt(Math.floor(Math.random()*e.length));let i="",n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";for(let t=0;t<5;t++)i+=n.charAt(Math.floor(Math.random()*n.length));return t+i}addClass(t,e){t&&(this.hasClass(t,e)||(0===t.classList.length?t.className=e:t.className=t.className+" "+e))}removeClass(t,e){t&&t.classList.length>0&&(t.className=t.className.replace(e,""))}hasClass(t,e){return!!t&&(t.classList?t.classList.contains(e):new RegExp("\\b"+e+"\\b").test(t.className))}addEventListener(t,e,i){t.addEventListener(e,i)}}var ov={exports:{}};!function(t,e){var i;window,i=function(){return function(t){var e={};function i(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,i),o.l=!0,o.exports}return i.m=t,i.c=e,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)i.d(n,o,function(e){return t[e]}.bind(null,o));return n},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s="./src/range-slider.js")}({"./src/range-slider.css":
|
|
107
|
+
/*!******************************!*\
|
|
108
|
+
!*** ./src/range-slider.css ***!
|
|
109
|
+
\******************************/
|
|
110
|
+
/*! no static exports found */function(t,e,i){},"./src/range-slider.js":
|
|
111
|
+
/*!*****************************!*\
|
|
112
|
+
!*** ./src/range-slider.js ***!
|
|
113
|
+
\*****************************/
|
|
114
|
+
/*! no static exports found */function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),o=s(i(/*! ./utils/dom */"./src/utils/dom.js")),r=s(i(/*! ./utils/functions */"./src/utils/functions.js"));function s(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e.default=t,e}i(/*! ./range-slider.css */"./src/range-slider.css");var a=new RegExp("/[\\n\\t]/","g"),l=o.supportsRange(),d={polyfill:!0,root:document,rangeClass:"rangeSlider",disabledClass:"rangeSlider--disabled",fillClass:"rangeSlider__fill",bufferClass:"rangeSlider__buffer",handleClass:"rangeSlider__handle",startEvent:["mousedown","touchstart","pointerdown"],moveEvent:["mousemove","touchmove","pointermove"],endEvent:["mouseup","touchend","pointerup"],min:null,max:null,step:null,value:null,buffer:null,stick:null,borderRadius:10,vertical:!1},c=!1,u=function(){function t(e,i){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t);var n=void 0,s=void 0,a=void 0;if(t.instances.push(this),this.element=e,this.options=r.simpleExtend(d,i),this.polyfill=this.options.polyfill,this.vertical=this.options.vertical,this.onInit=this.options.onInit,this.onSlide=this.options.onSlide,this.onSlideStart=this.options.onSlideStart,this.onSlideEnd=this.options.onSlideEnd,this.onSlideEventsCount=-1,this.isInteractsNow=!1,this.needTriggerEvents=!1,this._addVerticalSlideScrollFix(),this.polyfill||!l){this.options.buffer=this.options.buffer||parseFloat(this.element.getAttribute("data-buffer")),this.identifier="js-rangeSlider-"+r.uuid(),this.min=r.getFirsNumberLike(this.options.min,parseFloat(this.element.getAttribute("min")),0),this.max=r.getFirsNumberLike(this.options.max,parseFloat(this.element.getAttribute("max")),100),this.value=r.getFirsNumberLike(this.options.value,this.element.value,parseFloat(this.element.value||this.min+(this.max-this.min)/2)),this.step=r.getFirsNumberLike(this.options.step,parseFloat(this.element.getAttribute("step"))||(n=1)),this.percent=null,r.isArray(this.options.stick)&&this.options.stick.length>=1?this.stick=this.options.stick:(s=this.element.getAttribute("stick"))&&(a=s.split(" ")).length>=1&&(this.stick=a.map(parseFloat)),this.stick&&1===this.stick.length&&this.stick.push(1.5*this.step),this._updatePercentFromValue(),this.toFixed=this._toFixed(this.step);var c=void 0;this.container=document.createElement("div"),o.addClass(this.container,this.options.fillClass),c=this.vertical?this.options.fillClass+"__vertical":this.options.fillClass+"__horizontal",o.addClass(this.container,c),this.handle=document.createElement("div"),o.addClass(this.handle,this.options.handleClass),c=this.vertical?this.options.handleClass+"__vertical":this.options.handleClass+"__horizontal",o.addClass(this.handle,c),this.range=document.createElement("div"),o.addClass(this.range,this.options.rangeClass),this.range.id=this.identifier;var u=e.getAttribute("title");u&&u.length>0&&this.range.setAttribute("title",u),this.options.bufferClass&&(this.buffer=document.createElement("div"),o.addClass(this.buffer,this.options.bufferClass),this.range.appendChild(this.buffer),c=this.vertical?this.options.bufferClass+"__vertical":this.options.bufferClass+"__horizontal",o.addClass(this.buffer,c)),this.range.appendChild(this.container),this.range.appendChild(this.handle),c=this.vertical?this.options.rangeClass+"__vertical":this.options.rangeClass+"__horizontal",o.addClass(this.range,c),r.isNumberLike(this.options.value)&&(this._setValue(this.options.value,!0),this.element.value=this.options.value),r.isNumberLike(this.options.buffer)&&this.element.setAttribute("data-buffer",this.options.buffer),r.isNumberLike(this.options.min)&&this.element.setAttribute("min",""+this.min),r.isNumberLike(this.options.max),this.element.setAttribute("max",""+this.max),(r.isNumberLike(this.options.step)||n)&&this.element.setAttribute("step",""+this.step),o.insertAfter(this.element,this.range),o.setCss(this.element,{position:"absolute",width:"1px",height:"1px",overflow:"hidden",opacity:"0"}),this._handleDown=this._handleDown.bind(this),this._handleMove=this._handleMove.bind(this),this._handleEnd=this._handleEnd.bind(this),this._startEventListener=this._startEventListener.bind(this),this._changeEventListener=this._changeEventListener.bind(this),this._handleResize=this._handleResize.bind(this),this._init(),window.addEventListener("resize",this._handleResize,!1),o.addEventListeners(this.options.root,this.options.startEvent,this._startEventListener),this.element.addEventListener("change",this._changeEventListener,!1)}}return n(t,[{key:"update",value:function(t,e){return e&&(this.needTriggerEvents=!0),r.isObject(t)&&(r.isNumberLike(t.min)&&(this.element.setAttribute("min",""+t.min),this.min=t.min),r.isNumberLike(t.max)&&(this.element.setAttribute("max",""+t.max),this.max=t.max),r.isNumberLike(t.step)&&(this.element.setAttribute("step",""+t.step),this.step=t.step,this.toFixed=this._toFixed(t.step)),r.isNumberLike(t.buffer)&&this._setBufferPosition(t.buffer),r.isNumberLike(t.value)&&this._setValue(t.value)),this._update(),this.onSlideEventsCount=0,this.needTriggerEvents=!1,this}},{key:"destroy",value:function(){var e=this;o.removeAllListenersFromEl(this,this.options.root),window.removeEventListener("resize",this._handleResize,!1),this.element.removeEventListener("change",this._changeEventListener,!1),this.element.style.cssText="",delete this.element.rangeSlider,this.range&&this.range.parentNode.removeChild(this.range),t.instances=t.instances.filter((function(t){return t!==e})),t.instances.some((function(t){return t.vertical}))||this._removeVerticalSlideScrollFix()}},{key:"_toFixed",value:function(t){return(t+"").replace(".","").length-1}},{key:"_init",value:function(){this.onInit&&"function"==typeof this.onInit&&this.onInit(),this._update(!1)}},{key:"_updatePercentFromValue",value:function(){this.percent=(this.value-this.min)/(this.max-this.min)}},{key:"_startEventListener",value:function(t,e){var i=this,n=t.target,r=!1;(1===t.which||"touches"in t)&&(o.forEachAncestors(n,(function(t){return r=t.id===i.identifier&&!o.hasClass(t,i.options.disabledClass)}),!0),r&&this._handleDown(t,e))}},{key:"_changeEventListener",value:function(t,e){if(!e||e.origin!==this.identifier){var i=t.target.value,n=this._getPositionFromValue(i);this._setPosition(n)}}},{key:"_update",value:function(t){var e=this.vertical?"offsetHeight":"offsetWidth";this.handleSize=o.getDimension(this.handle,e),this.rangeSize=o.getDimension(this.range,e),this.maxHandleX=this.rangeSize-this.handleSize,this.grabX=this.handleSize/2,this.position=this._getPositionFromValue(this.value),this.element.disabled?o.addClass(this.range,this.options.disabledClass):o.removeClass(this.range,this.options.disabledClass),this._setPosition(this.position),this.options.bufferClass&&this.options.buffer&&this._setBufferPosition(this.options.buffer),this._updatePercentFromValue(),!1!==t&&o.triggerEvent(this.element,"change",{origin:this.identifier})}},{key:"_addVerticalSlideScrollFix",value:function(){this.vertical&&!c&&(document.addEventListener("touchmove",t._touchMoveScrollHandler,{passive:!1}),c=!0)}},{key:"_removeVerticalSlideScrollFix",value:function(){document.removeEventListener("touchmove",t._touchMoveScrollHandler),c=!1}},{key:"_handleResize",value:function(){var t=this;return r.debounce((function(){r.delay((function(){t._update()}),300)}),50)()}},{key:"_handleDown",value:function(t){if(this.isInteractsNow=!0,t.preventDefault(),o.addEventListeners(this.options.root,this.options.moveEvent,this._handleMove),o.addEventListeners(this.options.root,this.options.endEvent,this._handleEnd),!((" "+t.target.className+" ").replace(a," ").indexOf(this.options.handleClass)>-1)){var e=this.range.getBoundingClientRect(),i=this._getRelativePosition(t),n=this.vertical?e.bottom:e.left,r=this._getPositionFromNode(this.handle)-n,s=i-this.grabX;this._setPosition(s),i>=r&&i<r+2*this.options.borderRadius&&(this.grabX=i-r),this._updatePercentFromValue()}}},{key:"_handleMove",value:function(t){var e=this._getRelativePosition(t);this.isInteractsNow=!0,t.preventDefault(),this._setPosition(e-this.grabX)}},{key:"_handleEnd",value:function(e){e.preventDefault(),o.removeEventListeners(this.options.root,this.options.moveEvent,this._handleMove),o.removeEventListeners(this.options.root,this.options.endEvent,this._handleEnd),o.triggerEvent(this.element,"change",{origin:this.identifier}),(this.isInteractsNow||this.needTriggerEvents)&&(this.onSlideEnd&&"function"==typeof this.onSlideEnd&&this.onSlideEnd(this.value,this.percent,this.position),this.vertical&&(t.slidingVertically=!1)),this.onSlideEventsCount=0,this.isInteractsNow=!1}},{key:"_setPosition",value:function(e){var i,n=void 0,o=void 0,s=void 0,a=this._getValueFromPosition(r.between(e,0,this.maxHandleX));this.stick&&((o=a%(s=this.stick[0]))<(n=this.stick[1]||.1)?a-=o:Math.abs(s-o)<n&&(a=a-o+s)),i=this._getPositionFromValue(a),this.vertical?(this.container.style.height=i+this.grabX+"px",this.handle.style.webkitTransform="translateY(-"+i+"px)",this.handle.style.msTransform="translateY(-"+i+"px)",this.handle.style.transform="translateY(-"+i+"px)"):(this.container.style.width=i+this.grabX+"px",this.handle.style.webkitTransform="translateX("+i+"px)",this.handle.style.msTransform="translateX("+i+"px)",this.handle.style.transform="translateX("+i+"px)"),this._setValue(a),this.position=i,this.value=a,this._updatePercentFromValue(),(this.isInteractsNow||this.needTriggerEvents)&&(this.onSlideStart&&"function"==typeof this.onSlideStart&&0===this.onSlideEventsCount&&this.onSlideStart(this.value,this.percent,this.position),this.onSlide&&"function"==typeof this.onSlide&&this.onSlide(this.value,this.percent,this.position),this.vertical&&(t.slidingVertically=!0)),this.onSlideEventsCount++}},{key:"_setBufferPosition",value:function(t){var e=!0;if(isFinite(t))t=parseFloat(t);else{if(!r.isString(t))return void console.warn("New position must be XXpx or XX%");t.indexOf("px")>0&&(e=!1),t=parseFloat(t)}if(isNaN(t))console.warn("New position is NaN");else if(this.options.bufferClass){var i=e?t:t/this.rangeSize*100;i<0&&(i=0),i>100&&(i=100),this.options.buffer=i;var n=this.options.borderRadius/this.rangeSize*100,o=i-n;o<0&&(o=0),this.vertical?(this.buffer.style.height=o+"%",this.buffer.style.bottom=.5*n+"%"):(this.buffer.style.width=o+"%",this.buffer.style.left=.5*n+"%"),this.element.setAttribute("data-buffer",i)}else console.warn("You disabled buffer, it's className is empty")}},{key:"_getPositionFromNode",value:function(t){for(var e=this.vertical?this.maxHandleX:0;null!==t;)e+=this.vertical?t.offsetTop:t.offsetLeft,t=t.offsetParent;return e}},{key:"_getRelativePosition",value:function(t){var e=this.range.getBoundingClientRect(),i=this.vertical?e.bottom:e.left,n=0,o=this.vertical?"pageY":"pageX";return void 0!==t[o]?n=t.touches&&t.touches.length?t.touches[0][o]:t[o]:void 0!==t.originalEvent?void 0!==t.originalEvent[o]?n=t.originalEvent[o]:t.originalEvent.touches&&t.originalEvent.touches[0]&&void 0!==t.originalEvent.touches[0][o]&&(n=t.originalEvent.touches[0][o]):t.touches&&t.touches[0]&&void 0!==t.touches[0][o]?n=t.touches[0][o]:!t.currentPoint||void 0===t.currentPoint.x&&void 0===t.currentPoint.y||(n=this.vertical?t.currentPoint.y:t.currentPoint.x),this.vertical&&(n-=window.pageYOffset),this.vertical?i-n:n-i}},{key:"_getPositionFromValue",value:function(t){var e=(t-this.min)/(this.max-this.min)*this.maxHandleX;return isNaN(e)?0:e}},{key:"_getValueFromPosition",value:function(t){var e=t/(this.maxHandleX||1),i=this.step*Math.round(e*(this.max-this.min)/this.step)+this.min;return Number(i.toFixed(this.toFixed))}},{key:"_setValue",value:function(t,e){(t!==this.value||e)&&(this.element.value=t,this.value=t,o.triggerEvent(this.element,"input",{origin:this.identifier}))}}],[{key:"create",value:function(e,i){var n=function(e){var n=e.rangeSlider;n||(n=new t(e,i),e.rangeSlider=n)};e.length?Array.prototype.slice.call(e).forEach((function(t){n(t)})):n(e)}},{key:"_touchMoveScrollHandler",value:function(e){t.slidingVertically&&e.preventDefault()}}]),t}();e.default=u,u.version="0.4.11",u.dom=o,u.functions=r,u.instances=[],u.slidingVertically=!1,t.exports=e.default},"./src/utils/dom.js":
|
|
115
|
+
/*!**************************!*\
|
|
116
|
+
!*** ./src/utils/dom.js ***!
|
|
117
|
+
\**************************/
|
|
118
|
+
/*! no static exports found */function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0}),e.supportsRange=e.removeAllListenersFromEl=e.removeEventListeners=e.addEventListeners=e.insertAfter=e.triggerEvent=e.forEachAncestors=e.removeClass=e.addClass=e.hasClass=e.setCss=e.getDimension=e.getHiddenParentNodes=e.isHidden=e.detectIE=void 0;var n=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e.default=t,e}(i(/*! ./functions */"./src/utils/functions.js")),o=(e.detectIE=function(){var t=window.navigator.userAgent,e=t.indexOf("MSIE ");if(e>0)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);if(t.indexOf("Trident/")>0){var i=t.indexOf("rv:");return parseInt(t.substring(i+3,t.indexOf(".",i)),10)}var n=t.indexOf("Edge/");return n>0&&parseInt(t.substring(n+5,t.indexOf(".",n)),10)})(),r=!(!window.PointerEvent||o)&&{passive:!1},s=e.isHidden=function(t){return 0===t.offsetWidth||0===t.offsetHeight||!1===t.open},a=e.getHiddenParentNodes=function(t){for(var e=[],i=t.parentNode;i&&s(i);)e.push(i),i=i.parentNode;return e};e.getDimension=function(t,e){var i=a(t),n=i.length,o=[],r=t[e],s=function(t){void 0!==t.open&&(t.open=!t.open)};if(n){for(var l=0;l<n;l++)o.push({display:i[l].style.display,height:i[l].style.height,overflow:i[l].style.overflow,visibility:i[l].style.visibility}),i[l].style.display="block",i[l].style.height="0",i[l].style.overflow="hidden",i[l].style.visibility="hidden",s(i[l]);r=t[e];for(var d=0;d<n;d++)s(i[d]),i[d].style.display=o[d].display,i[d].style.height=o[d].height,i[d].style.overflow=o[d].overflow,i[d].style.visibility=o[d].visibility}return r},e.setCss=function(t,e){for(var i in e)t.style[i]=e[i];return t.style};var l=e.hasClass=function(t,e){return new RegExp(" "+e+" ").test(" "+t.className+" ")};e.addClass=function(t,e){l(t,e)||(t.className+=" "+e)},e.removeClass=function(t,e){var i=" "+t.className.replace(/[\t\r\n]/g," ")+" ";if(l(t,e)){for(;i.indexOf(" "+e+" ")>=0;)i=i.replace(" "+e+" "," ");t.className=i.replace(/^\s+|\s+$/g,"")}},e.forEachAncestors=function(t,e,i){for(i&&e(t);t.parentNode&&!e(t);)t=t.parentNode;return t},e.triggerEvent=function(t,e,i){if(!n.isString(e))throw new TypeError("event name must be String");if(!(t instanceof HTMLElement))throw new TypeError("element must be HTMLElement");e=e.trim();var o=document.createEvent("CustomEvent");o.initCustomEvent(e,!1,!1,i),t.dispatchEvent(o)},e.insertAfter=function(t,e){return t.parentNode.insertBefore(e,t.nextSibling)},e.addEventListeners=function(t,e,i){e.forEach((function(e){t.eventListenerList||(t.eventListenerList={}),t.eventListenerList[e]||(t.eventListenerList[e]=[]),t.addEventListener(e,i,r),t.eventListenerList[e].indexOf(i)<0&&t.eventListenerList[e].push(i)}))},e.removeEventListeners=function(t,e,i){e.forEach((function(e){var n=void 0;t.removeEventListener(e,i,!1),t.eventListenerList&&t.eventListenerList[e]&&(n=t.eventListenerList[e].indexOf(i))>-1&&t.eventListenerList[e].splice(n,1)}))},e.removeAllListenersFromEl=function(t,e){if(e.eventListenerList){for(var i in e.eventListenerList)e.eventListenerList[i].forEach(n,{eventName:i,el:e});e.eventListenerList={}}function n(e){e===t._startEventListener&&this.el.removeEventListener(this.eventName,e,!1)}},e.supportsRange=function(){var t=document.createElement("input");return t.setAttribute("type","range"),"text"!==t.type}},"./src/utils/functions.js":
|
|
119
|
+
/*!********************************!*\
|
|
120
|
+
!*** ./src/utils/functions.js ***!
|
|
121
|
+
\********************************/
|
|
122
|
+
/*! no static exports found */function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0}),e.uuid=function(){var t=function(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)};return t()+t()+"-"+t()+"-"+t()+"-"+t()+"-"+t()+t()+t()},e.delay=function(t,e){for(var i=arguments.length,n=Array(i>2?i-2:0),o=2;o<i;o++)n[o-2]=arguments[o];return setTimeout((function(){return t.apply(null,n)}),e)},e.debounce=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100;return function(){for(var i=arguments.length,n=Array(i),o=0;o<i;o++)n[o]=arguments[o];return t.debouncing||(t.lastReturnVal=t.apply(window,n),t.debouncing=!0),clearTimeout(t.debounceTimeout),t.debounceTimeout=setTimeout((function(){t.debouncing=!1}),e),t.lastReturnVal}};var n=e.isString=function(t){return t===""+t};e.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)};var o=e.isNumberLike=function(t){return null!=t&&(n(t)&&isFinite(parseFloat(t))||isFinite(t))};e.getFirsNumberLike=function(){for(var t=arguments.length,e=Array(t),i=0;i<t;i++)e[i]=arguments[i];if(!e.length)return null;for(var n=0,r=e.length;n<r;n++)if(o(e[n]))return e[n];return null},e.isObject=function(t){return"[object Object]"===Object.prototype.toString.call(t)},e.simpleExtend=function(t,e){var i={};for(var n in t)i[n]=t[n];for(var o in e)i[o]=e[o];return i},e.between=function(t,e,i){return t<e?e:t>i?i:t}}})},t.exports=i()}(ov);var rv=i(ov.exports);class sv{constructor(t={}){this.opts=Object.assign(this,{onPick:function(){},color:"",colors:["#ff9f01","#f57c00","#e64918","#d32f2f","#5d4038","#37474f","#353535","#fbc02c","#b0b42a","#689f39","#c21f5b","#7b21a2","#522da8","#616161","#01b8c9","#009688","#388d3c","#0388d0","#1465c0","#2f3f9e","#9e9e9e"],renderOn:"",animateModal:!1,elementToAnimate:"",stuffPlacement:"#_cbhtml",lang:[]},t),this.id=function(){let t="",e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";for(let i=0;i<2;i++)t+=e.charAt(Math.floor(Math.random()*e.length));let i="",n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";for(let t=0;t<5;t++)i+=n.charAt(Math.floor(Math.random()*n.length));return t+i}();let e=document.querySelector(this.opts.stuffPlacement);e||(e=document.createElement("div"),e.id="_cbhtml",e.className="is-ui",document.body.appendChild(e)),this.builderStuff=e;const i=document.createElement("div");i.id=this.id,e.appendChild(i),this.objStuff=i;const n=new nv({animateModal:this.opts.animateModal,elementToAnimate:this.opts.elementToAnimate,stuffPlacement:this.opts.stuffPlacement});this.modal=n;let o="";if(this.opts.colors.length>0){o+='<div class="color-default clearfix">';for(var r=0;r<this.opts.colors.length;r++)"#ffffff"===this.opts.colors[r]?o+='<button title="'+this.opts.colors[r]+'" data-color="'+this.opts.colors[r]+'" style="background:'+this.opts.colors[r]+';outline:rgba(222,222,222,0.75) 1px solid"></button>':o+='<button title="'+this.opts.colors[r]+'" data-color="'+this.opts.colors[r]+'" style="background:'+this.opts.colors[r]+';"></button>';o+="</div>"}let s="";for(r=0;r<105;r++)s+=r%2==0?'<div class="dot-1"></div>':'<div class="dot-2"></div>';let a="";for(r=0;r<25;r++)a+=r%2==0?'<div class="dot-3"></div>':'<div class="dot-4"></div>';let l,d=`<div class="pickcolor" style="width:269px;padding:12px;box-sizing:border-box;">\n ${o}\n <div class="color-gradient clearfix"></div>\n\n <div class="div-color-opacity" style="height: 10px; margin: 12px 0px 17px;position:relative;">\n <div style="position:absolute;top:0;left:0;width:100%;height:21px;display:flex;flex-direction:column;flex-flow:wrap">\n ${s}\n </div>\n <input class="color-opacity" type="range" />\n </div>\n <div class="clearfix" style="margin:25px 0 3px;">\n <button title="${this.out("B")}" data-color="#000000" style="background:#111;color:#f3f3f3;border:transparent 1px solid;width:35px;height:35px;line-height:35px;font-size:10px;border-right:none;">${this.out("B")}</button>\n <button title="${this.out("W")}" data-color="#ffffff" style="border: rgb(0 0 0 / 12%) 1px solid;background:#fff;color:#111;width:35px;height:35px;line-height:35px;font-size:10px;">${this.out("W")}</button>\n <button title="${this.out("Clear")}" data-color="" class="clear" style="width:140px;height:35px;line-height:35px;border-right:none;">${this.out("Clear")}</button>\n <button title="${this.out("More")}" class="input-hsl" style="width:35px;height:35px;line-height:35px;font-size:10px;"><svg class="is-icon-flex" style="width:13px;height:13px;"><use xlink:href="#ion-more"></use></svg></button>\n </div>\n <div style="display:flex">\n <div style="flex-grow: 0;flex-shrink: 0;flex-basis: 37px;height:34px;box-sizing:border-box;margin-top:8px;position:relative;">\n <div style="position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;flex-flow:wrap;overflow:hidden;">\n ${a}\n </div>\n <button class="is-color-preview" style="position:absolute;top:0;left:0;width:100%;height:100%;transition:none;"></button>\n </div>\n <input class="input-text" type="text" style="width:209px;height:35px;margin-top:8px;font-size:13px;"/>\n <button title="${this.out("Apply")}" class="input-ok" style="height:35px;margin-top:8px;"><svg class="is-icon-flex"><use xlink:href="#icon-ok"></use></svg></use></svg></svg></button>\n </div>\n </div>`,c=`<div class="is-modal pickcolor" style="">\n <div class="is-modal-content">\n <div class="is-modal-bar is-draggable"></div>\n <div>\n\n ${o}\n <div class="color-gradient clearfix"></div>\n \n <div class="div-color-opacity" style="height: 10px; margin: 12px 0px 17px;position:relative;">\n <div style="position:absolute;top:0;left:0;width:100%;height:21px;display:flex;flex-direction:column;flex-flow:wrap">\n ${s}\n </div>\n <input class="color-opacity" type="range" />\n </div>\n <div class="clearfix" style="margin:25px 0 3px;">\n <button title="${this.out("B")}" data-color="#000000" style="background:#111;color:#f3f3f3;border:transparent 1px solid;width:35px;height:35px;line-height:35px;font-size:10px;border-right:none;">${this.out("B")}</button>\n <button title="${this.out("W")}" data-color="#ffffff" style="background:#fff;color:#111;width:35px;height:35px;line-height:35px;font-size:10px;">${this.out("W")}</button>\n <button title="${this.out("Clear")}" data-color="" class="clear" style="width:140px;height:35px;line-height:35px;border-right:none;">${this.out("Clear")}</button>\n <button title="${this.out("More")}" class="input-hsl" style="width:35px;height:35px;line-height:35px;font-size:10px;"><svg class="is-icon-flex" style="width:13px;height:13px;"><use xlink:href="#ion-more"></use></svg></button>\n </div>\n <div style="display:flex">\n <div style="flex-grow: 0;flex-shrink: 0;flex-basis: 37px;height:35px;box-sizing:border-box;margin-top:8px;position:relative;">\n <div style="position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;flex-flow:wrap;overflow:hidden;">\n ${a}\n </div>\n <button class="is-color-preview" style="cursor:default;position:absolute;top:0;left:0;width:100%;height:100%;transition:none;"></button>\n </div>\n <input class="input-text" type="text" style="width:209px;height:35px;margin-top:8px;font-size:13px;"/>\n <button title="${this.out("Apply")}" class="input-ok" style="height:35px;margin-top:8px;"><svg class="is-icon-flex"><use xlink:href="#icon-ok"></use></svg></use></svg></svg></button>\n </div>\n \n </div>\n </div>\n </div>`;""!==this.opts.renderOn?(l=document.querySelector(this.opts.renderOn),l.insertAdjacentHTML("beforeend",d)):(i.insertAdjacentHTML("beforeend",c),l=i.querySelector(".is-modal.pickcolor")),i.insertAdjacentHTML("beforeend",'<div class="is-modal pickcolormore">\n <div class="is-modal-content" style="padding: 12px">\n <div class="is-modal-bar is-draggable"></div>\n <div>\n \n <div class="color-swatch clearfix"></div>\n \n <div class="div-color-hue" style="height: 23px;margin: 10px 0 0;">\n <input class="color-hue" type="range" />\n </div>\n\n </div>\n </div>\n </div>');const u=i.querySelector(".is-modal.pickcolormore");this.pickcolor=l,this.pickcolormore=u,new vi({selector:"#"+this.id+" .is-draggable"});let p=document.createElement("div");p.style.backgroundColor=this.opts.color;let h,v=p.style.backgroundColor;""!==v&&(h=mv.color(v),this.baseRGB=h);let f=u.querySelector(".color-swatch"),g=l.querySelector(".color-gradient");if(h){let t;t=""!==v?fv(h.r,h.g,h.b):0,cv(f,t);let e=bv(h.r,h.g,h.b);uv(g,t,e[1])}else{let t;t=0,cv(f,t);let e=bv(255,255,255);uv(g,t,e[1])}let m=l.querySelector(".input-hsl");this.addEventListener(m,"click",(()=>{this.modal.show(u,!1,null,!1)}));var b=u.querySelector(".color-hue");new rv(b,{min:0,max:360,step:1,value:0,onSlide:(t,e)=>{cv(f,361*e)}});let y=document.createElement("div");y.style.display="flex",y.style.position="absolute",y.style.width="calc(100% + 1px)",y.style.top=0,y.style.left=0;let x=function(t,e,i,n){let o=[],r=Math.trunc(360/n);for(let s=0;s<n;s++){let n=s*r;o.push(`hsla(${n},${e}%,${t}%,${i})`)}return o}(45,100,1,315);for(r=0;r<x.length-1;r++){let t=document.createElement("div");t.style.backgroundColor=x[r],t.style.width="1px",t.style.height="23px",y.appendChild(t)}u.querySelector(".div-color-hue .rangeSlider").appendChild(y);var _=l.querySelector(".color-opacity");let w=new rv(_,{min:0,max:1,step:.01,onSlide:(t,e)=>{let i=this.baseRGB;if(i){let t;t=1===e?"rgb("+i.r+","+i.g+","+i.b+")":"rgba("+i.r+","+i.g+","+i.b+","+e+")",l.querySelector(".is-color-preview").style.backgroundColor=t,l.querySelector(".input-text").value=t,this.opts.onPick(t)}},onSlideEnd:()=>{this.builderStuff.setAttribute("preventDevault",1)}});this.colorOpacitySlider=w,h&&(h.a?_.value=h.a:_.value=1),w._update();let S=_.value,C="",k="";h&&(C=1*S==1?"rgb("+h.r+","+h.g+","+h.b+")":"rgba("+h.r+","+h.g+","+h.b+","+S+")",k="linear-gradient(90deg, rgba("+h.r+","+h.g+","+h.b+",0), rgba("+h.r+","+h.g+","+h.b+",1))"),l.querySelector(".div-color-opacity .rangeSlider").style.backgroundImage=k;let E=l.querySelector(".is-color-preview");E.style.background="none",""!==C&&(E.style.backgroundColor=C);let L=l.querySelector(".input-text");L.value=C,this.addEventListener(L,"keydown",(t=>{13!==t.which&&13!==t.keyCode&&"Enter"!==t.key||(this.setColor(t.target.value),t.preventDefault(),t.stopImmediatePropagation())}));let A=l.querySelector(".input-ok");this.addEventListener(A,"click",(()=>{this.setColor(L.value)}));let q=l.querySelectorAll("[data-color]");Array.prototype.forEach.call(q,(t=>{this.addEventListener(t,"click",(t=>{let e=t.target,i=e.getAttribute("data-color"),n=av(i);if(this.baseRGB=n,!this.parentsHasClass(e,"color-gradient")&&""!==i)if(n.r===n.g&&n.g===n.b)pv(g);else{let t=fv(n.r,n.g,n.b);cv(f,t),uv(l.querySelector(".color-gradient"),t,bv(n.r,n.g,n.b)[1])}let o=_.value,r="",s="";n&&(r=1*o==1?"rgb("+n.r+","+n.g+","+n.b+")":"rgba("+n.r+","+n.g+","+n.b+","+o+")",s="linear-gradient(90deg, rgba("+n.r+","+n.g+","+n.b+",0), rgba("+n.r+","+n.g+","+n.b+",1))"),l.querySelector(".div-color-opacity .rangeSlider").style.backgroundImage=s,l.querySelector(".is-color-preview").style.backgroundColor=r,l.querySelector(".input-text").value=r,this.opts.onPick(r)}))})),q=u.querySelectorAll("[data-color]"),Array.prototype.forEach.call(q,(t=>{this.addEventListener(t,"click",(()=>{let e=av(t.getAttribute("data-color"));this.baseRGB=e;let i=fv(e.r,e.g,e.b),n=bv(e.r,e.g,e.b);uv(g,i,n[1]);let o=_.value,r="",s="";e&&(r=1*o==1?"rgb("+e.r+","+e.g+","+e.b+")":"rgba("+e.r+","+e.g+","+e.b+","+o+")",s="linear-gradient(90deg, rgba("+e.r+","+e.g+","+e.b+",0), rgba("+e.r+","+e.g+","+e.b+",1))"),l.querySelector(".div-color-opacity .rangeSlider").style.backgroundImage=s,l.querySelector(".is-color-preview").style.backgroundColor=r,l.querySelector(".input-text").value=r,this.opts.onPick(r)}))}))}out(t){if(this.opts.lang){let e=this.opts.lang[t];return e||t}return t}open(t,e){t&&(this.opts.onPick=t),e&&(this.opts.color=e,this.setColor(e)),this.modal.show(this.pickcolor,!1,null,!1)}setColor(t){let e=this.pickcolor,i=this.pickcolormore;var n=e.querySelector(".color-opacity");let o,r=e.querySelector(".color-gradient"),s=t;if(-1!==s.indexOf("rgb")&&(o=mv.color(s)),-1!==s.indexOf("#")&&(o=av(s)),!o){return pv(r),n.value=1,this.colorOpacitySlider._update(),e.querySelector(".div-color-opacity .rangeSlider").style.backgroundImage="",e.querySelector(".is-color-preview").style.background="none",void(e.querySelector(".input-text").value="")}if(this.baseRGB=o,o.r===o.g&&o.g===o.b)pv(r);else{let t=i.querySelector(".color-swatch"),e=fv(o.r,o.g,o.b);cv(t,e),uv(r,e,bv(o.r,o.g,o.b)[1])}o.a||0===o.a?n.value=o.a:n.value=1,this.colorOpacitySlider._update();let a=n.value,l="",d="";o&&(l=1*a==1?"rgb("+o.r+","+o.g+","+o.b+")":"rgba("+o.r+","+o.g+","+o.b+","+a+")",d="linear-gradient(90deg, rgba("+o.r+","+o.g+","+o.b+",0), rgba("+o.r+","+o.g+","+o.b+",1))"),e.querySelector(".div-color-opacity .rangeSlider").style.backgroundImage=d,e.querySelector(".is-color-preview").style.backgroundColor=l,e.querySelector(".input-text").value=l,this.opts.onPick(l)}addEventListener(t,e,i){t.addEventListener(e,i)}parentsHasClass(t,e){for(;t;){if("BODY"===t.tagName||"HTML"===t.tagName)return!1;if(!t.classList)return!1;if(t.classList.contains(e))return!0;t=t.parentNode}}}function av(t){if(""===t)return null;var e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return e?{r:parseInt(e[1],16),g:parseInt(e[2],16),b:parseInt(e[3],16)}:null}function lv(t){var e="0123456789abcdef",i=parseInt(t);return 0===i||isNaN(t)?"00":(i=Math.round(Math.min(Math.max(0,i),255)),e.charAt((i-i%16)/16)+e.charAt(i%16))}function dv(t){return lv(t[0])+lv(t[1])+lv(t[2])}function cv(t,e){let i,n,o=10;if(""===t.innerHTML)for(i=0;i<o;++i){let r=document.createElement("div");for(r.style.width="100%",r.id="row-"+i,t.appendChild(r),n=0;n<o;++n){let o=i*(100/9)+5,r=10*n+5;r>50&&r<=55&&(r=50),o>100&&(o=100);let s="#"+dv(vv(e,o,r)),a=document.createElement("div");a.title=s,a.style.background=s,a.setAttribute("data-color",s),t.querySelector("#row-"+i).appendChild(a)}}else for(i=0;i<o;++i){let r=t.childNodes[i];for(n=0;n<o;++n){let t=r.childNodes[n],o=i*(100/9)+5,s=10*n+5;s>50&&s<=55&&(s=50),o>100&&(o=100);let a="#"+dv(vv(e,o,s));t.title=a,t.style.background=a,t.setAttribute("data-color",a)}}}function uv(t,e,i){let n,o,r=100/7*2-100/7;if(""===t.innerHTML)for(n=0;n<5;++n){let s=document.createElement("div");for(s.style.width="100%",s.id="row-"+n,t.appendChild(s),o=0;o<7;++o){let s=o*(100/7);s+=(-1*(n-5)-1)*(r/5),0===o&&(s=o*(100/7));let a="#"+dv(vv(e,i,s)),l=document.createElement("div");l.title=a,l.style.background=a,l.setAttribute("data-color",a),t.querySelector("#row-"+n).appendChild(l)}}else{let s,a;for(n=0;n<5;++n)for(s=t.childNodes[n],o=0;o<7;++o){a=s.childNodes[o];let t=o*(100/7);t+=(-1*(n-5)-1)*(r/5),6===n&&0===o&&(t=0);let l="#"+dv(vv(e,i,t));a.title=l,a.style.background=l,a.setAttribute("data-color",l)}}}function pv(t){let e,i,n=100/7*2-100/7;if(""===t.innerHTML)for(e=0;e<5;++e){let o=document.createElement("div");for(o.style.width="100%",o.id="row-"+e,t.appendChild(o),i=0;i<7;++i){let o=i*(100/7);o+=(-1*(e-5)-1)*(n/5),0===i&&(o=i*(100/7));let r="#"+dv(vv(0,0,o)),s=document.createElement("div");s.title=r,s.style.background=r,s.setAttribute("data-color",r),t.querySelector("#row-"+e).appendChild(s)}}else{let o,r;for(e=0;e<5;++e)for(o=t.childNodes[e],i=0;i<7;++i){r=o.childNodes[i];let t=i*(100/7);t+=(-1*(e-5)-1)*(n/5),6===e&&0===i&&(t=0);let s="#"+dv(vv(0,0,t));r.title=s,r.style.background=s,r.setAttribute("data-color",s)}}}function hv(t,e,i){return i<0?i+=1:i>1&&(i-=1),6*i<1?t+(e-t)*i*6:2*i<1?e:3*i<2?t+(e-t)*(2/3-i)*6:t}function vv(t,e,i){t/=360,e/=100;var n=(i/=100)<=.5?i*(e+1):i+e-i*e,o=2*i-n;return[parseInt(255*hv(o,n,t+1/3)),parseInt(255*hv(o,n,t)),parseInt(255*hv(o,n,t-1/3))]}function fv(t,e,i){t/=255,e/=255,i/=255;var n,o,r,s=Math.max(t,e,i),a=s-Math.min(t,e,i);if(0===a)n=0;else switch(s){case t:r=0,(o=(e-i)/a)<0&&(r=6),n=o+r;break;case e:n=(o=(i-t)/a)+(r=2);break;case i:n=(o=(t-e)/a)+(r=4)}return 60*n}var gv,mv=(gv=function(t){return parseInt(t,16)},{color:function(t){var e,i,n,o,r=t.slice(0,1);return"#"===r?function(t){var e;return 4===t.length?(e=t.replace("#","").split(""),{r:gv(e[0]+e[0]),g:gv(e[1]+e[1]),b:gv(e[2]+e[2])}):{r:gv(t.slice(1,3)),g:gv(t.slice(3,5)),b:gv(t.slice(5))}}(t):"r"===r.toLowerCase()?(n=(e=t).slice(e.indexOf("(")+1,e.indexOf(")")).split(","),o=!1,i={r:(n=n.map((function(t,e){return 3!==e?parseInt(t,10):(o=!0,parseFloat(t))})))[0],g:n[1],b:n[2]},o&&(i.a=n[3]),i):void console.log("!Ooops! RGBvalues.color("+t+") : HEX, RGB, or RGBa strings only")}});function bv(t,e,i){t/=255,e/=255,i/=255;var n,o,r=Math.max(t,e,i),s=Math.min(t,e,i),a=(r+s)/2;if(r===s)n=o=0;else{var l=r-s;switch(o=a>.5?l/(2-r-s):l/(r+s),r){case t:n=(e-i)/l+(e<i?6:0);break;case e:n=(i-t)/l+2;break;case i:n=(t-e)/l+4}n/=6}return[100*n+.5|0,100*o+.5|0,100*a+.5|0]}class yv{constructor(t={}){this.opts=Object.assign(this,{colors:["#ff9f01","#f57c00","#e64918","#d32f2f","#5d4038","#37474f","#353535","#fbc02c","#b0b42a","#689f39","#c21f5b","#7b21a2","#522da8","#616161","#01b8c9","#009688","#388d3c","#0388d0","#1465c0","#2f3f9e","#9e9e9e"],gradientcolors:[["linear-gradient(0deg, rgb(255, 57, 25), rgb(249, 168, 37))"],["linear-gradient(0deg, rgb(255, 57, 25), rgb(255, 104, 15))"],["linear-gradient(0deg, #FF5722, #FF9800)"],["linear-gradient(0deg, #613ca2, rgb(110, 123, 217))"],["linear-gradient(0deg, rgb(65, 70, 206), rgb(236, 78, 130))"],["linear-gradient(0deg, rgb(0, 150, 102), rgb(90, 103, 197))"],["linear-gradient(30deg, rgb(249, 119, 148), rgb(98, 58, 162))"],["linear-gradient(0deg, rgb(223, 70, 137), rgb(90, 103, 197))"],["linear-gradient(0deg, rgb(40, 53, 147), rgb(90, 103, 197))"],["linear-gradient(0deg, rgb(21, 101, 192), rgb(52, 169, 239))"],["linear-gradient(0deg, rgb(32, 149, 219), rgb(139, 109, 230))"],["linear-gradient(0deg, rgb(90, 103, 197), rgb(0, 184, 201))"],["linear-gradient(0deg, rgb(0, 184, 201), rgb(253, 187, 45))"],["linear-gradient(0deg, rgb(255, 208, 100), rgb(239, 98, 159))"],["linear-gradient(0deg, rgb(0, 214, 223), rgb(130, 162, 253))"],["linear-gradient(0deg, rgb(50, 234, 251), rgb(248, 247, 126))"],["linear-gradient(0deg, rgb(141, 221, 255), rgb(255, 227, 255))"],["linear-gradient(0deg, rgb(255, 170, 170), rgb(255, 255, 200))"],["linear-gradient(0deg, rgb(239, 239, 239), rgb(252, 252, 252))"]],animateModal:!1,elementToAnimate:"",stuffPlacement:"#_cbhtml",lang:[]},t),this.id=function(){let t="",e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";for(let i=0;i<2;i++)t+=e.charAt(Math.floor(Math.random()*e.length));let i="",n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";for(let t=0;t<5;t++)i+=n.charAt(Math.floor(Math.random()*n.length));return t+i}();let e=document.querySelector(this.opts.stuffPlacement);e||(e=document.createElement("div"),e.id="_cbhtml",e.className="is-ui",document.body.appendChild(e)),this.builderStuff=e;const i=document.createElement("div");i.id=this.id,e.appendChild(i),this.objStuff=i;const n=new nv({animateModal:this.opts.animateModal,elementToAnimate:this.opts.elementToAnimate,stuffPlacement:this.opts.stuffPlacement});this.modal=n;let o="";for(var r=0;r<this.opts.gradientcolors.length;r++)o+=`<button data-elmgradient="${this.opts.gradientcolors[r][0]}" data-textcolor="${this.opts.gradientcolors[r][1]?this.opts.gradientcolors[r][1]:""}" style="background-image:${this.opts.gradientcolors[r][0]};width:35px;height:35px;border:none;"></button>`;let s=`\n <div class="is-modal pickgradientcolor">\n <div class="is-modal-content">\n <div class="is-modal-bar is-draggable"></div>\n <div style="padding:12px 12px 12px">\n <div class="div-gradients" style="display: flex;flex-flow: wrap;margin-bottom:10px;">\n ${o}\n <button class="input-gradient-clear" title="${this.out("Clear")}" data-value="" style="width:35px;height:35px;"><svg class="is-icon-flex" style="width:23px;height:23px;"><use xlink:href="#ion-ios-close-empty"></use></svg></button>\n </div>\n <div class="is-settings" style="margin-bottom:0">\n <div class="is-label" style="margin-top:0">${this.out("Custom")}:</div>\n <div class="div-custom-gradients clearfix" style="height:auto;display: flex;flex-flow: wrap;"></div>\n <div>\n <button title="${this.out("Select Color")}" class="input-gradient-color1 is-btn-color" data-value="dark" style="border-right:none"></button>\n <button title="${this.out("Select Color")}" class="input-gradient-color2 is-btn-color" data-value="dark"></button>\n <input type="text" class="input-gradient-deg" value="0" style="width:60px;height:35px;margin-left:7px;margin-right:5px;font-size:14px;"/> deg\n </div>\n </div>\n <div class="is-settings clearfix" style="margin-bottom:0">\n <button title="${this.out("Add")}" class="input-gradient-save classic" style="width:100%;border:none;"> ${this.out("Add")} </button>\n </div>\n </div>\n </div>\n </div>\n `;i.insertAdjacentHTML("beforeend",s);const a=i.querySelector(".is-modal.pickgradientcolor");this.pickGradient=a,new vi({selector:"#"+this.id+" .is-draggable"});const l=new sv({colors:this.opts.colors,animateModal:this.opts.animateModal,elementToAnimate:this.opts.container,lang:this.opts.lang});let d=i.querySelector(".input-gradient-color1");d.addEventListener("click",(()=>{l.open((t=>{let e=t,n=i.querySelector(".input-gradient-color2").style.backgroundColor;""===n&&(n="#ffffff");let o=`linear-gradient(${i.querySelector(".input-gradient-deg").value}deg, ${e}, ${n})`;this.targetElement.style.backgroundImage=o,this.opts.onChange&&this.opts.onChange(o),d.style.backgroundColor=t}),d.style.backgroundColor)}));let c=i.querySelector(".input-gradient-color2");c.addEventListener("click",(()=>{l.open((t=>{let e=i.querySelector(".input-gradient-color1").style.backgroundColor,n=t;""===e&&(e="#ffffff");let o=`linear-gradient(${i.querySelector(".input-gradient-deg").value}deg, ${e}, ${n})`;this.targetElement.style.backgroundImage=o,this.opts.onChange&&this.opts.onChange(o),c.style.backgroundColor=t}),c.style.backgroundColor)}));let u=i.querySelectorAll(".div-gradients [data-elmgradient]");Array.prototype.forEach.call(u,(t=>{let e=t.getAttribute("data-elmgradient"),n=t.getAttribute("data-textcolor");t.addEventListener("click",(()=>{this.targetElement.style.backgroundImage=e,this.opts.onChange&&this.opts.onChange(e,n);const o=this.targetElement.style.backgroundImage;if(-1!==o.indexOf("linear-gradient")){const t=xv(o);if(null!==t)try{let e=t.colorStopList[0].color,i=t.colorStopList[1].color,n=t.line;this.objStuff.querySelector(".input-gradient-color1").style.backgroundColor=e,this.objStuff.querySelector(".input-gradient-color2").style.backgroundColor=i,-1!==n.indexOf("deg")&&(this.objStuff.querySelector(".input-gradient-deg").value=n.replace("deg",""))}catch(t){}}let r=i.querySelectorAll(".div-gradients [data-elmgradient]");Array.prototype.forEach.call(r,(t=>{this.removeClass(t,"active")})),this.addClass(t,"active")}))})),i.querySelector(".input-gradient-clear").addEventListener("click",(()=>{this.targetElement.style.backgroundImage="",this.opts.onChange&&this.opts.onChange(""),this.objStuff.querySelector(".input-gradient-color1").style.backgroundColor="",this.objStuff.querySelector(".input-gradient-color2").style.backgroundColor="",this.objStuff.querySelector(".input-gradient-deg").value="0"}));let p=i.querySelector(".input-gradient-deg");p.addEventListener("keyup",(()=>{let t=i.querySelector(".input-gradient-color1").style.backgroundColor,e=i.querySelector(".input-gradient-color2").style.backgroundColor;""===t&&(t="#ffffff"),""===e&&(e="#ffffff");let n=`linear-gradient(${p.value}deg, ${t}, ${e})`;this.targetElement.style.backgroundImage=n,this.opts.onChange&&this.opts.onChange(n)})),i.querySelector(".input-gradient-save").addEventListener("click",(()=>{let t=i.querySelector(".input-gradient-color1").style.backgroundColor,e=i.querySelector(".input-gradient-color2").style.backgroundColor;""===t&&(t="#ffffff"),""===e&&(e="#ffffff");let n=`linear-gradient(${p.value}deg, ${t}, ${e})`,o=[];if(null!==localStorage.getItem("_customgradcolors")&&(o=JSON.parse(localStorage.getItem("_customgradcolors"))),o.push(n),localStorage.setItem("_customgradcolors",JSON.stringify(o)),null!==localStorage.getItem("_customgradcolors")){let t=JSON.parse(localStorage.getItem("_customgradcolors")),e="";for(var r=0;r<t.length;r++)e+=`<button class="is-elmgrad-item" data-elmgradient="${t[r]}" style="background-image:${t[r]};width:35px;height:35px;padding:0;border:none;"><div class="is-elmgrad-remove"><svg class="is-icon-flex" style="fill:rgba(255, 255, 255, 1);width:20px;height:20px;"><use xlink:href="#ion-ios-close-empty"></use></svg></div></button>`;this.objStuff.querySelector(".div-custom-gradients").innerHTML=e}let s=this.objStuff.querySelectorAll(".div-custom-gradients [data-elmgradient]");Array.prototype.forEach.call(s,(t=>{let e=t.getAttribute("data-elmgradient");t.addEventListener("click",(()=>{this.targetElement.style.backgroundImage=e,this.opts.onChange&&this.opts.onChange(e);const n=this.targetElement.style.backgroundImage;if(-1!==n.indexOf("linear-gradient")){const t=xv(n);if(null!==t)try{let e=t.colorStopList[0].color,i=t.colorStopList[1].color,n=t.line;this.objStuff.querySelector(".input-gradient-color1").style.backgroundColor=e,this.objStuff.querySelector(".input-gradient-color2").style.backgroundColor=i,-1!==n.indexOf("deg")&&(this.objStuff.querySelector(".input-gradient-deg").value=n.replace("deg",""))}catch(t){}}let o=i.querySelectorAll(".div-custom-gradients [data-elmgradient]");Array.prototype.forEach.call(o,(t=>{this.removeClass(t,"active")})),this.addClass(t,"active")}))}));let a=this.objStuff.querySelectorAll(".div-custom-gradients .is-elmgrad-remove");Array.prototype.forEach.call(a,(t=>{t.addEventListener("click",(()=>{let e=[];null!==localStorage.getItem("_customgradcolors")&&(e=JSON.parse(localStorage.getItem("_customgradcolors")));for(var i=t.parentNode.getAttribute("data-elmgradient"),n=0;n<e.length;n++)e[n]===i&&e.splice(n,1);return localStorage.setItem("_customgradcolors",JSON.stringify(e)),t.parentNode.parentNode.removeChild(t.parentNode),!1}))}))}))}out(t){if(this.opts.lang){let e=this.opts.lang[t];return e||t}return t}open(t,e,i){this.opts.onChange=e,this.opts.onFinish=i,this.targetElement=t,this.objStuff.querySelector(".input-gradient-color1").style.backgroundColor="",this.objStuff.querySelector(".input-gradient-color2").style.backgroundColor="",this.objStuff.querySelector(".input-gradient-deg").value="0";const n=t.style.backgroundImage;if(-1!==n.indexOf("linear-gradient")){const t=xv(n);if(null!==t)try{let e=t.colorStopList[0].color,i=t.colorStopList[1].color,n=t.line;this.objStuff.querySelector(".input-gradient-color1").style.backgroundColor=e,this.objStuff.querySelector(".input-gradient-color2").style.backgroundColor=i,-1!==n.indexOf("deg")&&(this.objStuff.querySelector(".input-gradient-deg").value=n.replace("deg",""))}catch(t){}}this.original=n;let o=[];if(null!==localStorage.getItem("_customgradcolors")){o=JSON.parse(localStorage.getItem("_customgradcolors"));let t="";for(var r=0;r<o.length;r++)t+=`<button class="is-elmgrad-item" data-elmgradient="${o[r]}" style="background-image:${o[r]};width:35px;height:35px;padding:0;border:none;"><div class="is-elmgrad-remove"><svg class="is-icon-flex" style="fill:rgba(255, 255, 255, 1);width:20px;height:20px;"><use xlink:href="#ion-ios-close-empty"></use></svg></div></button>`;this.objStuff.querySelector(".div-custom-gradients").innerHTML=t}let s=this.objStuff.querySelectorAll(".div-custom-gradients [data-elmgradient]");Array.prototype.forEach.call(s,(t=>{let e=t.getAttribute("data-elmgradient");t.addEventListener("click",(()=>{this.targetElement.style.backgroundImage=e,this.opts.onChange&&this.opts.onChange(e);const i=this.targetElement.style.backgroundImage;if(-1!==i.indexOf("linear-gradient")){const t=xv(i);if(null!==t)try{let e=t.colorStopList[0].color,i=t.colorStopList[1].color,n=t.line;this.objStuff.querySelector(".input-gradient-color1").style.backgroundColor=e,this.objStuff.querySelector(".input-gradient-color2").style.backgroundColor=i,-1!==n.indexOf("deg")&&(this.objStuff.querySelector(".input-gradient-deg").value=n.replace("deg",""))}catch(t){}}let n=this.objStuff.querySelectorAll(".div-custom-gradients [data-elmgradient]");Array.prototype.forEach.call(n,(t=>{this.removeClass(t,"active")})),this.addClass(t,"active")}))}));let a=this.objStuff.querySelectorAll(".div-custom-gradients .is-elmgrad-remove");Array.prototype.forEach.call(a,(t=>{t.addEventListener("click",(()=>{let e=[];null!==localStorage.getItem("_customgradcolors")&&(e=JSON.parse(localStorage.getItem("_customgradcolors")));for(var i=t.parentNode.getAttribute("data-elmgradient"),n=0;n<e.length;n++)e[n]===i&&e.splice(n,1);return localStorage.setItem("_customgradcolors",JSON.stringify(e)),t.parentNode.parentNode.removeChild(t.parentNode),!1}))})),this.modal.show(this.pickGradient,!1,(()=>{this.original===this.targetElement.style.backgroundImage?this.opts.onFinish&&this.opts.onFinish(!1):this.opts.onFinish&&this.opts.onFinish(!0)}),!1)}addClass(t,e){t&&(this.hasClass(t,e)||(0===t.classList.length?t.className=e:t.className=t.className+" "+e))}removeClass(t,e){t&&t.classList.length>0&&(t.className=t.className.replace(e,""))}hasClass(t,e){return!!t&&(t.classList?t.classList.contains(e):new RegExp("\\b"+e+"\\b").test(t.className))}}function xv(t){var e,i=wv(),n=/.*gradient\s*\(((?:\([^)]*\)|[^)(]*)*)\)/.exec(t);return null!==n?(e=Sv(i,n[1])).original.trim()!==n[1].trim()&&(e.parseWarning=!0):e="Failed to find gradient",e}var _v=function(t,e){var i,n="";for(i=0;i<t.length;i++)"string"==typeof t[i]?n+=t[i]:n+=t[i].source;return new RegExp(n,e)},wv=function(){var t=/\s*,\s*/,e=/(?:[+-]?\d*\.?\d+)(?:%|[a-z]+)?/,i=_v(["(?:",/#(?:[a-f0-9]{6}|[a-f0-9]{3})/,"|","(?:rgb|hsl)",/\(\s*(?:\d{1,3}\s*,\s*){2}\d{1,3}\s*\)/,"|","(?:rgba|hsla)",/\(\s*(?:\d{1,3}\s*,\s*){2}\d{1,3}\s*,\s*\d*\.?\d+\)/,"|",/[_a-z-][_a-z0-9-]*/,")"],""),n=_v([i,"(?:\\s+",e,"(?:\\s+",e,")?)?"],""),o=_v(["(?:",n,t,")*",n],""),r=_v(["(?:(",/(?:[+-]?\d*\.?\d+)(?:deg|grad|rad|turn)/,")|",/to\s+((?:(?:left|right)(?:\s+(?:top|bottom))?))/,")"],"");return{gradientSearch:_v(["(?:(",r,")",t,")?(",o,")"],"gi"),colorStopSearch:_v(["\\s*(",i,")","(?:\\s+","(",e,"))?","(?:",t,"\\s*)?"],"gi")}},Sv=function(t,e){var i,n,o,r;if(t.gradientSearch.lastIndex=0,null!==(n=t.gradientSearch.exec(e)))for(i={original:n[0],colorStopList:[]},n[1]&&(i.line=n[1]),n[2]&&(i.angle=n[2]),n[3]&&(i.sideCorner=n[3]),t.colorStopSearch.lastIndex=0,o=t.colorStopSearch.exec(n[4]);null!==o;)r={color:o[1]},o[2]&&(r.position=o[2]),i.colorStopList.push(r),o=t.colorStopSearch.exec(n[4]);return i};const Cv=new e;class kv{constructor(e){this.builder=e,this.grid=new ni(e);const i=new t(e);this.util=i;const n=i.builderStuff();let o,r=n.querySelector(".is-column-tool"),s="";if(e.opts.columnHtmlEditor&&(s=`<button type="button" title="${i.out("HTML")}" class="cell-html">\n <span><svg class="is-icon-flex" style="margin-right:-3px;width:12px;height:12px;"><use xlink:href="#ion-ios-arrow-left"></use></svg><svg class="is-icon-flex" style="margin-left:-2px;width:12px;height:12px;"><use xlink:href="#ion-ios-arrow-right"></use></svg></span>${i.out("HTML")}\n </button>`),!r){let t=`<div class="is-tool is-column-tool">\n <button type="button" title="${i.out("Add")}" class="cell-add"><svg class="is-icon-flex"><use xlink:href="#ion-ios-plus-empty"></use></svg></button>\n <button type="button" title="${i.out("More")}" class="cell-more"><svg class="is-icon-flex"><use xlink:href="#ion-more"></use></svg></button>\n <button type="button" title="${i.out("Delete")}" class="cell-remove"><svg class="is-icon-flex" style="margin-left:-1px"><use xlink:href="#ion-ios-close-empty"></use></svg></button>\n </div>\n \n <div class="is-pop columnmore">\n <div style="display:flex;flex-flow:wrap;padding-top:3px;">\n <button type="button" title="${i.out("Move Left")}" class="cell-prev"><span><svg class="is-icon-flex" style="width:15px;height:15px;"><use xlink:href="#ion-ios-arrow-thin-left"></use></svg></span>${i.out("Move Left")}</button>\n <button type="button" title="${i.out("Move Right")}" class="cell-next"><span><svg class="is-icon-flex" style="width:15px;height:15px;"><use xlink:href="#ion-ios-arrow-thin-right"></use></svg></span>${i.out("Move Right")}</button>\n <button type="button" title="${i.out("Move Up")}" class="cell-up"><span><svg class="is-icon-flex" style="width:15px;height:15px;"><use xlink:href="#ion-ios-arrow-thin-up"></use></svg></span>${i.out("Move Up")}</button>\n <button type="button" title="${i.out("Move Down")}" class="cell-down"><span><svg class="is-icon-flex" style="width:15px;height:15px;"><use xlink:href="#ion-ios-arrow-thin-down"></use></svg></span>${i.out("Move Down")}</button>\n <button type="button" title="${i.out("Increase")}" class="cell-increase"><span><svg class="is-icon-flex" style="width:13px;height:13px;"><use xlink:href="#icon-increase"></use></svg></span>${i.out("Increase")}</button>\n <button type="button" title="${i.out("Decrease")}" class="cell-decrease"><span><svg class="is-icon-flex" style="width:13px;height:13px;"><use xlink:href="#icon-decrease"></use></svg></span>${i.out("Decrease")}</button>\n <button type="button" title="${i.out("Duplicate")}" class="cell-duplicate"><span><svg class="is-icon-flex" style="width:12px;height:12px;"><use xlink:href="#ion-ios-photos-outline"></use></svg></span>${i.out("Duplicate")}</button>\n ${s}\n <div class="is-separator"></div>\n <button title="${i.out("Lock")}" class="cell-locking">\n <svg class="is-icon-flex"><use xlink:href="#icon-lock"></use></svg>\n </button>\n <button title="${i.out("Settings")}" class="cell-settings">\n <svg class="is-icon-flex"><use xlink:href="#ion-ios-gear"></use></svg>\n <span>${i.out("Settings")}</span>\n </button>\n </div>\n </div>\n\n <div class="is-modal columnsettings">\n <div class="is-modal-content" style="width:370px;min-height:435px;padding: 0px;">\n <div class="is-modal-bar is-draggable">\n ${i.out("Column Settings")}\n <div class="is-modal-close" role="button" tabindex="0" title="${i.out("Close")}">✕</div>\n </div>\n\n <div style="padding:0;margin-top:35px;">\n\n <div class="is-tabs clearfix" data-group="cellsettings">\n <a title="${i.out("General")}" id="tabCellGeneral" href="" data-content="divCellGeneral" class="active">${i.out("General")}</a>\n <a title="${i.out("Content")}" id="tabCellContent" href="" data-content="divCellContent">${i.out("Content")}</a>\n ${this.builder.useLightbox?`\n <a title="${i.out("On Click")}" id="tabCellClick" href="" data-content="divCellClick">${i.out("On Click")}</a>\n `:""}\n </div>\n <div id="divCellGeneral" class="is-tab-content" data-group="cellsettings" style="display:flex">\n \n <div style="padding-bottom: 3px;">${i.out("Background Color")}:</div>\n <div style="display:flex;">\n <button title="${i.out("Background Color")}" class="input-cell-bgcolor is-btn-color" style="margin-right:15px"></button>\n <button title="${i.out("Gradient")}" class="input-cell-gradient classic" data-value="+"> ${i.out("Gradient")} </button>\n </div>\n\n <div style="padding-top:20px;padding-bottom: 3px;">${i.out("Background Image")}:</div>\n <div >\n <div class="cell-bgimage-preview"></div>\n <div style="display: flex">\n <button title="${i.out("Image")}" class="input-cell-bgimage">\n <svg class="is-icon-flex"><use xlink:href="#ion-image"></use></svg>\n <span>${i.out("Image")}</span>\n </button>\n <button title="${i.out("Adjust")}" class="input-cell-bgimageadjust"><svg class="is-icon-flex"><use xlink:href="#ion-wrench"></use></svg></button>\n </div>\n </div>\n\n <div style="padding-top:20px;padding-bottom:3px;">${i.out("Text Color")}:</div>\n <div class="div-content-textcolor">\n <button title="0" class="input-cell-textcolor" data-command="dark">${i.out("Dark")}</button>\n <button title="10" class="input-cell-textcolor" data-command="light">${i.out("Light")}</button>\n \n <button title="${i.out("Clear")}" class="input-cell-textcolor" data-command=""><svg class="is-icon-flex" style="flex:none;width:18px;height:18px;margin-top: 2px;"><use xlink:href="#ion-ios-close-empty"></use></svg></button>\n </div>\n\n <div style="display:none;padding-top:20px;padding-bottom:3px;">${i.out("Enlarge Row")}:</div>\n <div style="display: none;">\n <button title="${i.out("Normal")}" class="input-row-enlarge" data-command="0" style="margin-right:1px;">${i.out("Normal")}</button>\n <button title="+10%" class="input-row-enlarge" data-command="10" style="width:50px;margin-right:1px;">+10%</button>\n <button title="+20%" class="input-row-enlarge" data-command="20" style="width:50px;margin-right:1px;">+20%</button>\n <button title="+30%" class="input-row-enlarge" data-command="30" style="width:50px;margin-right:1px;">+30%</button>\n <button title="+40%" class="input-row-enlarge" data-command="40" style="width:50px;margin-right:1px;">+40%</button>\n <button title="+50%" class="input-row-enlarge" data-command="50" style="width:50px;margin-right:1px;">+50%</button>\n <button title="+60%" class="input-row-enlarge" data-command="60" style="width:50px;margin-right:1px;">+60%</button>\n </div>\n\n </div>\n\n <div id="divCellContent" class="is-tab-content" data-group="cellsettings">\n\n <div style="padding-bottom:3px;">${i.out("Padding")}:</div>\n <div class="div-content-padding">\n <button title="0" class="input-cell-padding" data-command="0">0</button>\n <button title="10" class="input-cell-padding" data-command="10">10</button>\n <button title="20" class="input-cell-padding" data-command="20">20</button>\n <button title="30" class="input-cell-padding" data-command="30">30</button>\n <button title="40" class="input-cell-padding" data-command="40">40</button>\n <button title="50" class="input-cell-padding" data-command="50">50</button>\n <button title="60" class="input-cell-padding" data-command="60">60</button>\n <button title="${i.out("Clear")}" class="input-cell-padding" data-command=""><svg class="is-icon-flex" style="flex:none;width:18px;height:18px;margin-top: 2px;"><use xlink:href="#ion-ios-close-empty"></use></svg></button>\n </div>\n\n <div style="padding-top:20px;padding-bottom:3px;">${i.out("Height")}:</div>\n <div class="div-content-height">\n <button title="Decrease" class="input-cell-height" data-command="-">-</button>\n <button title="Increase" class="input-cell-height" data-command="+">+</button>\n <button title="300" class="input-cell-height" data-command="300">300</button>\n <button title="400" class="input-cell-height" data-command="400">400</button>\n <button title="500" class="input-cell-height" data-command="500">500</button>\n <button title="600" class="input-cell-height" data-command="600">600</button>\n <button title="700" class="input-cell-height" data-command="700">700</button>\n <button title="${i.out("Clear")}" class="input-cell-height" data-command=""><svg class="is-icon-flex" style="flex:none;width:18px;height:18px;margin-top: 2px;"><use xlink:href="#ion-ios-close-empty"></use></svg></button>\n </div>\n\n <div style="padding-top:20px;padding-bottom:3px;">${i.out("Content Alignment")}:</div>\n <div class="div-content-position">\n <button class="cmd-content-pos" data-pos="topleft" title="${i.out("Top Left")}" type="button" style=""><svg class="is-icon-flex" style="transform: rotate(315deg);"><use xlink:href="#ion-ios-arrow-thin-up"></use></svg></button>\n <button class="cmd-content-pos" data-pos="topcenter" title="${i.out("Top Center")}" type="button"><svg class="is-icon-flex" style=""><use xlink:href="#ion-ios-arrow-thin-up"></use></svg></button>\n <button class="cmd-content-pos" data-pos="topright" topright="${i.out("Top Right")}" type="button"><svg class="is-icon-flex" style="transform: rotate(45deg);"><use xlink:href="#ion-ios-arrow-thin-up"></use></svg></button>\n </div>\n <div class="div-content-position">\n <button class="cmd-content-pos" data-pos="centerleft" title="${i.out("Center Left")}" type="button"><svg class="is-icon-flex" style=""><use xlink:href="#ion-ios-arrow-thin-left"></use></svg></button>\n <button class="cmd-content-pos" data-pos="center" title="${i.out("Center")}" type="button"><svg class="is-icon-flex" style="width:6px;height:6px;"><use xlink:href="#ion-android-contract"></use></svg></button>\n <button class="cmd-content-pos" data-pos="centerright" title="${i.out("Center Right")}" type="button"><svg class="is-icon-flex" style=""><use xlink:href="#ion-ios-arrow-thin-right"></use></svg></button>\n </div>\n <div class="div-content-position">\n <button class="cmd-content-pos" data-pos="bottomleft" title="${i.out("Bottom Left")}" type="button" style=";"><svg class="is-icon-flex" style="transform: rotate(45deg);"><use xlink:href="#ion-ios-arrow-thin-down"></use></svg></button>\n <button class="cmd-content-pos" data-pos="bottomcenter" title="${i.out("Bottom Center")}" type="button"><svg class="is-icon-flex" style=""><use xlink:href="#ion-ios-arrow-thin-down"></use></svg></button>\n <button class="cmd-content-pos" data-pos="bottomright" title="${i.out("Bottom Right")}" type="button"><svg class="is-icon-flex" style="transform: rotate(315deg);"><use xlink:href="#ion-ios-arrow-thin-down"></use></svg></button>\n </div>\n\n </div>\n\n <div id="divCellClick" class="is-tab-content" data-group="cellsettings">\n\n <label for="inpCellLinkSource" style="display:block">${i.out("Open")}:</label>\n <div class="image-src">\n \x3c!--<div class="div-input-text">--\x3e\n <input id="inpCellLinkSource" class="input-src" type="text">\n \x3c!--<button title="${i.out("Clear")}" class="input-clear"><svg class="is-icon-flex"><use xlink:href="#ion-ios-close-empty"></use></svg></button>\n </div>--\x3e\n <button title="${i.out("Select")}" class="input-select" style="flex:none;width:50px;height:50px;"><svg class="is-icon-flex"><use xlink:href="#ion-more"></use></svg></button>\n <div class="image-larger4" style="position: relative; flex: 0 0 auto; width: 50px; height: 50px; box-shadow: rgba(0, 0, 0, 0.32) 0px 3px 6px -6px;">\n <form class="form-upload-larger" target="frameTargetLinkUpload" method="post" action="" enctype="multipart/form-data" style="position:absolute;top:0;left:0;width:100%;height:100%;">\n <input id="hidRefId4" name="hidRefId" type="hidden" value="">\n <svg class="is-icon-flex" style="position: absolute;top: 16px;left: 15px;width: 18px;height: 18px;"><use xlink:href="#ion-image"></use></svg>\n <input title="${i.out("Select")}" id="fileImage4" name="fileImage" type="file" accept="image/*" style="position:absolute;top:-30px;left:0;width:100%;height:80px;opacity: 0;cursor: pointer;">\n </form>\n\n <iframe id="frameTargetLinkUpload" name="frameTargetLinkUpload" src="about:blank" style="width:1px;height:1px;position:absolute;top:0;right:-100000px"></iframe>\n </div>\n </div>\n\n <p>${i.out("To try the On-Click action, please disable column editing by clicking the lock button")} <svg class="is-icon-flex"><use xlink:href="#icon-lock"></use></svg>.</p>\n\n </div>\n \n </div>\n \n </div>\n </div>\n\n <div class="is-modal imageadjust">\n <div class="is-modal-content" style="max-width:420px;">\n <div class="is-modal-bar is-draggable">\n ${i.out("Background Image Adjustments")}\n <div class="is-modal-close" role="button" tabindex="0" title="${i.out("Close")}">✕</div>\n </div>\n\n <div style="padding:0;margin-top:25px;">\n\n <div style="padding-bottom:3px;">${i.out("Scale")}:</div>\n <div style="padding-top:4px">\n <input type="range" min="100" max="500" value="0" class="image-scale-slider is-rangeslider">\n </div>\n\n <div style="padding-bottom:3px;padding-top: 20px;">${i.out("Horizontal")}:</div>\n <div style="padding-top:4px">\n <input type="range" min="0" max="100" value="0" class="image-hor-slider is-rangeslider">\n </div>\n\n <div style="padding-bottom:3px;padding-top: 20px;">${i.out("Vertical")}:</div>\n <div style="padding-top:4px">\n <input type="range" min="0" max="100" value="0" class="image-vert-slider is-rangeslider">\n </div>\n\n </div>\n\n </div>\n </div> \n\n\n <div class="is-modal imagesource">\n <div class="is-modal-content" style="max-width:550px;">\n\n <label for="inpCellImageBgSource" style="display:block">${i.out("Source")}:</label>\n <div class="image-src">\n <input id="inpCellImageBgSource" class="input-src" type="text">\n <button title="${i.out("Select")}" class="input-select" style="flex:none;width:50px;height:50px;"><svg class="is-icon-flex"><use xlink:href="#ion-more"></use></svg></button>\n <div class="image-larger3" style="position: relative; flex: 0 0 auto; width: 50px; height: 50px; box-shadow: rgba(0, 0, 0, 0.32) 0px 3px 6px -6px;">\n <form class="form-upload-larger" target="frameTargetCellImageUpload" method="post" action="" enctype="multipart/form-data" style="position:absolute;top:0;left:0;width:100%;height:100%;">\n <input id="hidRefId3" name="hidRefId" type="hidden" value="">\n <svg class="is-icon-flex" style="position: absolute;top: 16px;left: 15px;width: 18px;height: 18px;"><use xlink:href="#ion-image"></use></svg>\n <input title="${i.out("Select")}" id="fileImage3" name="fileImage" type="file" accept="image/*" style="position:absolute;top:-30px;left:0;width:100%;height:80px;opacity: 0;cursor: pointer;">\n </form>\n\n <iframe id="frameTargetCellImageUpload" name="frameTargetCellImageUpload" src="about:blank" style="width:1px;height:1px;position:absolute;top:0;right:-100000px"></iframe>\n </div>\n </div>\n\n <div style="text-align:right;margin-top:20px;">\n <button title="${i.out("Cancel")}" class="input-cancel classic-secondary">${i.out("Cancel")}</button>\n <button title="${i.out("Ok")}" class="input-ok classic-primary">${i.out("Ok")}</button>\n </div>\n\n </div>\n </div>\n\n <div class="is-locked-indicator">\n <svg class="is-icon-flex"><use xlink:href="#icon-lock"></use></svg>\n </div>\n `;Cv.appendHtml(n,t),r=n.querySelector(".is-column-tool"),o=n.querySelector(".columnmore"),this.lockIndicator=n.querySelector(".is-locked-indicator"),this.cellSettings=n.querySelector(".is-modal.columnsettings");const a=ei(e);let l=r.querySelectorAll("[title]");Array.prototype.forEach.call(l,(t=>{t.setAttribute("data-title",t.getAttribute("title"))}));let d=r.querySelector(".cell-add");Cv.addEventListener(d,"click",(()=>{if(!i.cellSelected())return;a.querySelector(".is-pop-tabs").style.display="flex";const t=r.querySelector(".cell-add"),e=t.getBoundingClientRect().top+window.pageYOffset,n=t.getBoundingClientRect().left+window.pageXOffset;a.style.display="flex",a.style.top=e+35+"px",a.style.left=n+"px",Cv.removeClass(a,"arrow-bottom"),Cv.removeClass(a,"arrow-left"),Cv.removeClass(a,"arrow-right"),Cv.removeClass(a,"center"),Cv.removeClass(a,"right"),Cv.addClass(a,"arrow-top"),Cv.addClass(a,"left"),"left"===a.querySelector(".active").getAttribute("data-value")?a.setAttribute("data-mode","cell-left"):a.setAttribute("data-mode","cell-right")})),d=r.querySelector(".cell-more"),Cv.addEventListener(d,"click",(()=>{let t=i.cellSelected();if(!t)return;const e=r.querySelector(".cell-more"),n=e.getBoundingClientRect().top+window.pageYOffset,s=e.getBoundingClientRect().left+window.pageXOffset;o.style.display="flex",o.style.top=n+35+"px",o.style.left=s-7+"px",Cv.removeClass(o,"arrow-bottom"),Cv.removeClass(o,"arrow-left"),Cv.removeClass(o,"arrow-right"),Cv.removeClass(o,"center"),Cv.removeClass(o,"right"),Cv.addClass(o,"arrow-top"),Cv.addClass(o,"left");const a=this.columnMore.querySelector(".cell-locking");t.hasAttribute("data-noedit")?Cv.addClass(a,"on"):Cv.removeClass(a,"on")})),d=r.querySelector(".cell-remove"),Cv.addEventListener(d,"click",(()=>{this.grid.removeColumn(),i.clearControls()})),d=o.querySelector(".cell-prev"),Cv.addEventListener(d,"click",(()=>{this.grid.moveColumnPrevious(),i.clearControls()})),d=o.querySelector(".cell-next"),Cv.addEventListener(d,"click",(()=>{this.grid.moveColumnNext(),i.clearControls()})),d=o.querySelector(".cell-up"),Cv.addEventListener(d,"click",(()=>{this.grid.moveColumnUp(),i.clearControls()})),d=o.querySelector(".cell-down"),Cv.addEventListener(d,"click",(()=>{this.grid.moveColumnDown(),i.clearControls()})),d=o.querySelector(".cell-increase"),Cv.addEventListener(d,"click",(()=>{this.grid.increaseColumn(),i.clearControls()})),d=o.querySelector(".cell-decrease"),Cv.addEventListener(d,"click",(()=>{this.grid.decreaseColumn(),i.clearControls()})),d=o.querySelector(".cell-duplicate"),Cv.addEventListener(d,"click",(()=>{this.grid.duplicateColumn(),this.columnMore.style.display="",i.clearControls()})),d=o.querySelector(".cell-html"),d&&Cv.addEventListener(d,"click",(()=>{if(!i.cellSelected())return;new Xe(this.builder).view("cell")})),document.addEventListener("mousedown",(t=>{var e=(t=t||window.event).target||t.srcElement;if("flex"===o.style.display){let t=Cv.parentsHasClass(e,"columnmore"),i=Cv.parentsHasClass(e,"cell-more");if(t||i)return;o.style.display=""}}));const c=document.querySelector(".is-modal.columnsettings"),u=document.querySelector(".is-modal.imagesource"),p=document.querySelector(".is-modal.imageadjust");this.cellSettings=c,this.imageSource=u,this.imageAdjust=p;const h=o.querySelector(".cell-locking");h&&Cv.addEventListener(h,"click",(t=>{let e=i.cellSelected();e&&(e.hasAttribute("data-noedit")?(e.removeAttribute("data-noedit"),e.contentEditable=!0,Cv.removeClass(h,"on")):(e.setAttribute("data-noedit",""),e.contentEditable=!1,Cv.addClass(h,"on"),this.util.clearActiveElement(!0)),this.showHideLockIndicator(e),this.builder.element.applyBehavior(e),t.preventDefault())})),d=o.querySelector(".cell-settings"),d&&Cv.addEventListener(d,"click",(()=>{let t=i.cellSelected();t&&(this.readCellStyles(t),i.saveSelection(),i.showModal(c,!1,(()=>{"flex"===n.querySelector(".is-rte-tool").style.display&&i.restoreSelection()})),this.columnMore.style.display="")}));c.querySelector(".is-modal-close").addEventListener("click",(()=>{i.hideModal(c)})),c.querySelector(".input-cell-bgcolor").addEventListener("click",(t=>{this.builder.uo.saveForUndo(!0);let e=t.target;this.builder.colorPicker.open((t=>{i.cellSelected().style.backgroundColor=t,e.style.backgroundColor=t,this.builder.opts.onChange()}),c.querySelector(".input-cell-bgcolor").style.backgroundColor)})),d=c.querySelector(".input-cell-bgimage"),d&&Cv.addEventListener(d,"click",(()=>{i.showModal(u,!1)})),d=c.querySelector(".input-cell-bgimageadjust"),d&&Cv.addEventListener(d,"click",(()=>{i.showModal(p,!1)}));p.querySelector(".is-modal-close").addEventListener("click",(()=>{i.hideModal(p)})),""!==this.builder.opts.largerImageHandler||this.builder.opts.onLargerImageUpload||(u.querySelector(".image-larger3").style.display="none"),this.builder.opts.onImageSelectClick||""!==this.builder.opts.imageselect||(u.querySelector(".input-select").style.display="none");let v=u.querySelector(".image-src");this.builder.opts.onImageSelectClick||this.builder.opts.imageselect?(d=u.querySelector(".input-select"),d&&Cv.addEventListener(d,"click",(()=>{if(this.builder.opts.onImageSelectClick)this.builder.opts.onImageSelectClick({targetInput:u.querySelector(".input-src"),theTrigger:d});else{let t=n.querySelector(".is-modal.imageselect"),e=t.querySelector("iframe");"about:blank"===e.src&&(e.src=this.builder.opts.imageselect),i.showModal(t),this.builder.selectFileTarget="columnsettings-bg"}}))):Cv.removeClass(v,"image-select");let f=u.querySelector("#fileImage3");Cv.addEventListener(f,"change",(t=>{let e=f;for(;"form"!==e.nodeName.toLowerCase();)e=e.parentNode;let i=e;Cv.addClass(i,"please-wait"),u.querySelector("#hidRefId3").value=this.builder.opts.customval,this.builder.opts.onLargerImageUpload?this.builder.opts.onLargerImageUpload(t):i.submit()}));const g=u.querySelector(".input-ok");Cv.addEventListener(g,"click",(()=>{let t=i.cellSelected();if(!t)return;this.builder.uo.saveForUndo();const e=u.querySelector(".input-src");t.style.backgroundImage=`url("${e.value}")`,t.style.backgroundSize="cover",t.style.backgroundRepeat="no-repeat";const n=c.querySelector(".cell-bgimage-preview"),o=this.cellSettings.querySelector(".input-cell-bgimageadjust");o.style.display="none",""!==e.value?(n.innerHTML=`<img src="${e.value}">`,o.style.display="flex"):n.innerHTML="",i.hideModal(u),this.builder.opts.onChange()}));const m=u.querySelector(".input-cancel");Cv.addEventListener(m,"click",(()=>{i.hideModal(u)}));const b=p.querySelector(".image-scale-slider");b.onfocus=()=>{this.builder.uo.saveForUndo(!0),b.blur()},b.oninput=()=>{let t=b.value;i.cellSelected().style.backgroundSize=t+"%"},b.onchange=()=>{this.builder.opts.onChange()};const y=p.querySelector(".image-hor-slider");y.onfocus=()=>{this.builder.uo.saveForUndo(!0),y.blur()},y.oninput=()=>{let t=y.value;i.cellSelected().style.backgroundPositionX=t+"%"},y.onchange=()=>{this.builder.opts.onChange()};const x=p.querySelector(".image-vert-slider");x.onfocus=()=>{this.builder.uo.saveForUndo(!0),x.blur()},x.oninput=()=>{let t=x.value;i.cellSelected().style.backgroundPositionY=t+"%"},x.onchange=()=>{this.builder.opts.onChange()},l=c.querySelectorAll(".input-row-enlarge"),Array.prototype.forEach.call(l,(t=>{Cv.addEventListener(t,"click",(()=>{this.builder.uo.saveForUndo();let e=t.getAttribute("data-command"),n=i.cellSelected().parentNode;Cv.removeClass(n,"expand-10"),Cv.removeClass(n,"expand-20"),Cv.removeClass(n,"expand-30"),Cv.removeClass(n,"expand-40"),Cv.removeClass(n,"expand-50"),Cv.removeClass(n,"expand-60"),Cv.addClass(n,"expand-"+e),this.builder.opts.onChange()}))}));const _=new yv({colors:this.builder.colors,gradientcolors:this.builder.opts.gradientcolors,lang:this.builder.opts.lang});c.querySelector(".input-cell-gradient").addEventListener("click",(()=>{this.builder.uo.saveForUndo(!0);let t=i.cellSelected();_.open(t,(()=>{this.cellSettings.querySelector(".input-cell-bgimageadjust").style.display="none";this.cellSettings.querySelector(".cell-bgimage-preview").innerHTML="";this.imageSource.querySelector(".input-src").value="",this.builder.opts.onChange()}),(t=>{}))})),l=c.querySelectorAll(".input-cell-textcolor"),Array.prototype.forEach.call(l,(t=>{Cv.addEventListener(t,"click",(()=>{this.builder.uo.saveForUndo();let e=t.getAttribute("data-command"),n=i.cellSelected();"dark"===e?(Cv.removeClass(n,"is-light-text"),Cv.addClass(n,"is-dark-text")):"light"===e?(Cv.removeClass(n,"is-dark-text"),Cv.addClass(n,"is-light-text")):(Cv.removeClass(n,"is-dark-text"),Cv.removeClass(n,"is-light-text"));let o=n.querySelectorAll("*");Array.prototype.forEach.call(o,(t=>{t.style.color&&(t.style.color="")})),this.builder.opts.onChange()}))})),l=c.querySelectorAll(".input-cell-padding"),Array.prototype.forEach.call(l,(t=>{Cv.addEventListener(t,"click",(()=>{this.builder.uo.saveForUndo();let e=t.getAttribute("data-command"),n=i.cellSelected(),o=this.cellSettings.querySelectorAll(".input-cell-padding");Array.prototype.forEach.call(o,(t=>{Cv.removeClass(t,"on")})),Cv.removeClass(n,"padding-0"),Cv.removeClass(n,"padding-10"),Cv.removeClass(n,"padding-20"),Cv.removeClass(n,"padding-30"),Cv.removeClass(n,"padding-40"),Cv.removeClass(n,"padding-50"),Cv.removeClass(n,"padding-60"),""!==e&&(Cv.addClass(n,"padding-"+e),Cv.addClass(t,"on")),this.builder.opts.onChange()}))})),l=c.querySelectorAll(".input-cell-height"),Array.prototype.forEach.call(l,(t=>{Cv.addEventListener(t,"click",(()=>{let e=this.builder.colHeight;this.builder.uo.saveForUndo();let n=t.getAttribute("data-command"),o=i.cellSelected(),r=this.cellSettings.querySelectorAll(".input-cell-height");if(Array.prototype.forEach.call(r,(t=>{Cv.removeClass(t,"on")})),""===n)Array.prototype.forEach.call(e,(t=>{Cv.removeClass(o,"min-height-"+t)}));else if("-"===n){let t=o.offsetHeight;Array.prototype.forEach.call(e,(i=>{if(t-i>0&&t-i<=50)if(Array.prototype.forEach.call(e,(t=>{Cv.removeClass(o,"min-height-"+t)})),Cv.addClass(o,"min-height-"+i),300===i){let t=this.cellSettings.querySelector('.input-cell-height[data-command="300"');Cv.addClass(t,"on")}else if(400===i){let t=this.cellSettings.querySelector('.input-cell-height[data-command="400"');Cv.addClass(t,"on")}else if(500===i){let t=this.cellSettings.querySelector('.input-cell-height[data-command="500"');Cv.addClass(t,"on")}else if(600===i){let t=this.cellSettings.querySelector('.input-cell-height[data-command="600"');Cv.addClass(t,"on")}else if(700===i){let t=this.cellSettings.querySelector('.input-cell-height[data-command="700"');Cv.addClass(t,"on")}}))}else if("+"===n){let t=o.offsetHeight;Array.prototype.forEach.call(e,(i=>{if(i-t>0&&i-t<=50)if(Array.prototype.forEach.call(e,(t=>{Cv.removeClass(o,"min-height-"+t)})),Cv.addClass(o,"min-height-"+i),300===i){let t=this.cellSettings.querySelector('.input-cell-height[data-command="300"');Cv.addClass(t,"on")}else if(400===i){let t=this.cellSettings.querySelector('.input-cell-height[data-command="400"');Cv.addClass(t,"on")}else if(500===i){let t=this.cellSettings.querySelector('.input-cell-height[data-command="500"');Cv.addClass(t,"on")}else if(600===i){let t=this.cellSettings.querySelector('.input-cell-height[data-command="600"');Cv.addClass(t,"on")}else if(700===i){let t=this.cellSettings.querySelector('.input-cell-height[data-command="700"');Cv.addClass(t,"on")}}))}else Array.prototype.forEach.call(e,(t=>{Cv.removeClass(o,"min-height-"+t)})),Cv.addClass(o,"min-height-"+n),Cv.addClass(t,"on");this.builder.opts.onChange()}))})),l=c.querySelectorAll(".cmd-content-pos"),Array.prototype.forEach.call(l,(t=>{Cv.addEventListener(t,"click",(()=>{this.builder.uo.saveForUndo();let e=t.getAttribute("data-pos"),n=i.cellSelected();n.style.display="flex",n.style.flexDirection="column";let o=this.cellSettings.querySelectorAll(".cmd-content-pos");Array.prototype.forEach.call(o,(t=>{Cv.removeClass(t,"on")})),"topleft"===e&&(n.style.justifyContent="flex-start",n.style.alignItems="flex-start",Cv.addClass(t,"on")),"topcenter"===e&&(n.style.justifyContent="flex-start",n.style.alignItems="center",Cv.addClass(t,"on")),"topright"===e&&(n.style.justifyContent="flex-start",n.style.alignItems="flex-end",Cv.addClass(t,"on")),"centerleft"===e&&(n.style.justifyContent="center",n.style.alignItems="flex-start",Cv.addClass(t,"on")),"center"===e&&(n.style.justifyContent="center",n.style.alignItems="center",Cv.addClass(t,"on")),"centerright"===e&&(n.style.justifyContent="center",n.style.alignItems="flex-end",Cv.addClass(t,"on")),"bottomleft"===e&&(n.style.justifyContent="flex-end",n.style.alignItems="flex-start",Cv.addClass(t,"on")),"bottomcenter"===e&&(n.style.justifyContent="flex-end",n.style.alignItems="center",Cv.addClass(t,"on")),"bottomright"===e&&(n.style.justifyContent="flex-end",n.style.alignItems="flex-end",Cv.addClass(t,"on")),this.builder.opts.onChange()}))})),""!==this.builder.opts.largerImageHandler||this.builder.opts.onLargerImageUpload||(this.cellSettings.querySelector(".image-larger4").style.display="none"),this.builder.opts.onImageSelectClick||""!==this.builder.opts.imageselect||(this.cellSettings.querySelector(".input-select").style.display="none"),(this.builder.opts.onImageSelectClick||this.builder.opts.imageselect)&&(d=this.cellSettings.querySelector(".input-select"),d&&Cv.addEventListener(d,"click",(()=>{if(this.builder.opts.onImageSelectClick)this.builder.opts.onImageSelectClick({targetInput:this.cellSettings.querySelector(".input-src"),theTrigger:d});else{let t=n.querySelector(".is-modal.imageselect"),e=t.querySelector("iframe");"about:blank"===e.src&&(e.src=this.builder.opts.imageselect),i.showModal(t),this.builder.selectFileTarget="columnsettings-click"}})));let w=this.cellSettings.querySelector("#fileImage4");Cv.addEventListener(w,"change",(t=>{let e=w;for(;"form"!==e.nodeName.toLowerCase();)e=e.parentNode;let i=e;Cv.addClass(i,"please-wait"),this.cellSettings.querySelector("#hidRefId4").value=this.builder.opts.customval,this.builder.opts.onLargerImageUpload?this.builder.opts.onLargerImageUpload(t):i.submit()}));const S=this.cellSettings.querySelector(".input-src");S.addEventListener("focus",(()=>{this.builder.uo.saveForUndo(!0)})),S.addEventListener("keyup",(()=>{let t=this.util.cellSelected();t&&(""===S.value?(Cv.removeClass(t,"block-click"),t.removeAttribute("data-modal-url")):(Cv.addClass(t,"block-click"),t.setAttribute("data-modal-url",S.value)),this.builder.opts.onChange())}))}this.columnTool=r,this.columnMore=o}applyClick(){let t=this.util.cellSelected();if(!t)return;this.builder.uo.saveForUndo();const e=this.cellSettings.querySelector(".input-src");Cv.addClass(t,"block-click"),t.setAttribute("data-modal-url",e.value),this.builder.opts.onChange()}readCellStyles(t){this.util.clearActiveElement();let e=t.style.backgroundColor,i=this.cellSettings.querySelector(".input-cell-bgcolor");i.style.backgroundColor=e||"transparent";let n="";const o=this.cellSettings.querySelector(".cell-bgimage-preview"),r=this.cellSettings.querySelector(".input-cell-bgimageadjust");r.style.display="none",t.style.backgroundImage&&-1!==t.style.backgroundImage.indexOf("url(")?(n=t.style.backgroundImage.slice(4,-1).replace(/["']/g,""),o.innerHTML=`<img src="${n}">`,r.style.display="flex"):o.innerHTML="";this.imageSource.querySelector(".input-src").value=n;const s=this.cellSettings.querySelector(".input-src");s.value="";let a=t.getAttribute("data-modal-url");a&&(s.value=a);let l=this.cellSettings.querySelectorAll(".input-cell-padding");if(Array.prototype.forEach.call(l,(t=>{Cv.removeClass(t,"on")})),Cv.hasClass(t,"padding-0")){let t=this.cellSettings.querySelector('.input-cell-padding[data-command="0"');Cv.addClass(t,"on")}else if(Cv.hasClass(t,"padding-10")){let t=this.cellSettings.querySelector('.input-cell-padding[data-command="10"');Cv.addClass(t,"on")}else if(Cv.hasClass(t,"padding-20")){let t=this.cellSettings.querySelector('.input-cell-padding[data-command="20"');Cv.addClass(t,"on")}else if(Cv.hasClass(t,"padding-30")){let t=this.cellSettings.querySelector('.input-cell-padding[data-command="30"');Cv.addClass(t,"on")}else if(Cv.hasClass(t,"padding-40")){let t=this.cellSettings.querySelector('.input-cell-padding[data-command="40"');Cv.addClass(t,"on")}else if(Cv.hasClass(t,"padding-50")){let t=this.cellSettings.querySelector('.input-cell-padding[data-command="50"');Cv.addClass(t,"on")}l=this.cellSettings.querySelectorAll(".input-cell-height"),Array.prototype.forEach.call(l,(t=>{Cv.removeClass(t,"on")}));let d=0,c=this.builder.colHeight;if(Array.prototype.forEach.call(c,(e=>{Cv.hasClass(t,"min-height-"+e)&&(d=e)})),300===d){let t=this.cellSettings.querySelector('.input-cell-height[data-command="300"');Cv.addClass(t,"on")}else if(400===d){let t=this.cellSettings.querySelector('.input-cell-height[data-command="400"');Cv.addClass(t,"on")}else if(500===d){let t=this.cellSettings.querySelector('.input-cell-height[data-command="500"');Cv.addClass(t,"on")}else if(600===d){let t=this.cellSettings.querySelector('.input-cell-height[data-command="600"');Cv.addClass(t,"on")}else if(700===d){let t=this.cellSettings.querySelector('.input-cell-height[data-command="700"');Cv.addClass(t,"on")}l=this.cellSettings.querySelectorAll(".cmd-content-pos"),Array.prototype.forEach.call(l,(t=>{Cv.removeClass(t,"on")}));let u=t.style.alignItems,p=t.style.justifyContent,h="";if("flex-start"===p?"flex-start"===u?h="topleft":"center"===u?h="topcenter":"flex-end"===u&&(h="topright"):"center"===p?"flex-start"===u?h="centerleft":"center"===u?h="center":"flex-end"===u&&(h="centerright"):"flex-end"===p&&("flex-start"===u?h="bottomleft":"center"===u?h="bottomcenter":"flex-end"===u&&(h="bottomright")),"topleft"===h){let t=this.cellSettings.querySelector('.cmd-content-pos[data-pos="topleft"');Cv.addClass(t,"on")}else if("topcenter"===h){let t=this.cellSettings.querySelector('.cmd-content-pos[data-pos="topcenter"');Cv.addClass(t,"on")}else if("topright"===h){let t=this.cellSettings.querySelector('.cmd-content-pos[data-pos="topright"');Cv.addClass(t,"on")}else if("centerleft"===h){let t=this.cellSettings.querySelector('.cmd-content-pos[data-pos="centerleft"');Cv.addClass(t,"on")}else if("center"===h){let t=this.cellSettings.querySelector('.cmd-content-pos[data-pos="center"');Cv.addClass(t,"on")}else if("centerright"===h){let t=this.cellSettings.querySelector('.cmd-content-pos[data-pos="centerright"');Cv.addClass(t,"on")}else if("bottomleft"===h){let t=this.cellSettings.querySelector('.cmd-content-pos[data-pos="bottomleft"');Cv.addClass(t,"on")}else if("bottomcenter"===h){let t=this.cellSettings.querySelector('.cmd-content-pos[data-pos="bottomcenter"');Cv.addClass(t,"on")}else if("bottomright"===h){let t=this.cellSettings.querySelector('.cmd-content-pos[data-pos="bottomright"');Cv.addClass(t,"on")}const v=this.imageAdjust.querySelector(".image-scale-slider"),f=this.imageAdjust.querySelector(".image-hor-slider"),g=this.imageAdjust.querySelector(".image-vert-slider");if(v.value=100,f.value=0,g.value=0,t.style.backgroundSize){let e,i=t.style.backgroundSize;e=isNaN(parseInt(i))?100:parseInt(i),-1!==i.indexOf("%")&&(v.value=e)}if(t.style.backgroundPositionX){let e,i=t.style.backgroundPositionX;e=isNaN(parseInt(i))?0:parseInt(i),-1!==i.indexOf("%")&&(f.value=e)}if(t.style.backgroundPositionY){let e,i=t.style.backgroundPositionY;e=isNaN(parseInt(i))?0:parseInt(i),-1!==i.indexOf("%")&&(g.value=e)}}showHideLockIndicator(t){const e=this.lockIndicator;if(t.hasAttribute("data-noedit")){const i=t.getBoundingClientRect().top+window.pageYOffset,n=t.getBoundingClientRect().left+window.pageXOffset,o=t.offsetWidth*this.builder.zoom;e.style.display="flex",e.style.top=i+4+"px",e.style.left=n+o-33+"px"}else e.style.display=""}click(t){if(Cv.addClass(this.columnTool,"active"),this.columnTool.style.top=t.getBoundingClientRect().top-29+window.pageYOffset+"px",this.columnTool.style.left=t.getBoundingClientRect().left-1+"px",Cv.parentsHasAttribute(t,"nogrid")){this.columnMore.querySelector(".cell-prev").style.display="none",this.columnMore.querySelector(".cell-next").style.display="none",this.columnMore.querySelector(".cell-up").style.display="none",this.columnMore.querySelector(".cell-down").style.display="none",this.columnMore.querySelector(".cell-increase").style.display="none",this.columnMore.querySelector(".cell-decrease").style.display="none",this.columnMore.querySelector(".cell-duplicate").style.display="none";let e=this.columnMore.querySelector(".cell-html");e&&(e.style.display=""),this.columnTool.querySelector(".cell-add").style.display="none",this.columnTool.querySelector(".cell-remove").style.display="none",t.getAttribute("data-html")&&(this.columnMore.querySelector(".cell-html").style.display="none",this.columnTool.querySelector(".cell-more").style.display="none")}else{this.columnMore.querySelector(".cell-prev").style.display="",this.columnMore.querySelector(".cell-next").style.display="",this.columnMore.querySelector(".cell-up").style.display="",this.columnMore.querySelector(".cell-down").style.display="",this.columnMore.querySelector(".cell-increase").style.display="",this.columnMore.querySelector(".cell-decrease").style.display="",this.columnMore.querySelector(".cell-duplicate").style.display="";let e=this.columnMore.querySelector(".cell-html");e&&(e.style.display=""),this.columnTool.querySelector(".cell-add").style.display="",this.columnTool.querySelector(".cell-remove").style.display="";let i=t.parentNode,n=2;i.querySelector(".is-row-overlay")&&(n=3),i.childElementCount-n==1?(this.columnMore.querySelector(".cell-prev").style.display="none",this.columnMore.querySelector(".cell-next").style.display="none",this.columnMore.querySelector(".cell-increase").style.display="none",this.columnMore.querySelector(".cell-decrease").style.display="none"):(this.columnMore.querySelector(".cell-prev").style.display="",this.columnMore.querySelector(".cell-next").style.display="",this.columnMore.querySelector(".cell-increase").style.display="",this.columnMore.querySelector(".cell-decrease").style.display="");let o=this.columnMore.querySelector(".cell-duplicate");if(t.getAttribute("data-html")?(e&&(e.style.display="none"),o&&(o.style.display="none")):(e&&(e.style.display=""),o&&(o.style.display="")),i.hasAttribute("data-protected"))i.querySelector(".is-row-tool").style.display="none",this.columnTool.style.display="none";else{i.querySelectorAll("[data-protected]").length>0?i.querySelector(".is-row-tool").style.display="none":i.querySelector(".is-row-tool").style.display="",this.columnTool.style.display="",Cv.parentsHasAttribute(t,"data-protected")?(this.columnTool.querySelector(".cell-remove").style.display="none",this.columnTool.querySelector(".cell-more").style.display="none"):(this.columnTool.querySelector(".cell-remove").style.display="",this.columnTool.querySelector(".cell-more").style.display="")}}}refreshColumnTool(t){this.grid.refreshColumnTool(t)}showColumnTool(t){this.grid.showColumnTool(t)}hideColumnTool(){this.grid.hideColumnTool()}}const Ev=new e;class Lv{constructor(e){this.builder=e;const i=new t(e);this.util=i;const n=i.builderStuff();this.builderStuff=n;let o=n.querySelector(".editstyles");if(!o){let t=`\n <div class="is-modal is-modal-content editstyles">\n <div class="is-modal-bar is-draggable">\n <div class="is-modal-close" role="button" tabindex="0" title="${i.out("Close")}">✕</div>\n </div>\n <div style="padding:12px">\n <div class="is-settings clearfix" style="display:inline-block;width:100%;margin-bottom:0;">\n <div>${i.out("Style")}:</div>\n <div>\n <textarea id="inpElmInlineStyle" style="width:100%;height:256px;margin:0px;border:none;font-size: 14px;line-height: 1.5;letter-spacing: 0;"></textarea>\n </div>\n </div>\n <div class="is-settings clearfix" style="display:inline-block;width:100%;margin-bottom:0;">\n <div>${i.out("Class")}:</div>\n <div>\n <input type="text" id="inpElmClassName" value="" style="width:100%;padding-left: 16px;font-family: courier;font-size: 14px;line-height: 2;letter-spacing: 1px;border:none;"/>\n </div>\n </div>\n </div>\n </div> \n `;Ev.appendHtml(n,t),o=n.querySelector(".editstyles");let e=o.querySelector(".is-modal-close");Ev.addEventListener(e,"click",(()=>{Ev.removeClass(o,"active");var t=this.builderStuff.querySelector(".is-side.elementstyles");if(!Ev.hasClass(t,"active")){let t=document.querySelectorAll("[data-saveforundo]");Array.prototype.forEach.call(t,(t=>{t.removeAttribute("data-saveforundo")})),t=document.querySelectorAll(".elm-inspected"),Array.prototype.forEach.call(t,(t=>{Ev.removeClass(t,"elm-inspected")}))}}));let r=o.querySelector("#inpElmClassName");r.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=o.querySelector("#inpElmClassName").value,i=!1;Ev.hasClass(t,"elm-active")&&(i=!0);let n=!1;Ev.hasClass(t,"elm-active")&&(n=!0);let r=!1;Ev.hasClass(t,"row-active")&&(r=!0),t.setAttribute("class",e),i&&Ev.addClass(t,"elm-active"),n&&Ev.addClass(t,"cell-active"),r&&Ev.addClass(t,"row-active"),Ev.addClass(t,"elm-inspected"),this.builder.opts.onChange()})),r=o.querySelector("#inpElmInlineStyle"),r.addEventListener("keyup",(()=>{this.builder.inspectedElement.style.cssText=o.querySelector("#inpElmInlineStyle").value,this.builder.opts.onChange()}))}this.modalStyles=o}toggleStyleEditor(){Ev.hasClass(this.modalStyles,"active")?Ev.removeClass(this.modalStyles,"active"):Ev.addClass(this.modalStyles,"active")}refresh(){this.modalStyles.querySelector("#inpElmInlineStyle").value=this.builder.inspectedElement.style.cssText;let t=this.builder.inspectedElement.getAttribute("class");t&&(t=t.replace("elm-active",""),t=t.replace("cell-active",""),t=t.replace("row-active",""),t=t.replace("elm-inspected",""),t=t.replace(" "," ").trim()),this.modalStyles.querySelector("#inpElmClassName").value=t}}const Av=new e;class qv{constructor(e){this.builder=e;const i=new t(e);this.util=i;const n=i.builderStuff();this.builderStuff=n;const o=new Lv(e);let r=n.querySelector("#divElementBox");this.panelStuff=r;const s=`\n <div class="is-settings clearfix">\n <div class="is-label">${i.out("Background Color")}:</div>\n <div>\n <button title="${i.out("Background Color")}" class="input-elm-bgcolor is-btn-color" style="margin-right:15px"></button>\n <button title="${i.out("Gradient")}" class="input-elm-gradient classic" data-value="+"> ${i.out("Gradient")} </button>\n </div>\n </div>\n\n <div style="margin-top: 25px;font-weight:bold;width:100%;">${i.out("Dimension")}</div>\n \n <div class="is-settings clearfix" style="width:110px">\n <div><label for="inpElmWidth">${i.out("Width")}:</label></div>\n <div style="display:flex">\n <input type="text" id="inpElmWidth" value="" style="width:45px"/>\n <select id="inpElmWidthUnit"">\n <option value="px">px</option>\n <option value="em">em</option>\n <option value="vw">vw</option>\n <option value="vh">vh</option>\n <option value="%">%</option>\n </select>\n </div>\n </div>\n <div class="is-settings clearfix" style="width:110px;">\n <div><label for="inpElmHeight">${i.out("Height")}:</label></div>\n <div style="display:flex">\n <input type="text" id="inpElmHeight" value="" style="width:45px"/>\n <select id="inpElmHeightUnit"">\n <option value="px">px</option>\n <option value="em">em</option>\n <option value="vw">vw</option>\n <option value="vh">vh</option>\n <option value="%">%</option>\n </select>\n </div>\n </div>\n <div class="is-settings clearfix" style="width:110px;">\n <div><label for="inpElmMaxWidth">${i.out("Max Width")}:</label></div>\n <div style="display:flex">\n <input type="text" id="inpElmMaxWidth" value="" style="width:45px"/>\n <select id="inpElmMaxWidthUnit"">\n <option value="px">px</option>\n <option value="em">em</option>\n <option value="vw">vw</option>\n <option value="vh">vh</option>\n <option value="%">%</option>\n </select>\n </div>\n </div>\n <div class="is-settings clearfix" style="width:110px;">\n <div><label for="inpElmMaxHeight">${i.out("Max Height")}:</label></div>\n <div style="display:flex">\n <input type="text" id="inpElmMaxHeight" value="" style="width:45px"/>\n <select id="inpElmMaxHeightUnit"">\n <option value="px">px</option>\n <option value="em">em</option>\n <option value="vw">vw</option>\n <option value="vh">vh</option>\n <option value="%">%</option>\n </select>\n </div>\n </div>\n <div class="is-settings clearfix" style="width:110px;">\n <div><label for="inpElmMinWidth">${i.out("Min Width")}:</label></div>\n <div style="display:flex">\n <input type="text" id="inpElmMinWidth" value="" style="width:45px"/>\n <select id="inpElmMinWidthUnit"">\n <option value="px">px</option>\n <option value="em">em</option>\n <option value="vw">vw</option>\n <option value="vh">vh</option>\n <option value="%">%</option>\n </select>\n </div>\n </div>\n <div class="is-settings clearfix" style="width:110px;">\n <div><label for="inpElmMinHeight">${i.out("Min Height")}:</label></div>\n <div style="display:flex">\n <input type="text" id="inpElmMinHeight" value="" style="width:45px"/>\n <select id="inpElmMinHeightUnit"">\n <option value="px">px</option>\n <option value="em">em</option>\n <option value="vw">vw</option>\n <option value="vh">vh</option>\n <option value="%">%</option>\n </select>\n </div>\n </div>\n \n <div class="is-settings clearfix" style="width:110px;">\n <div>${i.out("Overflow x")}:</div>\n <div>\n <select id="inpElmOverflowX"">\n <option value=""></option>\n <option value="auto">Auto</option>\n <option value="hidden">Hidden</option>\n </select>\n </div>\n </div>\n <div class="is-settings clearfix" style="width:110px;">\n <div>${i.out("Overflow y")}:</div>\n <div>\n <select id="inpElmOverflowY"">\n <option value=""></option>\n <option value="auto">Auto</option>\n <option value="hidden">Hidden</option>\n </select>\n </div>\n </div>\n `;Av.appendHtml(r,s),r.querySelector(".input-elm-bgcolor").addEventListener("click",(t=>{this.builder.uo.saveForUndo(!0);let e=t.target;this.builder.colorPicker.open((t=>{this.builder.inspectedElement.style.backgroundColor=t,e.style.backgroundColor=t,o.refresh(),this.builder.opts.onChange()}),r.querySelector(".input-elm-bgcolor").style.backgroundColor)}));const a=new yv({colors:this.builder.colors,gradientcolors:this.builder.opts.gradientcolors,lang:this.builder.opts.lang});r.querySelector(".input-elm-gradient").addEventListener("click",(()=>{this.builder.uo.saveForUndo(!0),a.open(this.builder.inspectedElement,(()=>{o.refresh(),this.builder.opts.onChange()}),(t=>{t&&o.refresh()}))}));let l=r.querySelector("#inpElmMaxWidth");l.addEventListener("click",(()=>{this.builder.uo.saveForUndo()})),l.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=r.querySelector("#inpElmMaxWidth").value,i=r.querySelector("#inpElmMaxWidthUnit").value;isNaN(e)||""===e?t.style.maxWidth="":t.style.maxWidth=e+i,o.refresh(),this.builder.opts.onChange()})),r.querySelector("#inpElmMaxWidthUnit").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=r.querySelector("#inpElmMaxWidth").value,i=r.querySelector("#inpElmMaxWidthUnit").value;isNaN(e)||""===e?t.style.maxWidth="":t.style.maxWidth=e+i,o.refresh(),this.builder.opts.onChange()}));let d=r.querySelector("#inpElmMaxHeight");d.addEventListener("click",(()=>{this.builder.uo.saveForUndo()})),d.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=r.querySelector("#inpElmMaxHeight").value,i=r.querySelector("#inpElmMaxHeightUnit").value;isNaN(e)||""===e?t.style.maxHeight="":t.style.maxHeight=e+i,o.refresh(),this.builder.opts.onChange()})),r.querySelector("#inpElmMaxHeightUnit").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=r.querySelector("#inpElmMaxHeight").value,i=r.querySelector("#inpElmMaxHeightUnit").value;isNaN(e)||""===e?t.style.maxHeight="":t.style.maxHeight=e+i,o.refresh(),this.builder.opts.onChange()}));let c=r.querySelector("#inpElmMinWidth");c.addEventListener("click",(()=>{this.builder.uo.saveForUndo()})),c.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=r.querySelector("#inpElmMinWidth").value,i=r.querySelector("#inpElmMinWidthUnit").value;isNaN(e)||""===e?t.style.minWidth="":t.style.minWidth=e+i,o.refresh(),this.builder.opts.onChange()})),r.querySelector("#inpElmMinWidthUnit").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=r.querySelector("#inpElmMinWidth").value,i=r.querySelector("#inpElmMinWidthUnit").value;isNaN(e)||""===e?t.style.minWidth="":t.style.minWidth=e+i,o.refresh(),this.builder.opts.onChange()}));let u=r.querySelector("#inpElmMinHeight");u.addEventListener("click",(()=>{this.builder.uo.saveForUndo()})),u.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=r.querySelector("#inpElmMinHeight").value,i=r.querySelector("#inpElmMinHeightUnit").value;isNaN(e)||""===e?t.style.minHeight="":t.style.minHeight=e+i,o.refresh(),this.builder.opts.onChange()})),r.querySelector("#inpElmMinHeightUnit").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=r.querySelector("#inpElmMinHeight").value,i=r.querySelector("#inpElmMinHeightUnit").value;isNaN(e)||""===e?t.style.minHeight="":t.style.minHeight=e+i,o.refresh(),this.builder.opts.onChange()}));let p=r.querySelector("#inpElmWidth");p.addEventListener("click",(()=>{this.builder.uo.saveForUndo()})),p.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=r.querySelector("#inpElmWidth").value,i=r.querySelector("#inpElmWidthUnit").value;isNaN(e)||""===e?t.style.width="":t.style.width=e+i,o.refresh(),this.builder.opts.onChange()})),r.querySelector("#inpElmWidthUnit").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=r.querySelector("#inpElmWidth").value,i=r.querySelector("#inpElmWidthUnit").value;isNaN(e)||""===e?t.style.width="":t.style.width=e+i,o.refresh(),this.builder.opts.onChange()}));let h=r.querySelector("#inpElmHeight");h.addEventListener("click",(()=>{this.builder.uo.saveForUndo()})),h.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=r.querySelector("#inpElmHeight").value,i=r.querySelector("#inpElmHeightUnit").value;isNaN(e)||""===e?t.style.height="":t.style.height=e+i,o.refresh(),this.builder.opts.onChange()})),r.querySelector("#inpElmHeightUnit").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=r.querySelector("#inpElmHeight").value,i=r.querySelector("#inpElmHeightUnit").value;isNaN(e)||""===e?t.style.height="":t.style.height=e+i,o.refresh(),this.builder.opts.onChange()})),r.querySelector("#inpElmOverflowX").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=r.querySelector("#inpElmOverflowX").value;t.style.overflowX=e,o.refresh(),this.builder.opts.onChange()})),r.querySelector("#inpElmOverflowY").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=r.querySelector("#inpElmOverflowY").value;t.style.overflowY=e,o.refresh(),this.builder.opts.onChange()}))}readElementStyles(t){let e=this.panelStuff,i=t.style.backgroundColor,n=e.querySelector(".input-elm-bgcolor");n.style.backgroundColor=i||"transparent";const o=e.querySelector("#inpElmMaxWidth"),r=e.querySelector("#inpElmMaxWidthUnit");o.value="",r.value="px",i=t.style.maxWidth;let s=parseInt(i);isNaN(s)||(-1!==i.indexOf("%")&&(r.value="%"),-1!==i.indexOf("px")&&(r.value="px"),-1!==i.indexOf("vw")&&(r.value="vw"),-1!==i.indexOf("vh")&&(r.value="vh"),-1!==i.indexOf("em")&&(r.value="em"),o.value=s);const a=e.querySelector("#inpElmMaxHeight"),l=e.querySelector("#inpElmMaxHeightUnit");a.value="",l.value="px",i=t.style.maxHeight;let d=parseInt(i);isNaN(d)||(-1!==i.indexOf("%")&&(l.value="%"),-1!==i.indexOf("px")&&(l.value="px"),-1!==i.indexOf("vw")&&(l.value="vw"),-1!==i.indexOf("vh")&&(l.value="vh"),-1!==i.indexOf("em")&&(l.value="em"),a.value=d);const c=e.querySelector("#inpElmMinWidth"),u=e.querySelector("#inpElmMinWidthUnit");c.value="",u.value="px",i=t.style.minWidth;let p=parseInt(i);isNaN(p)||(-1!==i.indexOf("%")&&(u.value="%"),-1!==i.indexOf("px")&&(u.value="px"),-1!==i.indexOf("vw")&&(u.value="vw"),-1!==i.indexOf("vh")&&(u.value="vh"),-1!==i.indexOf("em")&&(u.value="em"),c.value=p);const h=e.querySelector("#inpElmMinHeight"),v=e.querySelector("#inpElmMinHeightUnit");h.value="",v.value="px",i=t.style.minHeight;let f=parseInt(i);isNaN(f)||(-1!==i.indexOf("%")&&(v.value="%"),-1!==i.indexOf("px")&&(v.value="px"),-1!==i.indexOf("vw")&&(v.value="vw"),-1!==i.indexOf("vh")&&(v.value="vh"),-1!==i.indexOf("em")&&(v.value="em"),h.value=f);const g=e.querySelector("#inpElmWidth"),m=e.querySelector("#inpElmWidthUnit");g.value="",m.value="px",i=t.style.width;let b=parseInt(i);isNaN(b)||(-1!==i.indexOf("%")&&(m.value="%"),-1!==i.indexOf("px")&&(m.value="px"),-1!==i.indexOf("vw")&&(m.value="vw"),-1!==i.indexOf("vh")&&(m.value="vh"),-1!==i.indexOf("em")&&(m.value="em"),g.value=b);const y=e.querySelector("#inpElmHeight"),x=e.querySelector("#inpElmHeightUnit");y.value="",x.value="px",i=t.style.height;let _=parseInt(i);isNaN(_)||(-1!==i.indexOf("%")&&(x.value="%"),-1!==i.indexOf("px")&&(x.value="px"),-1!==i.indexOf("vw")&&(x.value="vw"),-1!==i.indexOf("vh")&&(x.value="vh"),-1!==i.indexOf("em")&&(x.value="em"),y.value=_);const w=e.querySelector("#inpElmOverflowX");i=t.style.overflowX,w.value=i;const S=e.querySelector("#inpElmOverflowY");i=t.style.overflowY,S.value=i}}const Tv=new e;class Mv{constructor(e){this.builder=e;const i=new t(e);this.util=i;const n=i.builderStuff();this.builderStuff=n;const o=new Lv(e);let r=n.querySelector("#divElementSpacing");this.panelStuff=r;const s=`\n <div style="margin-top: 13px;font-weight: bold;width:100%">${i.out("Padding")}</div>\n \n <div class="is-settings clearfix" style="width:110px;">\n <div>${i.out("Top")}:</div>\n <div style="display:flex;">\n <input type="text" id="inpElmPaddingTop" value="" style="width:45px"/>\n <select id="inpElmPaddingTopUnit">\n <option value="px">px</option>\n <option value="em">em</option>\n <option value="vw">vw</option>\n <option value="vh">vh</option>\n <option value="%">%</option>\n </select>\n </div>\n </div>\n <div class="is-settings clearfix" style="width:110px;">\n <div>${i.out("Bottom")}:</div>\n <div style="display:flex;">\n <input type="text" id="inpElmPaddingBottom" value="" style="width:45px"/>\n <select id="inpElmPaddingBottomUnit">\n <option value="px">px</option>\n <option value="em">em</option>\n <option value="vw">vw</option>\n <option value="vh">vh</option>\n <option value="%">%</option>\n </select>\n </div>\n </div>\n <div class="is-settings clearfix" style="width:110px;">\n <div>${i.out("Left")}:</div>\n <div style="display:flex;">\n <input type="text" id="inpElmPaddingLeft" value="" style="width:45px"/>\n <select id="inpElmPaddingLeftUnit">\n <option value="px">px</option>\n <option value="em">em</option>\n <option value="vw">vw</option>\n <option value="vh">vh</option>\n <option value="%">%</option>\n </select>\n </div>\n </div>\n <div class="is-settings clearfix" style="width:110px;">\n <div>${i.out("Right")}:</div>\n <div style="display:flex;">\n <input type="text" id="inpElmPaddingRight" value="" style="width:45px"/>\n <select id="inpElmPaddingRightUnit">\n <option value="px">px</option>\n <option value="em">em</option>\n <option value="vw">vw</option>\n <option value="vh">vh</option>\n <option value="%">%</option>\n </select>\n </div>\n </div>\n \n <div style="margin-top: 25px;font-weight: bold;width:100%">${i.out("Margin")}</div>\n \n <div class="is-settings clearfix" style="width:110px;">\n <div>${i.out("Top")}:</div>\n <div style="display:flex;">\n <input type="text" id="inpElmMarginTop" value="" style="width:45px"/>\n <select id="inpElmMarginTopUnit">\n <option value="px">px</option>\n <option value="em">em</option>\n <option value="vw">vw</option>\n <option value="vh">vh</option>\n <option value="%">%</option>\n <option value="auto">auto</option>\n </select>\n </div>\n </div>\n <div class="is-settings clearfix" style="width:110px;">\n <div>${i.out("Bottom")}:</div>\n <div style="display:flex;">\n <input type="text" id="inpElmMarginBottom" value="" style="width:45px"/>\n <select id="inpElmMarginBottomUnit">\n <option value="px">px</option>\n <option value="em">em</option>\n <option value="vw">vw</option>\n <option value="vh">vh</option>\n <option value="%">%</option>\n <option value="auto">auto</option>\n </select>\n </div>\n </div>\n <div class="is-settings clearfix" style="width:110px;">\n <div>${i.out("Left")}:</div>\n <div style="display:flex;">\n <input type="text" id="inpElmMarginLeft" value="" style="width:45px"/>\n <select id="inpElmMarginLeftUnit">\n <option value="px">px</option>\n <option value="em">em</option>\n <option value="vw">vw</option>\n <option value="vh">vh</option>\n <option value="%">%</option>\n <option value="auto">auto</option>\n </select>\n </div>\n </div>\n <div class="is-settings clearfix" style="width:110px;">\n <div>${i.out("Right")}:</div>\n <div style="display:flex;">\n <input type="text" id="inpElmMarginRight" value="" style="width:45px"/>\n <select id="inpElmMarginRightUnit">\n <option value="px">px</option>\n <option value="em">em</option>\n <option value="vw">vw</option>\n <option value="vh">vh</option>\n <option value="%">%</option>\n <option value="auto">auto</option>\n </select>\n </div>\n </div>\n \n <div style="margin-top: 25px;font-weight: bold;width:100%">${i.out("Responsive Positioning")}:</div>\n \n <div class="is-settings clearfix" style="width:100%;">\n <div>\n <label for="chkResetMarginLeft" style="letter-spacing: 0.5px;"><input type="checkbox" id="chkResetMarginLeft" value="" /> ${i.out("Reset margin left on small screen")} </label>\n </div>\n </div>\n <div class="is-settings clearfix" style="margin-top:0;width:100%;">\n <div>\n <label for="chkResetMarginRight" style="letter-spacing: 0.5px;"><input type="checkbox" id="chkResetMarginRight" value="" /> ${i.out("Reset margin right on small screen")} </label>\n </div>\n </div>\n `;Tv.appendHtml(r,s);let a=r.querySelector("#inpElmMarginLeft");a.addEventListener("click",(()=>{this.builder.uo.saveForUndo()}));let l=r.querySelector("#inpElmMarginLeftUnit");a.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=a.value,i=l.value;isNaN(e)||""===e?t.style.marginLeft="":t.style.marginLeft=e+i,"auto"===i&&(t.style.marginLeft="auto"),o.refresh(),this.builder.opts.onChange()})),l.addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=a.value,i=l.value;"auto"===i?(t.style.marginLeft="auto",a.value=""):t.style.marginLeft=e+i,o.refresh(),this.builder.opts.onChange()}));let d=r.querySelector("#inpElmMarginRight");d.addEventListener("click",(()=>{this.builder.uo.saveForUndo()}));let c=r.querySelector("#inpElmMarginRightUnit");d.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=d.value,i=c.value;isNaN(e)||""===e?t.style.marginRight="":t.style.marginRight=e+i,"auto"===i&&(t.style.marginRight="auto"),o.refresh(),this.builder.opts.onChange()})),c.addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=d.value,i=c.value;"auto"===i?(t.style.marginRight="auto",d.value=""):t.style.marginRight=e+i,o.refresh(),this.builder.opts.onChange()}));let u=r.querySelector("#inpElmMarginTop");u.addEventListener("click",(()=>{this.builder.uo.saveForUndo()}));let p=r.querySelector("#inpElmMarginTopUnit");u.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=u.value,i=p.value;isNaN(e)||""===e?t.style.marginTop="":t.style.marginTop=e+i,"auto"===i&&(t.style.marginTop="auto"),o.refresh(),this.builder.opts.onChange()})),p.addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=u.value,i=p.value;"auto"===i?(t.style.marginTop="auto",u.value=""):t.style.marginTop=e+i,o.refresh(),this.builder.opts.onChange()}));let h=r.querySelector("#inpElmMarginBottom");h.addEventListener("click",(()=>{this.builder.uo.saveForUndo()}));let v=r.querySelector("#inpElmMarginBottomUnit");h.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=h.value,i=v.value;isNaN(e)||""===e?t.style.marginBottom="":t.style.marginBottom=e+i,"auto"===i&&(t.style.marginBottom="auto"),o.refresh(),this.builder.opts.onChange()})),v.addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=h.value,i=v.value;"auto"===i?(t.style.marginBottom="auto",h.value=""):t.style.marginBottom=e+i,o.refresh(),this.builder.opts.onChange()}));let f=r.querySelector("#inpElmPaddingLeft");f.addEventListener("click",(()=>{this.builder.uo.saveForUndo()}));let g=r.querySelector("#inpElmPaddingLeftUnit");f.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=f.value,i=g.value;isNaN(e)||""===e?t.style.paddingLeft="":t.style.paddingLeft=e+i,o.refresh(),this.builder.opts.onChange()})),g.addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=f.value,i=g.value;isNaN(e)||""===e?t.style.paddingLeft="":t.style.paddingLeft=e+i,o.refresh(),this.builder.opts.onChange()}));let m=r.querySelector("#inpElmPaddingRight");m.addEventListener("click",(()=>{this.builder.uo.saveForUndo()}));let b=r.querySelector("#inpElmPaddingRightUnit");m.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=m.value,i=b.value;isNaN(e)||""===e?t.style.paddingRight="":t.style.paddingRight=e+i,o.refresh(),this.builder.opts.onChange()})),b.addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=m.value,i=b.value;isNaN(e)||""===e?t.style.paddingRight="":t.style.paddingRight=e+i,o.refresh(),this.builder.opts.onChange()}));let y=r.querySelector("#inpElmPaddingTop");y.addEventListener("click",(()=>{this.builder.uo.saveForUndo()}));let x=r.querySelector("#inpElmPaddingTopUnit");y.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=y.value,i=x.value;isNaN(e)||""===e?t.style.paddingTop="":t.style.paddingTop=e+i,o.refresh(),this.builder.opts.onChange()})),x.addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=y.value,i=x.value;isNaN(e)||""===e?t.style.paddingTop="":t.style.paddingTop=e+i,o.refresh(),this.builder.opts.onChange()}));let _=r.querySelector("#inpElmPaddingBottom");_.addEventListener("click",(()=>{this.builder.uo.saveForUndo()}));let w=r.querySelector("#inpElmPaddingBottomUnit");_.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=_.value,i=w.value;isNaN(e)||""===e?t.style.paddingBottom="":t.style.paddingBottom=e+i,o.refresh(),this.builder.opts.onChange()})),w.addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=_.value,i=w.value;isNaN(e)||""===e?t.style.paddingBottom="":t.style.paddingBottom=e+i,o.refresh(),this.builder.opts.onChange()}));let S=r.querySelector("#chkResetMarginLeft");S.addEventListener("click",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement;S.checked?Tv.addClass(t,"margin-left-1024-reset"):Tv.removeClass(t,"margin-left-1024-reset"),o.refresh(),this.builder.opts.onChange()}));let C=r.querySelector("#chkResetMarginRight");C.addEventListener("click",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement;C.checked?Tv.addClass(t,"margin-right-1024-reset"):Tv.removeClass(t,"margin-right-1024-reset"),o.refresh(),this.builder.opts.onChange()}))}readElementStyles(t){let e,i=this.panelStuff;const n=i.querySelector("#inpElmMarginTop"),o=i.querySelector("#inpElmMarginTopUnit");n.value="",o.value="px",e=t.style.marginTop;let r=parseInt(e);isNaN(r)?e&&-1!==e.indexOf("auto")&&(o.value="auto",n.value=""):(-1!==e.indexOf("%")&&(o.value="%"),-1!==e.indexOf("px")&&(o.value="px"),-1!==e.indexOf("vw")&&(o.value="vw"),-1!==e.indexOf("vh")&&(o.value="vh"),-1!==e.indexOf("em")&&(o.value="em"),n.value=r);const s=i.querySelector("#inpElmMarginBottom"),a=i.querySelector("#inpElmMarginBottomUnit");s.value="",a.value="px",e=t.style.marginBottom;let l=parseInt(e);isNaN(l)?e&&-1!==e.indexOf("auto")&&(a.value="auto",s.value=""):(-1!==e.indexOf("%")&&(a.value="%"),-1!==e.indexOf("px")&&(a.value="px"),-1!==e.indexOf("vw")&&(a.value="vw"),-1!==e.indexOf("vh")&&(a.value="vh"),-1!==e.indexOf("em")&&(a.value="em"),s.value=l);const d=i.querySelector("#inpElmMarginLeft"),c=i.querySelector("#inpElmMarginLeftUnit");d.value="",c.value="px",e=t.style.marginLeft;let u=parseInt(e);isNaN(u)?e&&-1!==e.indexOf("auto")&&(c.value="auto",d.value=""):(-1!==e.indexOf("%")&&(c.value="%"),-1!==e.indexOf("px")&&(c.value="px"),-1!==e.indexOf("vw")&&(c.value="vw"),-1!==e.indexOf("vh")&&(c.value="vh"),-1!==e.indexOf("em")&&(c.value="em"),d.value=u);const p=i.querySelector("#inpElmMarginRight"),h=i.querySelector("#inpElmMarginRightUnit");p.value="",h.value="px",e=t.style.marginRight;let v=parseInt(e);isNaN(v)?e&&-1!==e.indexOf("auto")&&(h.value="auto",p.value=""):(-1!==e.indexOf("%")&&(h.value="%"),-1!==e.indexOf("px")&&(h.value="px"),-1!==e.indexOf("vw")&&(h.value="vw"),-1!==e.indexOf("vh")&&(h.value="vh"),-1!==e.indexOf("em")&&(h.value="em"),p.value=v);const f=i.querySelector("#inpElmPaddingTop"),g=i.querySelector("#inpElmPaddingTopUnit");f.value="",g.value="px",e=t.style.paddingTop;let m=parseInt(e);isNaN(m)||(-1!==e.indexOf("%")&&(g.value="%"),-1!==e.indexOf("px")&&(g.value="px"),-1!==e.indexOf("vw")&&(g.value="vw"),-1!==e.indexOf("vh")&&(g.value="vh"),-1!==e.indexOf("em")&&(g.value="em"),f.value=m);const b=i.querySelector("#inpElmPaddingBottom"),y=i.querySelector("#inpElmPaddingBottomUnit");b.value="",y.value="px",e=t.style.paddingBottom;let x=parseInt(e);isNaN(x)||(-1!==e.indexOf("%")&&(y.value="%"),-1!==e.indexOf("px")&&(y.value="px"),-1!==e.indexOf("vw")&&(y.value="vw"),-1!==e.indexOf("vh")&&(y.value="vh"),-1!==e.indexOf("em")&&(y.value="em"),b.value=x);const _=i.querySelector("#inpElmPaddingLeft"),w=i.querySelector("#inpElmPaddingLeftUnit");_.value="",w.value="px",e=t.style.paddingLeft;let S=parseInt(e);isNaN(S)||(-1!==e.indexOf("%")&&(w.value="%"),-1!==e.indexOf("px")&&(w.value="px"),-1!==e.indexOf("vw")&&(w.value="vw"),-1!==e.indexOf("vh")&&(w.value="vh"),-1!==e.indexOf("em")&&(w.value="em"),_.value=S);const C=i.querySelector("#inpElmPaddingRight"),k=i.querySelector("#inpElmPaddingRightUnit");C.value="",k.value="px",e=t.style.paddingRight;let E=parseInt(e);isNaN(E)||(-1!==e.indexOf("%")&&(k.value="%"),-1!==e.indexOf("px")&&(k.value="px"),-1!==e.indexOf("vw")&&(k.value="vw"),-1!==e.indexOf("vh")&&(k.value="vh"),-1!==e.indexOf("em")&&(k.value="em"),C.value=E),Tv.hasClass(t,"margin-left-1024-reset")?i.querySelector("#chkResetMarginLeft").checked=!0:i.querySelector("#chkResetMarginLeft").checked=!1,Tv.hasClass(t,"margin-right-1024-reset")?i.querySelector("#chkResetMarginRight").checked=!0:i.querySelector("#chkResetMarginRight").checked=!1}}const Ov=new e;class Rv{constructor(e){this.builder=e;const i=new t(e);this.util=i;const n=i.builderStuff();this.builderStuff=n;const o=new Lv(e);let r=n.querySelector("#divElementBorder");this.panelStuff=r;const s=`\n <div style="margin-top: 13px;font-weight: bold;line-height: 1.7;">${i.out("Border")}</div>\n \n <div class="is-settings clearfix">\n <div style="display:flex;">\n <input type="text" id="inpElmBorderWidth" value="" style="width:45px"/>\n <select id="inpElmBorderWidthUnit" style="margin-right:15px;">\n <option value="px">px</option>\n <option value="em">em</option>\n <option value="vw">vw</option>\n <option value="vh">vh</option>\n <option value="none">none</option>\n </select>\n <select id="inpElmBorderStyle" style="margin-right:15px;">\n <option value=""></option>\n <option value="solid">Solid</option>\n <option value="dashed">Dashed</option>\n <option value="dotted">Dotted</option>\n </select>\n <button title="${i.out("Border Color")}" class="input-elm-bordercolor is-btn-color"></button> \n </div>\n </div>\n \n <div style="margin-top: 25px;font-weight: bold;line-height: 1.7;">${i.out("Individual Sides")}</div>\n \n <div class="is-settings clearfix">\n <div>${i.out("Border Top")}:</div>\n <div style="display:flex;">\n <input type="text" id="inpElmBorderTopWidth" value="" style="width:45px"/>\n <select id="inpElmBorderTopWidthUnit" style="margin-right:15px;">\n <option value="px">px</option>\n <option value="em">em</option>\n <option value="vw">vw</option>\n <option value="vh">vh</option>\n <option value="none">none</option>\n </select>\n <select id="inpElmBorderTopStyle" style="margin-right:15px;">\n <option value=""></option>\n <option value="solid">Solid</option>\n <option value="dashed">Dashed</option>\n <option value="dotted">Dotted</option>\n </select>\n <button title="${i.out("Border Top Color")}" class="input-elm-bordertopcolor is-btn-color"></button>\n </div>\n </div>\n \n <div class="is-settings clearfix">\n <div>${i.out("Border Bottom")}:</div>\n <div style="display:flex;">\n <input type="text" id="inpElmBorderBottomWidth" value="" style="width:45px"/>\n <select id="inpElmBorderBottomWidthUnit" style="margin-right:15px;">\n <option value="px">px</option>\n <option value="em">em</option>\n <option value="vw">vw</option>\n <option value="vh">vh</option>\n <option value="none">none</option>\n </select>\n <select id="inpElmBorderBottomStyle" style="margin-right:15px;">\n <option value=""></option>\n <option value="solid">Solid</option>\n <option value="dashed">Dashed</option>\n <option value="dotted">Dotted</option>\n </select>\n <button title="${i.out("Border Bottom Color")}" class="input-elm-borderbottomcolor is-btn-color"></button>\n </div>\n </div>\n \n <div class="is-settings clearfix">\n <div>${i.out("Border Left")}:</div>\n <div style="display:flex;">\n <input type="text" id="inpElmBorderLeftWidth" value="" style="width:45px"/>\n <select id="inpElmBorderLeftWidthUnit" style="margin-right:15px;">\n <option value="px">px</option>\n <option value="em">em</option>\n <option value="vw">vw</option>\n <option value="vh">vh</option>\n <option value="none">none</option>\n </select>\n <select id="inpElmBorderLeftStyle" style="margin-right:15px;">\n <option value=""></option>\n <option value="solid">Solid</option>\n <option value="dashed">Dashed</option>\n <option value="dotted">Dotted</option>\n </select>\n <button title="${i.out("Border Left Color")}" class="input-elm-borderleftcolor is-btn-color"></button>\n </div>\n </div>\n \n <div class="is-settings clearfix">\n <div>${i.out("Border Right")}:</div>\n <div style="display:flex;">\n <input type="text" id="inpElmBorderRightWidth" value="" style="width:45px"/>\n <select id="inpElmBorderRightWidthUnit" style="margin-right:15px;">\n <option value="px">px</option>\n <option value="em">em</option>\n <option value="vw">vw</option>\n <option value="vh">vh</option>\n <option value="none">none</option>\n </select>\n <select id="inpElmBorderRightStyle" style="margin-right:15px;">\n <option value=""></option>\n <option value="solid">Solid</option>\n <option value="dashed">Dashed</option>\n <option value="dotted">Dotted</option>\n </select>\n <button title="${i.out("Border Right Color")}" class="input-elm-borderrightcolor is-btn-color"></button> \n </div>\n </div> \n `;Ov.appendHtml(r,s);let a=r.querySelector(".input-elm-bordercolor");a.addEventListener("click",(t=>{this.builder.uo.saveForUndo(!0);let e=t.target;this.builder.colorPicker.open((t=>{this.builder.inspectedElement.style.borderColor=t,e.style.backgroundColor=t,o.refresh(),this.builder.opts.onChange()}),a.style.backgroundColor)}));let l=r.querySelector(".input-elm-bordertopcolor");l.addEventListener("click",(t=>{this.builder.uo.saveForUndo(!0);let e=t.target;this.builder.colorPicker.open((t=>{this.builder.inspectedElement.style.borderTopColor=t,e.style.backgroundColor=t,o.refresh(),this.builder.opts.onChange()}),l.style.backgroundColor)}));let d=r.querySelector(".input-elm-borderbottomcolor");d.addEventListener("click",(t=>{this.builder.uo.saveForUndo(!0);let e=t.target;this.builder.colorPicker.open((t=>{this.builder.inspectedElement.style.borderBottomColor=t,e.style.backgroundColor=t,o.refresh(),this.builder.opts.onChange()}),d.style.backgroundColor)}));let c=r.querySelector(".input-elm-borderleftcolor");c.addEventListener("click",(t=>{this.builder.uo.saveForUndo(!0);let e=t.target;this.builder.colorPicker.open((t=>{this.builder.inspectedElement.style.borderLeftColor=t,e.style.backgroundColor=t,o.refresh(),this.builder.opts.onChange()}),c.style.backgroundColor)}));let u=r.querySelector(".input-elm-borderrightcolor");u.addEventListener("click",(t=>{this.builder.uo.saveForUndo(!0);let e=t.target;this.builder.colorPicker.open((t=>{this.builder.inspectedElement.style.borderRightColor=t,e.style.backgroundColor=t,o.refresh(),this.builder.opts.onChange()}),u.style.backgroundColor)}));let p=r.querySelector("#inpElmBorderWidth");p.addEventListener("click",(()=>{this.builder.uo.saveForUndo()})),p.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement;var e=r.querySelector("#inpElmBorderWidth").value;isNaN(e)||""===e?(t.style.borderStyle="solid",t.style.borderWidth="",t.style.borderStyle=""):(t.style.borderStyle="solid",t.style.borderWidth=e+r.querySelector("#inpElmBorderWidthUnit").value,t.style.borderStyle=r.querySelector("#inpElmBorderStyle").value),o.refresh(),this.builder.opts.onChange()})),r.querySelector("#inpElmBorderWidthUnit").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement;var e=r.querySelector("#inpElmBorderWidthUnit").value;"none"===e?(t.style.border="none",t.style.borderWidth="",t.style.borderStyle=""):t.style.borderWidth=r.querySelector("#inpElmBorderWidth").value+e,o.refresh(),this.builder.opts.onChange()})),r.querySelector("#inpElmBorderStyle").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement;var e=r.querySelector("#inpElmBorderStyle").value;t.style.borderStyle=e,o.refresh(),this.builder.opts.onChange()}));let h=r.querySelector("#inpElmBorderTopWidth");h.addEventListener("click",(()=>{this.builder.uo.saveForUndo()})),h.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement;var e=r.querySelector("#inpElmBorderTopWidth").value;isNaN(e)||""===e?(t.style.borderTopStyle="solid",t.style.borderTopWidth="",t.style.borderTopStyle=""):(t.style.borderTopStyle="solid",t.style.borderTopWidth=e+r.querySelector("#inpElmBorderTopWidthUnit").value,t.style.borderTopStyle=r.querySelector("#inpElmBorderTopStyle").value),o.refresh(),this.builder.opts.onChange()})),r.querySelector("#inpElmBorderTopWidthUnit").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement;var e=r.querySelector("#inpElmBorderTopWidthUnit").value;"none"===e?(t.style.borderTop="none",t.style.borderTopWidth="",t.style.borderTopStyle="",this.panelStuff.querySelector("#inpElmBorderTopWidth").value="",this.panelStuff.querySelector("#inpElmBorderTopStyle").value=""):t.style.borderTopWidth=r.querySelector("#inpElmBorderTopWidth").value+e,o.refresh(),this.builder.opts.onChange()})),r.querySelector("#inpElmBorderTopStyle").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement;var e=r.querySelector("#inpElmBorderTopStyle").value;t.style.borderTopStyle=e,o.refresh(),this.builder.opts.onChange()}));let v=r.querySelector("#inpElmBorderBottomWidth");v.addEventListener("click",(()=>{this.builder.uo.saveForUndo()})),v.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement;var e=r.querySelector("#inpElmBorderBottomWidth").value;isNaN(e)||""===e?(t.style.borderBottomStyle="solid",t.style.borderBottomWidth="",t.style.borderBottomStyle=""):(t.style.borderBottomStyle="solid",t.style.borderBottomWidth=e+r.querySelector("#inpElmBorderBottomWidthUnit").value,t.style.borderBottomStyle=r.querySelector("#inpElmBorderBottomStyle").value),o.refresh(),this.builder.opts.onChange()})),r.querySelector("#inpElmBorderBottomWidthUnit").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement;var e=r.querySelector("#inpElmBorderBottomWidthUnit").value;"none"===e?(t.style.borderBottom="none",t.style.borderBottomWidth="",t.style.borderBottomStyle="",this.panelStuff.querySelector("#inpElmBorderBottomWidth").value="",this.panelStuff.querySelector("#inpElmBorderBottomStyle").value=""):t.style.borderBottomWidth=r.querySelector("#inpElmBorderBottomWidth").value+e,o.refresh(),this.builder.opts.onChange()})),r.querySelector("#inpElmBorderBottomStyle").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement;var e=r.querySelector("#inpElmBorderBottomStyle").value;t.style.borderBottomStyle=e,o.refresh(),this.builder.opts.onChange()}));let f=r.querySelector("#inpElmBorderLeftWidth");f.addEventListener("click",(()=>{this.builder.uo.saveForUndo()})),f.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement;var e=r.querySelector("#inpElmBorderLeftWidth").value;isNaN(e)||""===e?(t.style.borderLeftStyle="solid",t.style.borderLeftWidth="",t.style.borderLeftStyle=""):(t.style.borderLeftStyle="solid",t.style.borderLeftWidth=e+r.querySelector("#inpElmBorderLeftWidthUnit").value,t.style.borderLeftStyle=r.querySelector("#inpElmBorderLeftStyle").value),o.refresh(),this.builder.opts.onChange()})),r.querySelector("#inpElmBorderLeftWidthUnit").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement;var e=r.querySelector("#inpElmBorderLeftWidthUnit").value;"none"===e?(t.style.borderLeft="none",t.style.borderLeftWidth="",t.style.borderLeftStyle="",this.panelStuff.querySelector("#inpElmBorderLeftWidth").value="",this.panelStuff.querySelector("#inpElmBorderLeftStyle").value=""):t.style.borderLeftWidth=r.querySelector("#inpElmBorderLeftWidth").value+e,o.refresh(),this.builder.opts.onChange()})),r.querySelector("#inpElmBorderLeftStyle").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement;var e=r.querySelector("#inpElmBorderLeftStyle").value;t.style.borderLeftStyle=e,o.refresh(),this.builder.opts.onChange()}));let g=r.querySelector("#inpElmBorderRightWidth");g.addEventListener("click",(()=>{this.builder.uo.saveForUndo()})),g.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement;var e=r.querySelector("#inpElmBorderRightWidth").value;isNaN(e)||""===e?(t.style.borderRightStyle="solid",t.style.borderRightWidth="",t.style.borderRightStyle=""):(t.style.borderRightStyle="solid",t.style.borderRightWidth=e+r.querySelector("#inpElmBorderRightWidthUnit").value,t.style.borderRightStyle=r.querySelector("#inpElmBorderRightStyle").value),o.refresh(),this.builder.opts.onChange()})),r.querySelector("#inpElmBorderRightWidthUnit").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement;var e=r.querySelector("#inpElmBorderRightWidthUnit").value;"none"===e?(t.style.borderRight="none",t.style.borderRightWidth="",t.style.borderRightStyle="",this.panelStuff.querySelector("#inpElmBorderRightWidth").value="",this.panelStuff.querySelector("#inpElmBorderRightStyle").value=""):t.style.borderRightWidth=r.querySelector("#inpElmBorderRightWidth").value+e,o.refresh(),this.builder.opts.onChange()})),r.querySelector("#inpElmBorderRightStyle").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement;var e=r.querySelector("#inpElmBorderRightStyle").value;t.style.borderRightStyle=e,o.refresh(),this.builder.opts.onChange()}))}readElementStyles(t){this.panelStuff.querySelector(".input-elm-bordercolor").style.backgroundColor=t.style.borderColor,this.panelStuff.querySelector(".input-elm-bordertopcolor").style.backgroundColor=t.style.borderTopColor,this.panelStuff.querySelector(".input-elm-borderbottomcolor").style.backgroundColor=t.style.borderBottomColor,this.panelStuff.querySelector(".input-elm-borderleftcolor").style.backgroundColor=t.style.borderLeftColor,this.panelStuff.querySelector(".input-elm-borderrightcolor").style.backgroundColor=t.style.borderRightColor,this.panelStuff.querySelector("#inpElmBorderWidth").value="",this.panelStuff.querySelector("#inpElmBorderWidthUnit").value="",this.panelStuff.querySelector("#inpElmBorderStyle").value="";var e=t.style.borderWidth,i=parseInt(e);isNaN(i)?-1!==(e=t.style.border).indexOf("none")&&(this.panelStuff.querySelector("#inpElmBorderWidthUnit").value="none",this.panelStuff.querySelector("#inpElmBorderWidth").value="",this.panelStuff.querySelector("#inpElmBorderStyle").value=""):(-1!==e.indexOf("px")&&(this.panelStuff.querySelector("#inpElmBorderWidthUnit").value="px"),-1!==e.indexOf("vw")&&(this.panelStuff.querySelector("#inpElmBorderWidthUnit").value="vw"),-1!==e.indexOf("vh")&&(this.panelStuff.querySelector("#inpElmBorderWidthUnit").value="vh"),-1!==e.indexOf("em")&&(this.panelStuff.querySelector("#inpElmBorderWidthUnit").value="em"),this.panelStuff.querySelector("#inpElmBorderWidth").value=i,-1!==(e=t.style.borderStyle).indexOf("solid")&&(this.panelStuff.querySelector("#inpElmBorderStyle").value="solid"),-1!==e.indexOf("dashed")&&(this.panelStuff.querySelector("#inpElmBorderStyle").value="dashed"),-1!==e.indexOf("dotted")&&(this.panelStuff.querySelector("#inpElmBorderStyle").value="dotted")),this.panelStuff.querySelector("#inpElmBorderTopWidth").value="",this.panelStuff.querySelector("#inpElmBorderTopWidthUnit").value="",this.panelStuff.querySelector("#inpElmBorderTopStyle").value="",e=t.style.borderTopWidth;var n=parseInt(e);isNaN(n)?-1!==(e=t.style.borderTop).indexOf("none")&&(this.panelStuff.querySelector("#inpElmBorderTopWidthUnit").value="none",this.panelStuff.querySelector("#inpElmBorderTopWidth").value="",this.panelStuff.querySelector("#inpElmBorderTopStyle").value=""):(-1!==e.indexOf("px")&&(this.panelStuff.querySelector("#inpElmBorderTopWidthUnit").value="px"),-1!==e.indexOf("vw")&&(this.panelStuff.querySelector("#inpElmBorderTopWidthUnit").value="vw"),-1!==e.indexOf("vh")&&(this.panelStuff.querySelector("#inpElmBorderTopWidthUnit").value="vh"),-1!==e.indexOf("em")&&(this.panelStuff.querySelector("#inpElmBorderTopWidthUnit").value="em"),this.panelStuff.querySelector("#inpElmBorderTopWidth").value=n,-1!==e.indexOf("solid")&&(this.panelStuff.querySelector("#inpElmBorderTopStyle").value="solid"),-1!==e.indexOf("dashed")&&(this.panelStuff.querySelector("#inpElmBorderTopStyle").value="dashed"),-1!==e.indexOf("dotted")&&(this.panelStuff.querySelector("#inpElmBorderTopStyle").value="dotted")),this.panelStuff.querySelector("#inpElmBorderBottomWidth").value="",this.panelStuff.querySelector("#inpElmBorderBottomWidthUnit").value="",this.panelStuff.querySelector("#inpElmBorderBottomStyle").value="",e=t.style.borderBottomWidth;var o=parseInt(e);isNaN(o)?-1!==(e=t.style.borderBottom).indexOf("none")&&(this.panelStuff.querySelector("#inpElmBorderBottomWidthUnit").value="none",this.panelStuff.querySelector("#inpElmBorderBottomWidth").value="",this.panelStuff.querySelector("#inpElmBorderBottomStyle").value=""):(-1!==e.indexOf("px")&&(this.panelStuff.querySelector("#inpElmBorderBottomWidthUnit").value="px"),-1!==e.indexOf("vw")&&(this.panelStuff.querySelector("#inpElmBorderBottomWidthUnit").value="vw"),-1!==e.indexOf("vh")&&(this.panelStuff.querySelector("#inpElmBorderBottomWidthUnit").value="vh"),-1!==e.indexOf("em")&&(this.panelStuff.querySelector("#inpElmBorderBottomWidthUnit").value="em"),this.panelStuff.querySelector("#inpElmBorderBottomWidth").value=o,-1!==e.indexOf("solid")&&(this.panelStuff.querySelector("#inpElmBorderBottomStyle").value="solid"),-1!==e.indexOf("dashed")&&(this.panelStuff.querySelector("#inpElmBorderBottomStyle").value="dashed"),-1!==e.indexOf("dotted")&&(this.panelStuff.querySelector("#inpElmBorderBottomStyle").value="dotted")),this.panelStuff.querySelector("#inpElmBorderLeftWidth").value="",this.panelStuff.querySelector("#inpElmBorderLeftWidthUnit").value="",this.panelStuff.querySelector("#inpElmBorderLeftStyle").value="",e=t.style.borderLeftWidth;var r=parseInt(e);isNaN(r)?-1!==(e=t.style.borderLeft).indexOf("none")&&(this.panelStuff.querySelector("#inpElmBorderLeftWidthUnit").value="none",this.panelStuff.querySelector("#inpElmBorderLeftWidth").value="",this.panelStuff.querySelector("#inpElmBorderLeftStyle").value=""):(-1!==e.indexOf("px")&&(this.panelStuff.querySelector("#inpElmBorderLeftWidthUnit").value="px"),-1!==e.indexOf("vw")&&(this.panelStuff.querySelector("#inpElmBorderLeftWidthUnit").value="vw"),-1!==e.indexOf("vh")&&(this.panelStuff.querySelector("#inpElmBorderLeftWidthUnit").value="vh"),-1!==e.indexOf("em")&&(this.panelStuff.querySelector("#inpElmBorderLeftWidthUnit").value="em"),this.panelStuff.querySelector("#inpElmBorderLeftWidth").value=r,-1!==e.indexOf("solid")&&(this.panelStuff.querySelector("#inpElmBorderLeftStyle").value="solid"),-1!==e.indexOf("dashed")&&(this.panelStuff.querySelector("#inpElmBorderLeftStyle").value="dashed"),-1!==e.indexOf("dotted")&&(this.panelStuff.querySelector("#inpElmBorderLeftStyle").value="dotted")),this.panelStuff.querySelector("#inpElmBorderRightWidth").value="",this.panelStuff.querySelector("#inpElmBorderRightWidthUnit").value="",this.panelStuff.querySelector("#inpElmBorderRightStyle").value="",e=t.style.borderRightWidth;var s=parseInt(e);isNaN(s)?-1!==(e=t.style.borderRight).indexOf("none")&&(this.panelStuff.querySelector("#inpElmBorderRightWidthUnit").value="none",this.panelStuff.querySelector("#inpElmBorderRightWidth").value="",this.panelStuff.querySelector("#inpElmBorderRightStyle").value=""):(-1!==e.indexOf("px")&&(this.panelStuff.querySelector("#inpElmBorderRightWidthUnit").value="px"),-1!==e.indexOf("vw")&&(this.panelStuff.querySelector("#inpElmBorderRightWidthUnit").value="vw"),-1!==e.indexOf("vh")&&(this.panelStuff.querySelector("#inpElmBorderRightWidthUnit").value="vh"),-1!==e.indexOf("em")&&(this.panelStuff.querySelector("#inpElmBorderRightWidthUnit").value="em"),this.panelStuff.querySelector("#inpElmBorderRightWidth").value=s,-1!==e.indexOf("solid")&&(this.panelStuff.querySelector("#inpElmBorderRightStyle").value="solid"),-1!==e.indexOf("dashed")&&(this.panelStuff.querySelector("#inpElmBorderRightStyle").value="dashed"),-1!==e.indexOf("dotted")&&(this.panelStuff.querySelector("#inpElmBorderRightStyle").value="dotted"))}}const Nv=new e;class Bv{constructor(e){this.builder=e;const i=new t(e);this.util=i;const n=i.builderStuff();this.builderStuff=n;const o=new Lv(e);let r=n.querySelector("#divElementText");this.panelStuff=r;const s=`\n <div class="is-settings clearfix" style="width:115px;">\n <div>Text Color:</div>\n <div>\n <button title="${i.out("Text Color")}" class="input-elm-color is-btn-color"></button>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:115px;">\n <div>${i.out("Font Size")}:</div>\n <div style="display:flex">\n <input type="text" id="inpElmFontSize" value="" style="width:45px"/>\n <select id="inpElmFontSizeUnit">\n <option value=""></option>\n <option value="px">px</option>\n <option value="pt">pt</option>\n <option value="em">em</option>\n <option value="vw">vw</option>\n <option value="vh">vh</option>\n <option value="%">%</option>\n </select>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:115px;">\n <div>${i.out("Text Align")}:</div>\n <div>\n <select id="inpElmTextAlign">\n <option value=""></option>\n <option value="left">${i.out("Left")}</option>\n <option value="center">${i.out("Center")}</option>\n <option value="right">${i.out("Right")}</option>\n <option value="justify">${i.out("Full")}</option>\n </select>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:115px;">\n <div>${i.out("Line Height")}:</div>\n <div style="display:flex">\n <input type="text" id="inpElmLineHeight" value="" style="width:45px"/>\n <select id="inpElmLineHeightUnit">\n <option value=""></option>\n <option value="px">px</option>\n <option value="pt">pt</option>\n </select>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:115px;">\n <div>${i.out("Font Weight")}:</div>\n <div>\n <select id="inpElmFontWeight">\n <option value=""></option>\n <option value="100">100</option>\n <option value="200">200</option>\n <option value="300">300</option>\n <option value="400">400</option>\n <option value="500">500</option>\n <option value="600">600</option>\n <option value="700">700</option>\n <option value="800">800</option>\n <option value="900">900</option>\n <option value="bold">${i.out("Bold")}</option>\n <option value="normal">${i.out("Normal")}</option>\n </select>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:115px;">\n <div>${i.out("Font Style")}:</div>\n <div>\n <select id="inpElmFontStyle">\n <option value=""></option>\n <option value="italic">${i.out("Italic")}</option>\n <option value="normal">${i.out("Normal")}</option>\n </select>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:115px;">\n <div>${i.out("Text Transform")}:</div>\n <div>\n <select id="inpElmTextTransform">\n <option value=""></option>\n <option value="uppercase">${i.out("Uppercase")}</option>\n <option value="lowercase">${i.out("Lowercase")}</option>\n <option value="capitalize">${i.out("Capitalize")}</option>\n <option value="none">${i.out("None")}</option>\n </select>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:115px;">\n <div>${i.out("Text Decoration")}:</div>\n <div>\n <select id="inpElmTextDecoration">\n <option value=""></option>\n <option value="underline">${i.out("Underline")}</option>\n <option value="line-through">${i.out("Line Through")}</option>\n <option value="overline">${i.out("Overline")}</option>\n <option value="none">${i.out("None")}</option>\n </select>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:115px;">\n <div>${i.out("Letter Spacing")}:</div>\n <div>\n <input type="text" id="inpElmLetterSpacing" value="" style="width:45px"/> px\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:115px;">\n <div>${i.out("Word Spacing")}:</div>\n <div>\n <input type="text" id="inpElmWordSpacing" value="" style="width:45px"/> px\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:100%;">\n <div>${i.out("Font Family")}:</div>\n <div style="display:flex">\n <input type="text" id="inpElmFontFamily" value="" style="width:100%"/>\n <button title="${i.out("Select Font")}" class="input-elm-fontfamily classic" style="border-left: none;width:45px;padding:0;"><svg class="is-icon-flex"><use xlink:href="#ion-more"></use></svg></button>\n </div>\n </div>\n `;Nv.appendHtml(r,s);const a=`\n <div class="is-modal pickfontfamily">\n <div class="is-modal-content">\n <div class="is-modal-bar is-draggable"> ${i.out("Font")} </div>\n <div class="clearfix" style="margin-top:28px;padding:0px;height:300px;position:relative;">\n <iframe src="about:blank" style="width:100%;height:100%;position:absolute;top:0;left:0;border: none;"></iframe>\n </div>\n </div>\n </div>\n `;Nv.appendHtml(n,a);const l=n.querySelector(".is-modal.pickfontfamily");let d=r.querySelector(".input-elm-color");d.addEventListener("click",(t=>{this.builder.uo.saveForUndo(!0);let e=t.target;this.builder.colorPicker.open((t=>{this.builder.inspectedElement.style.color=t,e.style.backgroundColor=t,o.refresh(),this.builder.opts.onChange()}),d.style.backgroundColor)})),r.querySelector("#inpElmTextAlign").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=r.querySelector("#inpElmTextAlign").value;t.style.textAlign=e,o.refresh(),this.builder.opts.onChange()})),r.querySelector("#inpElmFontWeight").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=r.querySelector("#inpElmFontWeight").value;t.style.fontWeight=e,o.refresh(),this.builder.opts.onChange()})),r.querySelector("#inpElmFontStyle").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=r.querySelector("#inpElmFontStyle").value;t.style.fontStyle=e,o.refresh(),this.builder.opts.onChange()})),r.querySelector("#inpElmTextTransform").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=r.querySelector("#inpElmTextTransform").value;t.style.textTransform=e,o.refresh(),this.builder.opts.onChange()})),r.querySelector("#inpElmTextDecoration").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=r.querySelector("#inpElmTextDecoration").value;t.style.textDecoration=e,o.refresh(),this.builder.opts.onChange()}));let c=r.querySelector("#inpElmFontSize");c.addEventListener("click",(()=>{this.builder.uo.saveForUndo()})),c.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=r.querySelector("#inpElmFontSize").value,i=r.querySelector("#inpElmFontSizeUnit").value;""===i&&(r.querySelector("#inpElmFontSizeUnit").value="px",i="px"),isNaN(e)||""===e?t.style.fontSize="":t.style.fontSize=e+i;const n=this.builder.opts.fontSizeClassValues;for(var s=0;s<=n.length-1;s++)Nv.hasClass(t,"size-"+n[s])&&Nv.removeClass(t,"size-"+n[s]);o.refresh(),this.builder.opts.onChange()})),r.querySelector("#inpElmFontSizeUnit").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=r.querySelector("#inpElmFontSize").value,i=r.querySelector("#inpElmFontSizeUnit").value;isNaN(e)||""===e?t.style.fontSize="":t.style.fontSize=e+i,o.refresh(),this.builder.opts.onChange()}));let u=r.querySelector("#inpElmLineHeight");u.addEventListener("click",(()=>{this.builder.uo.saveForUndo()})),u.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=r.querySelector("#inpElmLineHeight").value,i=r.querySelector("#inpElmLineHeightUnit").value;isNaN(e)||""===e?t.style.lineHeight="":t.style.lineHeight=e+i,o.refresh(),this.builder.opts.onChange()})),r.querySelector("#inpElmLineHeightUnit").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=r.querySelector("#inpElmLineHeightUnit").value,i=r.querySelector("#inpElmLineHeight").value;isNaN(i)||""===i?t.style.lineHeight="":t.style.lineHeight=i+e,o.refresh(),this.builder.opts.onChange()}));let p=r.querySelector("#inpElmLetterSpacing");p.addEventListener("click",(()=>{this.builder.uo.saveForUndo()})),p.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=r.querySelector("#inpElmLetterSpacing").value;isNaN(e)||""===e?t.style.letterSpacing="":t.style.letterSpacing=e+"px",o.refresh(),this.builder.opts.onChange()}));let h=r.querySelector("#inpElmWordSpacing");h.addEventListener("click",(()=>{this.builder.uo.saveForUndo()})),h.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=r.querySelector("#inpElmWordSpacing").value;isNaN(e)||""===e?t.style.wordSpacing="":t.style.wordSpacing=e+"px",o.refresh(),this.builder.opts.onChange()}));let v=r.querySelector("#inpElmFontFamily");if(v.addEventListener("click",(()=>{this.builder.uo.saveForUndo()})),v.addEventListener("keyup",(()=>{let t=r.querySelector("#inpElmFontFamily").value;this.builder.inspectedElement.style.fontFamily=t,o.refresh(),this.builder.opts.onChange()})),!this.builder.renderIframeLater){let t=l.querySelector("iframe").contentWindow.document;t.open(),this.builder.opts.emailMode?t.write(this.util.getFontFamilyEmail(!0)):t.write(this.util.getFontFamilyHTML(!0)),t.close()}r.querySelector(".input-elm-fontfamily").addEventListener("click",(()=>{let t=this.builder.inspectedElement;this.util.showModal(l);var e=t.style.fontFamily;const i=l.querySelector("iframe");let n=i.contentDocument||i.contentWindow.document;if(""!==e){let t=e.split(",")[0];if(t=t.replace('"',"").replace('"',""),t=t.toLowerCase().trim(),n){[].forEach.call(n.querySelectorAll("#divFontList > div"),(function(e){var i=e.getAttribute("data-font-family");(i=(i=i.split(",")[0]).trim().toLowerCase())===t&&""!==i?Nv.addClass(e,"on"):Nv.removeClass(e,"on")}));let e=n.querySelector("#divFontList");var o=e.querySelector(".on");o&&(e.scrollTop=e.scrollTop+o.getBoundingClientRect().top)}}else n&&[].forEach.call(n.querySelectorAll("#divFontList > div"),(function(t){Nv.removeClass(t,"on")}))}))}readElementStyles(t){this.panelStuff.querySelector(".input-elm-color").style.backgroundColor=t.style.color,this.panelStuff.querySelector("#inpElmTextAlign").value="";var e=t.style.textAlign;this.panelStuff.querySelector("#inpElmTextAlign").value=e,this.panelStuff.querySelector("#inpElmFontSize").value="";var i=parseInt(t.style.fontSize);let n;isNaN(i)||(this.panelStuff.querySelector("#inpElmFontSize").value=i),this.panelStuff.querySelector("#inpElmFontSizeUnit").value="px";var o=t.style.fontSize;-1!==o.indexOf("px")&&(n="px"),-1!==o.indexOf("pt")&&(n="pt"),-1!==o.indexOf("em")&&(n="em"),-1!==o.indexOf("vw")&&(n="vw"),-1!==o.indexOf("vh")&&(n="vh"),-1!==o.indexOf("%")&&(n="%"),this.panelStuff.querySelector("#inpElmFontSizeUnit").value=n,this.panelStuff.querySelector("#inpElmFontWeight").value="";var r=t.style.fontWeight;this.panelStuff.querySelector("#inpElmFontWeight").value=r,this.panelStuff.querySelector("#inpElmFontStyle").value="";var s=t.style.fontStyle;this.panelStuff.querySelector("#inpElmFontStyle").value=s,this.panelStuff.querySelector("#inpElmTextTransform").value="";var a=t.style.textTransform;this.panelStuff.querySelector("#inpElmTextTransform").value=a,this.panelStuff.querySelector("#inpElmTextDecoration").value="";var l=t.style.textDecoration;if(this.panelStuff.querySelector("#inpElmTextDecoration").value=l,this.panelStuff.querySelector("#inpElmLineHeight").value="",isNaN(t.style.lineHeight)){var d=parseInt(t.style.lineHeight);isNaN(d)||(this.panelStuff.querySelector("#inpElmLineHeight").value=d)}else this.panelStuff.querySelector("#inpElmLineHeight").value=t.style.lineHeight;let c;this.panelStuff.querySelector("#inpElmLineHeightUnit").value="",-1!==(o=t.style.lineHeight).indexOf("px")&&(c="px"),-1!==o.indexOf("pt")&&(c="pt"),this.panelStuff.querySelector("#inpElmLineHeightUnit").value=c,this.panelStuff.querySelector("#inpElmLetterSpacing").value="";var u=parseInt(t.style.letterSpacing);isNaN(u)||(this.panelStuff.querySelector("#inpElmLetterSpacing").value=u),this.panelStuff.querySelector("#inpElmWordSpacing").value="";var p=parseInt(t.style.wordSpacing);isNaN(p)||(this.panelStuff.querySelector("#inpElmWordSpacing").value=p),this.panelStuff.querySelector("#inpElmFontFamily").value="";var h=t.style.fontFamily;""!==h&&(this.panelStuff.querySelector("#inpElmFontFamily").value=h)}}const Iv=new e;class $v{constructor(e){this.builder=e;const i=new t(e);this.util=i;const n=i.builderStuff();this.builderStuff=n;const o=new Lv(e);let r=n.querySelector("#divElementCorner");this.panelStuff=r;const s=`\n <div style="margin-top: 13px;font-weight: bold;width:100%;">${i.out("Corners")}</div>\n\n <div class="is-settings clearfix" style="width:100%;margin-bottom:9px;">\n <div>${i.out("Border Radius")}:</div>\n <div>\n <input type="text" id="inpElmBorderRadius" value="" style="width:45px"/> px\n </div>\n </div>\n\n <div style="margin-top: 25px;font-weight: bold;width:100%;">${i.out("Individual Corners")}</div>\n\n <div class="is-settings clearfix" style="width:110px;">\n <div>${i.out("Top Left")}:</div>\n <div>\n <input type="text" id="inpElmBorderTopLeftRadius" value="" style="width:45px"/> px\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:110px;">\n <div>${i.out("Top Right")}:</div>\n <div>\n <input type="text" id="inpElmBorderTopRightRadius" value="" style="width:45px"/> px\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:110px;">\n <div>${i.out("Bottom Left")}:</div>\n <div>\n <input type="text" id="inpElmBorderBottomLeftRadius" value="" style="width:45px"/> px\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:110px;">\n <div>${i.out("Bottom Right")}:</div>\n <div>\n <input type="text" id="inpElmBorderBottomRightRadius" value="" style="width:45px"/> px\n </div>\n </div>\n `;Iv.appendHtml(r,s);const a=r.querySelector("#inpElmBorderRadius");a.addEventListener("click",(()=>{this.builder.uo.saveForUndo()})),a.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=r.querySelector("#inpElmBorderRadius").value;isNaN(e)||""===e?t.style.borderRadius="":t.style.borderRadius=e+"px",o.refresh(),this.builder.opts.onChange()}));const l=r.querySelector("#inpElmBorderTopLeftRadius");l.addEventListener("click",(()=>{this.builder.uo.saveForUndo()})),l.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=r.querySelector("#inpElmBorderTopLeftRadius").value;isNaN(e)||""===e?t.style.borderTopLeftRadius="":t.style.borderTopLeftRadius=e+"px",o.refresh(),this.builder.opts.onChange()}));const d=r.querySelector("#inpElmBorderTopRightRadius");d.addEventListener("click",(()=>{this.builder.uo.saveForUndo()})),d.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=r.querySelector("#inpElmBorderTopRightRadius").value;isNaN(e)||""===e?t.style.borderTopRightRadius="":t.style.borderTopRightRadius=e+"px",o.refresh(),this.builder.opts.onChange()}));const c=r.querySelector("#inpElmBorderBottomLeftRadius");c.addEventListener("click",(()=>{this.builder.uo.saveForUndo()})),c.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=r.querySelector("#inpElmBorderBottomLeftRadius").value;isNaN(e)||""===e?t.style.borderBottomLeftRadius="":t.style.borderBottomLeftRadius=e+"px",o.refresh(),this.builder.opts.onChange()}));const u=r.querySelector("#inpElmBorderBottomRightRadius");u.addEventListener("click",(()=>{this.builder.uo.saveForUndo()})),u.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=r.querySelector("#inpElmBorderBottomRightRadius").value;isNaN(e)||""===e?t.style.borderBottomRightRadius="":t.style.borderBottomRightRadius=e+"px",o.refresh(),this.builder.opts.onChange()}))}readElementStyles(t){let e=this.panelStuff;const i=e.querySelector("#inpElmBorderRadius");i.value="";let n=t.style.borderRadius,o=parseInt(n);isNaN(o)||(i.value=o);const r=e.querySelector("#inpElmBorderTopLeftRadius");r.value="",n=t.style.borderTopLeftRadius;let s=parseInt(n);isNaN(s)||(r.value=s);const a=e.querySelector("#inpElmBorderTopRightRadius");a.value="",n=t.style.borderTopRightRadius;let l=parseInt(n);isNaN(l)||(a.value=l);const d=e.querySelector("#inpElmBorderBottomLeftRadius");d.value="",n=t.style.borderBottomLeftRadius;let c=parseInt(n);isNaN(c)||(d.value=c);const u=e.querySelector("#inpElmBorderBottomRightRadius");u.value="",n=t.style.borderBottomRightRadius;let p=parseInt(n);isNaN(p)||(u.value=p)}}const Dv=new e;class Hv{constructor(e){this.builder=e;const i=new t(e);this.util=i;const n=i.builderStuff();this.builderStuff=n;const o=new Lv(e);let r=n.querySelector("#divElementShadow");this.panelStuff=r;const s=`\n <div style="margin-top:13px;font-weight:bold;width:100%;">${i.out("Shadow")}</div>\n\n <div class="is-settings clearfix" style="width:110px;">\n <div>${i.out("x Offset")}:</div>\n <div style="display:flex">\n <input type="text" id="inpElmBoxShadowX" value="" style="width:45px"/>\n <select id="inpElmBoxShadowXUnit">\n <option value="px">px</option>\n <option value="em">em</option>\n </select>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:110px;">\n <div>${i.out("y Offset")}:</div>\n <div style="display:flex">\n <input type="text" id="inpElmBoxShadowY" value="" style="width:45px"/>\n <select id="inpElmBoxShadowYUnit">\n <option value="px">px</option>\n <option value="em">em</option>\n </select>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:110px;">\n <div>${i.out("Blur")}:</div>\n <div style="display:flex">\n <input type="text" id="inpElmBoxShadowBlur" value="" style="width:45px"/>\n <select id="inpElmBoxShadowBlurUnit">\n <option value="px">px</option>\n <option value="em">em</option>\n </select>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:110px;">\n <div>${i.out("Spread")}:</div>\n <div style="display:flex">\n <input type="text" id="inpElmBoxShadowSpread" value="" style="width:45px"/>\n <select id="inpElmBoxShadowSpreadUnit">\n <option value="px">px</option>\n <option value="em">em</option>\n </select>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:100%;">\n <div>${i.out("Shadow Color")}:</div>\n <div>\n <button title="${i.out("Shadow Color")}" class="input-elm-shadowcolor is-btn-color"></button>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:100%;">\n <div>${i.out("Outer/Inner Shadow")}:</div>\n <div>\n <select id="inpElmBoxShadowInset">\n <option value="">Outset</option>\n <option value="inset">Inset</option>\n </select>\n </div>\n </div>\n `;Dv.appendHtml(r,s);let a=r.querySelector(".input-elm-shadowcolor");a.addEventListener("click",(()=>{this.builder.uo.saveForUndo(!0),this.builder.colorPicker.open((t=>{a.style.backgroundColor=t,this.updateShadow(this.builder.inspectedElement),o.refresh(),this.builder.opts.onChange()}),a.style.backgroundColor)}));let l=r.querySelectorAll("#inpElmBoxShadowX,#inpElmBoxShadowY,#inpElmBoxShadowBlur,#inpElmBoxShadowSpread");Array.prototype.forEach.call(l,(t=>{t.addEventListener("click",(()=>{this.builder.uo.saveForUndo()})),t.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement;this.updateShadow(t),o.refresh(),this.builder.opts.onChange()}))})),l=r.querySelectorAll("#inpElmBoxShadowXUnit,#inpElmBoxShadowYUnit,#inpElmBoxShadowBlurUnit,#inpElmBoxShadowSpreadUnit"),Array.prototype.forEach.call(l,(t=>{t.addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement;this.updateShadow(t),o.refresh(),this.builder.opts.onChange()}))}));r.querySelector("#inpElmBoxShadowInset").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement;this.updateShadow(t),o.refresh(),this.builder.opts.onChange()}))}updateShadow(t){let e=this.panelStuff;var i=e.querySelector(".input-elm-shadowcolor").style.backgroundColor,n=e.querySelector("#inpElmBoxShadowInset").value,o=e.querySelector("#inpElmBoxShadowX").value,r=e.querySelector("#inpElmBoxShadowXUnit").value,s="";isNaN(o)||""===o||(s=o+r),o=e.querySelector("#inpElmBoxShadowY").value,r=e.querySelector("#inpElmBoxShadowYUnit").value;var a="";isNaN(o)||""===o||(a=o+r),o=e.querySelector("#inpElmBoxShadowBlur").value,r=e.querySelector("#inpElmBoxShadowBlurUnit").value;var l="";isNaN(o)||""===o||(l=o+r),o=e.querySelector("#inpElmBoxShadowSpread").value,r=e.querySelector("#inpElmBoxShadowSpreadUnit").value;var d="";isNaN(o)||""===o||(d=o+r),t.style.boxShadow=(s+" "+a+" "+l+" "+d+" "+i+" "+n).trim()}readElementStyles(t){let e,i,n=this.panelStuff,o=t.style.boxShadow,r=n.querySelectorAll("#inpElmBoxShadowX,#inpElmBoxShadowY,#inpElmBoxShadowBlur,#inpElmBoxShadowSpread");if(Array.prototype.forEach.call(r,(t=>{t.value=""})),r=n.querySelectorAll("#inpElmBoxShadowXUnit,#inpElmBoxShadowYUnit,#inpElmBoxShadowBlurUnit,#inpElmBoxShadowSpreadUnit"),Array.prototype.forEach.call(r,(t=>{t.value="px"})),n.querySelector("#inpElmBoxShadowInset").value="",-1!==o.indexOf("inset")&&(n.querySelector("#inpElmBoxShadowInset").value="inset",o=o.replace("inset","")),""!==o){-1!==o.indexOf("rgb")&&(e=o.substr(o.indexOf("rgb")),e=e.substr(0,e.indexOf(")")+1),n.querySelector(".input-elm-shadowcolor").style.backgroundColor=e,i=o.split("rgb")[1].indexOf(")"),o=o.split("rgb")[0]+o.split("rgb")[1].substr(i+2)),-1!==o.indexOf("#")&&(e=o.substr(o.indexOf("#")),e=e.substr(0,e.indexOf(" ")),n.querySelector(".input-elm-shadowcolor").style.backgroundColor=e,i=o.split("#")[1].indexOf(" "),o=o.split("#")[0]+o.split("#")[1].substr(i+2));let t=o.split(" "),r=t.length;i=1;for(let e=0;e<r;e++)1===i&&(n.querySelector("#inpElmBoxShadowX").value=parseInt(t[e]),-1!==t[e].indexOf("px")?n.querySelector("#inpElmBoxShadowXUnit").value="px":-1!==t[e].indexOf("em")?n.querySelector("#inpElmBoxShadowXUnit").value="em":n.querySelector("#inpElmBoxShadowX").value=""),2===i&&(n.querySelector("#inpElmBoxShadowY").value=parseInt(t[e]),-1!==t[e].indexOf("px")?n.querySelector("#inpElmBoxShadowYUnit").value="px":-1!==t[e].indexOf("em")?n.querySelector("#inpElmBoxShadowYUnit").value="em":n.querySelector("#inpElmBoxShadowY").value=""),3===i&&(n.querySelector("#inpElmBoxShadowBlur").value=parseInt(t[e]),-1!==t[e].indexOf("px")?n.querySelector("#inpElmBoxShadowBlurUnit").value="px":-1!==t[e].indexOf("em")?n.querySelector("#inpElmBoxShadowBlurUnit").value="em":n.querySelector("#inpElmBoxShadowBlur").value=""),4===i&&(n.querySelector("#inpElmBoxShadowSpread").value=parseInt(t[e]),-1!==t[e].indexOf("px")?n.querySelector("#inpElmBoxShadowSpreadUnit").value="px":-1!==t[e].indexOf("em")?n.querySelector("#inpElmBoxShadowSpreadUnit").value="em":n.querySelector("#inpElmBoxShadowSpread").value=""),i++}}}const zv=new e;class Pv{constructor(e){this.builder=e;const i=new t(e);this.util=i;const n=i.builderStuff();this.builderStuff=n;const o=new Lv(e);let r=n.querySelector("#divElementDisplay");this.panelStuff=r;const s=`\n <div style="margin-top:13px;font-weight:bold;">${i.out("Display")}</div>\n\n <div class="is-settings clearfix" style="width:100%;">\n <div style="display:flex">\n <select id="inpElmDisplay" style="width:110px;">\n <option value=""></option>\n <option value="block">Block</option>\n <option value="inline-block">Inline Block</option>\n <option value="inline">Inline</option>\n <option value="flex">Flex</option>\n <option value="none">None</option>\n </select>\n </div>\n </div>\n\n <div style="margin-top:25px;font-weight:bold;width:100%;">${i.out("Flex")}</div>\n\n <div class="is-settings clearfix" style="width:120px;">\n <div>${i.out("Direction")}:</div>\n <div style="display:flex">\n <select id="inpElmFlexDirection" style="width:110px;">\n <option value=""></option>\n <option value="row">Row</option>\n <option value="row-reverse">Row Reverse</option>\n <option value="column">Column</option>\n <option value="column-reverse">Column Reverse</option>\n </select>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:120px;">\n <div>${i.out("Wrap")}:</div>\n <div style="display:flex">\n <select id="inpElmFlexWrap" style="width:110px;">\n <option value=""></option>\n <option value="no-wrap">No Wrap</option>\n <option value="wrap">Wrap</option>\n <option value="wrap-reverse">Wrap Reverse</option>\n </select>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:100%;">\n <div>${i.out("Justify Content")}:</div>\n <div style="display:flex">\n <select id="inpElmJustifyContent" style="width:110px;">\n <option value=""></option>\n <option value="center">Center</option>\n <option value="flex-start">Flex Start</option>\n <option value="flex-end">Flex End</option>\n <option value="space-around">Space Around</option>\n <option value="space-between">Space Between</option>\n </select>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:120px;">\n <div>${i.out("Align Items")}:</div>\n <div style="display:flex">\n <select id="inpElmAlignItems" style="width:110px;">\n <option value=""></option>\n <option value="center">Center</option>\n <option value="flex-start">Flex Start</option>\n <option value="flex-end">Flex End</option>\n <option value="stretch">Stretch</option>\n <option value="baseline">Baseline</option>\n </select>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:120px;">\n <div>${i.out("Align Content")}:</div>\n <div style="display:flex">\n <select id="inpElmAlignContent" style="width:110px;">\n <option value=""></option>\n <option value="center">Center</option>\n <option value="flex-start">Flex Start</option>\n <option value="flex-end">Flex End</option>\n <option value="stretch">Stretch</option>\n <option value="space-around">Space Around</option>\n <option value="space-between">Space Between</option>\n </select>\n </div>\n </div>\n `;zv.appendHtml(r,s);r.querySelector("#inpElmDisplay").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=r.querySelector("#inpElmDisplay").value;t.style.display=e,o.refresh(),this.builder.opts.onChange()}));r.querySelector("#inpElmFlexDirection").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=r.querySelector("#inpElmFlexDirection").value;t.style.flexDirection=e,o.refresh(),this.builder.opts.onChange()}));r.querySelector("#inpElmFlexWrap").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=r.querySelector("#inpElmFlexWrap").value;t.style.flexWrap=e,o.refresh(),this.builder.opts.onChange()}));r.querySelector("#inpElmJustifyContent").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=r.querySelector("#inpElmJustifyContent").value;t.style.justifyContent=e,o.refresh(),this.builder.opts.onChange()}));r.querySelector("#inpElmAlignItems").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=r.querySelector("#inpElmAlignItems").value;t.style.alignItems=e,o.refresh(),this.builder.opts.onChange()}));r.querySelector("#inpElmAlignContent").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=r.querySelector("#inpElmAlignContent").value;t.style.alignContent=e,o.refresh(),this.builder.opts.onChange()}))}readElementStyles(t){let e=this.panelStuff;const i=e.querySelector("#inpElmDisplay");i.value="";let n=t.style.display;n&&(i.value=n);const o=e.querySelector("#inpElmFlexDirection");o.value="",n=t.style.flexDirection,n&&(o.value=n);const r=e.querySelector("#inpElmFlexWrap");r.value="",n=t.style.flexWrap,n&&(r.value=n);const s=e.querySelector("#inpElmJustifyContent");s.value="",n=t.style.justifyContent,n&&(s.value=n);const a=e.querySelector("#inpElmAlignItems");a.value="",n=t.style.alignItems,n&&(a.value=n);const l=e.querySelector("#inpElmAlignContent");l.value="",n=t.style.alignContent,n&&(l.value=n)}}const Fv=new e;class Uv{constructor(e){this.builder=e;const i=new t(e);this.util=i;const n=i.builderStuff();this.builderStuff=n;const o=new Lv(e);let r=n.querySelector("#divElementPosition");this.panelStuff=r;const s=`\n <div style="margin-top:13px;font-weight:bold;width:100%;">${i.out("Position")}</div>\n\n <div class="is-settings clearfix" style="width:100%;">\n <div style="display:flex">\n <select id="inpElmPosition">\n <option value=""></option>\n <option value="relative">Relative</option>\n <option value="absolute">Absolute</option>\n <option value="fixed">Fixed</option>\n </select>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:120px;">\n <div>${i.out("Top")}:</div>\n <div style="display:flex">\n <input type="text" id="inpElmTop" value="" style="width:45px"/>\n <select id="inpElmTopUnit">\n <option value="px">px</option>\n <option value="em">em</option>\n <option value="vw">vw</option>\n <option value="vh">vh</option>\n <option value="%">%</option>\n </select>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:120px;">\n <div>${i.out("Left")}:</div>\n <div style="display:flex">\n <input type="text" id="inpElmLeft" value="" style="width:45px"/>\n <select id="inpElmLeftUnit">\n <option value="px">px</option>\n <option value="em">em</option>\n <option value="vw">vw</option>\n <option value="vh">vh</option>\n <option value="%">%</option>\n </select>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:120px;">\n <div>${i.out("Bottom")}:</div>\n <div style="display:flex">\n <input type="text" id="inpElmBottom" value="" style="width:45px"/>\n <select id="inpElmBottomUnit">\n <option value="px">px</option>\n <option value="em">em</option>\n <option value="vw">vw</option>\n <option value="vh">vh</option>\n <option value="%">%</option>\n </select>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:120px;">\n <div>${i.out("Right")}:</div>\n <div style="display:flex">\n <input type="text" id="inpElmRight" value="" style="width:45px"/>\n <select id="inpElmRightUnit">\n <option value="px">px</option>\n <option value="em">em</option>\n <option value="vw">vw</option>\n <option value="vh">vh</option>\n <option value="%">%</option>\n </select>\n </div>\n </div>\n\n <div style="margin-top: 25px;font-weight: bold;width:100%;">${i.out("Float")}</div>\n\n <div class="is-settings clearfix" style="width:100%;">\n <div style="display:flex">\n <select id="inpElmFloat">\n <option value=""></option>\n <option value="left">Left</option>\n <option value="right">Right</option>\n <option value="none">None</option>\n </select>\n </div>\n </div>\n `;Fv.appendHtml(r,s);r.querySelector("#inpElmPosition").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=r.querySelector("#inpElmPosition").value;t.style.position=e,o.refresh(),this.builder.opts.onChange()}));r.querySelector("#inpElmFloat").addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=r.querySelector("#inpElmFloat").value;t.style.float=e,o.refresh(),this.builder.opts.onChange()}));const a=r.querySelector("#inpElmTop");a.addEventListener("click",(()=>{this.builder.uo.saveForUndo()}));const l=r.querySelector("#inpElmTopUnit");a.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=a.value,i=l.value;isNaN(e)||""===e?t.style.top="":t.style.top=e+i,o.refresh(),this.builder.opts.onChange()})),l.addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=a.value,i=l.value;isNaN(e)||""===e?t.style.top="":t.style.top=e+i,o.refresh(),this.builder.opts.onChange()}));const d=r.querySelector("#inpElmBottom");d.addEventListener("click",(()=>{this.builder.uo.saveForUndo()}));const c=r.querySelector("#inpElmBottomUnit");d.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=d.value,i=c.value;isNaN(e)||""===e?t.style.bottom="":t.style.bottom=e+i,o.refresh(),this.builder.opts.onChange()})),c.addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=d.value,i=c.value;isNaN(e)||""===e?t.style.bottom="":t.style.bottom=e+i,o.refresh(),this.builder.opts.onChange()}));const u=r.querySelector("#inpElmLeft");u.addEventListener("click",(()=>{this.builder.uo.saveForUndo()}));const p=r.querySelector("#inpElmLeftUnit");u.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=u.value,i=p.value;isNaN(e)||""===e?t.style.left="":t.style.left=e+i,o.refresh(),this.builder.opts.onChange()})),p.addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=u.value,i=p.value;isNaN(e)||""===e?t.style.left="":t.style.left=e+i,o.refresh(),this.builder.opts.onChange()}));const h=r.querySelector("#inpElmRight");h.addEventListener("click",(()=>{this.builder.uo.saveForUndo()}));const v=r.querySelector("#inpElmRightUnit");h.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=h.value,i=v.value;isNaN(e)||""===e?t.style.right="":t.style.right=e+i,o.refresh(),this.builder.opts.onChange()})),v.addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=h.value,i=v.value;isNaN(e)||""===e?t.style.right="":t.style.right=e+i,o.refresh(),this.builder.opts.onChange()}))}readElementStyles(t){let e=this.panelStuff;const i=e.querySelector("#inpElmPosition");i.value="";let n=t.style.position;i.value=n;const o=e.querySelector("#inpElmFloat");o.value="",n=t.style.float,o.value=n;const r=e.querySelector("#inpElmTop"),s=e.querySelector("#inpElmTopUnit");r.value="",s.value="px",n=t.style.top;let a=parseInt(n);isNaN(a)||(-1!==n.indexOf("%")&&(s.value="%"),-1!==n.indexOf("px")&&(s.value="px"),-1!==n.indexOf("vw")&&(s.value="vw"),-1!==n.indexOf("vh")&&(s.value="vh"),-1!==n.indexOf("em")&&(s.value="em"),r.value=a);const l=e.querySelector("#inpElmBottom"),d=e.querySelector("#inpElmBottomUnit");l.value="",d.value="px",n=t.style.bottom;let c=parseInt(n);isNaN(c)||(-1!==n.indexOf("%")&&(d.value="%"),-1!==n.indexOf("px")&&(d.value="px"),-1!==n.indexOf("vw")&&(d.value="vw"),-1!==n.indexOf("vh")&&(d.value="vh"),-1!==n.indexOf("em")&&(d.value="em"),l.value=c);const u=e.querySelector("#inpElmLeft"),p=e.querySelector("#inpElmLeftUnit");u.value="",p.value="px",n=t.style.left;let h=parseInt(n);isNaN(h)||(-1!==n.indexOf("%")&&(p.value="%"),-1!==n.indexOf("px")&&(p.value="px"),-1!==n.indexOf("vw")&&(p.value="vw"),-1!==n.indexOf("vh")&&(p.value="vh"),-1!==n.indexOf("em")&&(p.value="em"),u.value=h);const v=e.querySelector("#inpElmRight"),f=e.querySelector("#inpElmRightUnit");v.value="",f.value="px",n=t.style.right;let g=parseInt(n);isNaN(g)||(-1!==n.indexOf("%")&&(f.value="%"),-1!==n.indexOf("px")&&(f.value="px"),-1!==n.indexOf("vw")&&(f.value="vw"),-1!==n.indexOf("vh")&&(f.value="vh"),-1!==n.indexOf("em")&&(f.value="em"),v.value=g)}}const Wv=new e;class jv{constructor(e){this.builder=e;const i=new t(e);this.util=i;const n=i.builderStuff();this.builderStuff=n;const o=new Lv(e);let r=n.querySelector("#divElementEffect");this.panelStuff=r;const s=`\n <div style="margin-top:13px;font-weight:bold;">${i.out("Effects")}</div>\n\n <div class="is-settings clearfix" style="width:100%;">\n <div>${i.out("Opacity")}:</div>\n <div style="display:flex">\n <input type="text" id="inpElmOpacity" value="" style="width:45px"/>\n </div>\n </div>\n\n <div style="margin-top:25px;font-weight:bold;width:100%;">${i.out("Filters")}</div>\n\n <div class="is-settings clearfix" style="width:110px;">\n <div>${i.out("Blur")}:</div>\n <div>\n <input type="text" id="inpElmBlur" value="" style="width:45px"/> px\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:110px;">\n <div>${i.out("Brightness")}:</div>\n <div>\n <input type="text" id="inpElmBrightness" value="" style="width:45px"/>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:110px;">\n <div>${i.out("Contrast")}:</div>\n <div>\n <input type="text" id="inpElmContrast" value="" style="width:45px"/> %\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:110px;">\n <div>${i.out("Grayscale")}:</div>\n <div>\n <input type="text" id="inpElmGrayscale" value="" style="width:45px"/> %\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:110px;">\n <div>${i.out("Hue Rotate")}:</div>\n <div>\n <input type="text" id="inpElmHueRotate" value="" style="width:45px"/> <span style="font-size:12px">deg</span>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:110px;">\n <div>${i.out("Invert")}:</div>\n <div>\n <input type="text" id="inpElmInvert" value="" style="width:45px"/> %\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:110px;">\n <div>${i.out("Saturate")}:</div>\n <div>\n <input type="text" id="inpElmSaturate" value="" style="width:45px"/>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:110px;">\n <div>${i.out("Sepia")}:</div>\n <div>\n <input type="text" id="inpElmSepia" value="" style="width:45px"/> %\n </div>\n </div>\n `;Wv.appendHtml(r,s);const a=r.querySelector("#inpElmOpacity");let l;a.addEventListener("click",(()=>{this.builder.uo.saveForUndo()})),a.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=r.querySelector("#inpElmOpacity").value;t.style.opacity=e,o.refresh(),this.builder.opts.onChange()}));const d=r.querySelector("#inpElmBlur");d.addEventListener("click",(()=>{this.builder.uo.saveForUndo()})),d.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=r.querySelector("#inpElmBlur").value,i=t.style.filter;i=i.replace("none","");let n=i.split(" "),s=!1;for(l=0;l<n.length;l++){-1!==n[l].indexOf("blur")&&(isNaN(e)||""===e?n[l]="":n[l]="blur("+e+"px)",s=!0)}if(s)for(i="",l=0;l<n.length;l++)i+=" "+n[l];else i=i+" blur("+e+"px)";""===i.trim()?t.style.filter="none":t.style.filter=i,o.refresh(),this.builder.opts.onChange()}));const c=r.querySelector("#inpElmBrightness");c.addEventListener("click",(()=>{this.builder.uo.saveForUndo()})),c.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=r.querySelector("#inpElmBrightness").value,i=t.style.filter;i=i.replace("none","");let n=i.split(" "),s=!1;for(l=0;l<n.length;l++){-1!==n[l].indexOf("brightness")&&(isNaN(e)||""===e?n[l]="":n[l]="brightness("+e+")",s=!0)}if(s)for(i="",l=0;l<n.length;l++)i+=" "+n[l];else i=i+" brightness("+e+")";""===i.trim()?t.style.filter="none":t.style.filter=i,o.refresh(),this.builder.opts.onChange()}));const u=r.querySelector("#inpElmContrast");u.addEventListener("click",(()=>{this.builder.uo.saveForUndo()})),u.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=r.querySelector("#inpElmContrast").value,i=t.style.filter;i=i.replace("none","");let n=i.split(" "),s=!1;for(l=0;l<n.length;l++){-1!==n[l].indexOf("contrast")&&(isNaN(e)||""===e?n[l]="":n[l]="contrast("+e+"%)",s=!0)}if(s)for(i="",l=0;l<n.length;l++)i+=" "+n[l];else i=i+" contrast("+e+"%)";""===i.trim()?t.style.filter="none":t.style.filter=i,o.refresh(),this.builder.opts.onChange()}));const p=r.querySelector("#inpElmGrayscale");p.addEventListener("click",(()=>{this.builder.uo.saveForUndo()})),p.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=r.querySelector("#inpElmGrayscale").value,i=t.style.filter;i=i.replace("none","");let n=i.split(" "),s=!1;for(l=0;l<n.length;l++){-1!==n[l].indexOf("grayscale")&&(isNaN(e)||""===e?n[l]="":n[l]="grayscale("+e+"%)",s=!0)}if(s)for(i="",l=0;l<n.length;l++)i+=" "+n[l];else i=i+" grayscale("+e+"%)";""===i.trim()?t.style.filter="none":t.style.filter=i,o.refresh(),this.builder.opts.onChange()}));const h=r.querySelector("#inpElmHueRotate");h.addEventListener("click",(()=>{this.builder.uo.saveForUndo()})),h.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=r.querySelector("#inpElmHueRotate").value,i=t.style.filter;i=i.replace("none","");let n=i.split(" "),s=!1;for(l=0;l<n.length;l++){-1!==n[l].indexOf("hue-rotate")&&(isNaN(e)||""===e?n[l]="":n[l]="hue-rotate("+e+"deg)",s=!0)}if(s)for(i="",l=0;l<n.length;l++)i+=" "+n[l];else i=i+" hue-rotate("+e+"deg)";""===i.trim()?t.style.filter="none":t.style.filter=i,o.refresh(),this.builder.opts.onChange()}));const v=r.querySelector("#inpElmInvert");v.addEventListener("click",(()=>{this.builder.uo.saveForUndo()})),v.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=r.querySelector("#inpElmInvert").value,i=t.style.filter;i=i.replace("none","");let n=i.split(" "),s=!1;for(l=0;l<n.length;l++){-1!==n[l].indexOf("invert")&&(isNaN(e)||""===e?n[l]="":n[l]="invert("+e+"%)",s=!0)}if(s)for(i="",l=0;l<n.length;l++)i+=" "+n[l];else i=i+" invert("+e+"%)";""===i.trim()?t.style.filter="none":t.style.filter=i,o.refresh(),this.builder.opts.onChange()}));const f=r.querySelector("#inpElmSaturate");f.addEventListener("click",(()=>{this.builder.uo.saveForUndo()})),f.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=r.querySelector("#inpElmSaturate").value,i=t.style.filter;i=i.replace("none","");let n=i.split(" "),s=!1;for(l=0;l<n.length;l++){-1!==n[l].indexOf("saturate")&&(isNaN(e)||""===e?n[l]="":n[l]="saturate("+e+")",s=!0)}if(s)for(i="",l=0;l<n.length;l++)i+=" "+n[l];else i=i+" saturate("+e+")";""===i.trim()?t.style.filter="none":t.style.filter=i,o.refresh(),this.builder.opts.onChange()}));const g=r.querySelector("#inpElmSepia");g.addEventListener("click",(()=>{this.builder.uo.saveForUndo()})),g.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement,e=r.querySelector("#inpElmSepia").value,i=t.style.filter;i=i.replace("none","");let n=i.split(" "),s=!1;for(l=0;l<n.length;l++){-1!==n[l].indexOf("sepia")&&(isNaN(e)||""===e?n[l]="":n[l]="sepia("+e+"%)",s=!0)}if(s)for(i="",l=0;l<n.length;l++)i+=" "+n[l];else i=i+" sepia("+e+"%)";""===i.trim()?t.style.filter="none":t.style.filter=i,o.refresh(),this.builder.opts.onChange()}))}readElementStyles(t){let e=this.panelStuff;const i=e.querySelector("#inpElmOpacity");i.value="";let n=t.style.opacity;n&&(i.value=n);let o=t.style.filter.split(" ");const r=e.querySelector("#inpElmBlur");r.value="";const s=e.querySelector("#inpElmBrightness");s.value="";const a=e.querySelector("#inpElmGrayscale");a.value="";const l=e.querySelector("#inpElmContrast");l.value="";const d=e.querySelector("#inpElmHueRotate");d.value="";const c=e.querySelector("#inpElmInvert");c.value="";const u=e.querySelector("#inpElmSaturate");u.value="";const p=e.querySelector("#inpElmSepia");let h;p.value="";for(let t=0;t<o.length;t++)n=o[t],-1!==n.indexOf("blur")&&(h=n.replace("blur(","").replace(")",""),h=parseInt(h),r.value=h),-1!==n.indexOf("brightness")&&(h=n.replace("brightness(","").replace(")",""),h=parseInt(h),s.value=h),-1!==n.indexOf("grayscale")&&(h=n.replace("grayscale(","").replace(")",""),h=parseInt(h),a.value=h),-1!==n.indexOf("contrast")&&(h=n.replace("contrast(","").replace(")",""),h=parseInt(h),l.value=h),-1!==n.indexOf("hue-rotate")&&(h=n.replace("hue-rotate(","").replace(")",""),h=parseInt(h),d.value=h),-1!==n.indexOf("invert")&&(h=n.replace("invert(","").replace(")",""),h=parseInt(h),c.value=h),-1!==n.indexOf("saturate")&&(h=n.replace("saturate(","").replace(")",""),h=parseInt(h),u.value=h),-1!==n.indexOf("sepia")&&(h=n.replace("sepia(","").replace(")",""),h=parseInt(h),p.value=h)}}const Gv=new e;class Xv{constructor(e){this.builder=e;const i=new t(e);this.util=i;const n=i.builderStuff();this.builderStuff=n;let o=n.querySelector("#divElementAttribute");this.panelStuff=o;const r=`\n <div style="margin-top:13px;font-weight:bold;width:100%;">${i.out("Attributes")}</div>\n\n <div class="is-settings clearfix" style="width:120px;">\n <div style="width:100%">${i.out("Names")}:</div>\n <div style="display:flex">\n <input type="text" id="inpElmAttr1" value="" style="width:90%"/>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:120px;">\n <div style="width:100%">${i.out("Values")}:</div>\n <div style="display:flex">\n <input type="text" id="inpElmAttrVal1" value="" style="width:90%"/>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:120px;">\n <div style="display:flex">\n <input type="text" id="inpElmAttr2" value="" style="width:90%"/>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:120px;">\n <div style="display:flex">\n <input type="text" id="inpElmAttrVal2" value="" style="width:90%"/>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:120px;">\n <div style="display:flex">\n <input type="text" id="inpElmAttr3" value="" style="width:90%"/>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:120px;">\n <div style="display:flex">\n <input type="text" id="inpElmAttrVal3" value="" style="width:90%"/>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:120px;">\n <div style="display:flex">\n <input type="text" id="inpElmAttr4" value="" style="width:90%"/>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:120px;">\n <div style="display:flex">\n <input type="text" id="inpElmAttrVal4" value="" style="width:90%"/>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:120px;">\n <div style="display:flex">\n <input type="text" id="inpElmAttr5" value="" style="width:90%"/>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:120px;float:left;">\n <div style="display:flex">\n <input type="text" id="inpElmAttrVal5" value="" style="width:90%"/>\n </div>\n </div>\n `;Gv.appendHtml(o,r);let s=o.querySelectorAll("#inpElmAttr1,#inpElmAttr2,#inpElmAttr3,#inpElmAttr4,#inpElmAttr5,#inpElmAttrVal1,#inpElmAttrVal2,#inpElmAttrVal3,#inpElmAttrVal4,#inpElmAttrVal5");Array.prototype.forEach.call(s,(t=>{t.addEventListener("click",(()=>{this.builder.uo.saveForUndo()})),t.addEventListener("keyup",(()=>{let t=this.builder.inspectedElement;this.updateAttributes(t),this.builder.opts.onChange()}))}))}updateAttributes(t){let e={};Array.prototype.forEach.call(t.attributes,(t=>{e[t.name]=t.value}));for(let i in e)Object.prototype.hasOwnProperty.call(e,i)&&"id"!==i&&"style"!==i&&"class"!==i&&"href"!==i&&"src"!==i&&"contenteditable"!==i&&"data-filename"!==i&&t.removeAttribute(i);const i=this.panelStuff;let n,o;n=i.querySelector("#inpElmAttr1").value,o=i.querySelector("#inpElmAttrVal1").value,""!==n&&t.setAttribute(n,o),n=i.querySelector("#inpElmAttr2").value,o=i.querySelector("#inpElmAttrVal2").value,""!==n&&t.setAttribute(n,o),n=i.querySelector("#inpElmAttr3").value,o=i.querySelector("#inpElmAttrVal3").value,""!==n&&t.setAttribute(n,o),n=i.querySelector("#inpElmAttr4").value,o=i.querySelector("#inpElmAttrVal4").value,""!==n&&t.setAttribute(n,o),n=i.querySelector("#inpElmAttr5").value,o=i.querySelector("#inpElmAttrVal5").value,""!==n&&t.setAttribute(n,o)}readElementStyles(t){const e=this.panelStuff;let i=e.querySelectorAll("#inpElmAttr1,#inpElmAttr2,#inpElmAttr3,#inpElmAttr4,#inpElmAttr5,#inpElmAttrVal1,#inpElmAttrVal2,#inpElmAttrVal3,#inpElmAttrVal4,#inpElmAttrVal5");Array.prototype.forEach.call(i,(t=>{t.value=""}));var n=1;Array.prototype.forEach.call(t.attributes,(t=>{"id"!==t.name&&"style"!==t.name&&"class"!==t.name&&"href"!==t.name&&"src"!==t.name&&"contenteditable"!==t.name&&"data-filename"!==t.name&&"data-saveforundo"!==t.name&&(e.querySelector("#inpElmAttr"+n).value=t.name,e.querySelector("#inpElmAttrVal"+n).value=t.value,n+=1)}))}}const Yv=new e;class Vv{constructor(e){this.builder=e;const i=new t(e);this.util=i;const n=i.builderStuff();this.builderStuff=n;let o=n.querySelector("#divElementAnimation");this.panelStuff=o;const r=`\n <div style="margin-top:13px;font-weight:bold;">${i.out("Animate")}</div>\n\n <div class="is-settings clearfix" style="width:100%;">\n <div style="display:flex">\n <select id="selElmAnim">\n <option value=""></option>\n <option value="fade">fade</option>\n <option value="fade-up">fade-up</option>\n <option value="fade-down">fade-down</option>\n <option value="fade-left">fade-left</option>\n <option value="fade-right">fade-right</option>\n <option value="fade-up-right">fade-up-right</option>\n <option value="fade-up-left">fade-up-left</option>\n <option value="fade-down-right">fade-down-right</option>\n <option value="fade-down-left">fade-down-left</option>\n <option value="flip-up">flip-up</option>\n <option value="flip-down">flip-down</option>\n <option value="flip-left">flip-left</option>\n <option value="flip-right">flip-right</option>\n <option value="slide-up">slide-up</option>\n <option value="slide-down">slide-down</option>\n <option value="slide-left">slide-left</option>\n <option value="slide-right">slide-right</option>\n <option value="zoom-in">zoom-in</option>\n <option value="zoom-in-up">zoom-in-up</option>\n <option value="zoom-in-down">zoom-in-down</option>\n <option value="zoom-in-left">zoom-in-left</option>\n <option value="zoom-in-right">zoom-in-right</option>\n <option value="zoom-out">zoom-out</option>\n <option value="zoom-out-up">zoom-out-up</option>\n <option value="zoom-out-down">zoom-out-down</option>\n <option value="zoom-out-left">zoom-out-left</option>\n <option value="zoom-out-right">zoom-out-right</option>\n </select>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:110px;">\n <div> ${i.out("Delay")}:</div>\n <div>\n <select id="selElmAnimDelay">\n <option value=""></option>\n <option value="0">0</option>\n <option value="100">100</option>\n <option value="200">200</option>\n <option value="300">300</option>\n <option value="400">400</option>\n <option value="500">500</option>\n <option value="600">600</option>\n <option value="700">700</option>\n <option value="800">800</option>\n <option value="900">900</option>\n <option value="1000">1000</option>\n <option value="1100">1100</option>\n <option value="1200">1200</option>\n <option value="1300">1300</option>\n <option value="1400">1400</option>\n <option value="1500">1500</option>\n <option value="1600">1600</option>\n <option value="1700">1700</option>\n <option value="1800">1800</option>\n <option value="1900">1900</option>\n <option value="2000">2000</option>\n <option value="2100">2100</option>\n <option value="2200">2200</option>\n <option value="2300">2300</option>\n <option value="2400">2400</option>\n <option value="2500">2500</option>\n <option value="2600">2600</option>\n <option value="2700">2700</option>\n <option value="2800">2800</option>\n <option value="2900">2900</option>\n <option value="3000">3000</option>\n </select> ms\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:110px;">\n <div> ${i.out("Duration")}:</div>\n <div>\n <select id="selElmAnimDuration">\n <option value=""></option>\n <option value="0">0</option>\n <option value="100">100</option>\n <option value="200">200</option>\n <option value="300">300</option>\n <option value="400">400</option>\n <option value="500">500</option>\n <option value="600">600</option>\n <option value="700">700</option>\n <option value="800">800</option>\n <option value="900">900</option>\n <option value="1000">1000</option>\n <option value="1100">1100</option>\n <option value="1200">1200</option>\n <option value="1300">1300</option>\n <option value="1400">1400</option>\n <option value="1500">1500</option>\n <option value="1600">1600</option>\n <option value="1700">1700</option>\n <option value="1800">1800</option>\n <option value="1900">1900</option>\n <option value="2000">2000</option>\n <option value="2100">2100</option>\n <option value="2200">2200</option>\n <option value="2300">2300</option>\n <option value="2400">2400</option>\n <option value="2500">2500</option>\n <option value="2600">2600</option>\n <option value="2700">2700</option>\n <option value="2800">2800</option>\n <option value="2900">2900</option>\n <option value="3000">3000</option>\n </select> ms\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:100%;">\n <div style="margin-top:15px">\n <label for="chkAnimateOnce"><input type="checkbox" id="chkAnimateOnce" value=""> ${i.out("Animate Once")} </label>\n </div>\n </div>\n\n <div class="is-settings clearfix" style="width:100%;">\n <div style="display:flex">\n <button title="${i.out("Test")}" id="btnPreviewAnim" class="classic" value=""> ${i.out("TEST")} </button>\n </div>\n </div>\n `;Yv.appendHtml(o,r);let s=o.querySelector("#selElmAnim");s.addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=o.querySelector("#selElmAnim").value;""===e?t.removeAttribute("data-aos"):(t.setAttribute("data-aos",e),o.querySelector("#btnPreviewAnim").click()),this.builder.opts.onChange()})),s=o.querySelector("#selElmAnimDelay"),s.addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=o.querySelector("#selElmAnimDelay").value;""===e?t.removeAttribute("data-aos-delay"):t.setAttribute("data-aos-delay",e),this.builder.opts.onChange()})),s=o.querySelector("#selElmAnimDuration"),s.addEventListener("change",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement,e=o.querySelector("#selElmAnimDuration").value;""===e?t.removeAttribute("data-aos-duration"):t.setAttribute("data-aos-duration",e),this.builder.opts.onChange()}));let a=o.querySelector("#chkAnimateOnce");a.addEventListener("click",(()=>{this.builder.uo.saveForUndo();let t=this.builder.inspectedElement;o.querySelector("#chkAnimateOnce").checked?t.setAttribute("data-aos-once","true"):t.removeAttribute("data-aos-once"),this.builder.opts.onChange()})),a=o.querySelector("#btnPreviewAnim"),a.addEventListener("click",(()=>{let t=this.builder.inspectedElement,e=t.getAttribute("data-aos-duration");t.removeAttribute("data-aos-duration"),t.style.visibility="hidden",window.AOS&&window.AOS.init({duration:1}),Yv.removeClass(t,"aos-init"),Yv.removeClass(t,"aos-animate"),setTimeout((function(){t.style.visibility="",window.AOS&&window.AOS.init({duration:1200}),e&&t.setAttribute("data-aos-duration",e)}),10)}))}readElementStyles(t){this.panelStuff.querySelector("#selElmAnimDelay").value="";let e=t.getAttribute("data-aos-delay");this.panelStuff.querySelector("#selElmAnimDelay").value=e,this.panelStuff.querySelector("#selElmAnimDuration").value="",e=t.getAttribute("data-aos-duration"),this.panelStuff.querySelector("#selElmAnimDuration").value=e,this.panelStuff.querySelector("#chkAnimateOnce").checked=!1;let i=t.getAttribute("data-aos-once");i&&"true"===i&&(this.panelStuff.querySelector("#chkAnimateOnce").checked=!0),this.panelStuff.querySelector("#selElmAnim").value="",e=t.getAttribute("data-aos"),this.panelStuff.querySelector("#selElmAnim").value=e}}const Kv=new e;let Zv=[];class Qv{constructor(e){this.builder=e;const i=new t(e);this.util=i;const n=i.builderStuff();this.builderStuff=n;let o=n.querySelector(".elementstyles");if(!o){let t=`\n <div class="is-side${"right"===this.builder.opts.sidePanel?"":" fromleft"} elementstyles" style="display:none;">\n <div class="elm-list" style="z-index:1;width:100%;height:100px;position:absolute;top:0px;left:0px;box-sizing:border-box;display:flex;align-items:center;flex-wrap: wrap;padding:10px 23px 10px 18px;"></div>\n \n <button title="${i.out("Close")}" class="is-side-close" style="z-index:1;background:transparent;width:25px;height:25px;position:absolute;top:10px;right:13px;box-sizing:border-box;padding:0;line-height:25px;font-size: 12px;text-align:center;cursor:pointer;"><svg class="is-icon-flex" style="width:25px;height:25px;"><use xlink:href="#ion-ios-close-empty"></use></svg></button>\n \n <div style="position: absolute;bottom:7px;right:7px;width:40px;height:25px;z-index:1;display:flex">\n <button title="${i.out("css")}" class="elm-editstyle classic" style="width: 40px;height: 25px;font-family: sans-serif;font-size: 10px;padding: 0px;font-weight: bold;">${i.out("css")}</button>\n </div>\n \n <div style="width:100%;height:100%;overflow-y:auto;overflow-x:hidden;position:absolute;top:0px;left:0px;box-sizing:border-box;border-top:100px solid transparent;padding:0px;">\n \n <div class="is-tabs clearfix" data-group="element" style="padding-right:0;padding-bottom:0;">\n <a title="${i.out("Box")}" id="tabElementBox" href="" data-content="divElementBox" class="active">${i.out("Box")}</a>\n <a title="${i.out("Spacing")}" id="tabElementSpacing" href="" data-content="divElementSpacing">${i.out("Spacing")}</a>\n <a title="${i.out("Border")}" id="tabElementBorder" href="" data-content="divElementBorder">${i.out("Border")}</a>\n <a title="${i.out("Text")}" id="tabElementText" href="" data-content="divElementText">${i.out("Text")}</a>\n <a title="${i.out("More")}" id="tabElementMore" data-menu="divElementMore" href=""><svg class="is-icon-flex" style="width:15px;height:15px;"><use xlink:href="#ion-more"></use></svg></a>\n </div>\n \n <div id="divElementMore" class="is-tabs-more" data-group="element">\n <a title="${i.out("Corners")}" id="tabElementCorner" href="" data-content="divElementCorner">${i.out("Corners")}</a>\n <a title="${i.out("Shadow")}" id="tabElementShadow" href="" data-content="divElementShadow">${i.out("Shadow")}</a>\n <a title="${i.out("Display")}" id="tabElementDisplay" href="" data-content="divElementDisplay">${i.out("Display")}</a>\n <a title="${i.out("Position")}" id="tabElementPosition" href="" data-content="divElementPosition">${i.out("Position")}</a>\n <a title="${i.out("Effects")}" id="tabElementEffect" href="" data-content="divElementEffect">${i.out("Effects")}</a>\n <a title="${i.out("Attributes")}" id="tabElementAttribute" href="" data-content="divElementAttribute">${i.out("Attributes")}</a>\n ${!0===this.builder.opts.elementAnimate?`<a title="${i.out("Animation")}" id="tabElementAnimation" href="" data-content="divElementAnimation">${i.out("Animation")}</a>`:""}\n </div>\n\n <div id="divElementBox" class="is-tab-content" data-group="element" style="display:flex;flex-flow:wrap;padding:12px 20px;">\n </div>\n\n <div id="divElementSpacing" class="is-tab-content" data-group="element" style="display:none;flex-flow:wrap;padding:12px 20px;">\n </div>\n\n <div id="divElementBorder" class="is-tab-content" data-group="element" style="display:none;flex-flow:wrap;padding:12px 20px;">\n </div>\n\n <div id="divElementText" class="is-tab-content" data-group="element" style="display:none;flex-flow:wrap;padding:12px 20px;">\n </div>\n\n <div id="divElementCorner" class="is-tab-content" data-group="element" style="display:none;flex-flow:wrap;padding:12px 20px;">\n </div>\n\n <div id="divElementShadow" class="is-tab-content" data-group="element" style="display:none;flex-flow:wrap;padding:12px 20px;">\n </div>\n \n <div id="divElementDisplay" class="is-tab-content" data-group="element" style="display:none;flex-flow:wrap;padding:12px 20px;">\n </div>\n \n <div id="divElementPosition" class="is-tab-content" data-group="element" style="display:none;flex-flow:wrap;padding:12px 20px;">\n </div>\n \n <div id="divElementEffect" class="is-tab-content" data-group="element" style="display:none;flex-flow:wrap;padding:12px 20px;">\n </div>\n \n <div id="divElementAttribute" class="is-tab-content" data-group="element" style="display:none;flex-flow:wrap;padding:12px 20px;">\n </div>\n \n <div id="divElementAnimation" class="is-tab-content" data-group="element" style="display:none;flex-flow:wrap;padding:12px 20px;">\n </div>\n\n </div>\n </div> \n `;Kv.appendHtml(n,t),this.elementStyleEditor=new Lv(e),o=n.querySelector(".elementstyles");let r=o.querySelector(".is-side-close");Kv.addEventListener(r,"click",(()=>{this.hidePanel()})),r=o.querySelector(".elm-editstyle"),Kv.addEventListener(r,"click",(()=>{this.elementStyleEditor.toggleStyleEditor()}))}this.panel=o;const r=new qv(e);this.elementBoxStyles=r;const s=new Mv(e);this.elementSpacingStyles=s;const a=new Rv(e);this.elementBorderStyles=a;const l=new Bv(e);this.elementTextStyles=l;const d=new $v(e);this.elementCornerStyles=d;const c=new Hv(e);this.elementShadowStyles=c;const u=new Pv(e);this.elementDisplayStyles=u;const p=new Uv(e);this.elementPositionStyles=p;const h=new jv(e);this.elementEffectStyles=h;const v=new Xv(e);this.elementAttributeStyles=v;const f=new Vv(e);this.elementAnimationStyles=f}click(){(Kv.hasClass(this.panel,"active")||Kv.hasClass(this.elementStyleEditor.modalStyles,"active"))&&this.inspect(this.builder.inspectedElement)}inspect(t){this.elementBoxStyles.readElementStyles(t),this.elementSpacingStyles.readElementStyles(t),this.elementBorderStyles.readElementStyles(t),this.elementTextStyles.readElementStyles(t),this.elementCornerStyles.readElementStyles(t),this.elementShadowStyles.readElementStyles(t),this.elementDisplayStyles.readElementStyles(t),this.elementPositionStyles.readElementStyles(t),this.elementEffectStyles.readElementStyles(t),this.elementAttributeStyles.readElementStyles(t),this.elementAnimationStyles.readElementStyles(t);let e=this.panel,i=document.querySelectorAll("[data-saveforundo]");Array.prototype.forEach.call(i,(t=>{t.removeAttribute("data-saveforundo")})),t.setAttribute("data-saveforundo",""),i=document.querySelectorAll(".elm-inspected"),Array.prototype.forEach.call(i,(t=>{Kv.removeClass(t,"elm-inspected")})),setTimeout((()=>{Kv.addClass(t,"elm-inspected")}),10),e.querySelector(".elm-list").innerHTML="";let n=t,o=0;for(Zv=[];!Kv.hasClass(n,"is-builder")&&(Zv.push(n),n)&&n.tagName;){var r=n.tagName.toLowerCase(),s=Kv.createElement("a");s.setAttribute("data-index",o),o++,s.setAttribute("href","#"),s.innerHTML=r,""===e.querySelector(".elm-list").innerHTML?(Kv.addClass(s,"active"),e.querySelector(".elm-list").insertAdjacentHTML("afterbegin",s.outerHTML)):(e.querySelector(".elm-list").insertAdjacentHTML("afterbegin"," > "),e.querySelector(".elm-list").insertAdjacentHTML("afterbegin",s.outerHTML)),n=n.parentNode}const a=e.querySelectorAll(".elm-list a");Array.prototype.forEach.call(a,(t=>{Kv.addEventListener(t,"click",(e=>{let i=t.getAttribute("data-index");this.builder.inspectedElement=Zv[i],this.inspect(Zv[i]),document.querySelector(".elm-inspected.elm-active")||(this.builderStuff.querySelector(".is-element-tool").style.display="none"),e.preventDefault(),e.stopImmediatePropagation()}))})),this.elementStyleEditor.refresh()}showPanel(){var t=this.builderStuff.querySelector(".is-side.elementstyles");t.style.display="block";let e=this.builderStuff.querySelectorAll(".is-side");Array.prototype.forEach.call(e,(t=>{Kv.removeClass(t,"active")})),setTimeout((()=>{Kv.addClass(t,"active")}),10),this.inspect(this.builder.inspectedElement)}hidePanel(){var t=this.builderStuff.querySelector(".is-side.elementstyles");Kv.removeClass(t,"active");let e=document.querySelectorAll("[data-saveforundo]");Array.prototype.forEach.call(e,(t=>{t.removeAttribute("data-saveforundo")})),e=document.querySelectorAll(".elm-inspected"),Array.prototype.forEach.call(e,(t=>{Kv.removeClass(t,"elm-inspected")}))}}const Jv=new e;class tf{constructor(e){this.builder=e;const i=new t(e);this.util=i;const n=new Qv(e);this.elementPanel=n;const o=i.builderStuff();let r,s=o.querySelector(".is-element-tool");if(!s){let t=`<div class="is-tool is-element-tool">\n <button type="button" title="${i.out("Add")}" class="elm-add"><svg class="is-icon-flex"><use xlink:href="#ion-ios-plus-empty"></use></svg></button>\n <button type="button" title="${i.out("More")}" class="elm-more"><svg class="is-icon-flex"><use xlink:href="#ion-more"></use></svg></button>\n <button type="button" title="${i.out("Delete")}" class="elm-remove"><svg class="is-icon-flex" style="margin-left:-1px"><use xlink:href="#ion-ios-close-empty"></use></svg></button>\n <button type="button" title="${i.out("Settings")}" class="elm-settings"><svg class="is-icon-flex"><use xlink:href="#ion-ios-gear"></use></svg></button>\n </div>\n <div class="is-pop elmmore" style="z-index:10002;">\n <div style="display:flex;flex-flow:wrap;">\n <button type="button" title="${i.out("Move Up")}" class="elm-up"><span><svg class="is-icon-flex" style="width:15px;height:15px;"><use xlink:href="#ion-ios-arrow-thin-up"></use></svg></span>${i.out("Move Up")}</button>\n <button type="button" title="${i.out("Move Down")}" class="elm-down"><span><svg class="is-icon-flex" style="width:15px;height:15px;"><use xlink:href="#ion-ios-arrow-thin-down"></use></svg></span>${i.out("Move Down")}</button>\n <button type="button" title="${i.out("Duplicate")}" class="elm-duplicate"><span><svg class="is-icon-flex" style="width:12px;height:12px;"><use xlink:href="#ion-ios-photos-outline"></use></svg></span>${i.out("Duplicate")}</button>\n ${this.builder.opts.elementEditor?`\n <button type="button" title="${i.out("Settings")}" class="elm-settings"><span><svg class="is-icon-flex" style="width:12px;height:12px;"><use xlink:href="#ion-ios-gear"></use></svg></span>${i.out("Settings")}</button>\n `:""} \n </div>\n </div>\n `;Jv.appendHtml(o,t),s=o.querySelector(".is-element-tool"),r=o.querySelector(".elmmore");let e=s.querySelectorAll("[title]");Array.prototype.forEach.call(e,(t=>{t.setAttribute("data-title",t.getAttribute("title"))}))}this.elementTool=s,this.elementMore=r;const a=ei(e),l=s.querySelector(".elm-add");Jv.addEventListener(l,"click",(()=>{a.querySelector(".is-pop-tabs").style.display="none";const t=window.innerHeight,e=l.getBoundingClientRect().top,i=l.getBoundingClientRect().left;a.style.display="flex";const n=a.offsetWidth,o=a.offsetHeight;return t-e>o?(a.style.top=e+window.pageYOffset+27+"px",a.style.left=i-n/2+10+"px",Jv.removeClass(a,"arrow-bottom"),Jv.removeClass(a,"arrow-right"),Jv.removeClass(a,"arrow-left"),Jv.removeClass(a,"center"),Jv.addClass(a,"arrow-top"),Jv.addClass(a,"center")):(a.style.top=e+window.pageYOffset-o-8+"px",a.style.left=i-n/2+10+"px",Jv.removeClass(a,"arrow-top"),Jv.removeClass(a,"arrow-right"),Jv.removeClass(a,"arrow-left"),Jv.removeClass(a,"center"),Jv.addClass(a,"arrow-bottom"),Jv.addClass(a,"center")),a.setAttribute("data-mode","elm"),!1}));const d=s.querySelector(".elm-remove");Jv.addEventListener(d,"click",(()=>{i.confirm(i.out("Are you sure you want to delete this element?"),(t=>{if(t){this.builder.uo.saveForUndo();let t=this.builder.activeElement;if(Jv.hasClass(t.parentNode,"cell-active")||t.parentNode.hasAttribute("data-subblock"))t.parentNode.removeChild(t);else if(t.parentNode.childElementCount>1)t.parentNode.removeChild(t);else{let e=t;if(Jv.parentsHasAttribute(e,"data-subblock"))for(;!e.parentNode.hasAttribute("data-subblock")&&1===t.parentNode.childElementCount;)e=e.parentNode;else for(;!Jv.hasClass(e.parentNode,"cell-active")&&1===t.parentNode.childElementCount;)e=e.parentNode;e.parentNode.removeChild(e)}this.elementTool.style.display="none";let n=this.builder.activeCol;if(n){let t=n.parentNode;if(0===n.childElementCount&&3===t.childElementCount){t.parentNode.removeChild(t);let e=o.querySelector(".is-column-tool");Jv.removeClass(e,"active"),i.checkEmpty()}else if(0===n.childElementCount){t.removeChild(n),i.fixLayout(t,e);let r=o.querySelector(".is-column-tool");Jv.removeClass(r,"active")}}const r=document.querySelectorAll(".is-subblock");Array.prototype.forEach.call(r,(t=>{const e=Jv.elementChildren(t);let i=!0;e.forEach((()=>{i=!1})),i&&(t.innerHTML='<div class="spacer height-40" contentEditable="false"></div>')})),i.clearControls(),this.builder.opts.onChange()}}))}));const c=s.querySelector(".elm-more");Jv.addEventListener(c,"click",(()=>{const t=window.innerHeight,e=c.getBoundingClientRect().top,i=c.getBoundingClientRect().left;r.style.display="flex";const n=r.offsetWidth,o=r.offsetHeight;t-e>o?(r.style.top=e+window.pageYOffset+27+"px",r.style.left=i-n/2+10+"px",Jv.removeClass(r,"arrow-bottom"),Jv.removeClass(r,"arrow-right"),Jv.removeClass(r,"arrow-left"),Jv.removeClass(r,"center"),Jv.addClass(r,"arrow-top"),Jv.addClass(r,"center")):(r.style.top=e+window.pageYOffset-o-8+"px",r.style.left=i-n/2+10+"px",Jv.removeClass(r,"arrow-top"),Jv.removeClass(r,"arrow-right"),Jv.removeClass(r,"arrow-left"),Jv.removeClass(r,"center"),Jv.addClass(r,"arrow-bottom"),Jv.addClass(r,"center"))}));const u=r.querySelector(".elm-up");Jv.addEventListener(u,"click",(()=>{let t=this.builder.activeElement;if(t.previousElementSibling)this.builder.uo.saveForUndo(),t.parentNode.insertBefore(t,t.previousElementSibling),t.click(),this.position(t),this.builder.opts.onChange();else{let e=t;for(;!Jv.hasClass(e.parentNode,"cell-active")&&!e.parentNode.hasAttribute("data-subblock");)e=e.parentNode;e.previousElementSibling&&e!==t&&(this.builder.uo.saveForUndo(),e.parentNode.insertBefore(e,e.previousElementSibling),t.click(),this.position(t),this.builder.opts.onChange())}t.click(),s.querySelector(".elm-more").click()}));const p=r.querySelector(".elm-down");Jv.addEventListener(p,"click",(()=>{let t=this.builder.activeElement;if(t.nextElementSibling)this.builder.uo.saveForUndo(),t.parentNode.insertBefore(t.nextElementSibling,t),t.click(),this.position(t),this.builder.opts.onChange();else{let e=t;for(;!Jv.hasClass(e.parentNode,"cell-active")&&!e.parentNode.hasAttribute("data-subblock");)e=e.parentNode;e.nextElementSibling&&e!==t&&(this.builder.uo.saveForUndo(),e.parentNode.insertBefore(e.nextElementSibling,e),t.click(),this.position(t),this.builder.opts.onChange())}}));const h=r.querySelector(".elm-duplicate");Jv.addEventListener(h,"click",(()=>{this.builder.uo.saveForUndo();let t=this.builder.activeElement;const e=t.cloneNode(!0);Jv.moveAfter(e,t),setTimeout((()=>{e.click(),this.position(e),this.builder.applyBehavior(),this.builder.opts.onChange()}),100)}));const v=s.querySelector(".elm-settings");v&&Jv.addEventListener(v,"click",(()=>{r.style.display="",this.elementPanel.showPanel()}));const f=r.querySelector(".elm-settings");f&&Jv.addEventListener(f,"click",(()=>{r.style.display="",this.elementPanel.showPanel()})),document.addEventListener("mousedown",(t=>{var e=(t=t||window.event).target||t.srcElement;if("flex"===r.style.display){let t=Jv.parentsHasClass(e,"elmmore"),i=Jv.parentsHasClass(e,"elm-more");if(t||i)return;r.style.display=""}}))}hide(){this.elementTool.style.display="";let t=document.querySelectorAll(".elm-active");Array.prototype.forEach.call(t,(t=>{Jv.removeClass(t,"elm-active")}))}position(){let t=this.elementTool,e=this.elementMore;Jv.addClass(e,"transition1");let i=t.querySelector(".elm-more");const n=window.innerHeight,o=i.getBoundingClientRect().top,r=i.getBoundingClientRect().left;e.style.display="flex";const s=e.offsetWidth,a=e.offsetHeight;n-o>a?(e.style.top=o+window.pageYOffset+27+"px",e.style.left=r-s/2+10+"px",Jv.removeClass(e,"arrow-bottom"),Jv.removeClass(e,"arrow-right"),Jv.removeClass(e,"arrow-left"),Jv.removeClass(e,"center"),Jv.addClass(e,"arrow-top"),Jv.addClass(e,"center")):(e.style.top=o+window.pageYOffset-a-8+"px",e.style.left=r-s/2+10+"px",Jv.removeClass(e,"arrow-top"),Jv.removeClass(e,"arrow-right"),Jv.removeClass(e,"arrow-left"),Jv.removeClass(e,"center"),Jv.addClass(e,"arrow-bottom"),Jv.addClass(e,"center")),setTimeout((()=>{Jv.removeClass(e,"transition1")}),300)}click(t,e){const i=e.target;this.elementTool.style.display="none";let n=document.querySelectorAll(".elm-active");Array.prototype.forEach.call(n,(t=>{Jv.removeClass(t,"elm-active")}));let o=null,r=!1;t.hasAttribute("data-noedit")&&(r=!0);let s=!1;t.hasAttribute("data-protected")&&(s=!0);let a=!1;t.hasAttribute("data-html")&&(a=!0);let l=!1;if(Jv.parentsHasClass(i,"is-subblock")&&(l=!0),(a||r||s)&&!l);else{const t=i.tagName.toLowerCase();if("h1"===t||"h2"===t||"h3"===t||"h4"===t||"h5"===t||"h6"===t||"p"===t||"pre"===t||"blockquote"===t||"li"===t||"img"===t||"iframe"===t)o=i,"img"===t&&Jv.hasClass(i.parentNode,"img-circular")&&(o=i.parentNode);else if(Jv.hasClass(i,"cell-active")||i.hasAttribute("data-subblock"));else if(Jv.hasClass(i,"cell-active")||i.parentNode.hasAttribute("data-subblock"))o=i;else{let t=i;for(;"BODY"!==t.tagName&&"HTML"!==t.tagName;){let e=t.tagName.toLowerCase();if("h1"===e||"h2"===e||"h3"===e||"h4"===e||"h5"===e||"h6"===e||"p"===e||"pre"===e||"blockquote"===e||"li"===e||"img"===e||"iframe"===e){o=t;break}if(Jv.hasClass(t.parentNode,"cell-active")||t.parentNode.hasAttribute("data-subblock")){o=t;break}t=t.parentNode}}}if(this.builder.activeElement=o,o){let t=o;this.pos(),Jv.addClass(t,"elm-active")}this.builder.inspectedElement=e.target,this.elementPanel.click(e)}refresh(){if(this.builder.activeElement){this.elementTool.style.display="",setTimeout((()=>{this.pos()}),300)}}repositionElementTool(t){if(this.builder.activeElement)try{if(t){"flex"===this.elementTool.style.display&&this.pos()}else this.pos()}catch(t){}}pos(){let t=this.elementTool,e=this.builder.activeElement;const i=e.getBoundingClientRect().top+window.pageYOffset,n=e.getBoundingClientRect().left+window.pageXOffset,o=e.offsetWidth*this.builder.opts.zoom,r=e.offsetHeight*this.builder.opts.zoom;t.style.display="flex",t.style.top=i+r+"px",t.style.left=n+o-t.offsetWidth+"px";const s=window.innerWidth;n+o>s&&(t.style.left=s-t.offsetWidth+"px")}}const ef=new e;class nf{constructor(e){this.builder=e;const i=new t(e),n=i.builderStuff();let o="";if(this.builder.themes){o='<div class="div-themes">';let t=0;this.builder.themes.forEach((e=>{""===e[1]?o+=`<button type="button" title="${i.out("Set theme")}" class="input-setcolor" data-index="${t}" style="background:${e[0]};border:rgba(0,0,0,0.15) 1px solid;"></button>`:"light"===e[1]?o+=`<button type="button" title="${i.out("Set theme")}" class="input-setcolor" data-index="${t}" style="background:${e[0]};border:rgb(132 132 132 / 16%) 1px solid;"></button>`:o+=`<button type="button" title="${i.out("Set theme")}" class="input-setcolor" data-index="${t}" style="background:${e[0]};"></button>`,t++})),o+="</div>"}let r=n.querySelector(".viewconfig");if(!r){let t=`<div class="is-modal viewconfig">\n <div class="is-modal-content">\n <div class="is-modal-bar is-draggable">${i.out("Preferences")}</div>\n \n <div style="display:flex;flex-wrap:wrap;width:100%;padding-top:32px;">\n <div style="width:50%">\n <label id="divBuilderMode" style="display:block;margin-top:14px;margin-bottom:5px;">\n ${i.out("Builder Mode")}: \n <select class="select-buildermode">\n <option value="">${i.out("Default")}</option>\n <option value="minimal">${i.out("Minimal")}</option>\n <option value="clean">${i.out("Clean")}</option>\n </select>\n </label>\n \n <label id="divOutlineMode" style="display:block;margin-top:14px;margin-bottom:5px;">\n ${i.out("Outline Mode")}: \n <select class="select-outlinemode">\n <option value="">${i.out("Row & column")}</option>\n <option value="row">${i.out("Row only")}</option>\n </select>\n </label>\n\n <label style="display:block;margin-top:14px;margin-bottom:5px;">\n ${i.out("Outline Style")}: \n <select class="select-outlinestyle">\n <option value="">${i.out("Colored")}</option>\n <option value="grayoutline">${i.out("Gray")}</option>\n </select>\n </label>\n \n <label style="display:block;margin-top:14px;margin-bottom:10px;">\n <input class="input-hiderowcoloutline" type="checkbox" /> ${i.out("Hide Outline")} \n </label> \n\n <label id="divHideCellTool" style="display:block;margin-top:14px;margin-bottom:10px;">\n <input class="input-hidecelltool" type="checkbox" /> ${i.out("Hide Column Tool")} \n </label>\n\n <label style="display:block;margin-top:5px;margin-bottom:5px;">\n ${i.out("Row Tool Position")}: \n <select class="select-rowtool">\n <option value="right">${i.out("Right")}</option>\n <option value="left">${i.out("Left")}</option>\n </select>\n </label> \n\n <label style="display:block;margin-top:5px;margin-bottom:5px;">\n ${i.out("Tool Style")}: \n <select class="select-toolstyle">\n <option value="">${i.out("Colored")}</option>\n <option value="gray">${i.out("Mono")}</option>\n </select>\n </label> \n\n </div>\n <div style="width:50%">\n\n <label style="display:block;margin-top:14px;margin-bottom:10px;">\n <input class="input-hidesnippetaddtool" type="checkbox" /> ${i.out("Hide Snippet (+) Tool")} \n </label>\n\n <label style="display:block;margin-top:14px;margin-bottom:10px;">\n <input class="input-hideelementtool" type="checkbox" /> ${i.out("Hide element tool")} \n </label> \n\n <label style="display:block;margin-top:14px;margin-bottom:10px;">\n <input class="input-hideelementhighlight" type="checkbox" /> ${i.out("Hide element highlight")} \n </label> \n\n <label class="option-opensnippets" style="display:block;margin-top:14px;margin-bottom:10px;">\n <input class="input-opensnippets" type="checkbox" /> ${i.out("Open snippets sidebar on start")} \n </label>\n\n <label style="display:block;margin-top:14px;margin-bottom:5px;">\n ${i.out("Snippets sidebar visibility")}: \n <select class="select-snippetssidebardisplay">\n <option value="auto">${i.out("Auto")}</option>\n <option value="always">${i.out("Always Visible")}</option>\n </select>\n </label>\n\n <label style="display:block;margin-top:5px;margin-bottom:5px;">\n ${i.out("Paste result")}: \n <select class="select-pasteresult">\n <option value="html-without-styles">${i.out("HTML (without styles)")}</option>\n <option value="html">${i.out("HTML (with styles)")}</option>\n <option value="text">${i.out("Text only")}</option>\n </select>\n </label> \n\n <label style="display:none;margin-top:14px;margin-bottom:5px;">\n ${i.out("Toolbar visibility")}: \n <select class="select-editingtoolbardisplay">\n <option value="auto">${i.out("Auto")}</option>\n <option value="always">${i.out("Always Visible")}</option>\n </select>\n </label>\n\n <label style="${this.builder.isTouchSupport?"display:none;":"display:block;"}margin-top:5px;margin-bottom:5px;">\n ${i.out("Toolbar position")}: \n <select class="select-editingtoolbar">\n <option value="top">${i.out("Top")}</option>\n <option value="left">${i.out("Left")}</option>\n <option value="right">${i.out("Right")}</option>\n </select>\n </label> \n\n ${this.builder.themes?`\n <label style="${this.builder.isTouchSupport?"display:none;":"display:block;"}margin-top:5px;margin-bottom:5px;">\n ${i.out("Theme")}: \n </label> \n ${o}\n `:""}\n\n </div>\n </div>\n <div style="text-align:right;margin-top:30px">\n <button title="${i.out("Cancel")}" class="input-cancel classic-secondary">${i.out("Cancel")}</button>\n <button title="${i.out("Ok")}" class="input-ok classic-primary">${i.out("Ok")}</button>\n </div>\n </div>\n </div>`;ef.appendHtml(n,t),r=n.querySelector(".viewconfig"),"#divSnippetList"===e.opts.snippetList&&e.opts.snippetJSON.snippets.length>0||(r.querySelector(".option-opensnippets").style.display="none");let s=r.querySelector(".input-cancel");if(ef.addEventListener(s,"click",(()=>{i.hideModal(r)})),s=r.querySelector(".input-ok"),ef.addEventListener(s,"click",(()=>{this.update(),i.hideModal(r)})),null!==localStorage.getItem("_hiderowcoloutline")&&("1"===localStorage.getItem("_hiderowcoloutline")?this.builder.opts.rowcolOutline=!1:this.builder.opts.rowcolOutline=!0),this.setOutline(!this.builder.opts.rowcolOutline),null!==localStorage.getItem("_outlinemode")&&(this.builder.opts.outlineMode=localStorage.getItem("_outlinemode")),this.setOutlineMode(this.builder.opts.outlineMode),null!==localStorage.getItem("_outlinestyle")&&(this.builder.opts.outlineStyle=localStorage.getItem("_outlinestyle")),this.setOutlineStyle(this.builder.opts.outlineStyle),null!==localStorage.getItem("_pasteresult")&&(this.builder.opts.paste=localStorage.getItem("_pasteresult")),null!==localStorage.getItem("_hidecelltool")&&("1"===localStorage.getItem("_hidecelltool")?this.builder.opts.columnTool=!1:this.builder.opts.columnTool=!0),this.setColumnTool(!this.builder.opts.columnTool),null!==localStorage.getItem("_hidesnippetaddtool")&&("1"===localStorage.getItem("_hidesnippetaddtool")?this.builder.opts.snippetAddTool=!1:this.builder.opts.snippetAddTool=!0),this.setSnippetAddTool(!this.builder.opts.snippetAddTool),null!==localStorage.getItem("_hideelementtool")&&("1"===localStorage.getItem("_hideelementtool")?this.builder.opts.elementTool=!1:this.builder.opts.elementTool=!0),this.setElementTool(!this.builder.opts.elementTool),null!==localStorage.getItem("_hideelementhighlight")&&("1"===localStorage.getItem("_hideelementhighlight")?this.builder.opts.elementHighlight=!1:this.builder.opts.elementHighlight=!0),this.setElementHighlight(!this.builder.opts.elementHighlight),null!==localStorage.getItem("_opensnippets")&&("1"===localStorage.getItem("_opensnippets")?this.builder.opts.snippetOpen=!0:this.builder.opts.snippetOpen=!1),null!==localStorage.getItem("_buildermode")&&(this.builder.opts.builderMode=localStorage.getItem("_buildermode")),this.setBuilderMode(this.builder.opts.builderMode),null!==localStorage.getItem("_rowtool")&&(this.builder.opts.rowTool=localStorage.getItem("_rowtool")),this.setRowToolPosition(this.builder.opts.rowTool),null!==localStorage.getItem("_toolstyle")&&(this.builder.opts.toolStyle=localStorage.getItem("_toolstyle")),this.setToolStyle(this.builder.opts.toolStyle),this.builder.opts.toolbarDisplay="auto",null!==localStorage.getItem("_snippetssidebardisplay")&&(this.builder.opts.snippetsSidebarDisplay=localStorage.getItem("_snippetssidebardisplay")),null!=localStorage.getItem("_editingtoolbar")&&(this.builder.opts.toolbar=localStorage.getItem("_editingtoolbar")),this.setToolbar(this.builder.opts.toolbar),null!=localStorage.getItem("_theme")){const t=localStorage.getItem("_theme");if(this.builder.themeIndex=t,this.builder.themes&&this.builder.themes.length>0){const e=this.builder.themes[t];e&&(this.builder.setUIColor(e[1],e[2]),this.builder.renderIframeLater=!0)}}this.builder.renderIframeLater||i.getUIStyles(),this.builder.opts.emailMode&&(this.builder.opts.outlineMode="row",this.builder.opts.columnTool=!1,this.builder.opts.builderMode="",null!=localStorage.getItem("_outlinemode")&&localStorage.setItem("_outlinemode","row"),null!==localStorage.getItem("_hidecelltool")&&localStorage.setItem("_hidecelltool","1"),null!==localStorage.getItem("_buildermode")&&localStorage.setItem("_buildermode",""),this.setColumnTool(!0),this.setBuilderMode(""),this.setEmailMode(),n.querySelector("#divHideCellTool").style.display="none",n.querySelector("#divOutlineMode").style.display="none",n.querySelector("#divBuilderMode").style.display="none")}this.config=r;document.querySelectorAll(".input-setcolor").forEach((t=>{t.addEventListener("click",(e=>{const i=t.getAttribute("data-index"),n=this.builder.themes[i];this.builder.setUIColor(n[1],n[2]),this.builder.themeIndex=i,e.preventDefault(),e.stopImmediatePropagation()}))}))}view(){const e=new t(this.builder);let i=this.config;e.showModal(i,!1,null,!1),this.builder.opts.rowcolOutline?i.querySelector(".input-hiderowcoloutline").checked=!1:i.querySelector(".input-hiderowcoloutline").checked=!0,this.builder.opts.columnTool?i.querySelector(".input-hidecelltool").checked=!1:i.querySelector(".input-hidecelltool").checked=!0,this.builder.opts.snippetAddTool?i.querySelector(".input-hidesnippetaddtool").checked=!1:i.querySelector(".input-hidesnippetaddtool").checked=!0,this.builder.opts.elementTool?i.querySelector(".input-hideelementtool").checked=!1:i.querySelector(".input-hideelementtool").checked=!0,this.builder.opts.elementHighlight?i.querySelector(".input-hideelementhighlight").checked=!1:i.querySelector(".input-hideelementhighlight").checked=!0,this.builder.opts.snippetOpen?i.querySelector(".input-opensnippets").checked=!0:i.querySelector(".input-opensnippets").checked=!1,this.config.querySelector(".select-buildermode").value=this.builder.opts.builderMode,this.config.querySelector(".select-rowtool").value=this.builder.opts.rowTool,this.config.querySelector(".select-outlinemode").value=this.builder.opts.outlineMode,this.config.querySelector(".select-outlinestyle").value=this.builder.opts.outlineStyle,this.config.querySelector(".select-toolstyle").value=this.builder.opts.toolStyle,this.config.querySelector(".select-pasteresult").value=this.builder.opts.paste,this.config.querySelector(".select-editingtoolbardisplay").value=this.builder.opts.toolbarDisplay,this.config.querySelector(".select-editingtoolbar").value=this.builder.opts.toolbar,this.config.querySelector(".select-snippetssidebardisplay").value=this.builder.opts.snippetsSidebarDisplay}update(){let t=this.config.querySelector(".input-hiderowcoloutline").checked;t?(this.builder.opts.rowcolOutline=!1,localStorage.setItem("_hiderowcoloutline","1")):(this.builder.opts.rowcolOutline=!0,localStorage.setItem("_hiderowcoloutline","0")),this.setOutline(t),this.config.querySelector(".input-hidecelltool").checked?(this.builder.opts.columnTool=!1,localStorage.setItem("_hidecelltool","1"),this.setColumnTool(!0)):(this.builder.opts.columnTool=!0,localStorage.setItem("_hidecelltool","0"),this.setColumnTool(!1)),this.config.querySelector(".input-hidesnippetaddtool").checked?(this.builder.opts.snippetAddTool=!1,localStorage.setItem("_hidesnippetaddtool","1"),this.setSnippetAddTool(!0)):(this.builder.opts.snippetAddTool=!0,localStorage.setItem("_hidesnippetaddtool","0"),this.setSnippetAddTool(!1)),this.config.querySelector(".input-hideelementtool").checked?(this.builder.opts.elementTool=!1,localStorage.setItem("_hideelementtool","1"),this.setElementTool(!0)):(this.builder.opts.elementTool=!0,localStorage.setItem("_hideelementtool","0"),this.setElementTool(!1)),this.config.querySelector(".input-hideelementhighlight").checked?(this.builder.opts.elementHighlight=!1,localStorage.setItem("_hideelementhighlight","1"),this.setElementHighlight(!0)):(this.builder.opts.elementHighlight=!0,localStorage.setItem("_hideelementhighlight","0"),this.setElementHighlight(!1)),this.config.querySelector(".input-opensnippets").checked?(this.builder.opts.snippetOpen=!0,localStorage.setItem("_opensnippets","1")):(this.builder.opts.snippetOpen=!1,localStorage.setItem("_opensnippets","0"));let e=this.config.querySelector(".select-buildermode").value;this.builder.opts.builderMode=e,localStorage.setItem("_buildermode",e),this.setBuilderMode(e);let i=this.config.querySelector(".select-rowtool").value;this.builder.opts.rowTool=i,localStorage.setItem("_rowtool",i),this.setRowToolPosition(i);let n=this.config.querySelector(".select-outlinemode").value;this.builder.opts.outlineMode=n,localStorage.setItem("_outlinemode",n),this.setOutlineMode(n);let o=this.config.querySelector(".select-outlinestyle").value;this.builder.opts.outlineStyle=o,localStorage.setItem("_outlinestyle",o),this.setOutlineStyle(o);let r=this.config.querySelector(".select-toolstyle").value;this.builder.opts.toolStyle=r,localStorage.setItem("_toolstyle",r),this.setToolStyle(r);let s=this.config.querySelector(".select-pasteresult").value;this.builder.opts.paste=s,localStorage.setItem("_pasteresult",s);let a=this.config.querySelector(".select-snippetssidebardisplay").value;this.builder.opts.snippetsSidebarDisplay=a,localStorage.setItem("_snippetssidebardisplay",a);let l=this.config.querySelector(".select-editingtoolbar").value;if(this.builder.opts.toolbar=l,localStorage.setItem("_editingtoolbar",l),this.setToolbar(l),this.builder.themes){const t=this.builder.themeIndex;this.builder.themeIndex&&localStorage.setItem("_theme",t)}}setToolbar(t){let e=document.querySelector("#_cbhtml");"top"===t?(e.removeAttribute("toolbarleft",""),e.removeAttribute("toolbarright","")):"left"===t?(e.setAttribute("toolbarleft",""),e.removeAttribute("toolbarright","")):"right"===t&&(e.setAttribute("toolbarright",""),e.removeAttribute("toolbarleft",""));const i=e.querySelector(".is-rte-tool"),n=e.querySelector(".rte-more-options"),o=e.querySelector(".elementrte-more-options");i&&this.builder.rte.positionToolbar(),n&&(ef.removeClass(n,"active"),ef.addClass(n,"deactive"),ef.removeClass(o,"active"),ef.addClass(o,"deactive"))}setEmailMode(){document.querySelector("#_cbhtml").setAttribute("emailmode","")}setElementTool(t){let e=document.querySelector("#_cbhtml");t?e.setAttribute("hideelementtool",""):e.removeAttribute("hideelementtool","")}setElementHighlight(t){const e=document.querySelectorAll(this.builder.opts.container);Array.prototype.forEach.call(e,(e=>{t?e.setAttribute("hideelementhighlight",""):e.removeAttribute("hideelementhighlight","")}))}setOutlineStyle(t){const e=document.querySelectorAll(this.builder.opts.container);Array.prototype.forEach.call(e,(e=>{"grayoutline"===t?e.setAttribute("grayoutline",""):e.removeAttribute("grayoutline")}))}setColumnTool(t){let e=document.querySelector("#_cbhtml");t?e.setAttribute("hidecolumntool",""):e.removeAttribute("hidecolumntool","")}setSnippetAddTool(t){const e=document.querySelectorAll(this.builder.opts.container);Array.prototype.forEach.call(e,(e=>{t?e.setAttribute("hidesnippetaddtool",""):e.removeAttribute("hidesnippetaddtool","")}))}setToolStyle(t){let e=document.querySelector("#_cbhtml");const i=document.querySelectorAll(this.builder.opts.container);Array.prototype.forEach.call(i,(i=>{"gray"===t?(i.setAttribute("gray",""),e.setAttribute("gray","")):(i.removeAttribute("gray"),e.removeAttribute("gray",""))}))}setOutlineMode(t){const e=document.querySelectorAll(this.builder.opts.container);Array.prototype.forEach.call(e,(e=>{"row"===t?e.setAttribute("rowoutline",""):e.removeAttribute("rowoutline")}))}setOutline(t){const e=document.querySelectorAll(this.builder.opts.container);Array.prototype.forEach.call(e,(e=>{t?e.setAttribute("hideoutline",""):e.removeAttribute("hideoutline")}))}setRowToolPosition(t){const e=document.querySelectorAll(this.builder.opts.container);Array.prototype.forEach.call(e,(e=>{"right"===t?e.removeAttribute("leftrowtool"):e.setAttribute("leftrowtool","")}))}setBuilderMode(t){let e=document.querySelector("#_cbhtml");const i=document.querySelectorAll(this.builder.opts.container);Array.prototype.forEach.call(i,(i=>{""===t?(i.removeAttribute("minimal"),i.removeAttribute("clean"),e.removeAttribute("minimal"),e.removeAttribute("clean")):"minimal"===t?(i.setAttribute("minimal",""),i.removeAttribute("clean"),e.setAttribute("minimal",""),e.removeAttribute("clean")):"clean"===t&&(i.setAttribute("clean",""),i.removeAttribute("minimal"),e.setAttribute("clean",""),e.removeAttribute("minimal"))}))}}const of=new e;class rf{constructor(e){this.builder=e;const i=new t(e);this.util=i;const n=i.builderStuff();this.builderStuff=n,this.elementStyleEditor=new Lv(e),this.hyperlink=new Dh(e);let o,r,s,a,l,d,c,u,p,h,v,f,g,m,b=n.querySelector("#divRteTool");if(!b){let t="";var y="";if(e.opts.customTags.length>0){t=`<button title="${i.out("Tags")}" class="rte-tags"><svg class="is-icon-flex" style="width:14px;height:14px"><use xlink:href="#ion-code-working"></use></svg></button>`;for(let t=0;t<e.opts.customTags.length;t++)y+=`<button data-value="${e.opts.customTags[t][1]}"> ${e.opts.customTags[t][0]} </button>`}let w="";for(var x=0;x<e.opts.buttonsMore.length;x++){var _=e.opts.buttonsMore[x].toLowerCase();"createlink"===_?w+=`<button title="${i.out("Hyperlink")}" class="rte-link"><svg class="is-icon-flex" style="width:14px;height:14px;"><use xlink:href="#ion-link"></use></svg></button>`:"icon"!==_||this.builder.opts.emailMode?w+="removeformat"===_?`<button title="${i.out("Clean")}" class="rte-clean"><svg class="is-icon-flex" style="width:11px;height:11px;"><use xlink:href="#icon-clean"></use></svg></button>`:"bold"===_?`<button title="${i.out("Bold")}" class="rte-format" data-command="bold"><span style="font-family:serif;font-size:14px;">B</span></button>`:"italic"===_?`<button title="${i.out("Italic")}" class="rte-format" data-command="italic"><span style="font-family:serif;font-size:16px;font-style:italic;">i</span></button>`:"underline"===_?`<button title="${i.out("Underline")}" class="rte-format" data-command="underline"><span style="font-family:serif;font-size:14px;text-decoration:underline;">U</span></button>`:"align"===_?`<button title="${i.out("Align")}" class="rte-align"><svg class="is-icon-flex" style="width:12px;height:12px;margin-top:-2px;"><use xlink:href="#icon-align-full"></use></svg></button>`:"list"===_?`<button title="${i.out("List")}" class="rte-list"><svg class="is-icon-flex" style="width:12px;height:12px;"><use xlink:href="#icon-list-bullet"></use></svg></button>`:"color"===_?`<button title="${i.out("Color")}" class="rte-color"><svg class="is-icon-flex" style="width:12px;height:12px;"><use xlink:href="#ion-contrast"></use></svg></button>`:"formatting"===_?`<button title="${i.out("Formatting")}" class="rte-formatting"><span style="font-family:serif;font-size:15px;display:inline-block;">A</span></button>`:"tags"===_?t:"image"===_?`<button title="${i.out("Image")}" class="rte-image"><svg class="is-icon-flex" style="width:13px;height:13px;"><use xlink:href="#ion-image"></use></svg></button>`:"gridtool"===_?`<button title="${i.out("Grid Tool")}" class="rte-grideditor"><svg class="is-icon-flex" style="margin-right:-3px;"><use xlink:href="#ion-grid"></use></svg></button>`:"html"===_?`<button title="${i.out("HTML")}" class="rte-html"><svg class="is-icon-flex" style="margin-right:-3px;width:14px;height:14px;"><use xlink:href="#ion-ios-arrow-left"></use></svg><svg class="is-icon-flex" style="margin-left:-2px;width:14px;height:14px;"><use xlink:href="#ion-ios-arrow-right"></use></svg></button>`:"preferences"===_?`<button title="${i.out("Preferences")}" class="rte-preferences"><svg class="is-icon-flex" style="width:13px;height:13px;"><use xlink:href="#ion-wrench"></use></svg></button>`:"addsnippet"===_?`<button title="${i.out("Add Snippet")}" class="rte-addsnippet"><svg class="is-icon-flex" style="width:18px;height:18px;margin-top:-1px;"><use xlink:href="#ion-ios-plus-empty"></use></svg></button>`:"formatpara"===_?`<button title="${i.out("Paragraph")}" class="rte-paragraph"><span style="font-family:serif;font-size:14px;display:inline-block;margin-top:2px;">H</span></button>`:"font"===_?`<button title="${i.out("Font")}" class="rte-fontfamily"><span style="font-family:serif;font-size:18px;text-transform:none;display:inline-block;margin-top: -3px;">a</span></button>`:"textsettings"===_?`<button title="${i.out("Text Settings")}" class="rte-textsettings"><svg class="is-icon-flex" style="width:16px;height:16px;"><use xlink:href="#ion-ios-settings"></use></svg></button>`:"undo"===_?`<button title="${i.out("Undo")}" class="rte-undo"><svg class="is-icon-flex" style="margin-top:2px;width:15px;height:15px;"><use xlink:href="#ion-ios-undo"></use></svg></button>`:"redo"===_?`<button title="${i.out("Redo")}" class="rte-redo"><svg class="is-icon-flex" style="margin-top:2px;width:15px;height:15px;"><use xlink:href="#ion-ios-redo"></use></svg></button>`:"zoom"===_?`<button title="${i.out("Zoom")}" class="rte-zoom"><svg class="is-icon-flex" style="margin-top:2px;width:15px;height:15px;"><use xlink:href="#icon-zoom-in"></use></svg></button>`:"|"===_?'<div class="rte-separator"></div>':`<button title="button not found" data-plugin="${_}"></button>`:w+=`<button title="${i.out("Icon")}" class="rte-icon"><svg class="is-icon-flex" style="width:14px;height:14px;margin-top:2px;"><use xlink:href="#ion-android-happy"></use></svg></button>`}let S="";for(x=0;x<e.opts.buttons.length;x++)"bold"===(_=e.opts.buttons[x].toLowerCase())?S+=`<button title="${i.out("Bold")}" class="rte-format" data-command="bold"><span style="font-family:serif;font-size:14px;">B</span></button>`:"italic"===_?S+=`<button title="${i.out("Italic")}" class="rte-format" data-command="italic"><span style="font-family:serif;font-size:16px;font-style:italic;">i</span></button>`:"underline"===_?S+=`<button title="${i.out("Underline")}" class="rte-format" data-command="underline"><span style="font-family:serif;font-size:14px;text-decoration:underline;">U</span></button>`:"createlink"===_?S+=`<button title="${i.out("Hyperlink")}" class="rte-link"><svg class="is-icon-flex" style="width:14px;height:14px;"><use xlink:href="#ion-link"></use></svg></button>`:"align"===_?S+=`<button title="${i.out("Align")}" class="rte-align"><svg class="is-icon-flex" style="width:12px;height:12px;margin-top:-2px;"><use xlink:href="#icon-align-full"></use></svg></button>`:"formatpara"===_?S+=`<button title="${i.out("Paragraph")}" class="rte-paragraph"><span style="font-family:serif;font-size:14px;display:inline-block;margin-top:2px;">H</span></button>`:"color"===_?S+=`<button title="${i.out("Color")}" class="rte-color"><svg class="is-icon-flex" style="width:12px;height:12px;"><use xlink:href="#ion-contrast"></use></svg></button>`:"formatting"===_?S+=`<button title="${i.out("Formatting")}" class="rte-formatting"><span style="font-family:serif;font-size:15px;display:inline-block;">A</span></button>`:"list"===_?S+=`<button title="${i.out("List")}" class="rte-list"><svg class="is-icon-flex" style="width:12px;height:12px;"><use xlink:href="#icon-list-bullet"></use></svg></button>`:"textsettings"===_?S+=`<button title="${i.out("Text Settings")}" class="rte-textsettings"><svg class="is-icon-flex" style="width:16px;height:16px;"><use xlink:href="#ion-ios-settings"></use></svg></button>`:"icon"!==_||this.builder.opts.emailMode?S+="tags"===_?t:"removeformat"===_?`<button title="${i.out("Clean")}" class="rte-format" data-command="clean"><svg class="is-icon-flex" style="width:11px;height:11px;"><use xlink:href="#icon-clean"></use></svg></button>`:"font"===_?`<button title="${i.out("Font")}" class="rte-fontfamily"><span style="font-family:serif;font-size:18px;text-transform:none;display:inline-block;margin-top: -3px;">a</span></button>`:"image"===_?`<button title="${i.out("Image")}" class="rte-image"><svg class="is-icon-flex" style="width:13px;height:13px;"><use xlink:href="#ion-image"></use></svg></button>`:"gridtool"===_?`<button title="${i.out("Grid Tool")}" class="rte-grideditor"><svg class="is-icon-flex" style="margin-right:-3px;width:17px;height:17px;"><use xlink:href="#ion-grid"></use></svg></button>`:"html"===_?`<button title="${i.out("HTML")}" class="rte-html"><svg class="is-icon-flex" style="margin-right:-3px;width:14px;height:14px;"><use xlink:href="#ion-ios-arrow-left"></use></svg><svg class="is-icon-flex" style="margin-left:-2px;width:14px;height:14px;"><use xlink:href="#ion-ios-arrow-right"></use></svg></button>`:"preferences"===_?`<button title="${i.out("Preferences")}" class="rte-preferences"><svg class="is-icon-flex" style="width:13px;height:13px;"><use xlink:href="#ion-wrench"></use></svg></button>`:"addsnippet"===_?`<button title="${i.out("Add Snippet")}" class="rte-addsnippet"><svg class="is-icon-flex" style="width:18px;height:18px;margin-top:-1px;"><use xlink:href="#ion-ios-plus-empty"></use></svg></button>`:"undo"===_?`<button title="${i.out("Undo")}" class="rte-undo"><svg class="is-icon-flex" style="margin-top:2px;width:15px;height:15px;"><use xlink:href="#ion-ios-undo"></use></svg></button>`:"redo"===_?`<button title="${i.out("Redo")}" class="rte-redo"><svg class="is-icon-flex" style="margin-top:2px;width:15px;height:15px;"><use xlink:href="#ion-ios-redo"></use></svg></button>`:"more"===_&&""!==w?`<button title="${i.out("More")}" class="rte-more"><svg class="is-icon-flex" style="width:13px;height:13px;"><use xlink:href="#ion-more"></use></svg></button>`:"zoom"===_?`<button title="${i.out("Zoom")}" class="rte-zoom"><svg class="is-icon-flex" style="margin-top:2px;width:15px;height:15px;"><use xlink:href="#icon-zoom-in"></use></svg></button>`:"|"===_?'<div class="rte-separator"></div>':`<button title="button not found" data-plugin="${_}"></button>`:S+=`<button title="${i.out("Icon")}" class="rte-icon"><svg class="is-icon-flex" style="width:14px;height:14px;margin-top:2px"><use xlink:href="#ion-android-happy"></use></svg></button>`;this.builder.opts.toolbarAddSnippetButton&&-1===S.indexOf("rte-addsnippet")&&-1===w.indexOf("rte-addsnippet")&&(S=`<button title="${i.out("Add Snippet")}" class="rte-addsnippet"><svg class="is-icon-flex" style="width:18px;height:18px;margin-top:-1px;"><use xlink:href="#ion-ios-plus-empty"></use></svg></button>`+S),""!==w&&-1===S.indexOf("rte-more")&&(S+=`<button title="${i.out("More")}" class="rte-more"><svg class="is-icon-flex" style="width:13px;height:13px;"><use xlink:href="#ion-more"></use></svg></button>`);let C="";for(x=0;x<e.opts.elementButtonsMore.length;x++)C+="left"===(_=e.opts.elementButtonsMore[x].toLowerCase())?`<button title="${i.out("Align Left")}" data-align="left"><svg class="is-icon-flex" style="width:14px;height:14px;"><use xlink:href="#icon-align-left"></use></svg></button>`:"center"===_?`<button title="${i.out("Align Center")}" data-align="center"><svg class="is-icon-flex" style="width:14px;height:14px;"><use xlink:href="#icon-align-center"></use></svg></button>`:"right"===_?`<button title="${i.out("Align Right")}" data-align="right"><svg class="is-icon-flex" style="width:14px;height:14px;"><use xlink:href="#icon-align-right"></use></svg></button>`:"full"===_?`<button title="${i.out("Align Full")}" data-align="justify"><svg class="is-icon-flex" style="width:14px;height:14px;"><use xlink:href="#icon-align-full"></use></svg></button>`:"gridtool"===_?`<button title="${i.out("Grid Tool")}" class="rte-grideditor"><svg class="is-icon-flex" style="margin-right:-3px;"><use xlink:href="#ion-grid"></use></svg></button>`:"html"===_?`<button title="${i.out("HTML")}" class="rte-html"><svg class="is-icon-flex" style="margin-right:-3px;width:14px;height:14px;"><use xlink:href="#ion-ios-arrow-left"></use></svg><svg class="is-icon-flex" style="margin-left:-2px;width:14px;height:14px;"><use xlink:href="#ion-ios-arrow-right"></use></svg></button>`:"preferences"===_?`<button title="${i.out("Preferences")}" class="rte-preferences"><svg class="is-icon-flex" style="width:13px;height:13px;"><use xlink:href="#ion-wrench"></use></svg></button>`:"addsnippet"===_?`<button title="${i.out("Add Snippet")}" class="rte-addsnippet"><svg class="is-icon-flex" style="width:18px;height:18px;margin-top:-1px;"><use xlink:href="#ion-ios-plus-empty"></use></svg></button>`:"undo"===_?`<button title="${i.out("Undo")}" class="rte-undo"><svg class="is-icon-flex" style="margin-top:2px;width:15px;height:15px;"><use xlink:href="#ion-ios-undo"></use></svg></button>`:"redo"===_?`<button title="${i.out("Redo")}" class="rte-redo"><svg class="is-icon-flex" style="margin-top:2px;width:15px;height:15px;"><use xlink:href="#ion-ios-redo"></use></svg></button>`:"zoom"===_?`<button title="${i.out("Zoom")}" class="rte-zoom"><svg class="is-icon-flex" style="margin-top:2px;width:15px;height:15px;"><use xlink:href="#icon-zoom-in"></use></svg></button>`:"|"===_?'<div class="rte-separator"></div>':`<button title="button not found" data-plugin="${_}"></button>`;let k="";for(x=0;x<e.opts.elementButtons.length;x++)k+="left"===(_=e.opts.elementButtons[x].toLowerCase())?`<button title="${i.out("Align Left")}" data-align="left"><svg class="is-icon-flex" style="width:14px;height:14px;"><use xlink:href="#icon-align-left"></use></svg></button>`:"center"===_?`<button title="${i.out("Align Center")}" data-align="center"><svg class="is-icon-flex" style="width:14px;height:14px;"><use xlink:href="#icon-align-center"></use></svg></button>`:"right"===_?`<button title="${i.out("Align Right")}" data-align="right"><svg class="is-icon-flex" style="width:14px;height:14px;"><use xlink:href="#icon-align-right"></use></svg></button>`:"full"===_?`<button title="${i.out("Align Full")}" data-align="justify"><svg class="is-icon-flex" style="width:14px;height:14px;"><use xlink:href="#icon-align-full"></use></svg></button>`:"gridtool"===_?`<button title="${i.out("Grid Tool")}" class="rte-grideditor"><svg class="is-icon-flex" style="margin-right:-3px;width:17px;height:17px;"><use xlink:href="#ion-grid"></use></svg></button>`:"html"===_?`<button title="${i.out("HTML")}" class="rte-html"><svg class="is-icon-flex" style="margin-right:-3px;width:14px;height:14px;"><use xlink:href="#ion-ios-arrow-left"></use></svg><svg class="is-icon-flex" style="margin-left:-2px;width:14px;height:14px;"><use xlink:href="#ion-ios-arrow-right"></use></svg></button>`:"preferences"===_?`<button title="${i.out("Preferences")}" class="rte-preferences"><svg class="is-icon-flex" style="width:13px;height:13px;"><use xlink:href="#ion-wrench"></use></svg></button>`:"addsnippet"===_?`<button title="${i.out("Add Snippet")}" class="rte-addsnippet"><svg class="is-icon-flex" style="width:18px;height:18px;margin-top:-1px;"><use xlink:href="#ion-ios-plus-empty"></use></svg></button>`:"undo"===_?`<button title="${i.out("Undo")}" class="rte-undo"><svg class="is-icon-flex" style="margin-top:2px;width:15px;height:15px;"><use xlink:href="#ion-ios-undo"></use></svg></button>`:"redo"===_?`<button title="${i.out("Redo")}" class="rte-redo"><svg class="is-icon-flex" style="margin-top:2px;width:15px;height:15px;"><use xlink:href="#ion-ios-redo"></use></svg></button>`:"more"===_&&""!==C?`<button title="${i.out("More")}" class="rte-more"><svg class="is-icon-flex" style="width:13px;height:13px;"><use xlink:href="#ion-more"></use></svg></button>`:"zoom"===_?`<button title="${i.out("Zoom")}" class="rte-zoom"><svg class="is-icon-flex" style="margin-top:2px;width:15px;height:15px;"><use xlink:href="#icon-zoom-in"></use></svg></button>`:"|"===_?'<div class="rte-separator"></div>':`<button title="button not found" data-plugin="${_}"></button>`;this.builder.opts.toolbarAddSnippetButton&&-1===k.indexOf("rte-addsnippet")&&-1===C.indexOf("rte-addsnippet")&&(k=`<button title="${i.out("Add Snippet")}" class="rte-addsnippet"><svg class="is-icon-flex" style="width:18px;height:18px;margin-top:-1px;"><use xlink:href="#ion-ios-plus-empty"></use></svg></button>`+S),""!==C&&-1===k.indexOf("rte-more")&&(k+=`<button title="${i.out("More")}" class="rte-more"><svg class="is-icon-flex" style="width:13px;height:13px;"><use xlink:href="#ion-more"></use></svg></button>`);let E=`<div class="is-rte-tool" style="position:fixed;flex-direction:column;display:none;">\n <div style="display:flex">\n ${S}\n </div>\n </div>\n\n <div class="is-elementrte-tool" style="position:fixed;flex-direction:column;display:none;">\n <div style="display:flex">\n ${k}\n </div>\n </div>\n\n <div class="rte-formatting-options is-rte-pop">\n <div>\n <button title="${i.out("Strikethrough")}" class="rte-format" data-command="strikethrough" style="float:left"><svg class="is-icon-flex" style="width:17px;height:17px;"><use xlink:href="#icon-strike"></use></svg></button>\n <button title="${i.out("Superscript")}" class="rte-format" data-command="superscript" style="float:left"><span style="font-family:serif;font-size:13px;">x</span><sup style="font-size:10px">2</sup></button>\n <button title="${i.out("Subscript")}" class="rte-format" data-command="subscript" style="float:left"><span style="font-family:serif;font-size:13px;">x</span><sub style="font-size:10px">2</sub></button>\n <button title="${i.out("Uppercase")}" class="rte-format" data-command="uppercase" style="float:left"><span style="font-family:serif;font-size:14px;display:inline-block;text-transform: none;">Aa</span></button>\n <button title="${i.out("Clean")}" class="rte-format" data-command="clean"><svg class="is-icon-flex" style="width:11px;height:11px;"><use xlink:href="#icon-clean"></use></svg></button>\n </div>\n </div>\n\n <div class="rte-align-options is-rte-pop">\n <div>\n <button title="${i.out("Align Left")}" data-align="left"><svg class="is-icon-flex" style="width:14px;height:14px;"><use xlink:href="#icon-align-left"></use></svg></button>\n <button title="${i.out("Align Center")}" data-align="center"><svg class="is-icon-flex" style="width:14px;height:14px;"><use xlink:href="#icon-align-center"></use></svg></button>\n <button title="${i.out("Align Right")}" data-align="right"><svg class="is-icon-flex" style="width:14px;height:14px;"><use xlink:href="#icon-align-right"></use></svg></button>\n <button title="${i.out("Align Full")}" data-align="justify"><svg class="is-icon-flex" style="width:14px;height:14px;"><use xlink:href="#icon-align-full"></use></svg></button>\n </div>\n </div>\n\n <div class="rte-list-options is-rte-pop">\n <div>\n <button title="${i.out("Bullets")}" data-action="insertUnorderedList"><svg class="is-icon-flex" style="width:14px;height:14px;"><use xlink:href="#icon-list-bullet"></use></svg></button>\n <button title="${i.out("Numbering")}" data-action="insertOrderedList"><svg class="is-icon-flex" style="width:14px;height:14px;"><use xlink:href="#icon-list-number"></use></svg></button>\n <button title="${i.out("Indent")}" data-action="indent"><svg class="is-icon-flex" style="width:14px;height:14px;"><use xlink:href="#icon-indent"></use></svg></button>\n <button title="${i.out("Outdent")}" data-action="outdent"><svg class="is-icon-flex" style="width:14px;height:14px;"><use xlink:href="#icon-outdent"></use></svg></use></svg></svg></button>\n </div>\n </div>\n\n <div class="rte-paragraph-options is-rte-pop">\n <div>\n <div title="${i.out("Heading 1")}" data-block="h1" role="button" tabindex="0"><h1>Heading 1</h1></div>\n <div title="${i.out("Heading 2")}" data-block="h2" role="button" tabindex="0"><h2>Heading 2</h2></div>\n <div title="${i.out("Heading 3")}" data-block="h3" role="button" tabindex="0"><h3>Heading 3</h3></div>\n <div title="${i.out("Heading 4")}" data-block="h4" role="button" tabindex="0"><h4>Heading 4</h4></div>\n <div title="${i.out("Paragraph")}" data-block="p" role="button" tabindex="0"><p>Paragraph</p></div>\n <div title="${i.out("Preformatted")}" data-block="pre" role="button" tabindex="0"><p style="font-family:courier;">Preformatted</p></div>\n </div>\n </div>\n\n <div class="rte-fontfamily-options is-rte-pop">\n <iframe src="about:blank"></iframe>\n </div>\n\n <div class="rte-color-picker is-rte-pop" data-command="forecolor">\n <div class="is-pop-tabs">\n <div class="is-pop-tab-item active" data-value="forecolor">${i.out("Forecolor")}</div>\n <div class="is-pop-tab-item" data-value="backcolor">${i.out("Backcolor")}</div>\n </div>\n <div class="rte-color-picker-area"></div>\n </div>\n \n <div class="rte-textsetting-options is-rte-pop">\n <div>\n <div class="is-label">${i.out("Font Size")}</div>\n <div class="rte-fontsize-options" style="display: flex;flex-flow: wrap;">\n <button title="14px" data-value="14">14</button>\n <button title="16px" data-value="16">16</button>\n <button title="18px" data-value="18">18</button>\n <button title="21px" data-value="21">21</button>\n <button title="24px" data-value="24">24</button>\n <button title="28px" data-value="28">28</button>\n <button title="32px" data-value="32">32</button>\n \x3c!--<button title="35px" data-value="35">35</button>--\x3e\n <button title="38px" data-value="38">38</button>\n \x3c!--<button title="42px" data-value="42">42</button>--\x3e\n <button title="48px" data-value="48">48</button>\n \x3c!--<button title="54px" data-value="54">54</button>--\x3e\n <button title="60px" data-value="60">60</button>\n \x3c!--<button title="68px" data-value="68">68</button>--\x3e\n <button title="76px" data-value="76">76</button>\n \x3c!--<button title="84px" data-value="84">84</button>--\x3e\n <button title="96px" data-value="96">96</button>\n <button title="${i.out("Decrease")}" data-value="-" style="font-size:13px">-</button>\n <button title="${i.out("Increase")}" data-value="+" style="font-size:13px">+</button>\n <button title="${i.out("Clear")}" data-value=""><svg class="is-icon-flex" style="width:18px;height:18px;margin-top: 2px;"><use xlink:href="#ion-ios-close-empty"></use></svg></button>\n </div>\n <div class="is-label separator">${i.out("Line Spacing")}</div>\n <div class="rte-lineheight-options" style="display: flex;flex-flow: wrap;">\n <button title="1" data-value="1">1</button>\n <button title="1.2" data-value="1.2">1.2</button>\n <button title="1.4" data-value="1.4">1.4</button>\n <button title="1.6" data-value="1.6">1.6</button>\n <button title="1.8" data-value="1.8">1.8</button>\n <button title="2" data-value="2">2</button>\n <button title="2.2" data-value="2.2">2.2</button>\n <button title="${i.out("Decrease")}" data-value="-" style="font-size:13px">-</button>\n <button title="${i.out("Increase")}" data-value="+" style="font-size:13px">+</button>\n <button title="${i.out("Clear")}" data-value=""><svg class="is-icon-flex" style="width:18px;height:18px;margin-top: 2px;"><use xlink:href="#ion-ios-close-empty"></use></svg></button>\n </div>\n <div class="is-label separator">${i.out("Letter Spacing")}</div>\n <div class="rte-letterspacing-options" style="display: flex;flex-flow: wrap;">\n <button title="1" data-value="1">1</button>\n <button title="2" data-value="2">2</button>\n <button title="${i.out("Decrease")}" data-value="-" style="font-size:13px">-</button>\n <button title="${i.out("Increase")}" data-value="+" style="font-size:13px">+</button>\n <button title="${i.out("Clear")}" data-value=""><svg class="is-icon-flex" style="width:18px;height:18px;margin-top: 2px;"><use xlink:href="#ion-ios-close-empty"></use></svg></button>\n </div>\n </div>\n </div>\n\n <div class="rte-zoom-options is-rte-pop">\n <div>\n <div class="is-label">${i.out("Zoom")}</div>\n <div style="padding-top:4px">\n <input type="range" min="50" max="100" value="1" class="rte-zoom-slider is-rangeslider">\n </div>\n </div>\n </div>\n\n <div class="is-modal insertimage">\n <div class="is-modal-content" style="max-width:560px;">\n <div class="is-browse-area">\n <div class="is-drop-area">\n <input id="fileInsertImage" type="file" accept="image/*" />\n <div class="drag-text">\n <p style="display:flex;justify-content:center;align-items:center;"><svg class="is-icon-flex" style="width:20px;height:20px;"><use xlink:href="#ion-camera"></use></svg> <span style="margin-left:5px;margin-top:3px;"> ${i.out("Drag and drop an image or click to browse.")} </span></p>\n </div>\n </div>\n <div class="is-preview-area">\n <div><img id="imgInsertImagePreview" alt="" /><i class="ion-ios-close-empty" role="button" tabindex="0"></i></div>\n </div>\n </div> \n <label for="inpInsertImageSrc" style="margin:10px 0 5px;display:block;">${i.out("Or Specify Image Source")}:</label>\n ${"function(){}"!==(this.builder.opts.onImageSelectClick+"").replace(/\s/g,"")||""!==this.builder.opts.imageselect?`<div class="image-src clearfix" style="margin-bottom: 12px;"><input id="inpInsertImageSrc" class="input-src" type="text" placeholder="${i.out("Source")}"><button title="${i.out("Select")}" class="input-select" style="flex:none;width:50px;height:50px;"><svg class="is-icon-flex"><use xlink:href="#ion-more"></use></svg></button></div>`:`<div class="image-src clearfix" style="margin-bottom: 12px;"><input id="inpInsertImageSrc" class="input-src" type="text" placeholder="${i.out("Source")}"></div>`}\n <div style="text-align:right">\n <button title="${i.out("Cancel")}" class="input-cancel classic-secondary">${i.out("Cancel")}</button>\n <button title="${i.out("Ok")}" class="input-ok classic-primary">${i.out("Ok")}</button>\n </div>\n </div>\n </div>\n\n <div class="rte-icon-options is-rte-pop">\n <iframe id="ifrIconInsert" src="about:blank"></iframe>\n </div>\n\n <div class="rte-customtag-options is-rte-pop scroll">\n <div>${y}</div>\n </div>\n\n <div class="rte-more-options is-rte-pop">\n <div>\n ${w}\n </div>\n </div>\n\n <div class="elementrte-more-options is-rte-pop">\n <div>\n ${C}\n </div>\n </div>\n `;of.appendHtml(n,E),b=n.querySelector(".is-rte-tool"),o=n.querySelector(".is-elementrte-tool"),u=n.querySelector(".rte-more-options"),p=n.querySelector(".elementrte-more-options"),r=n.querySelector(".rte-align-options"),s=n.querySelector(".rte-formatting-options"),a=n.querySelector(".rte-color-picker"),l=n.querySelector(".rte-list-options"),d=n.querySelector(".rte-fontfamily-options"),c=n.querySelector(".rte-paragraph-options"),h=n.querySelector(".rte-textsetting-options"),v=n.querySelector(".rte-zoom-options"),f=n.querySelector(".rte-icon-options"),g=n.querySelector(".rte-customtag-options"),m=n.querySelector(".rte-zoom-slider");let L=b.querySelectorAll("[title]");Array.prototype.forEach.call(L,(t=>{t.setAttribute("data-title",t.getAttribute("title"))})),L=o.querySelectorAll("[title]"),Array.prototype.forEach.call(L,(t=>{t.setAttribute("data-title",t.getAttribute("title"))})),L=r.querySelectorAll("[title]"),Array.prototype.forEach.call(L,(t=>{t.setAttribute("data-title",t.getAttribute("title"))})),L=s.querySelectorAll("[title]"),Array.prototype.forEach.call(L,(t=>{t.setAttribute("data-title",t.getAttribute("title"))})),L=l.querySelectorAll("[title]"),Array.prototype.forEach.call(L,(t=>{t.setAttribute("data-title",t.getAttribute("title"))})),L=u.querySelectorAll("[title]"),Array.prototype.forEach.call(L,(t=>{t.setAttribute("data-title",t.getAttribute("title"))})),L=p.querySelectorAll("[title]"),Array.prototype.forEach.call(L,(t=>{t.setAttribute("data-title",t.getAttribute("title"))})),this.builder.isTouchSupport&&document.addEventListener("selectionchange",(function(){of.checkEditable()&&(""!==of.getSelected().trim()&&i.saveSelection())}),!1)}this.rteTool=b,this.elementRteTool=o,this.rteAlignOptions=r,this.rteFormattingOptions=s,this.rteColorPicker=a,this.rteListOptions=l,this.rteFontFamilyOptions=d,this.rteParagraphOptions=c,this.rteMoreOptions=u,this.elementRteMoreOptions=p,this.rteTextSettingOptions=h,this.rteZoomOptions=v,this.rteIconOptions=f,this.rteCustomTagOptions=g,this.rteZoomSlider=m,this.positionToolbar();let w=this.rteTool.querySelector("button.rte-formatting");w=w||this.rteMoreOptions.querySelector("button.rte-formatting"),w&&of.addEventListener(w,"click",(()=>{const t=this.rteFormattingOptions,e=w.getBoundingClientRect().top,i=w.getBoundingClientRect().left;t.style.display="flex";const n=t.offsetWidth,o=t.offsetHeight;if(of.hasClass(t,"active"))of.removeClass(t,"active"),of.addClass(t,"deactive");else{if("left"===this.builder.opts.toolbar)t.style.top=e-o/2+20+"px",t.style.left=i+54+"px",t.style.right="auto";else if("right"===this.builder.opts.toolbar){t.style.top=e-o/2+20+"px",t.style.left="auto";const n=window.innerWidth;t.style.right=n-i+9+"px"}else t.style.top=e+54-6+"px",t.style.left=i-n/2+23+"px",t.style.right="auto";of.removeClass(t,"deactive"),of.addClass(t,"active")}}));let S=this.rteTool.querySelector("button.rte-align");S=S||this.rteMoreOptions.querySelector("button.rte-align"),S&&of.addEventListener(S,"click",(()=>{const t=this.rteAlignOptions,e=S.getBoundingClientRect().top,i=S.getBoundingClientRect().left;t.style.display="flex";const n=t.offsetWidth,o=t.offsetHeight;if(of.hasClass(t,"active"))of.removeClass(t,"active"),of.addClass(t,"deactive");else{if("left"===this.builder.opts.toolbar)t.style.top=e-o/2+20+"px",t.style.left=i+54+"px",t.style.right="auto";else if("right"===this.builder.opts.toolbar){t.style.top=e-o/2+20+"px",t.style.left="auto";const n=window.innerWidth;t.style.right=n-i+9+"px"}else t.style.top=e+54-6+"px",t.style.left=i-n/2+23+"px",t.style.right="auto";of.removeClass(t,"deactive"),of.addClass(t,"active")}}));let C=this.rteTool.querySelector("button.rte-list");C=C||this.rteMoreOptions.querySelector("button.rte-list"),C&&of.addEventListener(C,"click",(()=>{const t=this.rteListOptions,e=C.getBoundingClientRect().top,i=C.getBoundingClientRect().left;t.style.display="flex";const n=t.offsetWidth,o=t.offsetHeight;if(of.hasClass(t,"active"))of.removeClass(t,"active"),of.addClass(t,"deactive");else{if("left"===this.builder.opts.toolbar)t.style.top=e-o/2+20+"px",t.style.left=i+54+"px",t.style.right="auto";else if("right"===this.builder.opts.toolbar){t.style.top=e-o/2+20+"px",t.style.left="auto";const n=window.innerWidth;t.style.right=n-i+9+"px"}else t.style.top=e+54-6+"px",t.style.left=i-n/2+23+"px",t.style.right="auto";of.removeClass(t,"deactive"),of.addClass(t,"active")}}));let k=this.rteTool.querySelector("button.rte-tags");k=k||this.rteMoreOptions.querySelector("button.rte-tags"),k&&of.addEventListener(k,"click",(()=>{const t=this.rteCustomTagOptions,e=k.getBoundingClientRect().top,i=k.getBoundingClientRect().left;t.style.display="flex";const n=t.offsetWidth,o=t.offsetHeight;if(of.hasClass(t,"active"))of.removeClass(t,"active"),of.addClass(t,"deactive");else{if("left"===this.builder.opts.toolbar)t.style.top=e-o/2+20+"px",t.style.left=i+54+"px",t.style.right="auto";else if("right"===this.builder.opts.toolbar){t.style.top=e-o/2+20+"px",t.style.left="auto";const n=window.innerWidth;t.style.right=n-i+9+"px"}else t.style.top=e+54-6+"px",t.style.left=i-n/2+23+"px",t.style.right="auto";if(of.parentsHasClass(k,"rte-more-options"))if("left"===this.builder.opts.toolbar)t.style.top=parseInt(this.rteMoreOptions.style.top)+this.rteMoreOptions.offsetHeight-o+"px",t.style.left=i+54+"px",t.style.right="auto";else if("right"===this.builder.opts.toolbar){t.style.top=parseInt(this.rteMoreOptions.style.top)+this.rteMoreOptions.offsetHeight-o+"px",t.style.left="auto";const e=window.innerWidth;t.style.right=e-i+9+"px"}else t.style.top=e+54-6+"px",k.getBoundingClientRect().left+45-parseInt(this.rteMoreOptions.style.left)<t.offsetWidth?t.style.left=parseInt(this.rteMoreOptions.style.left)+"px":parseInt(this.rteMoreOptions.style.left)+this.rteMoreOptions.offsetWidth-k.getBoundingClientRect().left+45<t.offsetWidth&&(t.style.left=parseInt(this.rteMoreOptions.style.left)+this.rteMoreOptions.offsetWidth-n+"px"),t.style.right="auto";of.removeClass(t,"deactive"),of.addClass(t,"active")}}));let E=this.rteTool.querySelector("button.rte-paragraph");if(E=E||this.rteMoreOptions.querySelector("button.rte-paragraph"),E&&of.addEventListener(E,"click",(()=>{const t=this.rteParagraphOptions,e=E.getBoundingClientRect().top,i=E.getBoundingClientRect().left;t.style.display="flex";const n=t.offsetWidth,o=t.offsetHeight;if(of.hasClass(t,"active"))of.removeClass(t,"active"),of.addClass(t,"deactive");else{if("left"===this.builder.opts.toolbar)t.style.top=e-o/2+20+"px",t.style.left=i+54+"px",t.style.right="auto";else if("right"===this.builder.opts.toolbar){t.style.top=e-o/2+20+"px",t.style.left="auto";const n=window.innerWidth;t.style.right=n-i+9+"px"}else t.style.top=e+54-6+"px",t.style.left=i-n/2+23+"px",t.style.right="auto";if(of.parentsHasClass(E,"rte-more-options"))if("left"===this.builder.opts.toolbar)t.style.top=parseInt(this.rteMoreOptions.style.top)+this.rteMoreOptions.offsetHeight-o+"px",t.style.left=i+54+"px",t.style.right="auto";else if("right"===this.builder.opts.toolbar){t.style.top=parseInt(this.rteMoreOptions.style.top)+this.rteMoreOptions.offsetHeight-o+"px",t.style.left="auto";const e=window.innerWidth;t.style.right=e-i+9+"px"}else t.style.top=e+54-6+"px",t.style.left=parseInt(this.rteMoreOptions.style.left)+this.rteMoreOptions.offsetWidth-n+"px",t.style.right="auto";of.removeClass(t,"deactive"),of.addClass(t,"active")}this.getState()})),!this.builder.renderIframeLater){let t=d.querySelector("iframe").contentWindow.document;t.open(),this.builder.opts.emailMode?t.write(i.getFontFamilyEmail()):t.write(i.getFontFamilyHTML()),t.close()}let L=this.rteTool.querySelector("button.rte-fontfamily");if(L=L||this.rteMoreOptions.querySelector("button.rte-fontfamily"),L&&of.addEventListener(L,"click",(()=>{const t=this.rteFontFamilyOptions,e=L.getBoundingClientRect().top,i=L.getBoundingClientRect().left;t.style.display="flex";const n=t.offsetWidth,o=t.offsetHeight;if(of.hasClass(t,"active"))of.removeClass(t,"active"),of.addClass(t,"deactive");else{if("left"===this.builder.opts.toolbar)t.style.top=e-o/2+20+"px",t.style.left=i+54+"px",t.style.right="auto";else if("right"===this.builder.opts.toolbar){t.style.top=e-o/2+20+"px",t.style.left="auto";const n=window.innerWidth;t.style.right=n-i+9+"px"}else t.style.top=e+54-6+"px",t.style.left=i-n/2+23+"px",t.style.right="auto";if(of.parentsHasClass(L,"rte-more-options"))if("left"===this.builder.opts.toolbar)t.style.top=parseInt(this.rteMoreOptions.style.top)+this.rteMoreOptions.offsetHeight-o+"px",t.style.left=i+54+"px",t.style.right="auto";else if("right"===this.builder.opts.toolbar){t.style.top=parseInt(this.rteMoreOptions.style.top)+this.rteMoreOptions.offsetHeight-o+"px",t.style.left="auto";const e=window.innerWidth;t.style.right=e-i+9+"px"}else t.style.top=e+54-6+"px",t.style.left=parseInt(this.rteMoreOptions.style.left)+this.rteMoreOptions.offsetWidth-n+"px",t.style.right="auto";of.removeClass(t,"deactive"),of.addClass(t,"active")}this.getState();let r=t.querySelector("iframe").contentWindow.document.querySelector("#divFontList");var s=r.querySelector(".on");s&&(r.scrollTop=r.scrollTop+s.getBoundingClientRect().top)})),!this.builder.renderIframeLater){let t=f.querySelector("iframe").contentWindow.document;t.open(),t.write(this.getIconsHTML()),t.close()}let A=this.rteTool.querySelector("button.rte-icon");A=A||this.rteMoreOptions.querySelector("button.rte-icon"),A&&of.addEventListener(A,"click",(()=>{const t=this.rteIconOptions,e=A.getBoundingClientRect().top,i=A.getBoundingClientRect().left;t.style.display="flex";const n=t.offsetWidth,o=t.offsetHeight;if(of.hasClass(t,"active"))of.removeClass(t,"active"),of.addClass(t,"deactive");else{if("left"===this.builder.opts.toolbar)t.style.top=e-o/2+20+"px",t.style.left=i+54+"px",t.style.right="auto";else if("right"===this.builder.opts.toolbar){t.style.top=e-o/2+20+"px",t.style.left="auto";const n=window.innerWidth;t.style.right=n-i+9+"px"}else t.style.top=e+54-6+"px",t.style.left=i-n/2+23+"px",t.style.right="auto";if(of.parentsHasClass(A,"rte-more-options"))if("left"===this.builder.opts.toolbar)t.style.top=parseInt(this.rteMoreOptions.style.top)+this.rteMoreOptions.offsetHeight-o+"px",t.style.left=i+54+"px",t.style.right="auto";else if("right"===this.builder.opts.toolbar){t.style.top=parseInt(this.rteMoreOptions.style.top)+this.rteMoreOptions.offsetHeight-o+"px",t.style.left="auto";const e=window.innerWidth;t.style.right=e-i+9+"px"}else t.style.top=e+54-6+"px",A.getBoundingClientRect().left+45-parseInt(this.rteMoreOptions.style.left)<t.offsetWidth?t.style.left=parseInt(this.rteMoreOptions.style.left)+"px":parseInt(this.rteMoreOptions.style.left)+this.rteMoreOptions.offsetWidth-A.getBoundingClientRect().left+45<t.offsetWidth&&(t.style.left=parseInt(this.rteMoreOptions.style.left)+this.rteMoreOptions.offsetWidth-n+"px"),t.style.right="auto";of.removeClass(t,"deactive"),of.addClass(t,"active")}}));let q=this.rteTool.querySelector("button.rte-color");q=q||this.rteMoreOptions.querySelector("button.rte-color"),q&&of.addEventListener(q,"click",(()=>{const t=this.rteColorPicker,e=q.getBoundingClientRect().top,i=q.getBoundingClientRect().left;t.style.display="flex";const n=t.offsetWidth;if(of.hasClass(t,"active"))of.removeClass(t,"active"),of.addClass(t,"deactive");else{if(this.builder.uo.saveForUndo(!0),"left"===this.builder.opts.toolbar)t.style.top=this.rteTool.style.top,t.style.left=i+54+"px",t.style.right="auto";else if("right"===this.builder.opts.toolbar){t.style.top=this.rteTool.style.top,t.style.left="auto";const e=window.innerWidth;t.style.right=e-i+9+"px"}else t.style.top=e+54-6+"px",t.style.left=i-n/2+23+"px",t.style.right="auto";of.removeClass(t,"deactive"),of.addClass(t,"active")}}));let T=this.rteTool.querySelector("button.rte-preferences");T=T||this.rteMoreOptions.querySelector("button.rte-preferences"),T&&of.addEventListener(T,"click",(()=>{this.builder.viewPreferences()})),T=this.elementRteTool.querySelector("button.rte-preferences"),T=T||this.elementRteMoreOptions.querySelector("button.rte-preferences"),T&&of.addEventListener(T,"click",(()=>{this.builder.viewPreferences()}));let M=this.rteTool.querySelector("button.rte-html");M=M||this.rteMoreOptions.querySelector("button.rte-html"),M&&of.addEventListener(M,"click",(()=>{this.builder.viewHtml()})),M=this.elementRteTool.querySelector("button.rte-html"),M=M||this.elementRteMoreOptions.querySelector("button.rte-html"),M&&of.addEventListener(M,"click",(()=>{this.builder.viewHtml()}));let O=this.rteTool.querySelector("button.rte-grideditor");O=O||this.rteMoreOptions.querySelector("button.rte-grideditor"),O&&of.addEventListener(O,"click",(()=>{const t=this.builderStuff.querySelector(".grideditor");of.addClass(t,"active");const e=document.querySelectorAll(this.builder.opts.container);Array.prototype.forEach.call(e,(t=>{t.setAttribute("grideditor","")}))})),O=this.elementRteTool.querySelector("button.rte-grideditor"),O=O||this.elementRteMoreOptions.querySelector("button.rte-grideditor"),O&&of.addEventListener(O,"click",(()=>{const t=this.builderStuff.querySelector(".grideditor");of.addClass(t,"active");const e=document.querySelectorAll(this.builder.opts.container);Array.prototype.forEach.call(e,(t=>{t.setAttribute("grideditor","")}))}));let R=this.rteTool.querySelector("button.rte-undo");R=R||this.rteMoreOptions.querySelector("button.rte-undo"),R&&of.addEventListener(R,"click",(()=>{this.builder.uo.doUndo()})),R=this.elementRteTool.querySelector("button.rte-undo"),R=R||this.elementRteMoreOptions.querySelector("button.rte-undo"),R&&of.addEventListener(R,"click",(()=>{this.builder.uo.doUndo()}));let N=this.rteTool.querySelector("button.rte-redo");N=N||this.rteMoreOptions.querySelector("button.rte-redo"),N&&of.addEventListener(N,"click",(()=>{this.builder.uo.doRedo()})),N=this.elementRteTool.querySelector("button.rte-redo"),N=N||this.elementRteMoreOptions.querySelector("button.rte-redo"),N&&of.addEventListener(N,"click",(()=>{this.builder.uo.doRedo()}));let B=this.rteTool.querySelector("button.rte-addsnippet");B&&of.addEventListener(B,"click",(()=>{this.viewSnippets()})),B=this.elementRteTool.querySelector("button.rte-addsnippet"),B&&of.addEventListener(B,"click",(()=>{this.viewSnippets()})),B=this.rteMoreOptions.querySelector("button.rte-addsnippet"),B&&of.addEventListener(B,"click",(()=>{this.viewSnippets()})),B=this.elementRteMoreOptions.querySelector("button.rte-addsnippet"),B&&of.addEventListener(B,"click",(()=>{this.viewSnippets()}));let I=this.rteTool.querySelector("button.rte-link");I=I||this.rteMoreOptions.querySelector("button.rte-link"),I&&of.addEventListener(I,"click",(()=>{new t(this.builder).clearActiveCell(),this.hyperlink.createLink()}));let $=this.rteTool.querySelector("button.rte-image");$=$||this.rteMoreOptions.querySelector("button.rte-image"),$&&of.addEventListener($,"click",(()=>{const t=this.builderStuff.querySelector(".insertimage");i.showModal(t,!0,(function(){}),!1),t.querySelector("#fileInsertImage").value="",t.querySelector(".is-preview-area").style.display="none",t.querySelector(".is-drop-area").style.display="block",of.removeClass(t.querySelector(".is-drop-area"),"image-dropping"),t.querySelector(".input-src").value=""}));const D=this.builderStuff.querySelector(".insertimage"),H=D.querySelector("#fileInsertImage");of.addEventListener(H,"change",(t=>{var e=t.target;if(e.files&&e.files[0]){var i=new FileReader;i.onload=function(t){D.querySelector(".is-drop-area").style.display="none",D.querySelector("#imgInsertImagePreview").src=t.target.result,D.querySelector(".is-preview-area").style.display="block";let i=e.files[0].name;D.querySelector("#imgInsertImagePreview").setAttribute("data-filename",i)},i.readAsDataURL(e.files[0]),D.querySelector(".input-src").value=""}}));const z=D.querySelector(".input-ok");of.addEventListener(z,"click",(()=>{if(!this.builder.activeCol)return void i.hideModal(D);this.builder.uo.saveForUndo(),i.restoreSelection();let t="";if(t="none"===D.querySelector(".is-drop-area").style.display?D.querySelector("#imgInsertImagePreview").src:D.querySelector(".input-src").value,""===t)return;let e=D.querySelector("#imgInsertImagePreview").getAttribute("data-filename");i.pasteHtmlAtCaret('<img data-filename="'+e+'" src="'+t+'" alt="" />',!1),i.hideModal(D),this.builder.applyBehavior(),i.saveSelection(),this.builder.opts.onChange(),this.builder.opts.onRender()}));const P=D.querySelector(".input-cancel");of.addEventListener(P,"click",(()=>{i.hideModal(D)}));const F=D.querySelector(".is-drop-area");of.addEventListener(F,"dragover",(()=>{of.addClass(F,"image-dropping")})),of.addEventListener(F,"dragleave",(()=>{of.removeClass(F,"image-dropping")}));const U=D.querySelector(".is-preview-area i");of.addEventListener(U,"click",(()=>{D.querySelector("#fileInsertImage").value="",D.querySelector(".is-preview-area").style.display="none",F.style.display="block",of.removeClass(F,"image-dropping")}));const W=D.querySelector(".input-src");if(of.addEventListener(W,"keyup",(()=>{D.querySelector("#fileInsertImage").value="",D.querySelector(".is-preview-area").style.display="none",F.style.display="block",of.removeClass(F,"image-dropping")})),this.builder.opts.onImageSelectClick||""!==this.builder.opts.imageselect||(D.querySelector(".input-select").style.display="none"),this.builder.opts.onImageSelectClick||""!==this.builder.opts.imageselect){of.addClass(D.querySelector(".image-src"),"image-select");const t=D.querySelector(".input-select");t&&of.addEventListener(t,"click",(()=>{if(this.builder.opts.onImageSelectClick)this.builder.opts.onImageSelectClick({targetInput:D.querySelector(".input-src"),theTrigger:t});else{let t=this.builderStuff.querySelector(".is-modal.imageselect"),e=t.querySelector("iframe");"about:blank"===e.src&&(e.src=this.builder.opts.imageselect),i.showModal(t)}}))}else of.removeClass(W,"image-select");const j=[];let G=this.elementRteTool.querySelector("button.rte-zoom");G&&j.push(G),G=this.elementRteMoreOptions.querySelector("button.rte-zoom"),G&&j.push(G),G=this.rteTool.querySelector("button.rte-zoom"),G&&j.push(G),G=this.rteMoreOptions.querySelector("button.rte-zoom"),G&&j.push(G),j.forEach((t=>{of.addEventListener(t,"click",(()=>{const e=this.rteZoomOptions,i=t.getBoundingClientRect().top,n=t.getBoundingClientRect().left;e.style.display="flex";const o=e.offsetWidth,r=e.offsetHeight;if(of.hasClass(e,"active"))of.removeClass(e,"active"),of.addClass(e,"deactive");else{if("none"!==this.rteTool.style.display){if("left"===this.builder.opts.toolbar)e.style.top=i-r/2+20+"px",e.style.left=n+54+"px",e.style.right="auto";else if("right"===this.builder.opts.toolbar){e.style.top=i-r/2+20+"px",e.style.left="auto";const t=window.innerWidth;e.style.right=t-n+9+"px"}else{e.style.top=i+54-6+"px";const t=parseInt(this.rteTool.style.left)+this.rteTool.offsetWidth,r=n-o/2+23+o,s=0;e.style.left=r>t?parseInt(this.rteTool.style.left)+this.rteTool.offsetWidth-o+s+"px":n-o/2+23+"px",e.style.right="auto"}if(of.parentsHasClass(t,"rte-more-options"))if("left"===this.builder.opts.toolbar)e.style.top=parseInt(this.rteMoreOptions.style.top)+this.rteMoreOptions.offsetHeight-r+"px",e.style.left=n+54+"px",e.style.right="auto";else if("right"===this.builder.opts.toolbar){e.style.top=parseInt(this.rteMoreOptions.style.top)+this.rteMoreOptions.offsetHeight-r+"px",e.style.left="auto";const t=window.innerWidth;e.style.right=t-n+9+"px"}else e.style.top=i+54-6+"px",e.style.left=parseInt(this.rteMoreOptions.style.left)+this.rteMoreOptions.offsetWidth-o+"px",e.style.right="auto"}else{if("left"===this.builder.opts.toolbar)e.style.top=i-r/2+20+"px",e.style.left=n+54+"px",e.style.right="auto";else if("right"===this.builder.opts.toolbar){e.style.top=i-r/2+20+"px",e.style.left="auto";const t=window.innerWidth;e.style.right=t-n+9+"px"}else{e.style.top=i+54-6+"px";const t=parseInt(this.elementRteTool.style.left)+this.elementRteTool.offsetWidth,r=n-o/2+23+o;e.style.left=r>t?parseInt(this.elementRteTool.style.left)+this.elementRteTool.offsetWidth-o+"px":n-o/2+23+"px",e.style.right="auto"}if(of.parentsHasClass(t,"elementrte-more-optionss"))if("left"===this.builder.opts.toolbar)e.style.top=parseInt(this.elementRteMoreOptions.style.top)+this.elementRteMoreOptions.offsetHeight-r+"px",e.style.left=n+54+"px",e.style.right="auto";else if("right"===this.builder.opts.toolbar){e.style.top=parseInt(this.elementRteMoreOptions.style.top)+this.elementRteMoreOptions.offsetHeight-r+"px",e.style.left="auto";const t=window.innerWidth;e.style.right=t-n+9+"px"}else e.style.top=i+54-6+"px",e.style.left=parseInt(this.elementRteMoreOptions.style.left)+this.elementRteMoreOptions.offsetWidth-o+"px",e.style.right="auto"}of.removeClass(e,"deactive"),of.addClass(e,"active")}}))})),this.rteZoomSlider.value=100*this.builder.opts.zoom,this.rteZoomSlider.onfocus=()=>{this.builder.onZoomStart&&this.builder.onZoomStart(),this.rteZoomSlider.blur()},this.rteZoomSlider.oninput=()=>{let t=this.rteZoomSlider.value/100;this.builder.opts.zoom=t,localStorage.setItem("_zoom",t),this.builder.setZoom();let e=this.builderStuff.querySelectorAll(".is-tool");if(Array.prototype.forEach.call(e,(t=>{t.style.display=""})),this.builderStuff.querySelector(".is-column-tool").style.display="none",e=document.querySelectorAll(".is-row-tool"),e.forEach((t=>{t.style.display="none"})),e=document.querySelectorAll(".is-rowadd-tool"),e.forEach((t=>{t.style.opacity=0})),this.builder.onZoom){let t=this.rteZoomSlider.value/100;this.builder.onZoom(t)}},this.rteZoomSlider.onchange=()=>{setTimeout((()=>{this.builder.elmTool.repositionElementTool();let t=this.builder.activeCol,e=this.builderStuff.querySelector(".is-column-tool");e.style.display="",e.style.top=t.getBoundingClientRect().top-29+window.pageYOffset+"px",e.style.left=t.getBoundingClientRect().left-1+"px";let i=document.querySelectorAll(".is-row-tool");if(i.forEach((t=>{t.style.display=""})),i=document.querySelectorAll(".is-rowadd-tool"),i.forEach((t=>{t.style.opacity=""})),this.builder.onZoomEnd){let t=this.rteZoomSlider.value/100;this.builder.onZoomEnd(t)}}),300)};let X=this.rteTool.querySelector("button.rte-textsettings");X=X||this.rteMoreOptions.querySelector("button.rte-textsettings"),X&&of.addEventListener(X,"click",(()=>{const t=this.rteTextSettingOptions,e=X.getBoundingClientRect().top,i=X.getBoundingClientRect().left;t.style.display="flex";const n=t.offsetWidth,o=t.offsetHeight;if(of.hasClass(t,"active"))of.removeClass(t,"active"),of.addClass(t,"deactive");else{if("left"===this.builder.opts.toolbar)t.style.top=e-o/2+20+"px",t.style.left=i+54+"px",t.style.right="auto";else if("right"===this.builder.opts.toolbar){t.style.top=e-o/2+20+"px",t.style.left="auto";const n=window.innerWidth;t.style.right=n-i+9+"px"}else t.style.top=e+54-6+"px",t.style.left=i-n/2+23+"px",t.style.right="auto";if(of.parentsHasClass(X,"rte-more-options"))if("left"===this.builder.opts.toolbar)t.style.top=parseInt(this.rteMoreOptions.style.top)+this.rteMoreOptions.offsetHeight-o+"px",t.style.left=i+54+"px",t.style.right="auto";else if("right"===this.builder.opts.toolbar){t.style.top=parseInt(this.rteMoreOptions.style.top)+this.rteMoreOptions.offsetHeight-o+"px",t.style.left="auto";const e=window.innerWidth;t.style.right=e-i+9+"px"}else t.style.top=e+54-6+"px",t.style.left=i-n/2+23+"px",t.style.right="auto";of.removeClass(t,"deactive"),of.addClass(t,"active")}}));let Y=this.rteTool.querySelector("button.rte-more");Y&&of.addEventListener(Y,"click",(()=>{this.showRteMore()}));let V=this.elementRteTool.querySelector("button.rte-more");V&&of.addEventListener(V,"click",(()=>{this.showElementRteMore()}));var K=Array.prototype.slice.call(this.rteTool.querySelectorAll(".rte-format")).concat(Array.prototype.slice.call(this.rteFormattingOptions.querySelectorAll(".rte-format"))).concat(Array.prototype.slice.call(this.rteMoreOptions.querySelectorAll(".rte-format")));Array.prototype.forEach.call(K,(t=>{of.addEventListener(t,"click",(()=>{let e;this.builder.uo.saveForUndo();try{let t;window.getSelection?(t=window.getSelection().getRangeAt(0).commonAncestorContainer,e=3===t.nodeType?t.parentNode:t):document.selection&&(t=document.selection.createRange(),e=document.selection.createRange().parentElement())}catch(t){return}const n=t.getAttribute("data-command");var o=of.getSelected();if("bold"===n)if(""===o.trim()){var r=e.tagName.toLowerCase();"b"===r?(of.selectElementContents(e),document.execCommand("bold",!1,null)):"bold"===e.style.fontWeight||e.style.fontWeight>400?e.style.fontWeight="":e.style.fontWeight="bold"}else document.execCommand("bold",!1,null);if("italic"===n&&(""===o.trim()?"i"===(r=e.tagName.toLowerCase())?(of.selectElementContents(e),document.execCommand("italic",!1,null)):"italic"===e.style.fontStyle?e.style.fontStyle="":e.style.fontStyle="italic":document.execCommand("italic",!1,null)),"underline"===n&&(""===o.trim()?"u"===(r=e.tagName.toLowerCase())?(of.selectElementContents(e),document.execCommand("underline",!1,null)):-1!==e.style.textDecoration.indexOf("underline")?e.style.textDecoration="":e.style.textDecoration="underline":document.execCommand("underline",!1,null)),"strikethrough"===n&&(""===o.trim()?"strike"===(r=e.tagName.toLowerCase())?(of.selectElementContents(e),document.execCommand("strikethrough",!1,null)):-1!==e.style.textDecoration.indexOf("line-through")?e.style.textDecoration="":e.style.textDecoration="line-through":document.execCommand("strikethrough",!1,null)),"superscript"===n&&document.execCommand("superscript",!1,null),"subscript"===n&&document.execCommand("subscript",!1,null),"uppercase"===n&&("uppercase"===e.style.textTransform?e.style.textTransform="":e.style.textTransform="uppercase"),"clean"===n&&(""===o.trim()?(e.style.cssText="",e.className=""):e.innerText.replace(/(\r\n|\n|\r)/gm,"")===o.trim().replace(/(\r\n|\n|\r)/gm,"")?(e.style.cssText="",e.className="",document.execCommand("removeFormat",!1,null),document.execCommand("removeFormat",!1,null)):(document.execCommand("removeFormat",!1,null),document.execCommand("removeFormat",!1,null))),this.getState(),this.builder.isTouchSupport||i.saveSelection(),""===o.trim()&&(i.restoreSelection(),this.builder.isTouchSupport)){this.rteTool.querySelector("button").focus()}this.builder.opts.onChange()}))})),K=this.rteAlignOptions.querySelectorAll("button[data-align]"),Array.prototype.forEach.call(K,(t=>{of.addEventListener(t,"click",(()=>{if(this.builder.uo.saveForUndo(),i.restoreSelection(),this.builder.isTouchSupport){this.rteTool.querySelector("button").focus()}const e=t.getAttribute("data-align");let n;try{let t;window.getSelection?(t=window.getSelection().getRangeAt(0).commonAncestorContainer,n=3===t.nodeType?t.parentNode:t):document.selection&&(t=document.selection.createRange(),n=document.selection.createRange().parentElement())}catch(t){return}let o=n,r=o.closest("table.button");if(r){if("center"===e)if("center"!==r.parentNode.tagName.toLowerCase()){let t=document.createElement("CENTER");r.parentNode.insertBefore(t,r),t.appendChild(r)}else r.setAttribute("align","");else r.setAttribute("align",e);of.removeClass(r,"float-center")}else{for(;"p"!==o.tagName.toLowerCase()&&"h1"!==o.tagName.toLowerCase()&&"h2"!==o.tagName.toLowerCase()&&"h3"!==o.tagName.toLowerCase()&&"h4"!==o.tagName.toLowerCase()&&"h5"!==o.tagName.toLowerCase()&&"h6"!==o.tagName.toLowerCase()&&"pre"!==o.tagName.toLowerCase()&&"blockquote"!==o.tagName.toLowerCase()&&"div"!==o.tagName.toLowerCase()&&"td"!==o.tagName.toLowerCase()&&"th"!==o.tagName.toLowerCase();)o=o.parentNode;o.style.textAlign=e}this.getState(),i.saveSelection(),this.builder.opts.onChange()}))})),K=this.elementRteTool.querySelectorAll("button[data-align]"),Array.prototype.forEach.call(K,(t=>{of.addEventListener(t,"click",(()=>{this.builder.uo.saveForUndo();const e=t.getAttribute("data-align");let i=this.builder.inspectedElement;for(;"p"!==i.tagName.toLowerCase()&&"h1"!==i.tagName.toLowerCase()&&"h2"!==i.tagName.toLowerCase()&&"h3"!==i.tagName.toLowerCase()&&"h4"!==i.tagName.toLowerCase()&&"h5"!==i.tagName.toLowerCase()&&"h6"!==i.tagName.toLowerCase()&&"pre"!==i.tagName.toLowerCase()&&"blockquote"!==i.tagName.toLowerCase()&&"div"!==i.tagName.toLowerCase()&&"td"!==i.tagName.toLowerCase()&&"th"!==i.tagName.toLowerCase();)i=i.parentNode;i.style.textAlign=e,this.getState(),this.builder.opts.onChange()}))})),K=this.elementRteMoreOptions.querySelectorAll("button[data-align]"),Array.prototype.forEach.call(K,(t=>{of.addEventListener(t,"click",(()=>{this.builder.uo.saveForUndo();const e=t.getAttribute("data-align");let i=this.builder.inspectedElement;for(;"p"!==i.tagName.toLowerCase()&&"h1"!==i.tagName.toLowerCase()&&"h2"!==i.tagName.toLowerCase()&&"h3"!==i.tagName.toLowerCase()&&"h4"!==i.tagName.toLowerCase()&&"h5"!==i.tagName.toLowerCase()&&"h6"!==i.tagName.toLowerCase()&&"pre"!==i.tagName.toLowerCase()&&"blockquote"!==i.tagName.toLowerCase()&&"div"!==i.tagName.toLowerCase()&&"td"!==i.tagName.toLowerCase()&&"th"!==i.tagName.toLowerCase();)i=i.parentNode;i.style.textAlign=e,this.getState(),this.builder.opts.onChange()}))})),K=this.rteListOptions.querySelectorAll("button[data-action]"),Array.prototype.forEach.call(K,(t=>{of.addEventListener(t,"click",(()=>{this.builder.uo.saveForUndo(),i.restoreSelection();let e=this.builder.activeCol,n=e.querySelectorAll("span");Array.prototype.forEach.call(n,(t=>{t.setAttribute("data-keep","")}));const o=t.getAttribute("data-action");if(document.execCommand(o,!1,null),e=this.builder.activeCol,n=e.querySelectorAll("span"),Array.prototype.forEach.call(n,(t=>{t.getAttribute("data-keep")||(t.outerHTML=t.innerHTML)})),Array.prototype.forEach.call(n,(t=>{t.getAttribute("data-keep")&&of.removeAttribute(t,"data-keep")})),this.getState(),i.saveSelection(),this.builder.opts.onChange(),this.builder.isTouchSupport){this.rteTool.querySelector("button").focus()}}))})),K=this.rteCustomTagOptions.querySelectorAll("[data-value]"),Array.prototype.forEach.call(K,(t=>{of.addEventListener(t,"click",(()=>{this.builder.uo.saveForUndo();const e=t.getAttribute("data-value");i.pasteHtmlAtCaret(e,!0),this.rteCustomTagOptions.style.display=""}))})),K=this.rteParagraphOptions.querySelectorAll("[data-block]"),Array.prototype.forEach.call(K,(t=>{of.addEventListener(t,"click",(()=>{this.builder.uo.saveForUndo(),i.restoreSelection();const e=t.getAttribute("data-block");let n=document.queryCommandValue("FormatBlock");if(n=n.toLowerCase(),"pre"===n){let t=of.textSelection();if(t){let i=t;for(;"pre"!==i.tagName.toLowerCase();)i=i.parentNode;let n=i.cloneNode(!0).outerHTML.replace("<pre","<"+e);n=n.replace("</pre>","</"+e+">"),i.outerHTML=n;let o=this.rteParagraphOptions.querySelectorAll("[data-block]");Array.prototype.forEach.call(o,(t=>{of.removeClass(t,"on")})),of.addClass(this.rteParagraphOptions.querySelector('[data-block="'+e+'"]'),"on")}}else document.execCommand("formatBlock",!1,"<"+e+">");if(this.rteParagraphOptions.style.display="none",of.removeClass(this.rteParagraphOptions,"active"),of.addClass(this.rteParagraphOptions,"deactive"),this.getState(),i.saveSelection(),this.builder.opts.onChange(),this.builder.isTouchSupport){this.rteTool.querySelector("button").focus()}}))}));let Z=a.querySelectorAll(".is-pop-tab-item");Array.prototype.forEach.call(Z,(t=>{of.addEventListener(t,"click",(t=>{this.builder.uo.saveForUndo(!0);let e=a.querySelectorAll(".is-pop-tab-item");Array.prototype.forEach.call(e,(t=>{of.removeClass(t,"active")})),of.addClass(t.target,"active"),"forecolor"===a.querySelector(".active").getAttribute("data-value")?a.setAttribute("data-command","forecolor"):a.setAttribute("data-command","backcolor")}))})),new sv({colors:this.builder.opts.colors,onPick:t=>{let e;i.restoreSelection();try{let t;window.getSelection?(t=window.getSelection().getRangeAt(0).commonAncestorContainer,e=3===t.nodeType?t.parentNode:t):document.selection&&(t=document.selection.createRange(),e=document.selection.createRange().parentElement())}catch(t){return}const n=a.getAttribute("data-command");var o=of.getSelected();if(""===o.trim())"forecolor"===n?e.style.color=t:e.style.backgroundColor=t;else if(e.innerText===o)"forecolor"===n?e.style.color=t:e.style.backgroundColor=t;else{"forecolor"===n?document.execCommand("ForeColor",!1,t):document.execCommand("BackColor",!1,t);for(var r=document.getElementsByTagName("font"),s=0,l=r.length;s<l;++s){""!==r[s].color&&"forecolor"===n&&(r[s].removeAttribute("color"),r[s].style.color=t)}}if(this.builder.isTouchSupport||i.saveSelection(),""===o.trim()&&i.restoreSelection(),this.builder.isTouchSupport){this.rteTool.querySelector("button").focus()}this.builder.opts.onChange()},renderOn:".rte-color-picker-area",animateModal:this.builder.opts.animateModal,elementToAnimate:this.builder.opts.container,lang:this.builder.opts.lang}),K=h.querySelectorAll(".rte-fontsize-options button"),Array.prototype.forEach.call(K,(t=>{of.addEventListener(t,"click",(()=>{let e,n=t.getAttribute("data-value");i.restoreSelection();try{let t;window.getSelection?(t=window.getSelection().getRangeAt(0).commonAncestorContainer,e=3===t.nodeType?t.parentNode:t):document.selection&&(t=document.selection.createRange(),e=document.selection.createRange().parentElement())}catch(t){return}var o=of.getSelected();if(""===o.trim()||""!==o.trim()&&e.innerText===o)this.builder.uo.saveForUndo(),this.builder.opts.fontSizeClassValues.length>0?this.applyClassFontSize(e,n):this.applyInlineFontSize(e,n);else{this.builder.uo.saveForUndo();let t,i=Number(window.getComputedStyle(e).getPropertyValue("font-size").match(/\d+/)[0]);document.execCommand("fontSize",!1,"7");for(var r=document.getElementsByTagName("font"),s=0,a=r.length;s<a;++s)"7"===r[s].size&&(r[s].removeAttribute("size"),r[s].style.fontSize=i+"px",of.selectElementContents(r[s]),t=r[s]);t&&(this.builder.opts.fontSizeClassValues.length>0?this.applyClassFontSize(t,n):this.applyInlineFontSize(t,n))}if(i.saveSelection(),this.getState(),this.builder.opts.onChange(),this.builder.isTouchSupport){this.rteTool.querySelector("button").focus()}}))})),K=h.querySelectorAll(".rte-lineheight-options button"),Array.prototype.forEach.call(K,(t=>{of.addEventListener(t,"click",(()=>{let e,n=t.getAttribute("data-value");i.restoreSelection();try{let t;window.getSelection?(t=window.getSelection().getRangeAt(0).commonAncestorContainer,e=3===t.nodeType?t.parentNode:t):document.selection&&(t=document.selection.createRange(),e=document.selection.createRange().parentElement())}catch(t){return}this.builder.uo.saveForUndo();let o,r=Number(window.getComputedStyle(e).getPropertyValue("line-height").match(/\d+/)[0]);if(o="+"===n?r+1+"px":"-"===n?r-1+"px":""===n?"":n,of.doFunction(e,(function(t){t.style.lineHeight=o}),!0),i.saveSelection(),this.getState(),this.builder.opts.onChange(),this.builder.isTouchSupport){this.rteTool.querySelector("button").focus()}}))})),K=h.querySelectorAll(".rte-letterspacing-options button"),Array.prototype.forEach.call(K,(t=>{of.addEventListener(t,"click",(()=>{let e,n=t.getAttribute("data-value");i.restoreSelection();try{let t;window.getSelection?(t=window.getSelection().getRangeAt(0).commonAncestorContainer,e=3===t.nodeType?t.parentNode:t):document.selection&&(t=document.selection.createRange(),e=document.selection.createRange().parentElement())}catch(t){return}this.builder.uo.saveForUndo();let o,r=parseInt(window.getComputedStyle(e).getPropertyValue("letter-spacing"));if(isNaN(r)&&(r=0),o="+"===n?r+1+"px":"-"===n?r-1+"px":""===n?"":n+"px",of.doFunction(e,(function(t){t.style.letterSpacing=o}),!0),i.saveSelection(),this.getState(),this.builder.opts.onChange(),this.builder.isTouchSupport){this.rteTool.querySelector("button").focus()}}))})),document.addEventListener("click",(t=>{var e=(t=t||window.event).target||t.srcElement;if(!this.builderStuff)return;if(this.builderStuff.getAttribute("preventDevault"))return void setTimeout((()=>{this.builderStuff.removeAttribute("preventDevault")}),30);let i,n,o,r,s;"flex"===this.rteAlignOptions.style.display&&(i=of.parentsHasClass(e,"rte-align"),n=of.parentsHasClass(e,"rte-align-options"),i||n||(this.rteAlignOptions.style.display="",of.removeClass(this.rteAlignOptions,"active"),of.addClass(this.rteAlignOptions,"deactive"))),"flex"===this.rteListOptions.style.display&&(i=of.parentsHasClass(e,"rte-list"),n=of.parentsHasClass(e,"rte-list-options"),i||n||(this.rteListOptions.style.display="",of.removeClass(this.rteListOptions,"active"),of.addClass(this.rteListOptions,"deactive"))),"flex"===this.rteFormattingOptions.style.display&&(i=of.parentsHasClass(e,"rte-formatting"),n=of.parentsHasClass(e,"rte-formatting-options"),i||n||(this.rteFormattingOptions.style.display="",of.removeClass(this.rteFormattingOptions,"active"),of.addClass(this.rteFormattingOptions,"deactive"))),"flex"===this.rteColorPicker.style.display&&(i=of.parentsHasClass(e,"rte-color"),n=of.parentsHasClass(e,"rte-color-picker"),o=of.parentsHasClass(e,"pickcolormore"),i||n||o||(this.rteColorPicker.style.display="",of.removeClass(this.rteColorPicker,"active"),of.addClass(this.rteColorPicker,"deactive"))),"flex"===this.rteFontFamilyOptions.style.display&&(i=of.parentsHasClass(e,"rte-fontfamily"),n=of.parentsHasClass(e,"rte-fontfamily-options"),i||n||(this.rteFontFamilyOptions.style.display="",of.removeClass(this.rteFontFamilyOptions,"active"),of.addClass(this.rteFontFamilyOptions,"deactive"))),"flex"===this.rteIconOptions.style.display&&(i=of.parentsHasClass(e,"rte-icon"),n=of.parentsHasClass(e,"rte-icon-options"),o=!1,e.tagName&&(o="i"===e.tagName.toLowerCase()&&""===e.innerHTML),i||n||o||(this.rteIconOptions.style.display="",of.removeClass(this.rteIconOptions,"active"),of.addClass(this.rteIconOptions,"deactive"))),"flex"===this.rteCustomTagOptions.style.display&&(i=of.parentsHasClass(e,"rte-tags"),n=of.parentsHasClass(e,"rte-customtag-options"),i||n||(this.rteCustomTagOptions.style.display="",of.removeClass(this.rteCustomTagOptions,"active"),of.addClass(this.rteCustomTagOptions,"deactive"))),"flex"===this.rteParagraphOptions.style.display&&(i=of.parentsHasClass(e,"rte-paragraph"),n=of.parentsHasClass(e,"rte-paragraph-options"),i||n||(this.rteParagraphOptions.style.display="",of.removeClass(this.rteParagraphOptions,"active"),of.addClass(this.rteParagraphOptions,"deactive"))),"flex"===this.rteTextSettingOptions.style.display&&(i=of.parentsHasClass(e,"rte-textsettings"),n=of.parentsHasClass(e,"rte-textsetting-options"),i||n||(this.rteTextSettingOptions.style.display="",of.removeClass(this.rteTextSettingOptions,"active"),of.addClass(this.rteTextSettingOptions,"deactive"))),"flex"===this.rteZoomOptions.style.display&&(i=of.parentsHasClass(e,"rte-zoom"),n=of.parentsHasClass(e,"rte-zoom-options"),i||n||(this.rteZoomOptions.style.display="",of.removeClass(this.rteZoomOptions,"active"),of.addClass(this.rteZoomOptions,"deactive"))),"flex"===this.rteMoreOptions.style.display&&(i=of.parentsHasClass(e,"rte-more"),n=of.parentsHasClass(e,"rte-more-options"),o=of.parentsHasClass(e,"is-rte-pop"),r=of.parentsHasClass(e,"is-modal"),s=!1,e.tagName&&(s="i"===e.tagName.toLowerCase()&&""===e.innerHTML&&of.parentsHasClass(A,"rte-more-options")),i||n||o||r||s||(this.rteMoreOptions.style.display="",of.removeClass(this.rteMoreOptions,"active"),of.addClass(this.rteMoreOptions,"deactive"))),"flex"===this.elementRteMoreOptions.style.display&&(i=of.parentsHasClass(e,"rte-more"),n=of.parentsHasClass(e,"elementrte-more-options"),o=of.parentsHasClass(e,"is-rte-pop"),r=of.parentsHasClass(e,"is-modal"),s=!1,i||n||o||r||s||(this.elementRteMoreOptions.style.display="",of.removeClass(this.elementRteMoreOptions,"active"),of.addClass(this.elementRteMoreOptions,"deactive")))}))}viewSnippets(){const t=new Je(this.builder);let e=this.builderStuff.querySelector(".snippets");this.util.showModal(e,!1,null,!1);var i=e.querySelector("iframe").contentWindow.document;""===i.body.innerHTML&&(i.open(),i.write(t.getSnippetsHtml()),i.close())}showRteMore(){const t=this.rteMoreOptions;of.hasClass(t,"active")?(of.removeClass(t,"active"),of.addClass(t,"deactive")):(this.positionRteMore(),of.removeClass(t,"deactive"),of.addClass(t,"active"))}positionRteMore(){const t=this.rteTool.querySelector("button.rte-more"),e=this.rteMoreOptions,i=t.getBoundingClientRect().top,n=t.getBoundingClientRect().left;e.style.display="flex";const o=e.offsetWidth,r=e.offsetHeight;if("left"===this.builder.opts.toolbar)e.style.top=parseFloat(this.rteTool.style.top)+this.rteTool.offsetHeight-r+"px",e.style.left=n+54+"px",e.style.right="auto";else if("right"===this.builder.opts.toolbar){e.style.top=parseFloat(this.rteTool.style.top)+this.rteTool.offsetHeight-r+"px",e.style.left="auto";const t=window.innerWidth;e.style.right=t-n+9+"px"}else{const t=0;e.style.top=i+54-6+"px",e.style.left=parseFloat(this.rteTool.style.left)+this.rteTool.offsetWidth-o+t+"px",e.style.right="auto"}}showElementRteMore(){const t=this.elementRteMoreOptions;of.hasClass(t,"active")?(of.removeClass(t,"active"),of.addClass(t,"deactive")):(this.positionElementRteMore(),of.removeClass(t,"deactive"),of.addClass(t,"active"))}positionElementRteMore(){const t=this.elementRteTool.querySelector("button.rte-more"),e=this.elementRteMoreOptions,i=t.getBoundingClientRect().top,n=t.getBoundingClientRect().left;e.style.display="flex";const o=e.offsetWidth,r=e.offsetHeight;if("left"===this.builder.opts.toolbar)e.style.top=parseFloat(this.elementRteTool.style.top)+this.elementRteTool.offsetHeight-r+"px",e.style.left=n+54+"px",e.style.right="auto";else if("right"===this.builder.opts.toolbar){e.style.top=parseFloat(this.elementRteTool.style.top)+this.elementRteTool.offsetHeight-r+"px",e.style.left="auto";const t=window.innerWidth;e.style.right=t-n+9+"px"}else{const t=0;e.style.top=i+54-6+"px",e.style.left=parseFloat(this.elementRteTool.style.left)+this.elementRteTool.offsetWidth-o+t+"px",e.style.right="auto"}}applyInlineFontSize(t,e){let i,n=Number(window.getComputedStyle(t).getPropertyValue("font-size").match(/\d+/)[0]);i="+"===e?n+1+"px":"-"===e?n-1+"px":""===e?"":e+"px",of.doFunction(t,(function(t){t.style.fontSize=i}),!0)}applyClassFontSize(t,e){let i=Number(window.getComputedStyle(t).getPropertyValue("font-size").match(/\d+/)[0]),n="";n="+"===e||"-"===e||""===e?e:"size-"+e;const o=this.builder.opts.fontSizeClassValues;for(var r="",s=0;s<=o.length-1;s++)if(of.hasClass(t,"size-"+o[s])){r="size-"+o[s];let e=o[s];of.doFunction(t,(t=>{of.removeClass(t,"size-"+e)}),!0)}else{let e=o[s];of.doFunction(t,(t=>{of.removeClass(t,"size-"+e)}),!0)}if(""===r&&("+"===n||"-"===n))for(s=0;s<=o.length-1;s++)i>=o[s]&i<o[s+1]&&(r="size-"+o[s]);if("+"===n){s=1*r.replace("size-","");var a=o.indexOf(s);a<o.length-1&&(r="size-"+o[a+1]),of.doFunction(t,(function(t){of.addClass(t,r)}),!0)}else"-"===n?(s=1*r.replace("size-",""),(a=o.indexOf(s))>=1&&(r="size-"+o[a-1]),of.doFunction(t,(function(t){of.addClass(t,r)}),!0)):""===n||of.doFunction(t,(function(t){of.addClass(t,n)}),!0);of.doFunction(t,(function(t){t.style.fontSize=""}),!0)}click(t){let e=this.builder.inspectedElement;this.rteTool.style.display="none",this.elementRteTool.style.display="none";let i=!1;t.hasAttribute("data-noedit")&&(i=!0);let n=!1;t.hasAttribute("data-protected")&&(n=!0);let o=!1,r=!1;if(t.hasAttribute("data-html")&&(o=!0,of.parentsHasAttribute(e,"data-subblock")&&(r=!0)),!o&&!i&&!n||r)if(("img"===e.tagName.toLowerCase()||of.hasClass(e,"is-social")||of.hasClass(e,"is-rounded-button-medium")||of.hasClass(e,"cell-active"))&&!of.getSelected()){if("none"===this.elementRteTool.style.display||""===this.elementRteTool.style.display){this.elementRteTool.style.display="flex",this.rteTool.style.display="none";let t=this.elementRteTool.querySelectorAll("button[data-align]");Array.prototype.forEach.call(t,(t=>{t.style.display=""})),t=this.elementRteMoreOptions.querySelectorAll("button[data-align]"),Array.prototype.forEach.call(t,(t=>{t.style.display=""})),this.positionToolbar()}}else if(of.hasClass(e,"spacer")||of.hasClass(e,"ovl")||t.getAttribute("data-html")){if("none"===this.elementRteTool.style.display||""===this.elementRteTool.style.display){this.elementRteTool.style.display="flex",this.rteTool.style.display="none";let t=this.elementRteTool.querySelectorAll("button[data-align]");Array.prototype.forEach.call(t,(t=>{t.style.display="none"})),t=this.elementRteMoreOptions.querySelectorAll("button[data-align]"),Array.prototype.forEach.call(t,(t=>{t.style.display="none"})),this.positionToolbar()}}else"none"!==this.rteTool.style.display&&""!==this.rteTool.style.display||(this.rteTool.style.display="flex",this.elementRteTool.style.display="none",this.positionToolbar());else if("none"===this.elementRteTool.style.display||""===this.elementRteTool.style.display){this.elementRteTool.style.display="flex",this.rteTool.style.display="none";let t=this.elementRteTool.querySelectorAll("button[data-align]");Array.prototype.forEach.call(t,(t=>{t.style.display="none"})),t=this.elementRteMoreOptions.querySelectorAll("button[data-align]"),Array.prototype.forEach.call(t,(t=>{t.style.display="none"})),this.positionToolbar()}this.util.saveSelection(),this.getState()}getState(){document.queryCommandState("bold")?of.addClass(this.rteTool.querySelector("button[data-command=bold]"),"on"):of.removeClass(this.rteTool.querySelector("button[data-command=bold]"),"on"),document.queryCommandState("italic")?of.addClass(this.rteTool.querySelector("button[data-command=italic]"),"on"):of.removeClass(this.rteTool.querySelector("button[data-command=italic]"),"on"),document.queryCommandState("underline")?of.addClass(this.rteTool.querySelector("button[data-command=underline]"),"on"):of.removeClass(this.rteTool.querySelector("button[data-command=underline]"),"on"),document.queryCommandState("strikethrough")?of.addClass(this.rteFormattingOptions.querySelector("[data-command=strikethrough]"),"on"):of.removeClass(this.rteFormattingOptions.querySelector("[data-command=strikethrough]"),"on"),document.queryCommandState("superscript")?of.addClass(this.rteFormattingOptions.querySelector("[data-command=superscript]"),"on"):of.removeClass(this.rteFormattingOptions.querySelector("[data-command=superscript]"),"on"),document.queryCommandState("subscript")?of.addClass(this.rteFormattingOptions.querySelector("[data-command=subscript]"),"on"):of.removeClass(this.rteFormattingOptions.querySelector("[data-command=subscript]"),"on");let t=of.textSelection();if(!t)return;"uppercase"===t.style.textTransform?of.addClass(this.rteFormattingOptions.querySelector("[data-command=uppercase]"),"on"):of.removeClass(this.rteFormattingOptions.querySelector("[data-command=uppercase]"),"on"),document.queryCommandState("JustifyFull")?of.addClass(this.rteAlignOptions.querySelector("[data-align=justify]"),"on"):of.removeClass(this.rteAlignOptions.querySelector("[data-align=justify]"),"on"),document.queryCommandState("JustifyLeft")?of.addClass(this.rteAlignOptions.querySelector("[data-align=left]"),"on"):of.removeClass(this.rteAlignOptions.querySelector("[data-align=left]"),"on"),document.queryCommandState("JustifyRight")?of.addClass(this.rteAlignOptions.querySelector("[data-align=right]"),"on"):of.removeClass(this.rteAlignOptions.querySelector("[data-align=right]"),"on"),document.queryCommandState("JustifyCenter")?of.addClass(this.rteAlignOptions.querySelector("[data-align=center]"),"on"):of.removeClass(this.rteAlignOptions.querySelector("[data-align=center]"),"on");var e=document.queryCommandValue("FontName").split(",")[0];e=(e=(e=(e=e.replace(/"/g,"")).replace(/'/g,"")).replace(/"/g,"")).trim().toLowerCase();let i=this.rteTool.querySelector("button.rte-fontfamily");if(i=i||this.rteMoreOptions.querySelector("button.rte-fontfamily"),i){const t=this.rteFontFamilyOptions.querySelector("iframe");let i=t.contentDocument||t.contentWindow.document;i&&[].forEach.call(i.querySelectorAll("#divFontList > div"),(function(t){var i=t.getAttribute("data-font-family");(i=(i=(i=i.split(",")[0]).replace(/'/g,"")).trim().toLowerCase())===e&&""!==i?of.addClass(t,"on"):of.removeClass(t,"on")}))}let n=this.rteParagraphOptions.querySelectorAll("[data-block]");Array.prototype.forEach.call(n,(t=>{of.removeClass(t,"on")}));var o=document.queryCommandValue("FormatBlock");"normal"===(o=o.toLowerCase())&&(o="p"),"heading 1"===o&&(o="h1"),"heading 2"===o&&(o="h2"),"heading 3"===o&&(o="h3"),"heading 4"===o&&(o="h4"),"formatted"===o&&(o="pre"),"p"!==o&&"h1"!==o&&"h2"!==o&&"h3"!==o&&"h4"!==o&&"pre"!==o||of.addClass(this.rteParagraphOptions.querySelector('[data-block="'+o+'"]'),"on")}getIconsStyle(){return`\n html, body {height:100%}\n body {overflow:hidden;margin:0;\n font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;\n font-size:100%; \n line-height:1.7;\n }\n #divIcons {display:flex;flex-direction:row;flex-wrap:wrap;margin:0;padding:9px 11px 9px 9px;height:100%;overflow-y:scroll !important;box-sizing:border-box;}\n #divIcons > div {width:40px;height:37px;line-height:37px;font-size:14px;cursor:pointer;overflow:hidden;text-align:center;position:relative;} \n // #divIcons > div:hover {background:#f5f5f5;}\n\n #divIcons {\n background: ${this.builder.styleToolBackground};\n }\n #divIcons > div {\n color: ${this.builder.styleButtonColor};\n }\n #divIcons > div svg {\n fill: ${this.builder.styleButtonSvgFill};\n }\n #divIcons > div:hover {\n background: ${this.builder.styleButtonBackgroundHover};\n }\n\n .dark #divIcons > div {\n opacity: 0.93;\n }\n\n /* Scrollbar for toolbar/RTE, not modal */\n\n .dark * {\n scrollbar-width: thin;\n scrollbar-color: rgba(255, 255, 255, 0.3) auto;\n }\n .dark *::-webkit-scrollbar {\n width: 12px;\n }\n .dark *::-webkit-scrollbar-track {\n background: transparent;\n }\n .dark *::-webkit-scrollbar-thumb {\n background-color:rgba(255, 255, 255, 0.3);\n } \n\n .colored-dark * {\n scrollbar-width: thin;\n scrollbar-color: rgb(100, 100, 100) auto;\n }\n .colored-dark *::-webkit-scrollbar {\n width: 12px;\n }\n .colored-dark *::-webkit-scrollbar-track {\n background: transparent;\n }\n .colored-dark *::-webkit-scrollbar-thumb {\n background-color:rgb(100, 100, 100);\n } \n\n .colored * {\n scrollbar-width: thin;\n scrollbar-color: rgba(0, 0, 0, 0.4) auto;\n }\n .colored *::-webkit-scrollbar {\n width: 12px;\n }\n .colored *::-webkit-scrollbar-track {\n background: transparent;\n }\n .colored *::-webkit-scrollbar-thumb {\n background-color: rgba(0, 0, 0, 0.4);\n } \n\n .light * {\n scrollbar-width: thin;\n scrollbar-color: rgba(0, 0, 0, 0.4) auto;\n }\n .light *::-webkit-scrollbar {\n width: 12px;\n }\n .light *::-webkit-scrollbar-track {\n background: transparent;\n }\n .light *::-webkit-scrollbar-thumb {\n background-color: rgba(0, 0, 0, 0.4);\n }`}refreshIconsStyle(){this.builder.rte.rteIconOptions.querySelector("iframe").contentWindow.document.querySelector("#mainstyle").innerHTML=this.getIconsStyle()}getIconsHTML(){return`\n <!DOCTYPE HTML>\n <html>\n <head>\n <meta charset="utf-8">\n <title>Fonts</title>\n <meta name="viewport" content="width=device-width, initial-scale=1">\n <meta name="description" content=""> \n <link href="${this.builder.assetPath+"ionicons/"}css/ionicons.min.css" rel="stylesheet" type="text/css" />\n <style id="mainstyle">\n html, body {height:100%}\n body {overflow:hidden;margin:0;\n font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;\n font-size:100%; \n line-height:1.7;\n }\n #divIcons {display:flex;flex-direction:row;flex-wrap:wrap;margin:0;padding:9px 11px 9px 9px;height:100%;overflow-y:scroll !important;box-sizing:border-box;}\n #divIcons > div {width:40px;height:37px;line-height:37px;font-size:14px;cursor:pointer;overflow:hidden;text-align:center;position:relative;} \n // #divIcons > div:hover {background:#f5f5f5;}\n\n #divIcons {\n background: ${this.builder.styleToolBackground};\n }\n #divIcons > div {\n color: ${this.builder.styleButtonColor};\n }\n #divIcons > div svg {\n fill: ${this.builder.styleButtonSvgFill};\n }\n #divIcons > div:hover {\n background: ${this.builder.styleButtonBackgroundHover};\n }\n\n .dark #divIcons > div {\n opacity: 0.93;\n }\n\n /* Scrollbar for toolbar/RTE, not modal */\n\n .dark * {\n scrollbar-width: thin;\n scrollbar-color: rgba(255, 255, 255, 0.3) auto;\n }\n .dark *::-webkit-scrollbar {\n width: 12px;\n }\n .dark *::-webkit-scrollbar-track {\n background: transparent;\n }\n .dark *::-webkit-scrollbar-thumb {\n background-color:rgba(255, 255, 255, 0.3);\n } \n\n .colored-dark * {\n scrollbar-width: thin;\n scrollbar-color: rgb(100, 100, 100) auto;\n }\n .colored-dark *::-webkit-scrollbar {\n width: 12px;\n }\n .colored-dark *::-webkit-scrollbar-track {\n background: transparent;\n }\n .colored-dark *::-webkit-scrollbar-thumb {\n background-color:rgb(100, 100, 100);\n } \n\n .colored * {\n scrollbar-width: thin;\n scrollbar-color: rgba(0, 0, 0, 0.4) auto;\n }\n .colored *::-webkit-scrollbar {\n width: 12px;\n }\n .colored *::-webkit-scrollbar-track {\n background: transparent;\n }\n .colored *::-webkit-scrollbar-thumb {\n background-color: rgba(0, 0, 0, 0.4);\n } \n\n .light * {\n scrollbar-width: thin;\n scrollbar-color: rgba(0, 0, 0, 0.4) auto;\n }\n .light *::-webkit-scrollbar {\n width: 12px;\n }\n .light *::-webkit-scrollbar-track {\n background: transparent;\n }\n .light *::-webkit-scrollbar-thumb {\n background-color: rgba(0, 0, 0, 0.4);\n } \n </style>\n </head>\n <body${this.builder.styleDark?' class="dark"':""}${this.builder.styleColored?' class="colored"':""}${this.builder.styleColoredDark?' class="colored-dark"':""}${this.builder.styleLight?' class="light"':""}>\n\n <div id="divIcons">\n <div><i class="icon ion-alert"> </i></div>\n <div><i class="icon ion-alert-circled"> </i></div>\n <div><i class="icon ion-android-add"> </i></div>\n <div><i class="icon ion-android-add-circle"> </i></div>\n <div><i class="icon ion-android-alarm-clock"> </i></div>\n <div><i class="icon ion-android-alert"> </i></div>\n <div><i class="icon ion-android-apps"> </i></div>\n <div><i class="icon ion-android-archive"> </i></div>\n <div><i class="icon ion-android-arrow-back"> </i></div>\n <div><i class="icon ion-android-arrow-down"> </i></div>\n <div><i class="icon ion-android-arrow-dropdown"> </i></div>\n <div><i class="icon ion-android-arrow-dropdown-circle"> </i></div>\n <div><i class="icon ion-android-arrow-dropleft"> </i></div>\n <div><i class="icon ion-android-arrow-dropleft-circle"> </i></div>\n <div><i class="icon ion-android-arrow-dropright"> </i></div>\n <div><i class="icon ion-android-arrow-dropright-circle"> </i></div>\n <div><i class="icon ion-android-arrow-dropup"> </i></div>\n <div><i class="icon ion-android-arrow-dropup-circle"> </i></div>\n <div><i class="icon ion-android-arrow-forward"> </i></div>\n <div><i class="icon ion-android-arrow-up"> </i></div>\n <div><i class="icon ion-android-attach"> </i></div>\n <div><i class="icon ion-android-bar"> </i></div>\n <div><i class="icon ion-android-bicycle"> </i></div>\n <div><i class="icon ion-android-boat"> </i></div>\n <div><i class="icon ion-android-bookmark"> </i></div>\n <div><i class="icon ion-android-bulb"> </i></div>\n <div><i class="icon ion-android-bus"> </i></div>\n <div><i class="icon ion-android-calendar"> </i></div>\n <div><i class="icon ion-android-call"> </i></div>\n <div><i class="icon ion-android-camera"> </i></div>\n <div><i class="icon ion-android-cancel"> </i></div>\n <div><i class="icon ion-android-car"> </i></div>\n <div><i class="icon ion-android-cart"> </i></div>\n <div><i class="icon ion-android-chat"> </i></div>\n <div><i class="icon ion-android-checkbox"> </i></div>\n <div><i class="icon ion-android-checkbox-blank"> </i></div>\n <div><i class="icon ion-android-checkbox-outline"> </i></div>\n <div><i class="icon ion-android-checkbox-outline-blank"> </i></div>\n <div><i class="icon ion-android-checkmark-circle"> </i></div>\n <div><i class="icon ion-android-clipboard"> </i></div>\n <div><i class="icon ion-android-close"> </i></div>\n <div><i class="icon ion-android-cloud"> </i></div>\n <div><i class="icon ion-android-cloud-circle"> </i></div>\n <div><i class="icon ion-android-cloud-done"> </i></div>\n <div><i class="icon ion-android-cloud-outline"> </i></div>\n <div><i class="icon ion-android-color-palette"> </i></div>\n <div><i class="icon ion-android-compass"> </i></div>\n <div><i class="icon ion-android-contact"> </i></div>\n <div><i class="icon ion-android-contacts"> </i></div>\n <div><i class="icon ion-android-contract"> </i></div>\n <div><i class="icon ion-android-create"> </i></div>\n <div><i class="icon ion-android-delete"> </i></div>\n <div><i class="icon ion-android-desktop"> </i></div>\n <div><i class="icon ion-android-document"> </i></div>\n <div><i class="icon ion-android-done"> </i></div>\n <div><i class="icon ion-android-done-all"> </i></div>\n <div><i class="icon ion-android-download"> </i></div>\n <div><i class="icon ion-android-drafts"> </i></div>\n <div><i class="icon ion-android-exit"> </i></div>\n <div><i class="icon ion-android-expand"> </i></div>\n <div><i class="icon ion-android-favorite"> </i></div>\n <div><i class="icon ion-android-favorite-outline"> </i></div>\n <div><i class="icon ion-android-film"> </i></div>\n <div><i class="icon ion-android-folder"> </i></div>\n <div><i class="icon ion-android-folder-open"> </i></div>\n <div><i class="icon ion-android-funnel"> </i></div>\n <div><i class="icon ion-android-globe"> </i></div>\n <div><i class="icon ion-android-hand"> </i></div>\n <div><i class="icon ion-android-hangout"> </i></div>\n <div><i class="icon ion-android-happy"> </i></div>\n <div><i class="icon ion-android-home"> </i></div>\n <div><i class="icon ion-android-image"> </i></div>\n <div><i class="icon ion-android-laptop"> </i></div>\n <div><i class="icon ion-android-list"> </i></div>\n <div><i class="icon ion-android-locate"> </i></div>\n <div><i class="icon ion-android-lock"> </i></div>\n <div><i class="icon ion-android-mail"> </i></div>\n <div><i class="icon ion-android-map"> </i></div>\n <div><i class="icon ion-android-menu"> </i></div>\n <div><i class="icon ion-android-microphone"> </i></div>\n <div><i class="icon ion-android-microphone-off"> </i></div>\n <div><i class="icon ion-android-more-horizontal"> </i></div>\n <div><i class="icon ion-android-more-vertical"> </i></div>\n <div><i class="icon ion-android-navigate"> </i></div>\n <div><i class="icon ion-android-notifications"> </i></div>\n <div><i class="icon ion-android-notifications-none"> </i></div>\n <div><i class="icon ion-android-notifications-off"> </i></div>\n <div><i class="icon ion-android-open"> </i></div>\n <div><i class="icon ion-android-options"> </i></div>\n <div><i class="icon ion-android-people"> </i></div>\n <div><i class="icon ion-android-person"> </i></div>\n <div><i class="icon ion-android-person-add"> </i></div>\n <div><i class="icon ion-android-phone-landscape"> </i></div>\n <div><i class="icon ion-android-phone-portrait"> </i></div>\n <div><i class="icon ion-android-pin"> </i></div>\n <div><i class="icon ion-android-plane"> </i></div>\n <div><i class="icon ion-android-playstore"> </i></div>\n <div><i class="icon ion-android-print"> </i></div>\n <div><i class="icon ion-android-radio-button-off"> </i></div>\n <div><i class="icon ion-android-radio-button-on"> </i></div>\n <div><i class="icon ion-android-refresh"> </i></div>\n <div><i class="icon ion-android-remove"> </i></div>\n <div><i class="icon ion-android-remove-circle"> </i></div>\n <div><i class="icon ion-android-restaurant"> </i></div>\n <div><i class="icon ion-android-sad"> </i></div>\n <div><i class="icon ion-android-search"> </i></div>\n <div><i class="icon ion-android-send"> </i></div>\n <div><i class="icon ion-android-settings"> </i></div>\n <div><i class="icon ion-android-share"> </i></div>\n <div><i class="icon ion-android-share-alt"> </i></div>\n <div><i class="icon ion-android-star"> </i></div>\n <div><i class="icon ion-android-star-half"> </i></div>\n <div><i class="icon ion-android-star-outline"> </i></div>\n <div><i class="icon ion-android-stopwatch"> </i></div>\n <div><i class="icon ion-android-subway"> </i></div>\n <div><i class="icon ion-android-sunny"> </i></div>\n <div><i class="icon ion-android-sync"> </i></div>\n <div><i class="icon ion-android-textsms"> </i></div>\n <div><i class="icon ion-android-time"> </i></div>\n <div><i class="icon ion-android-train"> </i></div>\n <div><i class="icon ion-android-unlock"> </i></div>\n <div><i class="icon ion-android-upload"> </i></div>\n <div><i class="icon ion-android-volume-down"> </i></div>\n <div><i class="icon ion-android-volume-mute"> </i></div>\n <div><i class="icon ion-android-volume-off"> </i></div>\n <div><i class="icon ion-android-volume-up"> </i></div>\n <div><i class="icon ion-android-walk"> </i></div>\n <div><i class="icon ion-android-warning"> </i></div>\n <div><i class="icon ion-android-watch"> </i></div>\n <div><i class="icon ion-android-wifi"> </i></div>\n <div><i class="icon ion-aperture"> </i></div>\n <div><i class="icon ion-archive"> </i></div>\n <div><i class="icon ion-arrow-down-a"> </i></div>\n <div><i class="icon ion-arrow-down-b"> </i></div>\n <div><i class="icon ion-arrow-down-c"> </i></div>\n <div><i class="icon ion-arrow-expand"> </i></div>\n <div><i class="icon ion-arrow-graph-down-left"> </i></div>\n <div><i class="icon ion-arrow-graph-down-right"> </i></div>\n <div><i class="icon ion-arrow-graph-up-left"> </i></div>\n <div><i class="icon ion-arrow-graph-up-right"> </i></div>\n <div><i class="icon ion-arrow-left-a"> </i></div>\n <div><i class="icon ion-arrow-left-b"> </i></div>\n <div><i class="icon ion-arrow-left-c"> </i></div>\n <div><i class="icon ion-arrow-move"> </i></div>\n <div><i class="icon ion-arrow-resize"> </i></div>\n <div><i class="icon ion-arrow-return-left"> </i></div>\n <div><i class="icon ion-arrow-return-right"> </i></div>\n <div><i class="icon ion-arrow-right-a"> </i></div>\n <div><i class="icon ion-arrow-right-b"> </i></div>\n <div><i class="icon ion-arrow-right-c"> </i></div>\n <div><i class="icon ion-arrow-shrink"> </i></div>\n <div><i class="icon ion-arrow-swap"> </i></div>\n <div><i class="icon ion-arrow-up-a"> </i></div>\n <div><i class="icon ion-arrow-up-b"> </i></div>\n <div><i class="icon ion-arrow-up-c"> </i></div>\n <div><i class="icon ion-asterisk"> </i></div>\n <div><i class="icon ion-at"> </i></div>\n <div><i class="icon ion-backspace"> </i></div>\n <div><i class="icon ion-backspace-outline"> </i></div>\n <div><i class="icon ion-bag"> </i></div>\n <div><i class="icon ion-battery-charging"> </i></div>\n <div><i class="icon ion-battery-empty"> </i></div>\n <div><i class="icon ion-battery-full"> </i></div>\n <div><i class="icon ion-battery-half"> </i></div>\n <div><i class="icon ion-battery-low"> </i></div>\n <div><i class="icon ion-beaker"> </i></div>\n <div><i class="icon ion-beer"> </i></div>\n <div><i class="icon ion-bluetooth"> </i></div>\n <div><i class="icon ion-bonfire"> </i></div>\n <div><i class="icon ion-bookmark"> </i></div>\n <div><i class="icon ion-bowtie"> </i></div>\n <div><i class="icon ion-briefcase"> </i></div>\n <div><i class="icon ion-bug"> </i></div>\n <div><i class="icon ion-calculator"> </i></div>\n <div><i class="icon ion-calendar"> </i></div>\n <div><i class="icon ion-camera"> </i></div>\n <div><i class="icon ion-card"> </i></div>\n <div><i class="icon ion-cash"> </i></div>\n <div><i class="icon ion-chatbox"> </i></div>\n <div><i class="icon ion-chatbox-working"> </i></div>\n <div><i class="icon ion-chatboxes"> </i></div>\n <div><i class="icon ion-chatbubble"> </i></div>\n <div><i class="icon ion-chatbubble-working"> </i></div>\n <div><i class="icon ion-chatbubbles"> </i></div>\n <div><i class="icon ion-checkmark"> </i></div>\n <div><i class="icon ion-checkmark-circled"> </i></div>\n <div><i class="icon ion-checkmark-round"> </i></div>\n <div><i class="icon ion-chevron-down"> </i></div>\n <div><i class="icon ion-chevron-left"> </i></div>\n <div><i class="icon ion-chevron-right"> </i></div>\n <div><i class="icon ion-chevron-up"> </i></div>\n <div><i class="icon ion-clipboard"> </i></div>\n <div><i class="icon ion-clock"> </i></div>\n <div><i class="icon ion-close"> </i></div>\n <div><i class="icon ion-close-circled"> </i></div>\n <div><i class="icon ion-close-round"> </i></div>\n <div><i class="icon ion-closed-captioning"> </i></div>\n <div><i class="icon ion-cloud"> </i></div>\n <div><i class="icon ion-code"> </i></div>\n <div><i class="icon ion-code-download"> </i></div>\n <div><i class="icon ion-code-working"> </i></div>\n <div><i class="icon ion-coffee"> </i></div>\n <div><i class="icon ion-compass"> </i></div>\n <div><i class="icon ion-compose"> </i></div>\n <div><i class="icon ion-connection-bars"> </i></div>\n <div><i class="icon ion-contrast"> </i></div>\n <div><i class="icon ion-crop"> </i></div>\n <div><i class="icon ion-cube"> </i></div>\n <div><i class="icon ion-disc"> </i></div>\n <div><i class="icon ion-document"> </i></div>\n <div><i class="icon ion-document-text"> </i></div>\n <div><i class="icon ion-drag"> </i></div>\n <div><i class="icon ion-earth"> </i></div>\n <div><i class="icon ion-easel"> </i></div>\n <div><i class="icon ion-edit"> </i></div>\n <div><i class="icon ion-egg"> </i></div>\n <div><i class="icon ion-eject"> </i></div>\n <div><i class="icon ion-email"> </i></div>\n <div><i class="icon ion-email-unread"> </i></div>\n <div><i class="icon ion-erlenmeyer-flask"> </i></div>\n <div><i class="icon ion-erlenmeyer-flask-bubbles"> </i></div>\n <div><i class="icon ion-eye"> </i></div>\n <div><i class="icon ion-eye-disabled"> </i></div>\n <div><i class="icon ion-female"> </i></div>\n <div><i class="icon ion-filing"> </i></div>\n <div><i class="icon ion-film-marker"> </i></div>\n <div><i class="icon ion-fireball"> </i></div>\n <div><i class="icon ion-flag"> </i></div>\n <div><i class="icon ion-flame"> </i></div>\n <div><i class="icon ion-flash"> </i></div>\n <div><i class="icon ion-flash-off"> </i></div>\n <div><i class="icon ion-folder"> </i></div>\n <div><i class="icon ion-fork"> </i></div>\n <div><i class="icon ion-fork-repo"> </i></div>\n <div><i class="icon ion-forward"> </i></div>\n <div><i class="icon ion-funnel"> </i></div>\n <div><i class="icon ion-gear-a"> </i></div>\n <div><i class="icon ion-gear-b"> </i></div>\n <div><i class="icon ion-grid"> </i></div>\n <div><i class="icon ion-hammer"> </i></div>\n <div><i class="icon ion-happy"> </i></div>\n <div><i class="icon ion-happy-outline"> </i></div>\n <div><i class="icon ion-headphone"> </i></div>\n <div><i class="icon ion-heart"> </i></div>\n <div><i class="icon ion-heart-broken"> </i></div>\n <div><i class="icon ion-help"> </i></div>\n <div><i class="icon ion-help-buoy"> </i></div>\n <div><i class="icon ion-help-circled"> </i></div>\n <div><i class="icon ion-home"> </i></div>\n <div><i class="icon ion-icecream"> </i></div>\n <div><i class="icon ion-image"> </i></div>\n <div><i class="icon ion-images"> </i></div>\n <div><i class="icon ion-information"> </i></div>\n <div><i class="icon ion-information-circled"> </i></div>\n <div><i class="icon ion-ionic"> </i></div>\n <div><i class="icon ion-ios-alarm"> </i></div>\n <div><i class="icon ion-ios-alarm-outline"> </i></div>\n <div><i class="icon ion-ios-albums"> </i></div>\n <div><i class="icon ion-ios-albums-outline"> </i></div>\n <div><i class="icon ion-ios-americanfootball"> </i></div>\n <div><i class="icon ion-ios-americanfootball-outline"> </i></div>\n <div><i class="icon ion-ios-analytics"> </i></div>\n <div><i class="icon ion-ios-analytics-outline"> </i></div>\n <div><i class="icon ion-ios-arrow-back"> </i></div>\n <div><i class="icon ion-ios-arrow-down"> </i></div>\n <div><i class="icon ion-ios-arrow-forward"> </i></div>\n <div><i class="icon ion-ios-arrow-left"> </i></div>\n <div><i class="icon ion-ios-arrow-right"> </i></div>\n <div><i class="icon ion-ios-arrow-thin-down"> </i></div>\n <div><i class="icon ion-ios-arrow-thin-left"> </i></div>\n <div><i class="icon ion-ios-arrow-thin-right"> </i></div>\n <div><i class="icon ion-ios-arrow-thin-up"> </i></div>\n <div><i class="icon ion-ios-arrow-up"> </i></div>\n <div><i class="icon ion-ios-at"> </i></div>\n <div><i class="icon ion-ios-at-outline"> </i></div>\n <div><i class="icon ion-ios-barcode"> </i></div>\n <div><i class="icon ion-ios-barcode-outline"> </i></div>\n <div><i class="icon ion-ios-baseball"> </i></div>\n <div><i class="icon ion-ios-baseball-outline"> </i></div>\n <div><i class="icon ion-ios-basketball"> </i></div>\n <div><i class="icon ion-ios-basketball-outline"> </i></div>\n <div><i class="icon ion-ios-bell"> </i></div>\n <div><i class="icon ion-ios-bell-outline"> </i></div>\n <div><i class="icon ion-ios-body"> </i></div>\n <div><i class="icon ion-ios-body-outline"> </i></div>\n <div><i class="icon ion-ios-bolt"> </i></div>\n <div><i class="icon ion-ios-bolt-outline"> </i></div>\n <div><i class="icon ion-ios-book"> </i></div>\n <div><i class="icon ion-ios-book-outline"> </i></div>\n <div><i class="icon ion-ios-bookmarks"> </i></div>\n <div><i class="icon ion-ios-bookmarks-outline"> </i></div>\n <div><i class="icon ion-ios-box"> </i></div>\n <div><i class="icon ion-ios-box-outline"> </i></div>\n <div><i class="icon ion-ios-briefcase"> </i></div>\n <div><i class="icon ion-ios-briefcase-outline"> </i></div>\n <div><i class="icon ion-ios-browsers"> </i></div>\n <div><i class="icon ion-ios-browsers-outline"> </i></div>\n <div><i class="icon ion-ios-calculator"> </i></div>\n <div><i class="icon ion-ios-calculator-outline"> </i></div>\n <div><i class="icon ion-ios-calendar"> </i></div>\n <div><i class="icon ion-ios-calendar-outline"> </i></div>\n <div><i class="icon ion-ios-camera"> </i></div>\n <div><i class="icon ion-ios-camera-outline"> </i></div>\n <div><i class="icon ion-ios-cart"> </i></div>\n <div><i class="icon ion-ios-cart-outline"> </i></div>\n <div><i class="icon ion-ios-chatboxes"> </i></div>\n <div><i class="icon ion-ios-chatboxes-outline"> </i></div>\n <div><i class="icon ion-ios-chatbubble"> </i></div>\n <div><i class="icon ion-ios-chatbubble-outline"> </i></div>\n <div><i class="icon ion-ios-checkmark"> </i></div>\n <div><i class="icon ion-ios-checkmark-empty"> </i></div>\n <div><i class="icon ion-ios-checkmark-outline"> </i></div>\n <div><i class="icon ion-ios-circle-filled"> </i></div>\n <div><i class="icon ion-ios-circle-outline"> </i></div>\n <div><i class="icon ion-ios-clock"> </i></div>\n <div><i class="icon ion-ios-clock-outline"> </i></div>\n <div><i class="icon ion-ios-close"> </i></div>\n <div><i class="icon ion-ios-close-empty"> </i></div>\n <div><i class="icon ion-ios-close-outline"> </i></div>\n <div><i class="icon ion-ios-cloud"> </i></div>\n <div><i class="icon ion-ios-cloud-download"> </i></div>\n <div><i class="icon ion-ios-cloud-download-outline"> </i></div>\n <div><i class="icon ion-ios-cloud-outline"> </i></div>\n <div><i class="icon ion-ios-cloud-upload"> </i></div>\n <div><i class="icon ion-ios-cloud-upload-outline"> </i></div>\n <div><i class="icon ion-ios-cloudy"> </i></div>\n <div><i class="icon ion-ios-cloudy-night"> </i></div>\n <div><i class="icon ion-ios-cloudy-night-outline"> </i></div>\n <div><i class="icon ion-ios-cloudy-outline"> </i></div>\n <div><i class="icon ion-ios-cog"> </i></div>\n <div><i class="icon ion-ios-cog-outline"> </i></div>\n <div><i class="icon ion-ios-color-filter"> </i></div>\n <div><i class="icon ion-ios-color-filter-outline"> </i></div>\n <div><i class="icon ion-ios-color-wand"> </i></div>\n <div><i class="icon ion-ios-color-wand-outline"> </i></div>\n <div><i class="icon ion-ios-compose"> </i></div>\n <div><i class="icon ion-ios-compose-outline"> </i></div>\n <div><i class="icon ion-ios-contact"> </i></div>\n <div><i class="icon ion-ios-contact-outline"> </i></div>\n <div><i class="icon ion-ios-copy"> </i></div>\n <div><i class="icon ion-ios-copy-outline"> </i></div>\n <div><i class="icon ion-ios-crop"> </i></div>\n <div><i class="icon ion-ios-crop-strong"> </i></div>\n <div><i class="icon ion-ios-download"> </i></div>\n <div><i class="icon ion-ios-download-outline"> </i></div>\n <div><i class="icon ion-ios-drag"> </i></div>\n <div><i class="icon ion-ios-email"> </i></div>\n <div><i class="icon ion-ios-email-outline"> </i></div>\n <div><i class="icon ion-ios-eye"> </i></div>\n <div><i class="icon ion-ios-eye-outline"> </i></div>\n <div><i class="icon ion-ios-fastforward"> </i></div>\n <div><i class="icon ion-ios-fastforward-outline"> </i></div>\n <div><i class="icon ion-ios-filing"> </i></div>\n <div><i class="icon ion-ios-filing-outline"> </i></div>\n <div><i class="icon ion-ios-film"> </i></div>\n <div><i class="icon ion-ios-film-outline"> </i></div>\n <div><i class="icon ion-ios-flag"> </i></div>\n <div><i class="icon ion-ios-flag-outline"> </i></div>\n <div><i class="icon ion-ios-flame"> </i></div>\n <div><i class="icon ion-ios-flame-outline"> </i></div>\n <div><i class="icon ion-ios-flask"> </i></div>\n <div><i class="icon ion-ios-flask-outline"> </i></div>\n <div><i class="icon ion-ios-flower"> </i></div>\n <div><i class="icon ion-ios-flower-outline"> </i></div>\n <div><i class="icon ion-ios-folder"> </i></div>\n <div><i class="icon ion-ios-folder-outline"> </i></div>\n <div><i class="icon ion-ios-football"> </i></div>\n <div><i class="icon ion-ios-football-outline"> </i></div>\n <div><i class="icon ion-ios-game-controller-a"> </i></div>\n <div><i class="icon ion-ios-game-controller-a-outline"> </i></div>\n <div><i class="icon ion-ios-game-controller-b"> </i></div>\n <div><i class="icon ion-ios-game-controller-b-outline"> </i></div>\n <div><i class="icon ion-ios-gear"> </i></div>\n <div><i class="icon ion-ios-gear-outline"> </i></div>\n <div><i class="icon ion-ios-glasses"> </i></div>\n <div><i class="icon ion-ios-glasses-outline"> </i></div>\n <div><i class="icon ion-ios-grid-view"> </i></div>\n <div><i class="icon ion-ios-grid-view-outline"> </i></div>\n <div><i class="icon ion-ios-heart"> </i></div>\n <div><i class="icon ion-ios-heart-outline"> </i></div>\n <div><i class="icon ion-ios-help"> </i></div>\n <div><i class="icon ion-ios-help-empty"> </i></div>\n <div><i class="icon ion-ios-help-outline"> </i></div>\n <div><i class="icon ion-ios-home"> </i></div>\n <div><i class="icon ion-ios-home-outline"> </i></div>\n <div><i class="icon ion-ios-infinite"> </i></div>\n <div><i class="icon ion-ios-infinite-outline"> </i></div>\n <div><i class="icon ion-ios-information"> </i></div>\n <div><i class="icon ion-ios-information-empty"> </i></div>\n <div><i class="icon ion-ios-information-outline"> </i></div>\n <div><i class="icon ion-ios-ionic-outline"> </i></div>\n <div><i class="icon ion-ios-keypad"> </i></div>\n <div><i class="icon ion-ios-keypad-outline"> </i></div>\n <div><i class="icon ion-ios-lightbulb"> </i></div>\n <div><i class="icon ion-ios-lightbulb-outline"> </i></div>\n <div><i class="icon ion-ios-list"> </i></div>\n <div><i class="icon ion-ios-list-outline"> </i></div>\n <div><i class="icon ion-ios-location"> </i></div>\n <div><i class="icon ion-ios-location-outline"> </i></div>\n <div><i class="icon ion-ios-locked"> </i></div>\n <div><i class="icon ion-ios-locked-outline"> </i></div>\n <div><i class="icon ion-ios-loop"> </i></div>\n <div><i class="icon ion-ios-loop-strong"> </i></div>\n <div><i class="icon ion-ios-medical"> </i></div>\n <div><i class="icon ion-ios-medical-outline"> </i></div>\n <div><i class="icon ion-ios-medkit"> </i></div>\n <div><i class="icon ion-ios-medkit-outline"> </i></div>\n <div><i class="icon ion-ios-mic"> </i></div>\n <div><i class="icon ion-ios-mic-off"> </i></div>\n <div><i class="icon ion-ios-mic-outline"> </i></div>\n <div><i class="icon ion-ios-minus"> </i></div>\n <div><i class="icon ion-ios-minus-empty"> </i></div>\n <div><i class="icon ion-ios-minus-outline"> </i></div>\n <div><i class="icon ion-ios-monitor"> </i></div>\n <div><i class="icon ion-ios-monitor-outline"> </i></div>\n <div><i class="icon ion-ios-moon"> </i></div>\n <div><i class="icon ion-ios-moon-outline"> </i></div>\n <div><i class="icon ion-ios-more"> </i></div>\n <div><i class="icon ion-ios-more-outline"> </i></div>\n <div><i class="icon ion-ios-musical-note"> </i></div>\n <div><i class="icon ion-ios-musical-notes"> </i></div>\n <div><i class="icon ion-ios-navigate"> </i></div>\n <div><i class="icon ion-ios-navigate-outline"> </i></div>\n <div><i class="icon ion-ios-nutrition"> </i></div>\n <div><i class="icon ion-ios-nutrition-outline"> </i></div>\n <div><i class="icon ion-ios-paper"> </i></div>\n <div><i class="icon ion-ios-paper-outline"> </i></div>\n <div><i class="icon ion-ios-paperplane"> </i></div>\n <div><i class="icon ion-ios-paperplane-outline"> </i></div>\n <div><i class="icon ion-ios-partlysunny"> </i></div>\n <div><i class="icon ion-ios-partlysunny-outline"> </i></div>\n <div><i class="icon ion-ios-pause"> </i></div>\n <div><i class="icon ion-ios-pause-outline"> </i></div>\n <div><i class="icon ion-ios-paw"> </i></div>\n <div><i class="icon ion-ios-paw-outline"> </i></div>\n <div><i class="icon ion-ios-people"> </i></div>\n <div><i class="icon ion-ios-people-outline"> </i></div>\n <div><i class="icon ion-ios-person"> </i></div>\n <div><i class="icon ion-ios-person-outline"> </i></div>\n <div><i class="icon ion-ios-personadd"> </i></div>\n <div><i class="icon ion-ios-personadd-outline"> </i></div>\n <div><i class="icon ion-ios-photos"> </i></div>\n <div><i class="icon ion-ios-photos-outline"> </i></div>\n <div><i class="icon ion-ios-pie"> </i></div>\n <div><i class="icon ion-ios-pie-outline"> </i></div>\n <div><i class="icon ion-ios-pint"> </i></div>\n <div><i class="icon ion-ios-pint-outline"> </i></div>\n <div><i class="icon ion-ios-play"> </i></div>\n <div><i class="icon ion-ios-play-outline"> </i></div>\n <div><i class="icon ion-ios-plus"> </i></div>\n <div><i class="icon ion-ios-plus-empty"> </i></div>\n <div><i class="icon ion-ios-plus-outline"> </i></div>\n <div><i class="icon ion-ios-pricetag"> </i></div>\n <div><i class="icon ion-ios-pricetag-outline"> </i></div>\n <div><i class="icon ion-ios-pricetags"> </i></div>\n <div><i class="icon ion-ios-pricetags-outline"> </i></div>\n <div><i class="icon ion-ios-printer"> </i></div>\n <div><i class="icon ion-ios-printer-outline"> </i></div>\n <div><i class="icon ion-ios-pulse"> </i></div>\n <div><i class="icon ion-ios-pulse-strong"> </i></div>\n <div><i class="icon ion-ios-rainy"> </i></div>\n <div><i class="icon ion-ios-rainy-outline"> </i></div>\n <div><i class="icon ion-ios-recording"> </i></div>\n <div><i class="icon ion-ios-recording-outline"> </i></div>\n <div><i class="icon ion-ios-redo"> </i></div>\n <div><i class="icon ion-ios-redo-outline"> </i></div>\n <div><i class="icon ion-ios-refresh"> </i></div>\n <div><i class="icon ion-ios-refresh-empty"> </i></div>\n <div><i class="icon ion-ios-refresh-outline"> </i></div>\n <div><i class="icon ion-ios-reload"> </i></div>\n <div><i class="icon ion-ios-reverse-camera"> </i></div>\n <div><i class="icon ion-ios-reverse-camera-outline"> </i></div>\n <div><i class="icon ion-ios-rewind"> </i></div>\n <div><i class="icon ion-ios-rewind-outline"> </i></div>\n <div><i class="icon ion-ios-rose"> </i></div>\n <div><i class="icon ion-ios-rose-outline"> </i></div>\n <div><i class="icon ion-ios-search"> </i></div>\n <div><i class="icon ion-ios-search-strong"> </i></div>\n <div><i class="icon ion-ios-settings"> </i></div>\n <div><i class="icon ion-ios-settings-strong"> </i></div>\n <div><i class="icon ion-ios-shuffle"> </i></div>\n <div><i class="icon ion-ios-shuffle-strong"> </i></div>\n <div><i class="icon ion-ios-skipbackward"> </i></div>\n <div><i class="icon ion-ios-skipbackward-outline"> </i></div>\n <div><i class="icon ion-ios-skipforward"> </i></div>\n <div><i class="icon ion-ios-skipforward-outline"> </i></div>\n <div><i class="icon ion-ios-snowy"> </i></div>\n <div><i class="icon ion-ios-speedometer"> </i></div>\n <div><i class="icon ion-ios-speedometer-outline"> </i></div>\n <div><i class="icon ion-ios-star"> </i></div>\n <div><i class="icon ion-ios-star-half"> </i></div>\n <div><i class="icon ion-ios-star-outline"> </i></div>\n <div><i class="icon ion-ios-stopwatch"> </i></div>\n <div><i class="icon ion-ios-stopwatch-outline"> </i></div>\n <div><i class="icon ion-ios-sunny"> </i></div>\n <div><i class="icon ion-ios-sunny-outline"> </i></div>\n <div><i class="icon ion-ios-telephone"> </i></div>\n <div><i class="icon ion-ios-telephone-outline"> </i></div>\n <div><i class="icon ion-ios-tennisball"> </i></div>\n <div><i class="icon ion-ios-tennisball-outline"> </i></div>\n <div><i class="icon ion-ios-thunderstorm"> </i></div>\n <div><i class="icon ion-ios-thunderstorm-outline"> </i></div>\n <div><i class="icon ion-ios-time"> </i></div>\n <div><i class="icon ion-ios-time-outline"> </i></div>\n <div><i class="icon ion-ios-timer"> </i></div>\n <div><i class="icon ion-ios-timer-outline"> </i></div>\n <div><i class="icon ion-ios-toggle"> </i></div>\n <div><i class="icon ion-ios-toggle-outline"> </i></div>\n <div><i class="icon ion-ios-trash"> </i></div>\n <div><i class="icon ion-ios-trash-outline"> </i></div>\n <div><i class="icon ion-ios-undo"> </i></div>\n <div><i class="icon ion-ios-undo-outline"> </i></div>\n <div><i class="icon ion-ios-unlocked"> </i></div>\n <div><i class="icon ion-ios-unlocked-outline"> </i></div>\n <div><i class="icon ion-ios-upload"> </i></div>\n <div><i class="icon ion-ios-upload-outline"> </i></div>\n <div><i class="icon ion-ios-videocam"> </i></div>\n <div><i class="icon ion-ios-videocam-outline"> </i></div>\n <div><i class="icon ion-ios-volume-high"> </i></div>\n <div><i class="icon ion-ios-volume-low"> </i></div>\n <div><i class="icon ion-ios-wineglass"> </i></div>\n <div><i class="icon ion-ios-wineglass-outline"> </i></div>\n <div><i class="icon ion-ios-world"> </i></div>\n <div><i class="icon ion-ios-world-outline"> </i></div>\n <div><i class="icon ion-ipad"> </i></div>\n <div><i class="icon ion-iphone"> </i></div>\n <div><i class="icon ion-ipod"> </i></div>\n <div><i class="icon ion-jet"> </i></div>\n <div><i class="icon ion-key"> </i></div>\n <div><i class="icon ion-knife"> </i></div>\n <div><i class="icon ion-laptop"> </i></div>\n <div><i class="icon ion-leaf"> </i></div>\n <div><i class="icon ion-levels"> </i></div>\n <div><i class="icon ion-lightbulb"> </i></div>\n <div><i class="icon ion-link"> </i></div>\n <div><i class="icon ion-load-a"> </i></div>\n <div><i class="icon ion-load-b"> </i></div>\n <div><i class="icon ion-load-c"> </i></div>\n <div><i class="icon ion-load-d"> </i></div>\n <div><i class="icon ion-location"> </i></div>\n <div><i class="icon ion-lock-combination"> </i></div>\n <div><i class="icon ion-locked"> </i></div>\n <div><i class="icon ion-log-in"> </i></div>\n <div><i class="icon ion-log-out"> </i></div>\n <div><i class="icon ion-loop"> </i></div>\n <div><i class="icon ion-magnet"> </i></div>\n <div><i class="icon ion-male"> </i></div>\n <div><i class="icon ion-man"> </i></div>\n <div><i class="icon ion-map"> </i></div>\n <div><i class="icon ion-medkit"> </i></div>\n <div><i class="icon ion-merge"> </i></div>\n <div><i class="icon ion-mic-a"> </i></div>\n <div><i class="icon ion-mic-b"> </i></div>\n <div><i class="icon ion-mic-c"> </i></div>\n <div><i class="icon ion-minus"> </i></div>\n <div><i class="icon ion-minus-circled"> </i></div>\n <div><i class="icon ion-minus-round"> </i></div>\n <div><i class="icon ion-model-s"> </i></div>\n <div><i class="icon ion-monitor"> </i></div>\n <div><i class="icon ion-more"> </i></div>\n <div><i class="icon ion-mouse"> </i></div>\n <div><i class="icon ion-music-note"> </i></div>\n <div><i class="icon ion-navicon"> </i></div>\n <div><i class="icon ion-navicon-round"> </i></div>\n <div><i class="icon ion-navigate"> </i></div>\n <div><i class="icon ion-network"> </i></div>\n <div><i class="icon ion-no-smoking"> </i></div>\n <div><i class="icon ion-nuclear"> </i></div>\n <div><i class="icon ion-outlet"> </i></div>\n <div><i class="icon ion-paintbrush"> </i></div>\n <div><i class="icon ion-paintbucket"> </i></div>\n <div><i class="icon ion-paper-airplane"> </i></div>\n <div><i class="icon ion-paperclip"> </i></div>\n <div><i class="icon ion-pause"> </i></div>\n <div><i class="icon ion-person"> </i></div>\n <div><i class="icon ion-person-add"> </i></div>\n <div><i class="icon ion-person-stalker"> </i></div>\n <div><i class="icon ion-pie-graph"> </i></div>\n <div><i class="icon ion-pin"> </i></div>\n <div><i class="icon ion-pinpoint"> </i></div>\n <div><i class="icon ion-pizza"> </i></div>\n <div><i class="icon ion-plane"> </i></div>\n <div><i class="icon ion-planet"> </i></div>\n <div><i class="icon ion-play"> </i></div>\n <div><i class="icon ion-playstation"> </i></div>\n <div><i class="icon ion-plus"> </i></div>\n <div><i class="icon ion-plus-circled"> </i></div>\n <div><i class="icon ion-plus-round"> </i></div>\n <div><i class="icon ion-podium"> </i></div>\n <div><i class="icon ion-pound"> </i></div>\n <div><i class="icon ion-power"> </i></div>\n <div><i class="icon ion-pricetag"> </i></div>\n <div><i class="icon ion-pricetags"> </i></div>\n <div><i class="icon ion-printer"> </i></div>\n <div><i class="icon ion-pull-request"> </i></div>\n <div><i class="icon ion-qr-scanner"> </i></div>\n <div><i class="icon ion-quote"> </i></div>\n <div><i class="icon ion-radio-waves"> </i></div>\n <div><i class="icon ion-record"> </i></div>\n <div><i class="icon ion-refresh"> </i></div>\n <div><i class="icon ion-reply"> </i></div>\n <div><i class="icon ion-reply-all"> </i></div>\n <div><i class="icon ion-ribbon-a"> </i></div>\n <div><i class="icon ion-ribbon-b"> </i></div>\n <div><i class="icon ion-sad"> </i></div>\n <div><i class="icon ion-sad-outline"> </i></div>\n <div><i class="icon ion-scissors"> </i></div>\n <div><i class="icon ion-search"> </i></div>\n <div><i class="icon ion-settings"> </i></div>\n <div><i class="icon ion-share"> </i></div>\n <div><i class="icon ion-shuffle"> </i></div>\n <div><i class="icon ion-skip-backward"> </i></div>\n <div><i class="icon ion-skip-forward"> </i></div>\n <div><i class="icon ion-social-android"> </i></div>\n <div><i class="icon ion-social-android-outline"> </i></div>\n <div><i class="icon ion-social-angular"> </i></div>\n <div><i class="icon ion-social-angular-outline"> </i></div>\n <div><i class="icon ion-social-apple"> </i></div>\n <div><i class="icon ion-social-apple-outline"> </i></div>\n <div><i class="icon ion-social-bitcoin"> </i></div>\n <div><i class="icon ion-social-bitcoin-outline"> </i></div>\n <div><i class="icon ion-social-buffer"> </i></div>\n <div><i class="icon ion-social-buffer-outline"> </i></div>\n <div><i class="icon ion-social-chrome"> </i></div>\n <div><i class="icon ion-social-chrome-outline"> </i></div>\n <div><i class="icon ion-social-codepen"> </i></div>\n <div><i class="icon ion-social-codepen-outline"> </i></div>\n <div><i class="icon ion-social-css3"> </i></div>\n <div><i class="icon ion-social-css3-outline"> </i></div>\n <div><i class="icon ion-social-designernews"> </i></div>\n <div><i class="icon ion-social-designernews-outline"> </i></div>\n <div><i class="icon ion-social-dribbble"> </i></div>\n <div><i class="icon ion-social-dribbble-outline"> </i></div>\n <div><i class="icon ion-social-dropbox"> </i></div>\n <div><i class="icon ion-social-dropbox-outline"> </i></div>\n <div><i class="icon ion-social-euro"> </i></div>\n <div><i class="icon ion-social-euro-outline"> </i></div>\n <div><i class="icon ion-social-facebook"> </i></div>\n <div><i class="icon ion-social-facebook-outline"> </i></div>\n <div><i class="icon ion-social-foursquare"> </i></div>\n <div><i class="icon ion-social-foursquare-outline"> </i></div>\n <div><i class="icon ion-social-freebsd-devil"> </i></div>\n <div><i class="icon ion-social-github"> </i></div>\n <div><i class="icon ion-social-github-outline"> </i></div>\n <div><i class="icon ion-social-google"> </i></div>\n <div><i class="icon ion-social-google-outline"> </i></div>\n <div><i class="icon ion-social-googleplus"> </i></div>\n <div><i class="icon ion-social-googleplus-outline"> </i></div>\n <div><i class="icon ion-social-hackernews"> </i></div>\n <div><i class="icon ion-social-hackernews-outline"> </i></div>\n <div><i class="icon ion-social-html5"> </i></div>\n <div><i class="icon ion-social-html5-outline"> </i></div>\n <div><i class="icon ion-social-instagram"> </i></div>\n <div><i class="icon ion-social-instagram-outline"> </i></div>\n <div><i class="icon ion-social-javascript"> </i></div>\n <div><i class="icon ion-social-javascript-outline"> </i></div>\n <div><i class="icon ion-social-linkedin"> </i></div>\n <div><i class="icon ion-social-linkedin-outline"> </i></div>\n <div><i class="icon ion-social-markdown"> </i></div>\n <div><i class="icon ion-social-nodejs"> </i></div>\n <div><i class="icon ion-social-octocat"> </i></div>\n <div><i class="icon ion-social-pinterest"> </i></div>\n <div><i class="icon ion-social-pinterest-outline"> </i></div>\n <div><i class="icon ion-social-python"> </i></div>\n <div><i class="icon ion-social-reddit"> </i></div>\n <div><i class="icon ion-social-reddit-outline"> </i></div>\n <div><i class="icon ion-social-rss"> </i></div>\n <div><i class="icon ion-social-rss-outline"> </i></div>\n <div><i class="icon ion-social-sass"> </i></div>\n <div><i class="icon ion-social-skype"> </i></div>\n <div><i class="icon ion-social-skype-outline"> </i></div>\n <div><i class="icon ion-social-snapchat"> </i></div>\n <div><i class="icon ion-social-snapchat-outline"> </i></div>\n <div><i class="icon ion-social-tumblr"> </i></div>\n <div><i class="icon ion-social-tumblr-outline"> </i></div>\n <div><i class="icon ion-social-tux"> </i></div>\n <div><i class="icon ion-social-twitch"> </i></div>\n <div><i class="icon ion-social-twitch-outline"> </i></div>\n <div><i class="icon ion-social-twitter"> </i></div>\n <div><i class="icon ion-social-twitter-outline"> </i></div>\n <div><i class="icon ion-social-usd"> </i></div>\n <div><i class="icon ion-social-usd-outline"> </i></div>\n <div><i class="icon ion-social-vimeo"> </i></div>\n <div><i class="icon ion-social-vimeo-outline"> </i></div>\n <div><i class="icon ion-social-whatsapp"> </i></div>\n <div><i class="icon ion-social-whatsapp-outline"> </i></div>\n <div><i class="icon ion-social-windows"> </i></div>\n <div><i class="icon ion-social-windows-outline"> </i></div>\n <div><i class="icon ion-social-wordpress"> </i></div>\n <div><i class="icon ion-social-wordpress-outline"> </i></div>\n <div><i class="icon ion-social-yahoo"> </i></div>\n <div><i class="icon ion-social-yahoo-outline"> </i></div>\n <div><i class="icon ion-social-yen"> </i></div>\n <div><i class="icon ion-social-yen-outline"> </i></div>\n <div><i class="icon ion-social-youtube"> </i></div>\n <div><i class="icon ion-social-youtube-outline"> </i></div>\n <div><i class="icon ion-soup-can"> </i></div>\n <div><i class="icon ion-soup-can-outline"> </i></div>\n <div><i class="icon ion-speakerphone"> </i></div>\n <div><i class="icon ion-speedometer"> </i></div>\n <div><i class="icon ion-spoon"> </i></div>\n <div><i class="icon ion-star"> </i></div>\n <div><i class="icon ion-stats-bars"> </i></div>\n <div><i class="icon ion-steam"> </i></div>\n <div><i class="icon ion-stop"> </i></div>\n <div><i class="icon ion-thermometer"> </i></div>\n <div><i class="icon ion-thumbsdown"> </i></div>\n <div><i class="icon ion-thumbsup"> </i></div>\n <div><i class="icon ion-toggle"> </i></div>\n <div><i class="icon ion-toggle-filled"> </i></div>\n <div><i class="icon ion-transgender"> </i></div>\n <div><i class="icon ion-trash-a"> </i></div>\n <div><i class="icon ion-trash-b"> </i></div>\n <div><i class="icon ion-trophy"> </i></div>\n <div><i class="icon ion-tshirt"> </i></div>\n <div><i class="icon ion-tshirt-outline"> </i></div>\n <div><i class="icon ion-umbrella"> </i></div>\n <div><i class="icon ion-university"> </i></div>\n <div><i class="icon ion-unlocked"> </i></div>\n <div><i class="icon ion-upload"> </i></div>\n <div><i class="icon ion-usb"> </i></div>\n <div><i class="icon ion-videocamera"> </i></div>\n <div><i class="icon ion-volume-high"> </i></div>\n <div><i class="icon ion-volume-low"> </i></div>\n <div><i class="icon ion-volume-medium"> </i></div>\n <div><i class="icon ion-volume-mute"> </i></div>\n <div><i class="icon ion-wand"> </i></div>\n <div><i class="icon ion-waterdrop"> </i></div>\n <div><i class="icon ion-wifi"> </i></div>\n <div><i class="icon ion-wineglass"> </i></div>\n <div><i class="icon ion-woman"> </i></div>\n <div><i class="icon ion-wrench"> </i></div>\n <div><i class="icon ion-xbox"> </i></div>\n </div>\n\n <script type="text/javascript">\n var elms = document.querySelectorAll('#divIcons > div');\n for(var i=0;i<elms.length;i++) {\n elms[i].addEventListener('click', function(e){\n\n var elm = e.target;\n if(!elm.className) elm = elm.childNodes[0];\n parent._cb.addIcon(elm.className)\n\n });\n }\n <\/script>\n\n </body>\n </html>\n \n \n `}addIcon(t){if(this.util.restoreSelection(),this.builder.activeIcon){this.builder.uo.saveForUndo();const n=this.builder.opts.fontSizeClassValues;for(var e="",i=0;i<=n.length-1;i++)of.hasClass(this.builder.activeIcon,"size-"+n[i])&&(e="size-"+n[i]);this.builder.activeIcon.className=t+(""!==e?" "+e:""),of.addClass(this.builder.activeIcon,"icon-active"),of.selectElementContents(this.builder.activeIcon),this.util.saveSelection()}else{if(!of.textSelection())return;this.builder.uo.saveForUndo(),this.util.pasteHtmlAtCaret('<i class="'+t+' icon-active"></i>',!0),this.builder.activeIcon=document.querySelector(".icon-active"),of.selectElementContents(this.builder.activeIcon),this.util.saveSelection()}this.builder.opts.onChange(),this.builder.opts.onRender()}clearFont(){this.builder.uo.saveForUndo(),this.applyFont("","","")}applyFont(t,e,i){let n;var o=this.builderStuff.querySelector(".is-side.elementstyles");if(of.hasClass(o,"active"))this.builder.uo.saveForUndo(),n=this.builder.inspectedElement,n.style.fontFamily=t,this.builderStuff.querySelector("#inpElmFontFamily").value=t,this.elementStyleEditor.refresh();else{try{let t;window.getSelection?(t=window.getSelection().getRangeAt(0).commonAncestorContainer,n=3===t.nodeType?t.parentNode:t,"H1"!==n.tagName&&"H2"!==n.tagName&&"H3"!==n.tagName&&"H4"!==n.tagName&&"H5"!==n.tagName&&"H6"!==n.tagName&&"P"!==n.tagName&&(n=n.parentNode)):document.selection&&(t=document.selection.createRange(),n=document.selection.createRange().parentElement(),"H1"!==n.tagName&&"H2"!==n.tagName&&"H3"!==n.tagName&&"H4"!==n.tagName&&"H5"!==n.tagName&&"H6"!==n.tagName&&"P"!==n.tagName&&(n=n.parentElement()))}catch(t){return}this.builder.uo.saveForUndo();var r=of.getSelected();if(""!==r.trim()&&n.innerText!==r){document.execCommand("fontName",!1,t);for(var s=document.getElementsByTagName("font"),a=0,l=s.length;a<l;++a)s[a].face===t&&(s[a].removeAttribute("face"),s[a].style.fontFamily=t,of.selectElementContents(s[a]))}else""!==r.trim()&&n.innerText,n.style.fontFamily=t}var d=e;d=d?":"+d:"";var c=t.split(",")[0];if("google"===i){var u=!1,p=document.getElementsByTagName("link");for(a=0;a<p.length;a++){var h=p[a].href.toLowerCase();-1!==(h=h.replace(/\+/g," ").replace(/%20/g," ")).indexOf(c.toLowerCase())&&(u=!0)}if(!u){for(var v=n;!of.hasClass(v,"is-builder");)v=v.parentNode;of.appendHtml(v,'<link href="//fonts.googleapis.com/css?family='+c+d+'" rel="stylesheet" property="stylesheet" type="text/css">')}}if(!this.builder.inspectedElement){if(this.util.saveSelection(),this.builder.isTouchSupport){this.rteTool.querySelector("button").focus()}this.getState()}for(this.builder.opts.onChange(),setTimeout((()=>{this.builder.opts.onChange()}),300),p=document.getElementsByTagName("link"),a=0;a<p.length;a++){if(-1!==(h=p[a].href.toLowerCase()).indexOf("googleapis"))if(-1!==(c=(h=h.replace(/\+/g," ").replace(/%20/g," ")).substr(h.indexOf("family=")+7)).indexOf(":")&&(c=c.split(":")[0]),-1!==c.indexOf("|")&&(c=c.split("|")[0]),document.body.innerHTML.toLowerCase().split(c).length<3)p[a].getAttribute("data-protect")||p[a].setAttribute("data-rel","_del")}[].forEach.call(document.querySelectorAll('link[data-rel="_del"]'),(function(t){t.parentNode.removeChild(t)}))}setFont(t,e,i,n){let o;var r=this.builderStuff.querySelector(".is-side.elementstyles");if(of.hasClass(r,"active"))this.builder.uo.saveForUndo(),o=this.builder.inspectedElement,o.style.fontFamily=t,this.builderStuff.querySelector("#inpElmFontFamily").value=t,this.elementStyleEditor.refresh();else{this.builder.isIE&&this.util.restoreSelection();try{let t;window.getSelection?(t=window.getSelection().getRangeAt(0).commonAncestorContainer,o=3===t.nodeType?t.parentNode:t,"H1"!==o.tagName&&"H2"!==o.tagName&&"H3"!==o.tagName&&"H4"!==o.tagName&&"H5"!==o.tagName&&"H6"!==o.tagName&&"P"!==o.tagName&&(o=o.parentNode)):document.selection&&(t=document.selection.createRange(),o=document.selection.createRange().parentElement(),"H1"!==o.tagName&&"H2"!==o.tagName&&"H3"!==o.tagName&&"H4"!==o.tagName&&"H5"!==o.tagName&&"H6"!==o.tagName&&"P"!==o.tagName&&(o=o.parentElement()))}catch(t){return}this.builder.uo.saveForUndo();var s=of.getSelected();if(""!==s.trim()&&o.innerText!==s){document.execCommand("fontName",!1,t);for(var a=document.getElementsByTagName("font"),l=0,d=a.length;l<d;++l)a[l].face.replace(/'/g,"")===t.replace(/'/g,"")&&(a[l].removeAttribute("face"),a[l].style.fontFamily=t,of.selectElementContents(a[l]));for(l=0,d=(a=document.querySelectorAll("[face]")).length;l<d;++l){let t=a[l].getAttribute("face");if(-1!==t.indexOf(",")){var c=t.split(",")[0],u=t.split(",")[1];-1!==c.indexOf(" ")&&(t=`'${c}',${u}`)}a[l].style.fontFamily=t,a[l].removeAttribute("face")}}else if(""!==s.trim()&&o.innerText===s){o.style.fontFamily=t;let e=o.querySelectorAll("*");Array.prototype.forEach.call(e,(t=>{""!==t.style.fontFamily&&(t.style.fontFamily="")}))}else o.style.fontFamily=t}var p=e;p=p?":"+p:"";var h="";i&&(h="&display=swap");var v=t.split(",")[0];if(v=v.replace(/'/g,""),"google"===n){var f=!1,g=document.getElementsByTagName("link");for(l=0;l<g.length;l++){var m=g[l].href.toLowerCase();-1!==(m=m.replace(/\+/g," ").replace(/%20/g," ")).indexOf(v.toLowerCase())&&(f=!0)}if(!f){for(var b=o;!of.hasClass(b,"is-builder");)b=b.parentNode;of.appendHtml(b,'<link href="//fonts.googleapis.com/css?family='+v+h+p+'" rel="stylesheet" property="stylesheet" type="text/css">')}}if(!this.builder.inspectedElement){if(this.util.saveSelection(),this.builder.isTouchSupport){this.rteTool.querySelector("button").focus()}this.getState()}for(this.builder.opts.onChange(),g=document.getElementsByTagName("link"),l=0;l<g.length;l++)if(-1!==(m=g[l].href.toLowerCase()).indexOf("googleapis")){if(-1!==(v=(m=m.replace(/\+/g," ").replace(/%20/g," ")).substr(m.indexOf("family=")+7)).indexOf(":")&&(v=v.split(":")[0]),-1!==v.indexOf("|")&&(v=v.split("|")[0]),v=v.replace("&display=swap",""),document.body.innerHTML.toLowerCase().split(v).length<3)g[l].getAttribute("data-protect")||g[l].setAttribute("data-rel","_del")}[].forEach.call(document.querySelectorAll('link[data-rel="_del"]'),(function(t){t.parentNode.removeChild(t)}))}positionToolbar(){const t=window.innerWidth,e=window.innerHeight;if("left"===this.builder.opts.toolbar||"right"===this.builder.opts.toolbar){let t=this.rteTool.offsetHeight,i=e/2-t/2;this.rteTool.style.left="",this.rteTool.style.top=i+"px",t=this.elementRteTool.offsetHeight,i=e/2-t/2,this.elementRteTool.style.left="",this.elementRteTool.style.top=i+"px"}else{let e=this.rteTool.offsetWidth,i=t/2-e/2;this.rteTool.style.top="",this.rteTool.style.left=i+"px",e=this.elementRteTool.offsetWidth,i=t/2-e/2,this.elementRteTool.style.top="",this.elementRteTool.style.left=i+"px"}}}const sf=new e;class af{constructor(t={}){this.opts=Object.assign(this,{page:"",container:".container",handler:"saveimage.php",onComplete:function(){},customval:"",stuffPlacement:"#_cbhtml",hiquality:!1},t),this.count=0;let e=document.querySelector(this.opts.stuffPlacement);e||(e=document.createElement("div"),e.id="_cbhtml",e.className="is-ui",sf.appendChild(document.body,e)),this.builderStuff=e}save(){if(""!==this.opts.page){let t=document.querySelector(this.opts.page);this.uploadImages(t)}else{let t=document.querySelectorAll(this.opts.container);Array.prototype.forEach.call(t,(t=>{this.uploadImages(t)}))}var t=setInterval((()=>{let e=!0;if(""!==this.opts.page){let t=document.querySelector(this.opts.page);e=this.checkImages(t)}else{let t=document.querySelectorAll(this.opts.container);Array.prototype.forEach.call(t,(t=>{!1===this.checkImages(t)&&(e=!1)}))}e&&(this.opts.onComplete(),window.clearInterval(t))}),2e3)}checkImages(t){const e=t.querySelectorAll("img");let i=!0;return Array.prototype.forEach.call(e,(t=>{let e=t.getAttribute("src");void 0!==e&&!1!==e&&-1!==e.indexOf("base64")&&(i=!1)})),i}uploadImages(t){if(!t)return;const e=t.querySelectorAll("img");Array.prototype.forEach.call(e,(t=>{let e=t.getAttribute("src");if(void 0!==e&&!1!==e&&-1!==e.indexOf("base64"))if(this.opts.onBase64Upload){let i=e;i=i.replace(/^data:image\/(png|jpeg);base64,/,"");let n=t.getAttribute("data-filename");this.opts.onBase64Upload(t,i,n)}else{this.count++;let o=e;if(o=o.replace(/^data:image\/(png|jpeg);base64,/,""),!this.builderStuff.querySelector("#form-"+this.count)){var i='<form id="form-'+this.count+'" target="frame-'+this.count+'" method="post" enctype="multipart/form-data"><input id="hidimg-'+this.count+'" name="hidimg-'+this.count+'" type="hidden" /><input id="hidname-'+this.count+'" name="hidname-'+this.count+'" type="hidden" /><input id="hidtype-'+this.count+'" name="hidtype-'+this.count+'" type="hidden" /><input id="hidcustomval-'+this.count+'" name="hidcustomval-'+this.count+'" type="hidden" /><input name="count" value="'+this.count+'" type="hidden" /><iframe id="frame-'+this.count+'" name="frame-'+this.count+'" style="width:1px;height:1px;border:none;position:absolute;z-index:-100000;left:-5px;"></iframe></form>';this.builderStuff.insertAdjacentHTML("beforeend",i)}t.setAttribute("id","img-"+this.count),this.builderStuff.querySelector("#hidimg-"+this.count).value=o,this.builderStuff.querySelector("#hidcustomval-"+this.count).value=this.customval;let r=t.getAttribute("data-filename");if(r){let t=r.substr(0,r.lastIndexOf("."))||r;t=t.toLowerCase().replace(/ /g,"-"),this.builderStuff.querySelector("#hidname-"+this.count).value=t}if(this.opts.hiquality)this.builderStuff.querySelector("#hidtype-"+this.count).value="png";else{var n=r.substr(r.lastIndexOf(".")+1);n=n.toLowerCase(),this.builderStuff.querySelector("#hidtype-"+this.count).value="jpg"===n||"jpeg"===n?"jpg":"png"}this.builderStuff.querySelector("#form-"+this.count).setAttribute("action",this.opts.handler+(this.opts.handler.indexOf("?")>=0?"&":"?")+"count="+this.count),this.builderStuff.querySelector("#form-"+this.count).submit()}}))}}const lf=new e;class df{constructor(e){const i=new t(e).builderStuff();this.builderStuff=i;let n=i.querySelector(".is-tooltip");if(!n){let t='<div class="is-tooltip"></div>';lf.appendHtml(i,t),n=i.querySelector(".is-tooltip")}this.tooltip=n}setAll(t){let e;e=t||this.builderStuff;let i=e.querySelectorAll("[data-title]");Array.prototype.forEach.call(i,(t=>{this.set(t,0,0)}))}set(t,e,i){e||(e=0),i||(i=0);let n=this.tooltip;t.addEventListener("mouseover",(function(o){var r=o.relatedTarget;if(this===r||cf(this,r))return;t=this;let s=window.getComputedStyle(t.parentNode).getPropertyValue("flex-direction"),a=t.getAttribute("data-title");n.innerHTML=a;const l=t.getBoundingClientRect().top+window.pageYOffset,d=t.getBoundingClientRect().left+window.pageXOffset;n.style.display="flex",n.style.whiteSpace="nowrap";const c=t.offsetWidth,u=t.offsetHeight;n.style.marginRight="";const p=window.innerWidth;if(n.style.top=l+u+5+e+"px",u<30&&(n.style.top=l+u+2+e+"px"),"column"===s)n.style.top=l+u/2-n.offsetHeight/2+e+"px",n.style.left=d+c+3+i+"px",p-(d+c)<100&&(n.style.left=d-n.offsetWidth-3+i+"px");else{let t=d+c/2-n.offsetWidth/2+i;n.style.left=t+"px";let e=t+n.offsetWidth;if(e>p){let i=e-p;n.style.left=t-i-3+"px",n.offsetHeight>25&&(n.style.marginRight="5px")}t<0&&(n.style.left="3px")}t.hasAttribute("data-tooltip-top")&&(n.style.top=l-n.offsetHeight-3+"px"),t.removeAttribute("title")}),!1),t.addEventListener("mouseout",(function(e){var i=e.relatedTarget;this===i||cf(this,i)||((t=this).setAttribute("title",t.getAttribute("data-title")),n.style.display="none")}),!1),t.addEventListener("click",(function(e){var i=e.relatedTarget;this===i||cf(this,i)||((t=this).setAttribute("title",t.getAttribute("data-title")),n.style.display="none")}),!1)}}function cf(t,e){if(t===e)return!1;for(;e&&e!==t;)e=e.parentNode;return e===t}const uf=new e;class pf{constructor(e){this.builder=e;const i=new t(e);let n=document.querySelector("#_cbhtml");n||(n=uf.createElement("div"),n.id="_cbhtml",n.className="is-ui",uf.appendChild(document.body,n)),this.builderStuff=n;let o=this.builderStuff.querySelector("#_lightbox");if(!o){o=uf.createElement("div"),o.id="_cbhtml",o.className="is-ui",uf.appendChild(this.builderStuff,o),o.innerHTML=`\n <div class="is-lightbox lightbox-externalvideo">\n <button class="cmd-lightbox-close" title="${i.out("Close")}" type="button" style="flex:none;position:absolute;top:0;right:0;background:none;">\n <svg><use xlink:href="#icon-close"></use></svg>\n </button>\n <div class="lightbox-content" style="width:100%;">\n <div class="embed-responsive embed-responsive-16by9" style="width:100%;">\n <iframe width="560" height="315" src="about:blank" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>\n </div>\n </div>\n </div>\n <div class="is-lightbox lightbox-video light">\n <button class="cmd-lightbox-close" title="${i.out("Close")}" type="button" style="flex:none;position:absolute;top:0;right:0;background:none;">\n <svg><use xlink:href="#icon-close"></use></svg>\n </button>\n <div class="lightbox-content" style="width:100%;"></div>\n </div>\n <div class="is-lightbox lightbox-image light">\n <button class="cmd-lightbox-close" title="${i.out("Close")}" type="button" style="flex:none;position:absolute;top:0;right:0;background:none;">\n <svg><use xlink:href="#icon-close"></use></svg>\n </button>\n <div class="lightbox-content" style="width:100%;"></div>\n </div>\n <svg width="0" height="0" style="position:absolute;display:none;">\n <defs>\n <symbol viewBox="0 0 24 24" id="icon-close" stroke-width="0.7" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">\n <path stroke="none" d="M0 0h24v24H0z" fill="none"></path><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line>\n </symbol>\n </defs>\n </svg>\n `;this.builderStuff.querySelectorAll("div.is-lightbox").forEach((t=>{t.addEventListener("click",(e=>{if(uf.parentsHasClass(e.target,"lightbox-content"))return;uf.removeClass(t,"active");t.querySelector(".cmd-lightbox-close").style.opacity=0,document.body.style.overflowY="",setTimeout((()=>{let e=t.querySelector("iframe");e&&e.setAttribute("src","about:blank"),t.style.display="",this.builder.preserveSelection=!1}),300)}))}))}}openImage(t,e,i){this.builder.preserveSelection=!0;let n=this.builderStuff.querySelector("div.is-lightbox.lightbox-image");window.frameElement&&!n&&(n=parent.document.querySelector(".is-lightbox.lightbox-image"));const o=n.querySelector(".cmd-lightbox-close");o.style.opacity=0,i&&(n.style.backgroundColor=i);n.querySelector(".lightbox-content").innerHTML="<img src="+t+">","light"===e?(uf.addClass(n,"light"),uf.removeClass(n,"dark")):(uf.addClass(n,"dark"),uf.removeClass(n,"light")),n.style.display="flex",window.frameElement||(document.body.style.overflowY="hidden"),setTimeout((()=>{uf.addClass(n,"active"),setTimeout((()=>{o.style.opacity=1}),450)}),10)}openVideo(t,e,i){this.builder.preserveSelection=!0;let n=document.querySelector(".is-lightbox.lightbox-video");window.frameElement&&!n&&(n=parent.document.querySelector(".is-lightbox.lightbox-video"));const o=n.querySelector(".cmd-lightbox-close");o.style.opacity=0,i&&(n.style.backgroundColor=i);n.querySelector(".lightbox-content").innerHTML='<video class="is-video-bg" playsinline controls autoplay width="100%"><source src="'+t+'" type="video/mp4"></video>',"light"===e?(uf.addClass(n,"light"),uf.removeClass(n,"dark")):(uf.addClass(n,"dark"),uf.removeClass(n,"light")),n.style.display="flex",window.frameElement||(document.body.style.overflowY="hidden"),setTimeout((()=>{uf.addClass(n,"active"),setTimeout((()=>{o.style.opacity=1}),450)}),10)}openExternalVideo(t,e,i){this.builder.preserveSelection=!0;let n=document.querySelector(".is-lightbox.lightbox-externalvideo");window.frameElement&&!n&&(n=parent.document.querySelector(".is-lightbox.lightbox-externalvideo"));const o=n.querySelector(".cmd-lightbox-close");o.style.opacity=0,i&&(n.style.backgroundColor=i),"light"===e?(uf.addClass(n,"light"),uf.removeClass(n,"dark")):(uf.addClass(n,"dark"),uf.removeClass(n,"light"));const r=n.querySelector("iframe");""!==(t=this.getIframeVideoUrl(t))&&r.setAttribute("src",t),n.style.display="flex",window.frameElement||(document.body.style.overflowY="hidden");const s=n.querySelector(".lightbox-content");s.style.width=16*s.offsetHeight/9+"px",setTimeout((()=>{uf.addClass(n,"active"),setTimeout((()=>{o.style.opacity=1}),450)}),10)}getIframeVideoUrl(t){let e=t.match(/^.*(?:https?:)?(?:\/\/)?(?:[0-9A-Z-]+\.)?(?:youtu\.be\/|youtube(?:-nocookie)?\.com\/\S*?[^\w\s-])((?!videoseries)[\w-]{11})(?=[^\w-]|$)(?![?=&+%\w.-]*(?:['"][^<>]*>|<\/a>))[?=&+%\w.-]*/),i=/^.*(vimeo\.com\/)((channels\/[A-z]+\/)|(groups\/[A-z]+\/videos\/)|(video\/))?([0-9]+)\/?/.exec(t);if((null!==e||null!==i)&&-1===t.indexOf("player.vimeo.com")&&-1===t.indexOf("youtube.com/embed/")){if(null!==e){t="https://www.youtube.com/embed/"+e[1]+"?rel=0&autoplay=1&color=white"}if(null!==i&&i.length>=7){t="https://player.vimeo.com/video/"+i[6]}}return t}}const hf=new e;class vf{constructor(){let t=document.querySelectorAll(".is-tabs a");Array.prototype.forEach.call(t,(t=>{hf.addEventListener(t,"click",(e=>{const i=t.getAttribute("data-menu");if(i)return document.querySelector("#"+i).style.display="block",e.preventDefault(),!1;if(hf.hasClass(t,"active"))return e.preventDefault(),!1;const n=t.getAttribute("data-content");if(!n)return e.preventDefault(),!1;const o=t.parentNode.getAttribute("data-group");let r=document.querySelectorAll('.is-tabs[data-group="'+o+'"] > a');Array.prototype.forEach.call(r,(t=>{hf.removeClass(t,"active")})),r=document.querySelectorAll('.is-tabs-more[data-group="'+o+'"] > a'),Array.prototype.forEach.call(r,(t=>{hf.removeClass(t,"active")})),hf.addClass(t,"active");let s=document.querySelectorAll('.is-tab-content[data-group="'+o+'"]');return Array.prototype.forEach.call(s,(t=>{t.style.display="none"})),document.querySelector("#"+n).style.display="flex",document.querySelector(".is-tabs-more").style.display="none",e.preventDefault(),!1}))})),t=document.querySelectorAll(".is-tabs-more a"),Array.prototype.forEach.call(t,(t=>{hf.addEventListener(t,"click",(e=>{if(hf.hasClass(t,"active"))return e.preventDefault(),!1;const i=t.getAttribute("data-content");if(!i)return e.preventDefault(),!1;const n=t.parentNode.getAttribute("data-group");let o=document.querySelectorAll('.is-tabs[data-group="'+n+'"] > a');Array.prototype.forEach.call(o,(t=>{hf.removeClass(t,"active")})),o=document.querySelectorAll('.is-tabs-more[data-group="'+n+'"] > a'),Array.prototype.forEach.call(o,(t=>{hf.removeClass(t,"active")})),hf.addClass(t,"active");const r=document.querySelectorAll('.is-tab-content[data-group="'+n+'"]');return Array.prototype.forEach.call(r,(t=>{t.style.display="none"})),document.querySelector("#"+i)&&(document.querySelector("#"+i).style.display="flex"),document.querySelector(".is-tabs-more")&&(document.querySelector(".is-tabs-more").style.display="none"),e.preventDefault(),!1}))}));let e=!1;document.addEventListener("mousedown",(t=>{var i=(t=t||window.event).target||t.srcElement;let n=document.querySelectorAll(".is-tabs-more");if(Array.prototype.forEach.call(n,(t=>{"block"===t.style.display&&(e=!0)})),e){let t=hf.parentsHasAttribute(i,"data-menu"),e=hf.parentsHasClass(i,"is-tabs-more");t||e||document.querySelector(".is-tabs-more")&&(document.querySelector(".is-tabs-more").style.display="none")}})),document.addEventListener("click",(t=>{var i=(t=t||window.event).target||t.srcElement;if(e){let t=hf.parentsHasAttribute(i,"data-menu"),e=hf.parentsHasClass(i,"is-tabs-more");t||e||document.querySelector(".is-tabs-more")&&(document.querySelector(".is-tabs-more").style.display="none")}}))}}const ff=new e;class gf{constructor(i={}){this.opts=Object.assign(this,{page:"",container:".container",row:"",cols:[],colequal:[],colsizes:[],imageQuality:.92,elementSelection:!0,paste:"text",snippetJSON:{snippets:[]},scriptPath:"",plugins:[],pluginPath:"contentbuilder/",disableConfig:!1,modulePath:"assets/modules/",assetPath:"assets/",fontAssetPath:"assets/fonts/",snippetData:"assets/minimalist-blocks/snippetlist.html",snippetUrl:"assets/minimalist-blocks/content.js",snippetPath:"assets/minimalist-blocks/",snippetPathReplace:[],snippetCategories:[[120,"Basic"],[118,"Article"],[101,"Headline"],[119,"Buttons"],[102,"Photos"],[103,"Profile"],[116,"Contact"],[104,"Products"],[105,"Features"],[106,"Process"],[107,"Pricing"],[108,"Skills"],[109,"Achievements"],[110,"Quotes"],[111,"Partners"],[112,"As Featured On"],[113,"Page Not Found"],[114,"Coming Soon"],[115,"Help, FAQ"]],defaultSnippetCategory:120,snippetHandle:!0,sidePanel:"right",snippetList:"#divSnippetList",onRender:function(){},onChange:function(){},largerImageHandler:"",colors:["#ff8f00","#ef6c00","#d84315","#c62828","#58362f","#37474f","#353535","#f9a825","#9e9d24","#558b2f","#ad1457","#6a1b9a","#4527a0","#616161","#00b8c9","#009666","#2e7d32","#0277bd","#1565c0","#283593","#9e9e9e"],builderMode:"",rowTool:"right",rowcolOutline:!0,columnTool:!0,outlineMode:"",toolStyle:"",outlineStyle:"",snippetAddTool:!0,elementTool:!0,elementHighlight:!0,columnHtmlEditor:!0,rowHtmlEditor:!0,htmlSyntaxHighlighting:!0,snippetOpen:!1,toolbar:"top",toolbarDisplay:"auto",snippetsSidebarDisplay:"auto",imageEmbed:!0,imageselect:"",fileselect:"",imageSelect:"",fileSelect:"",customTags:[],buttons:["bold","italic","underline","formatting","color","align","textsettings","createLink","tags","|","undo","redo","zoom","more"],buttonsMore:["icon","image","|","list","font","formatPara","|","html","preferences"],elementButtons:["left","center","right","full","undo","redo","zoom","more"],elementButtonsMore:["|","html","preferences"],lang:[],checkLang:!1,clearPreferences:!1,toolbarAddSnippetButton:!1,animateModal:!0,fontSizeClassValues:[12,14,16,18,21,24,28,32,35,38,42,46,48,50,54,60,64,68,72,76,80,84,88,92,96,100,104,108,112,116,120,124,128,132,136,140,144,148,152,156,160,164,168,172,176,180,184,188,192,196,200,204,208,212,216,220],gradientcolors:[["linear-gradient(0deg, rgb(255, 57, 25), rgb(249, 168, 37))"],["linear-gradient(0deg, rgb(255, 57, 25), rgb(255, 104, 15))"],["linear-gradient(0deg, #FF5722, #FF9800)"],["linear-gradient(0deg, #613ca2, rgb(110, 123, 217))"],["linear-gradient(0deg, rgb(65, 70, 206), rgb(236, 78, 130))"],["linear-gradient(0deg, rgb(0, 150, 102), rgb(90, 103, 197))"],["linear-gradient(30deg, rgb(249, 119, 148), rgb(98, 58, 162))"],["linear-gradient(0deg, rgb(223, 70, 137), rgb(90, 103, 197))"],["linear-gradient(0deg, rgb(40, 53, 147), rgb(90, 103, 197))"],["linear-gradient(0deg, rgb(21, 101, 192), rgb(52, 169, 239))"],["linear-gradient(0deg, rgb(32, 149, 219), rgb(139, 109, 230))"],["linear-gradient(0deg, rgb(90, 103, 197), rgb(0, 184, 201))"],["linear-gradient(0deg, rgb(0, 184, 201), rgb(253, 187, 45))"],["linear-gradient(0deg, rgb(255, 208, 100), rgb(239, 98, 159))"],["linear-gradient(0deg, rgb(0, 214, 223), rgb(130, 162, 253))"],["linear-gradient(0deg, rgb(50, 234, 251), rgb(248, 247, 126))"],["linear-gradient(0deg, rgb(141, 221, 255), rgb(255, 227, 255))"],["linear-gradient(0deg, rgb(255, 170, 170), rgb(255, 255, 200))"],["linear-gradient(0deg, rgb(239, 239, 239), rgb(252, 252, 252))"]],elementEditor:!0,customval:"",moduleConfig:[],elementAnimate:!1,framework:"",cellFormat:"",rowFormat:"",emailMode:!1,absolutePath:!1,emailSnippetCategories:[[1,"Logo"],[14,"Call to Action"],[2,"Title"],[3,"Title, Subtitle"],[4,"Info, Title"],[7,"Paragraph"],[6,"Heading"],[8,"Buttons"],[9,"Callouts"],[10,"Images + Caption"],[12,"Images"],[13,"List"],[15,"Pricing"],[16,"Quotes"],[17,"Profile"],[18,"Contact Info"],[19,"Footer"],[20,"Separator"]],defaultEmailSnippetCategory:14,undoRedoStyles:!1,autoResizeImageEmbed:!0,maxEmbedImageWidth:1600,zoom:1,useLightbox:!1,colHeight:[300,350,400,450,500,550,600,650,700]},i),window.data_basic&&(this.opts.snippetJSON=window.data_basic,""===this.opts.snippetPath&&(this.opts.snippetPath=window._snippets_path)),this.opts.snippetDisplay&&("auto"===this.opts.snippetDisplay?this.opts.snippetsSidebarDisplay="auto":this.opts.snippetsSidebarDisplay="always"),""===this.opts.scriptPath&&(this.opts.scriptPath=this.currentScriptPath()),window._txt&&(this.opts.lang=window._txt),this.settings=this.opts,""!==this.opts.imageSelect&&(this.opts.imageselect=this.opts.imageSelect),""!==this.opts.fileSelect&&(this.opts.fileselect=this.opts.fileSelect),"bootstrap"===this.opts.framework?(this.opts.row="row",this.opts.cols=["col-md-1","col-md-2","col-md-3","col-md-4","col-md-5","col-md-6","col-md-7","col-md-8","col-md-9","col-md-10","col-md-11","col-md-12"],this.opts.colequal=[],this.opts.colsizes=[]):"foundation"===this.opts.framework?(this.opts.row="row",this.opts.cols=["large-1 columns","large-2 columns","large-3 columns","large-4 columns","large-5 columns","large-6 columns","large-7 columns","large-8 columns","large-9 columns","large-10 columns","large-11 columns","large-12 columns"],this.opts.colequal=[],this.opts.colsizes=[]):"material"===this.opts.framework?(this.opts.row="mdl-grid",this.opts.cols=["mdl-cell mdl-cell--1-col","mdl-cell mdl-cell--2-col","mdl-cell mdl-cell--3-col","mdl-cell mdl-cell--4-col","mdl-cell mdl-cell--5-col","mdl-cell mdl-cell--6-col","mdl-cell mdl-cell--7-col","mdl-cell mdl-cell--8-col","mdl-cell mdl-cell--9-col","mdl-cell mdl-cell--10-col","mdl-cell mdl-cell--11-col","mdl-cell mdl-cell--12-col"],this.opts.colequal=[],this.opts.colsizes=[]):"uikit"===this.opts.framework?(this.opts.row="",this.opts.cols=[],this.opts.colequal=[],this.opts.colsizes=[],this.opts.cellFormat='<div class="uk-width-1-1"></div>',this.opts.rowFormat='<div class="uk-grid"></div>'):""!==this.opts.row&&this.opts.cols.length>0||""===this.opts.cellFormat&&""===this.opts.rowFormat&&(this.opts.row="row clearfix",this.opts.cols=["column sixth","column fifth","column fourth","column third","column half","column two-third","column two-fourth","column two-fifth","column two-sixth","column full"],this.opts.colequal=[["column fifth","column fifth","column fifth","column fifth","column fifth"],["column fourth","column fourth","column fourth","column fourth"],["column third","column third","column third"],["column half","column half"]],this.opts.colsizes=[[["column third","column third","column third"],["column half","column fourth","column fourth"]],[["column sixth","column two-sixth"],["column fifth","column two-fifth"],["column fourth","column two-fourth"],["column third","column two-third"],["column half","column half"],["column two-third","column third"],["column two-fourth","column fourth"],["column two-fifth","column fifth"],["column two-sixth","column sixth"]]]),this.sortableObjects=[];const n=new t(this);this.util=n,this.cbDom=new e,this.isTouchSupport=n.isTouchSupport(),this.isIE=n.detectIE(),this.opts.clearPreferences&&n.clearPreferences(),this.uoTm=null,this.uo=new Ve(this),this.dom=ff,this.autoclean=!1,this.filesAdded="",this.opts.emailMode&&this.applyStyle("emailmode",".is-builder > div {display: block}");let o=document.querySelector("#_cbhtml");o||(o=ff.createElement("div"),o.id="_cbhtml",o.className="is-ui",ff.appendChild(document.body,o)),this.builderStuff=o,Qe(),this.preferences=new nf(this),(e=>{const i=new t(e),n=new ni(e),o=new Xe(e);let r="";e.opts.rowHtmlEditor&&(r=`<button title="${i.out("HTML")}" class="row-html">\n <svg class="is-icon-flex" style="margin-right:-3px;width:12px;height:12px;"><use xlink:href="#ion-ios-arrow-left"></use></svg><svg class="is-icon-flex" style="margin-left:-2px;width:12px;height:12px;"><use xlink:href="#ion-ios-arrow-right"></use></svg>\n </button>`);let s="";e.opts.columnHtmlEditor&&(s=`<button title="${i.out("HTML")}" class="cell-html">\n <svg class="is-icon-flex" style="margin-right:-3px;width:12px;height:12px;"><use xlink:href="#ion-ios-arrow-left"></use></svg><svg class="is-icon-flex" style="margin-left:-2px;width:12px;height:12px;"><use xlink:href="#ion-ios-arrow-right"></use></svg>\n </button>`);const a=`<div class="is-modal is-modal-content grideditor">\n <div class="is-modal-bar is-draggable">\n <div class="is-modal-close" role="button" tabindex="0" title="${i.out("Close")}">✕</div>\n </div>\n <div style="padding:30px 0 5px 18px;font-size:10px;text-transform:uppercase;letter-spacing:1px;">${i.out("Row")}</div>\n <div style="display:flex;flex-flow:wrap;">\n <button title="${i.out("Add")}" class="row-add"><svg class="is-icon-flex" style="width:19px;height:19px;"><use xlink:href="#ion-ios-plus-empty"></use></svg></button>\n <button title="${i.out("Duplicate")}" class="row-duplicate" style="display: block;"><svg class="is-icon-flex" style="width:12px;height:12px;"><use xlink:href="#ion-ios-photos-outline"></use></svg></button>\n <button title="${i.out("Move Up")}" class="row-up" style="display: block;"><svg class="is-icon-flex" style="width:15px;height:15px;"><use xlink:href="#ion-ios-arrow-thin-up"></use></svg></button>\n <button title="${i.out("Move Down")}" class="row-down" style="display: block;"><svg class="is-icon-flex" style="width:15px;height:15px;"><use xlink:href="#ion-ios-arrow-thin-down"></use></svg></button>\n ${r}\n <button title="${i.out("Delete")}" class="row-remove"><svg class="is-icon-flex" style="width:20px;height:20px;"><use xlink:href="#ion-ios-close-empty"></use></svg></button>\n </div>\n <div style="padding:8px 0 5px 18px;font-size:11px;text-transform:uppercase;letter-spacing:1px;">${i.out("Column")}</div>\n <div style="display:flex;flex-flow:wrap;">\n <button title="${i.out("Add")}" class="cell-add"><svg class="is-icon-flex" style="width:19px;height:19px;"><use xlink:href="#ion-ios-plus-empty"></use></svg></button>\n <button title="${i.out("Duplicate")}" class="cell-duplicate"><svg class="is-icon-flex" style="width:12px;height:12px;"><use xlink:href="#ion-ios-photos-outline"></use></svg></button>\n <button title="${i.out("Move Up")}" class="cell-up"><svg class="is-icon-flex" style="width:15px;height:15px;"><use xlink:href="#ion-ios-arrow-thin-up"></use></svg></button>\n <button title="${i.out("Move Down")}" class="cell-down"><svg class="is-icon-flex" style="width:15px;height:15px;"><use xlink:href="#ion-ios-arrow-thin-down"></use></svg></button>\n <button title="${i.out("Move Left")}" class="cell-prev"><svg class="is-icon-flex" style="width:15px;height:15px;"><use xlink:href="#ion-ios-arrow-thin-left"></use></svg></button>\n <button title="${i.out("Move Right")}" class="cell-next"><svg class="is-icon-flex" style="width:15px;height:15px;"><use xlink:href="#ion-ios-arrow-thin-right"></use></svg></button>\n <button title="${i.out("Increase")}" class="cell-increase"><svg class="is-icon-flex" style="width:13px;height:13px;"><use xlink:href="#icon-increase"></use></svg></button>\n <button title="${i.out("Decrease")}" class="cell-decrease"><svg class="is-icon-flex" style="width:13px;height:13px;"><use xlink:href="#icon-decrease"></use></svg></button>\n ${s}\n <button title="${i.out("Delete")}" class="cell-remove"><svg class="is-icon-flex" style="width:20px;height:20px;"><use xlink:href="#ion-ios-close-empty"></use></svg></button>\n <div class="is-separator">\n <button title="${i.out("Outline")}" class="grid-outline"><svg class="is-icon-flex" style="width:12px;height:12px;"><use xlink:href="#ion-ios-grid-view-outline"></use></svg></button>\n \x3c!--<button title="${i.out("Element Tool")}" class="cell-elmtool"><svg class="is-icon-flex" style="width:12px;height:12px;"><use xlink:href="#ion-ios-gear"></use></svg></button>--\x3e\n </div>\n </div>\n </div>`,l=i.builderStuff();fi.appendHtml(l,a),new vi({selector:".is-draggable"});const d=document.querySelector(".grideditor");document.addEventListener("click",(t=>{var e=(t=t||window.event).target||t.srcElement;if(fi.hasClass(d,"active")){let t=fi.parentsHasClass(e,"is-builder"),i=fi.parentsHasClass(e,"grideditor"),n=fi.parentsHasClass(e,"is-modal"),o=fi.parentsHasClass(e,"is-pop"),r=fi.parentsHasClass(e,"rte-grideditor")||fi.hasClass(e,"rte-grideditor");if(t||i||n||o||r)return void(d.style.display="");d.style.display="none"}}),!1);let c=d.querySelector(".is-modal-close");fi.addEventListener(c,"click",(()=>{fi.removeClass(d,"active");const t=document.querySelectorAll(e.opts.container);Array.prototype.forEach.call(t,(t=>{t.removeAttribute("grideditor")}))})),c=d.querySelector(".grid-outline"),fi.addEventListener(c,"click",(()=>{const t=document.querySelectorAll(e.opts.container);Array.prototype.forEach.call(t,(t=>{t.hasAttribute("gridoutline")?t.removeAttribute("gridoutline"):t.setAttribute("gridoutline","")}))}));const u=ei(e);c=d.querySelector(".cell-add"),fi.addEventListener(c,"click",(()=>{u.querySelector(".is-pop-tabs").style.display="flex";const t=d.querySelector(".cell-add"),e=t.getBoundingClientRect().top+window.pageYOffset,i=t.getBoundingClientRect().left+window.pageXOffset;u.style.display="flex";const n=u.offsetWidth;u.style.top=e+"px",u.style.left=i-n-8+"px",fi.removeClass(u,"arrow-bottom"),fi.removeClass(u,"arrow-left"),fi.removeClass(u,"arrow-top"),fi.removeClass(u,"center"),fi.removeClass(u,"left"),fi.addClass(u,"arrow-right"),fi.addClass(u,"right"),"left"===u.querySelector(".active").getAttribute("data-value")?u.setAttribute("data-mode","cell-left"):u.setAttribute("data-mode","cell-right")})),c=d.querySelector(".cell-prev"),fi.addEventListener(c,"click",(()=>{n.moveColumnPrevious(),i.clearControls()})),c=d.querySelector(".cell-next"),fi.addEventListener(c,"click",(()=>{n.moveColumnNext(),i.clearControls()})),c=d.querySelector(".cell-increase"),fi.addEventListener(c,"click",(()=>{n.increaseColumn(),i.clearControls()})),c=d.querySelector(".cell-decrease"),fi.addEventListener(c,"click",(()=>{n.decreaseColumn(),i.clearControls()})),c=d.querySelector(".cell-up"),fi.addEventListener(c,"click",(()=>{n.moveColumnUp(),i.clearControls()})),c=d.querySelector(".cell-down"),fi.addEventListener(c,"click",(()=>{n.moveColumnDown(),i.clearControls()})),c=d.querySelector(".cell-duplicate"),fi.addEventListener(c,"click",(()=>{n.duplicateColumn(),i.clearControls()})),c=d.querySelector(".cell-remove"),fi.addEventListener(c,"click",(()=>{n.removeColumn(),i.clearControls()})),c=d.querySelector(".cell-html"),c&&fi.addEventListener(c,"click",(()=>{i.cellSelected()&&o.view("cell")})),c=d.querySelector(".row-add"),fi.addEventListener(c,"click",(()=>{u.querySelector(".is-pop-tabs").style.display="none";const t=d.querySelector(".row-add"),e=t.getBoundingClientRect().top+window.pageYOffset,i=t.getBoundingClientRect().left+window.pageXOffset;u.style.display="flex";const n=u.offsetWidth;u.style.top=e+"px",u.style.left=i-n-8+"px",fi.removeClass(u,"arrow-bottom"),fi.removeClass(u,"arrow-left"),fi.removeClass(u,"arrow-top"),fi.removeClass(u,"center"),fi.removeClass(u,"left"),fi.addClass(u,"arrow-right"),fi.addClass(u,"right"),u.setAttribute("data-mode","row")})),c=d.querySelector(".row-up"),fi.addEventListener(c,"click",(()=>{n.moveRowUp(),i.clearControls()})),c=d.querySelector(".row-down"),fi.addEventListener(c,"click",(()=>{n.moveRowDown(),i.clearControls()})),c=d.querySelector(".row-duplicate"),fi.addEventListener(c,"click",(()=>{n.duplicateRow(),i.clearControls()})),c=d.querySelector(".row-remove"),fi.addEventListener(c,"click",(()=>{n.removeRow(),i.clearControls()})),c=d.querySelector(".row-html"),c&&fi.addEventListener(c,"click",(()=>{i.cellSelected()&&o.view("row")}))})(this),this.opts.snippetJSON.snippets.length>0&&So(this),this.colTool=new kv(this);var r=this.opts.onChange;if(this.opts.onChange=function(){var t=r.apply(this,arguments);return this.activeCol&&this.colTool.refreshColumnTool(this.activeCol),this.elmTool.repositionElementTool(!0),t},this.elmTool=new tf(this),this.element=new Qh(this),this.rte=new rf(this),this.tooltip=new df(this),this.lightbox=new pf(this),this.applyBehavior(),this.opts.plugins.length>0)this.loadPlugins();else if(void 0===this.opts.scriptPath&&""===this.opts.pluginPath);else if(!this.opts.disableConfig){let t=this.opts.scriptPath+"config.js";""!==this.opts.pluginPath&&(t=this.opts.pluginPath+"config.js"),this.loadScript(t).then((()=>{this.opts.plugins.length>0&&this.loadPlugins()}),(()=>{console.log("Fail to load config")}))}new vf,this.colorPicker=new sv({lang:this.opts.lang,colors:this.opts.colors}),document.addEventListener("click",this.doDocumentClick=t=>{var e=(t=t||window.event).target||t.srcElement;let i=ff.hasClass(e.parentNode,"is-builder"),o=ff.hasClass(e,"is-builder"),r=!1,s=!1,a=!1,l=!1,d=!1,c=!1,u=!1,p=!1,h=!1,v=!1,f=!1,g=!1,m=!1,b=!1,y=e;for(;y&&y.tagName&&"BODY"!==y.tagName&&"HTML"!==y.tagName;){if(ff.hasClass(y,"is-builder")&&(r=!0),ff.hasClass(y,"is-modal")&&(s=!0),ff.hasClass(y,"is-side")&&(a=!0),ff.hasClass(y,"is-pop")&&(l=!0),ff.hasClass(y,"is-tool")&&(d=!0),(ff.hasClass(y,"is-rte-tool")||ff.hasClass(y,"is-elementrte-tool"))&&(c=!0),ff.hasClass(y,"is-rte-pop")&&(u=!0),ff.hasClass(y,"row-add-initial")&&(p=!0),(ff.hasClass(y,"sl-wrapper")||ff.hasClass(y,"sl-overlay")||ff.hasClass(y,"sl-close"))&&(h=!0),(ff.hasClass(y,"is-selectbox")||ff.hasClass(y,"is-selectbox-options"))&&(v=!0),this.opts.specialElementClasses)for(let t=0;t<this.opts.specialElementClasses.length;t++)ff.hasClass(y,this.opts.specialElementClasses[t])&&(b=!0);"divImageTool"===y.id&&(f=!0),"divImageResizer"===y.id&&(g=!0),this.preserveSelection&&(m=!0),y=y.parentNode}if(!v){let t=document.querySelectorAll(".is-selectbox-options");Array.prototype.forEach.call(t,(t=>{t.style.display="none"}))}let x=!1,_=document.querySelector("#divImageResizer");if(_&&"1"===_.getAttribute("data-resized")&&(x=!0),!x){if(!(s||h||f||g||"img"===e.tagName.toLowerCase())){document.querySelector("#divImageTool").style.display="",this.activeImage=null;let t=document.querySelector("#divImageResizer");t.style.display="none",t.style.top="-10px",t.style.left="-10px",t.style.width="1px",t.style.height="1px",this.moveable.updateRect(),document.querySelector(".moveable-control-box").style.display="none"}if((!(r||s||a||l||d||c||u||p||h||m||b)||i&&!p||o)&&(ff.getSelected()||(n.clearActiveCell(),n.clearControls())),!l&&!ff.parentsHasId(e,"_cbhtml")){const t=document.querySelectorAll(".is-pop");Array.prototype.forEach.call(t,(t=>{ff.parentsHasId(t,"_cbhtml")||(t.style.display="")}))}}}),document.addEventListener("mousedown",this.doDocumentMousedown=t=>{var e=(t=t||window.event).target||t.srcElement;ff.parentsHasClass(e,"row-handle")&&n.clearControls()}),document.addEventListener("keydown",this.doDocumentKeydown=t=>{90===t.which&&(t.ctrlKey||t.metaKey)&&(t.shiftKey?this.uo.doRedo():t.altKey||this.uo.doUndo()),89===t.which&&t.ctrlKey&&(t.altKey||this.uo.doRedo())}),document.body.addEventListener("mscontrolselect",(function(t){t.preventDefault()})),window._cb=this,window.applyLargerImage=this.applyLargerImage,window.selectFile=this.selectFile.bind(this),window.selectImage=this.selectImage.bind(this),window.imageLoaded=this.imageLoaded.bind(this)}static run(t={}){return new gf(t)}setZoom(){if(""!==this.opts.page){document.querySelector(this.opts.page).style.transform=`scale(${this.opts.zoom})`}else{document.querySelectorAll(this.opts.container).forEach((t=>{let e=!1;t.style.transform||(e=!0),e&&(t.style.transition="none"),t.style.transform=`scale(${this.opts.zoom})`,e&&setTimeout((()=>{t.style.transition=""}),300)}))}document.querySelectorAll(".is-row-tool").forEach((t=>{t.style.transform=`scale(${1/this.opts.zoom})`,t.style.transformOrigin="top"}));document.querySelectorAll(".is-rowadd-tool button").forEach((t=>{t.style.transform=`scale(${1/this.opts.zoom})`}))}applyBehavior(){const t=this.util,e=document.querySelectorAll(this.opts.container);Array.prototype.forEach.call(e,(e=>{if(this.opts.absolutePath){let t=e.querySelectorAll("a");Array.prototype.forEach.call(t,(t=>{let e=t.href;t.setAttribute("href",e)}));let i=e.querySelectorAll("img");Array.prototype.forEach.call(i,(t=>{let e=t.src;t.setAttribute("src",e)}))}if(ff.addClass(e,"is-builder"),null!==localStorage.getItem("_toolstyle")){let t=localStorage.getItem("_toolstyle");this.preferences.setToolStyle(t)}if(null!==localStorage.getItem("_outlinestyle")){let t=localStorage.getItem("_outlinestyle");this.preferences.setOutlineStyle(t)}if(ff.elementChildren(e).forEach((t=>{if(ff.hasClass(t,"row-add-initial"))return;(t.style.marginLeft||t.style.marginRight)&&(t.style.border="none"),this.rowtool=new tv(this),this.rowtool.render(t);new iv(this).render(t);ff.elementChildren(t).forEach((t=>{if(ff.hasClass(t,"is-row-tool")||ff.hasClass(t,"is-rowadd-tool"))return;"readonly"===t.getAttribute("data-mode")&&(t.setAttribute("data-noedit",""),t.removeAttribute("data-mode")),"readonly-protected"===t.getAttribute("data-mode")&&(t.setAttribute("data-protected",""),t.removeAttribute("data-mode"));let e=!1;t.hasAttribute("data-noedit")&&(e=!0);let i=!1;t.hasAttribute("data-protected")&&(i=!0);let n=!1;if(t.hasAttribute("data-html")&&(n=!0),!n&&!e&&!i){t.querySelectorAll("p,h1,h2,h3,h4,h5,h6,table,ul,ol,pre,blockquote,code,figcaption,label,legend,button,a").length>0&&(t.contentEditable=!0)}this.element.applyBehavior(t),t.getAttribute("data-click")||(t.addEventListener("click",this.handleCellClick.bind(this,t)),t.addEventListener("keydown",this.handleCellKeypress.bind(this)),t.addEventListener("keydown",this.handleCellKeydown.bind(this,t)),t.addEventListener("keyup",this.handleCellKeyup.bind(this,t)),t.addEventListener("paste",this.handleCellPaste.bind(this)),t.setAttribute("data-click",!0))}))})),!e.getAttribute("data-sort")&&!e.hasAttribute("nogrid")){let i=new to(e,{scroll:!0,group:"shared",direction:"dummy",animation:300,handle:".row-handle",sort:!0,onStart:()=>{this.uo.saveForUndo(),this.colTool.hideColumnTool(),this.elmTool.hide()},onEnd:()=>{this.opts.emailMode||ff.hasClass(this.activeCol.parentNode,"row-outline")&&(this.colTool.refreshColumnTool(this.activeCol),this.colTool.showColumnTool(this.activeCol))},onAdd:e=>{var i=e.item;if(i.getAttribute("data-id")){let e=i.getAttribute("data-id");const h=this.opts.snippetJSON.snippets.filter((t=>t.id+""===e&&t));var n,o=h[0].html,r=h[0].noedit;n=-1===o.indexOf("row clearfix"),this.opts.emailMode&&(n=!1);var s=this.opts.row,a=this.opts.cols;if(""!==s&&12===a.length&&(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=o.replace(new RegExp("row clearfix","g"),s)).replace(new RegExp("column full","g"),a[11])).replace(new RegExp("column half","g"),a[5])).replace(new RegExp("column third","g"),a[3])).replace(new RegExp("column fourth","g"),a[2])).replace(new RegExp("column fifth","g"),a[1])).replace(new RegExp("column sixth","g"),a[1])).replace(new RegExp("column two-third","g"),a[7])).replace(new RegExp("column two-fourth","g"),a[8])).replace(new RegExp("column two-fifth","g"),a[9])).replace(new RegExp("column two-sixth","g"),a[9])),o=o.replace(/{id}/g,t.makeId()),this.opts.onAdd&&(o=this.opts.onAdd(o)),this.opts.snippetPathReplace.length>0&&""!==this.opts.snippetPathReplace[0]){var l=new RegExp(this.opts.snippetPathReplace[0],"g");o=o.replace(l,this.opts.snippetPathReplace[1]);var d=this.opts.snippetPathReplace[0].replace(/\//g,"%2F"),c=this.opts.snippetPathReplace[1].replace(/\//g,"%2F"),u=new RegExp(d,"g");o=o.replace(u,c)}if(n)o=`<div class="${this.opts.row}"><div class="${this.opts.cols[this.opts.cols.length-1]}"${r?" data-noedit":""}>${o}</div></div>`,i.removeAttribute("draggable"),ff.removeClass(i,"snippet-item"),i.outerHTML=o;else{let e=ff.createElement("div");e.innerHTML=o;let n=e.querySelectorAll("[data-html]");Array.prototype.forEach.call(n,(e=>{o=(o=decodeURIComponent(e.getAttribute("data-html"))).replace(/{id}/g,t.makeId());for(var i=1;i<=20;i++)o=o.replace("[%HTML"+i+"%]",void 0===e.getAttribute("data-html-"+i)?"":decodeURIComponent(e.getAttribute("data-html-"+i)));e.innerHTML=o})),o=e.innerHTML,i.removeAttribute("draggable"),ff.removeClass(i,"snippet-item"),i.innerHTML="";var p=document.createRange();p.setStart(i,0),i.appendChild(p.createContextualFragment(o)),i.outerHTML=i.innerHTML}this.applyBehavior(),this.opts.onChange(),this.elmTool.hide()}}});this.sortableObjects.push(i),e.setAttribute("data-sort",!0)}}));const i=document.querySelectorAll(".is-subblock");Array.prototype.forEach.call(i,(t=>{t.contentEditable=!0})),t.checkEmpty(),this.opts.onRender(),null!==localStorage.getItem("_zoom")&&(this.opts.zoom=localStorage.getItem("_zoom")),this.rte.rteZoomSlider.value=100*this.opts.zoom,this.setZoom()}html(t){const e=this.util,i=new Xe(this);if(t);else{const i=document.querySelectorAll(this.opts.container);if(i.length>1){const n=e.cellSelected();t=n?n.parentNode.parentNode:i[0]}else t=i[0];if(""!==this.opts.page){const e=document.querySelector(this.opts.page);e&&(t=e)}}return i.readHtml(t)}viewHtmlNormal(){new Xe(this).viewHtmlNormal()}viewHtmlLarger(){new Xe(this).viewHtmlLarger()}readHtml(t,e,i){return new Xe(this).readHtml(t,e,i)}fromViewToActual(t){return new Xe(this).fromViewToActual(t)}colorpicker(t,e){return new sv({onPick:t,color:e,colors:this.opts.colors,animateModal:this.opts.animateModal,elementToAnimate:this.opts.container,lang:this.opts.lang})}gradientpicker(){return new yv({gradientcolors:this.opts.gradientcolors,colors:this.opts.colors,animateModal:this.opts.animateModal,elementToAnimate:this.opts.container,lang:this.opts.lang})}dropdown(t,e){new mi(t,e)}destroy(){if(document.removeEventListener("click",this.doDocumentClick,!1),document.removeEventListener("keydown",this.doDocumentKeydown,!1),document.removeEventListener("mousedown",this.doDocumentMousedown,!1),this.util.clearControls(),!this.util.builderStuff())return;const t=new Xe(this),e=document.querySelectorAll(this.opts.container);if(Array.prototype.forEach.call(e,(e=>{e.innerHTML=t.readHtml(e,!0)})),Array.prototype.forEach.call(e,(t=>{t.removeAttribute("data-sort"),ff.removeClass(t,"is-builder")})),Array.prototype.forEach.call(this.sortableObjects,(t=>{try{t.destroy()}catch(t){}})),this.moveable.destroy(),this.builderStuff.parentNode.removeChild(this.builderStuff),this.builderStuff=null,""!==this.opts.page){document.querySelector(this.opts.page).style.transform=""}else{document.querySelectorAll(this.opts.container).forEach((t=>{t.style.transform=""}))}}saveImages(t,e,i){new af({page:this.opts.page,container:this.opts.container,customval:this.opts.customval,handler:t,onComplete:e,onBase64Upload:i||null}).save()}clearFont(){this.rte.clearFont()}applyFont(t,e,i){this.rte.applyFont(t,e,i)}setFont(t,e,i,n){this.rte.setFont(t,e,i,n)}addIcon(t){this.rte.addIcon(t)}applyLargerImage(t){let e=document.querySelectorAll(".form-upload-larger");Array.prototype.forEach.call(e,(e=>{ff.hasClass(e,"please-wait")&&(ff.removeClass(e,"please-wait"),e.parentNode.parentNode.querySelector('input[type="text"]').value=t,e.parentNode.parentNode.querySelector('input[type="file"]').value="")}))}selectFile(t){let e=document.querySelector(".is-modal.fileselect"),i=document.querySelector(".is-modal.createlink .input-url");i.value=t,i.focus(),ff.removeClass(e,"active")}selectImage(t){let e,i,n=document.querySelector(".is-modal.imageselect");if(ff.hasClass(document.querySelector(".is-modal.imagelink"),"active")){let t=n.getAttribute("data-target");e=document.querySelector(".is-modal.imagelink").querySelector(t)}ff.hasClass(document.querySelector(".is-modal.insertimage"),"active")&&(e=document.querySelector(".is-modal.insertimage .input-src")),"columnsettings-bg"===this.selectFileTarget&&(e=document.querySelector(".is-modal.imagesource .input-src")),"columnsettings-click"===this.selectFileTarget&&(e=document.querySelector(".is-modal.columnsettings .input-src"),i=()=>{this.colTool.applyClick()}),this.selectFileTarget="",e.value=t,e.focus(),i&&i(),ff.removeClass(n,"active")}LightenDarkenColor(t,e){return this.util.LightenDarkenColor(t,e)}pickColor(t,e){new sv({colors:this.opts.colors,animateModal:!1,lang:this.opts.lang}).open(t,e)}addSnippet(t,e,i){this.util.addSnippet(t,e,i)}viewSnippets(){this.rte.viewSnippets()}saveForUndo(t){this.uo.saveForUndo(t)}imageLoaded(t){t.removeAttribute("onload"),this.activeCol&&this.colTool.refreshColumnTool(this.activeCol)}getActiveModule(){return document.querySelector("[data-module-active]")}getModuleSettings(){let t=document.querySelector("[data-module-active]");return decodeURIComponent(t.getAttribute("data-settings"))}setModuleHtml(t){document.querySelector("#hidContentModuleCode").value=t}setModuleSettings(t){document.querySelector("#hidContentModuleSettings").value=t}makeId(){return this.util.makeId()}setTooltip(t){this.tooltip.setAll(t)}loadPlugins(){if(!this.builderStuff)return;if(void 0===this.opts.scriptPath&&""===this.opts.pluginPath)return;if(this.numOfPlugins=0,"string"==typeof this.opts.plugins[0])return void this.loadPluginsOldWay();const t=this.builderStuff.querySelector(".is-rte-tool"),e=this.builderStuff.querySelector(".rte-more-options"),i=this.builderStuff.querySelector(".is-elementrte-tool"),n=this.builderStuff.querySelector(".elementrte-more-options");let o;for(o=this.opts.plugins.length-1;o>=0;o--){const r=this.opts.plugins[o].name,s=this.opts.plugins[o].showInMainToolbar,a=this.opts.plugins[o].showInElementToolbar;let l=!1;(t.querySelector('[data-plugin="'+r+'"]')||e.querySelector('[data-plugin="'+r+'"]'))&&(l=!0);let d=!1;(i.querySelector('[data-plugin="'+r+'"]')||n.querySelector('[data-plugin="'+r+'"]'))&&(d=!0),s&&!l&&e.querySelector("div").insertAdjacentHTML("afterbegin",'<button style="width:46px;" title="button not found" data-plugin="'+r+'"></button>'),a&&!d&&n.querySelector("div").insertAdjacentHTML("afterbegin",'<button style="width:46px;" title="button not found" data-plugin="'+r+'"></button>')}for(o=0;o<this.opts.plugins.length;o++){const t=this.opts.plugins[o].name;let e=this.opts.scriptPath+"plugins/"+t+"/plugin.js";""!==this.opts.pluginPath&&(e=this.opts.pluginPath+"plugins/"+t+"/plugin.js"),this.loadScript(e).then((()=>{this.numOfPlugins++,this.numOfPlugins===this.opts.plugins.length&&(this.opts.onPluginsLoaded&&this.opts.onPluginsLoaded(),this.tooltip.setAll(),new vi({selector:".is-draggable"}))}))}}loadPluginsOldWay(){const t=this.builderStuff.querySelector(".is-rte-tool"),e=this.builderStuff.querySelector(".rte-more-options"),i=this.builderStuff.querySelector(".is-elementrte-tool"),n=this.builderStuff.querySelector(".elementrte-more-options");let o;for(o=this.opts.plugins.length-1;o>=0;o--){const r=this.opts.plugins[o];let s=!1;(t.querySelector('[data-plugin="'+r+'"]')||e.querySelector('[data-plugin="'+r+'"]'))&&(s=!0);let a=!1;(i.querySelector('[data-plugin="'+r+'"]')||n.querySelector('[data-plugin="'+r+'"]'))&&(a=!0),s||e.querySelector("div").insertAdjacentHTML("afterbegin",'<button style="width:46px;" title="button not found" data-plugin="'+this.opts.plugins[o]+'"></button>'),a||n.querySelector("div").insertAdjacentHTML("afterbegin",'<button style="width:46px;" title="button not found" data-plugin="'+this.opts.plugins[o]+'"></button>')}for(o=0;o<this.opts.plugins.length;o++){let t=this.opts.scriptPath+"plugins/"+this.opts.plugins[o]+"/plugin.js";""!==this.opts.pluginPath&&(t=this.opts.pluginPath+"plugins/"+this.opts.plugins[o]+"/plugin.js"),this.loadScript(t).then((()=>{if(this.numOfPlugins++,this.numOfPlugins===this.opts.plugins.length){let t=e.querySelectorAll("[data-plugin]");Array.prototype.forEach.call(t,(t=>{t.outerHTML=""})),t=n.querySelectorAll("[data-plugin]"),Array.prototype.forEach.call(t,(t=>{t.outerHTML=""})),this.opts.onPluginsLoaded&&this.opts.onPluginsLoaded(),this.tooltip.setAll(),new vi({selector:".is-draggable"})}}))}}addHtml(t){ff.appendHtml(this.builderStuff,t)}addCss(t){ff.appendHtml(document.head,t)}addButton(t,e,i,n){if(!this.builderStuff)return;const o=this.builderStuff.querySelector(".is-rte-tool"),r=this.builderStuff.querySelector(".rte-more-options");var s=!1;if(o.querySelector('[data-plugin="'+t+'"]')?o.querySelector('[data-plugin="'+t+'"]').outerHTML=e:r.querySelector('[data-plugin="'+t+'"]')&&(r.querySelector('[data-plugin="'+t+'"]').outerHTML=e,s=!0),!o.querySelector(".rte-more")&&s){o.insertAdjacentHTML("beforeend",`<button title="${this.util.out("More")}" class="rte-more"><svg class="is-icon-flex" style="width:13px;height:13px;"><use xlink:href="#ion-more"></use></svg></button>`);let t=this.rteTool.querySelector("button.rte-more");t&&ff.addEventListener(t,"click",(()=>{this.rte.showRteMore()}))}let a=o.querySelector(i);a=a||r.querySelector(i),a&&(a.setAttribute("data-title",a.getAttribute("title")),ff.addEventListener(a,"click",(t=>{n(t)})))}addButton2(t,e,i,n){if(!this.builderStuff)return;const o=this.builderStuff.querySelector(".is-elementrte-tool"),r=this.builderStuff.querySelector(".elementrte-more-options");var s=!1;if(o.querySelector('[data-plugin="'+t+'"]')?o.querySelector('[data-plugin="'+t+'"]').outerHTML=e:r.querySelector('[data-plugin="'+t+'"]')&&(r.querySelector('[data-plugin="'+t+'"]').outerHTML=e,s=!0),!o.querySelector(".rte-more")&&s){o.insertAdjacentHTML("beforeend",`<button title="${this.util.out("More")}" class="rte-more"><svg class="is-icon-flex" style="width:13px;height:13px;"><use xlink:href="#ion-more"></use></svg></button>`);let t=this.elementRteTool.querySelector("button.rte-more");t&&ff.addEventListener(t,"click",(()=>{this.rte.showElementRteMore()}))}let a=o.querySelector(i);a=a||r.querySelector(i),a&&(a.setAttribute("data-title",a.getAttribute("title")),ff.addEventListener(a,"click",(t=>{n(t)})))}showModal(t,e,i,n){this.util.showModal(t,e,i,n)}hideModal(t){this.util.hideModal(t)}showSidePanel(t){let e=this.builderStuff.querySelectorAll(".is-side");Array.prototype.forEach.call(e,(t=>{ff.removeClass(t,"active")})),ff.addClass(t,"active")}hideSidePanel(t){ff.removeClass(t,"active")}getScriptPath(){return this.opts.scriptPath}getSnippetPath(){return this.opts.snippetPath}out(t){return this.util.out(t)}undo(){this.uo.doUndo()}redo(){this.uo.doRedo()}getScope(){let t;const e=document.querySelectorAll(this.opts.container);if(e.length>1){const i=this.util.cellSelected();t=i?i.parentNode.parentNode:e[0]}else t=e[0];if(""!==this.opts.page){const e=document.querySelector(this.opts.page);e&&(t=e)}return t}pasteHtmlAtCaret(t,e){this.util.pasteHtmlAtCaret(t,e)}getScript(t,e){this.loadScript(t).then((()=>{e&&e()}),(()=>{console.log("Fail to load config")}))}getScripts(t,e){let i=0;this.loadScript(t[i]).then((()=>{i=this._helper1(i,t,e)}))}_helper1(t,e,i){if(++t<e.length){return this.loadScript(e[t]).then((()=>{t=this._helper1(t,e,i)})),t}i&&i()}includeJs(t,e){-1===this.filesAdded.indexOf("["+t+"]")?(this.getScript(t,e),this.filesAdded+="["+t+"]"):e&&e()}includeCss(t){if(-1===this.filesAdded.indexOf("["+t+"]")){var e=document.createElement("link");e.setAttribute("rel","stylesheet"),e.setAttribute("type","text/css"),e.setAttribute("href",t),document.getElementsByTagName("head")[0].appendChild(e),this.filesAdded+="["+t+"]"}}applyStyle(t,e){if(-1===this.filesAdded.indexOf("["+t+"]")){var i=document.createElement("style");i.innerHTML=e,document.getElementsByTagName("head")[0].appendChild(i),this.filesAdded+="["+t+"]"}}viewHtml(t){new Xe(this).view("full",t)}viewPreferences(){this.preferences.view()}viewConfig(){this.preferences.view()}loadSnippets(t){if(document.querySelector(this.opts.snippetList))return;if(this.isScriptAlreadyIncluded(t))return;const e=document.createElement("script");e.src=t,e.async=!0,e.onload=()=>{this.opts.snippetJSON=window.data_basic,""===this.opts.snippetPath&&(this.opts.snippetPath=window._snippets_path),this.opts.snippetJSON.snippets.length>0&&So(this)},document.body.appendChild(e)}isScriptAlreadyIncluded(t){const e=document.getElementsByTagName("script");for(let i=0;i<e.length;i++)if(e[i].getAttribute("src")===t)return!0;return!1}loadHtml(t,e){const i=this.util;if(e);else{const t=document.querySelectorAll(this.opts.container);if(t.length>1){const n=i.cellSelected();e=n?n.parentNode.parentNode:t[0]}else e=t[0];if(""!==this.opts.page){const t=document.querySelector(this.opts.page);t&&(e=t)}}let n=document.createRange();e.innerHTML="",e.appendChild(n.createContextualFragment(t)),this.applyBehavior(),this.opts.onChange(),this.opts.onRender()}loadHTML(t){this.loadHtml(t)}setUIColor(t,e){let i=document.querySelector("[data-cb-color]");if(i&&i.setAttribute("data-cb-del",""),e){var n=document.createElement("link");n.rel="stylesheet",n.href=e,n.setAttribute("data-cb-color",""),n.addEventListener("load",(()=>{i=document.querySelector("[data-cb-del]"),i&&i.parentNode.removeChild(i),"dark"===t&&(ff.removeClass(document.body,"colored"),ff.removeClass(document.body,"colored-dark"),ff.removeClass(document.body,"light"),ff.addClass(document.body,"dark")),"colored"===t&&(ff.removeClass(document.body,"dark"),ff.removeClass(document.body,"colored-dark"),ff.removeClass(document.body,"light"),ff.addClass(document.body,"colored")),"colored-dark"===t&&(ff.removeClass(document.body,"dark"),ff.removeClass(document.body,"colored"),ff.removeClass(document.body,"light"),ff.addClass(document.body,"colored-dark")),""===t&&(ff.removeClass(document.body,"dark"),ff.removeClass(document.body,"colored-dark"),ff.removeClass(document.body,"colored"),ff.removeClass(document.body,"light")),"light"===t&&(ff.removeClass(document.body,"dark"),ff.removeClass(document.body,"colored-dark"),ff.removeClass(document.body,"colored"),ff.addClass(document.body,"light"));this.util.getUIStyles(),this.setUIColorRefresh()})),document.head.appendChild(n)}else{i=document.querySelector("[data-cb-del]"),i&&i.parentNode.removeChild(i),""===t&&(ff.removeClass(document.body,"dark"),ff.removeClass(document.body,"colored-dark"),ff.removeClass(document.body,"colored"),ff.removeClass(document.body,"light"));this.util.getUIStyles(),this.setUIColorRefresh()}}setUIColorRefresh(){const t=this.util;if(!this.rte||!this.element)return void setTimeout((()=>{console.log("Not ready, delay 1!"),this.setUIColorRefresh()}),600);let e=this.rte.rteFontFamilyOptions.querySelector("iframe").contentWindow.document;let i=this.builderStuff.querySelector(".is-modal.pickfontfamily").querySelector("iframe").contentWindow.document,n=this.rte.rteIconOptions.querySelector("iframe").contentWindow.document;""===e.body.innerHTML?(e.open(),this.opts.emailMode?e.write(t.getFontFamilyEmail()):e.write(t.getFontFamilyHTML()),e.close()):this.util.refreshFontFamilyStyle1(),""===i.body.innerHTML?(i.open(),this.opts.emailMode?i.write(t.getFontFamilyEmail(!0)):i.write(t.getFontFamilyHTML(!0)),i.close()):this.util.refreshFontFamilyStyle2(),""===n.body.innerHTML?(n.open(),n.write(this.rte.getIconsHTML()),n.close()):this.rte.refreshIconsStyle(),this.builderStuff.querySelector(".snippets").querySelector("iframe").src="about:blank"}lightboxOpen(t){if(this.useLightbox&&(t.hasAttribute("data-noedit")||t.hasAttribute("data-protected"))&&ff.hasClass(t,"block-click")){let e="",i=t.getAttribute("data-modal-theme");i||(i="light");const n=t.getAttribute("data-modal-color");if(t.getAttribute("data-modal-url")){e=t.getAttribute("data-modal-url");let o=e.split(".").pop();if("jpg"===o||"jpeg"===o||"png"===o||"gif"===o||"webm"===o)this.lightbox.openImage(e,i,n);else if("mp4"===o)this.lightbox.openVideo(e,"dark",n);else if(-1!==e.toLowerCase().indexOf("youtube.com")||-1!==e.toLowerCase().indexOf("vimeo.com"))this.lightbox.openExternalVideo(e,"dark",n);else{if(!window.confirm(this.util.out("Do you really want to leave?")))return!1;window.location.href=e}}else t.getAttribute("data-modal-image")&&(e=t.getAttribute("data-modal-image"),this.lightbox.openImage(e,i,n)),t.getAttribute("data-modal-video")&&(e=t.getAttribute("data-modal-video"),this.lightbox.openVideo(e,"dark",n)),t.getAttribute("data-modal-externalvideo")&&(e=t.getAttribute("data-modal-externalvideo"),this.lightbox.openExternalVideo(e,"dark",n))}}handleCellClick(t,e){this.lightboxOpen(t);this.util.clearActiveCell(),this.activeCol=t;let i=e.target;ff.addClass(t,"cell-active");let n=t.parentNode;ff.addClass(n,"row-active");const o=document.querySelectorAll(this.opts.container);Array.prototype.forEach.call(o,(t=>{ff.removeClass(t,"builder-active")})),ff.addClass(n.parentNode,"builder-active"),n.childElementCount-2==1||ff.addClass(n,"row-outline"),t.hasAttribute("data-html")||this.opts.onContentClick&&this.opts.onContentClick(e),this.element.click(t,e),this.colTool.click(t),this.elmTool.click(t,e),this.rte.click(t,e);let r=ff.getParentElement(i,"a");if("a"===i.tagName.toLowerCase()||r){if("true"===t.getAttribute("contenteditable"))return e.preventDefault(),!1;if("a"===i.tagName.toLowerCase()&&(r=i),this.useLightbox&&ff.hasClass(r,"is-lightbox")){let t=r.getAttribute("href");if(!t)return e.preventDefault(),!1;let n=t.split(".").pop(),o=r.getAttribute("data-modal-theme");o||(o="light");const s=i.getAttribute("data-modal-color");if("jpg"===n||"jpeg"===n||"png"===n||"gif"===n||"webm"===n)return this.lightbox.openImage(t,o,s),e.preventDefault(),!1;if("mp4"===n)return this.lightbox.openVideo(t,"dark",s),e.preventDefault(),!1;if(-1!==t.toLowerCase().indexOf("youtube.com")||-1!==t.toLowerCase().indexOf("vimeo.com"))return this.lightbox.openExternalVideo(t,"dark",s),e.preventDefault(),!1;if(!window.confirm(this.util.out("Do you really want to leave?")))return e.preventDefault(),!1}else{if(!window.confirm(this.util.out("Do you really want to leave?")))return e.preventDefault(),!1}}1===t.childElementCount&&t.querySelector(".spacer")&&(t.contentEditable=!1),this.colTool.showHideLockIndicator(t)}handleCellKeypress(t){t.ctrlKey||t.metaKey||(null===this.uoTm?(this.uo.saveForUndo(),this.uoTm=setTimeout((()=>{this.uoTm=null}),1e3)):(clearTimeout(this.uoTm),this.uoTm=setTimeout((()=>{this.uoTm=null}),1e3)))}handleCellKeydown(t,e){let i=t.querySelectorAll("span");if(Array.prototype.forEach.call(i,(t=>{t.setAttribute("data-keep","")})),(e.ctrlKey||e.metaKey)&&86===e.which&&this.handleCellPaste(),this.opts.elementSelection&&!this.emailMode&&(e.ctrlKey||e.metaKey)&&65===e.which){let t;try{window.getSelection?t=window.getSelection().getRangeAt(0).commonAncestorContainer.parentNode:document.selection&&(t=document.selection.createRange().parentElement()),ff.hasClass(t.parentNode.parentNode,"is-builder")||ff.selectElementContents(t),e.preventDefault()}catch(e){}}if(46===e.keyCode){let t;try{if(window.getSelection?t=window.getSelection().getRangeAt(0).commonAncestorContainer:document.selection&&(t=document.selection.createRange()),"<br>"===t.innerHTML){t.nextElementSibling&&(t.parentNode.removeChild(t),e.preventDefault())}}catch(e){}}if(8===e.keyCode){let t;try{if(window.getSelection?t=window.getSelection().getRangeAt(0).commonAncestorContainer:document.selection&&(t=document.selection.createRange()),""===t.textContent){t.previousElementSibling||e.preventDefault()}}catch(e){}}}handleCellKeyup(t,e){ff.textSelection()&&("38"===e.keyCode||"40"===e.keyCode||"37"===e.keyCode||"39"===e.keyCode)&&this.util.saveSelection();let i=t.querySelectorAll("span");var n;Array.prototype.forEach.call(i,(t=>{t.getAttribute("data-keep")||(t.outerHTML=t.innerHTML)}));try{window.getSelection?n=window.getSelection().getRangeAt(0).commonAncestorContainer.parentNode:document.selection&&(n=document.selection.createRange().parentElement())}catch(e){return}if(13===e.keyCode&&!e.shiftKey){"p"!==n.tagName.toLowerCase()&&"div"!==n.tagName.toLowerCase()||document.execCommand("formatBlock",!1,"<p>");let e=t.querySelectorAll("[data-keep]");Array.prototype.forEach.call(e,(t=>{t.removeAttribute("data-keep")}))}this.opts.onChange(),this.elmTool.hide()}handleCellPaste(){this.uo.saveForUndo();const t=this.util;t.saveSelection();let e=document.querySelector("#idContentWord");var i,n;e&&e.parentNode.removeChild(e),window.getSelection?i=3===(n=window.getSelection().getRangeAt(0).commonAncestorContainer).nodeType?n.parentNode:n:document.selection&&(n=document.selection.createRange(),i=document.selection.createRange().parentElement());const o='<div style="position:absolute;z-index:-1000;top:'+(i.getBoundingClientRect().top+window.pageYOffset)+'px;left:-1000px;width:100px;height:100px;overflow:auto;" name="idContentWord" id="idContentWord" contenteditable="true"></div>';ff.appendHtml(this.builderStuff,o),e=document.querySelector("#idContentWord"),e.focus(),setTimeout((()=>{try{var e="";let u=document.querySelector("#idContentWord");var i=!1,n=u.innerText,o=/^http[s]?:\/\/(((www.youtube.com\/watch\?(feature=player_detailpage&)?)v=)|(youtu.be\/))([^#&?]*)/.exec(n),r=/^.*(vimeo\.com\/)((channels\/[A-z]+\/)|(groups\/[A-z]+\/videos\/)|(video\/))?([0-9]+)\/?/.exec(n);if(null!==o||null!==r){if(null!==o&&o.length>=7)n="https://www.youtube.com/embed/"+o[6]+"?rel=0";if(null!==r&&r.length>=7)n="https://player.vimeo.com/video/"+r[6];e='<div class="embed-responsive embed-responsive-16by9"><iframe width="560" height="315" src="'+n+'" frameborder="0" allowfullscreen=""></iframe></div>',i=!0}if(!i)if("text"===this.opts.paste){let t=u.querySelectorAll("p,h1,h2,h3,h4,h5,h6");Array.prototype.forEach.call(t,(t=>{t.innerHTML=t.innerHTML+" "})),e=u.innerText}else e=u.innerHTML,e="html"===this.opts.paste?t.cleanHTML(e,!1):t.cleanHTML(e,!0),u.innerHTML=e,e=u.innerHTML;u=document.querySelector("#idContentWord"),u&&u.parentNode.removeChild(u),t.restoreSelection();var s=window.getSelection(),a=s.getRangeAt(0);a.extractContents(),a.collapse(!0);var l=a.createContextualFragment(e),d=l.lastChild;a.insertNode(l),a.setStartAfter(d),a.setEndAfter(d),a.collapse(!1);var c=a.commonAncestorContainer;if(c&&c.parentNode)try{c.parentNode.normalize()}catch(t){}s.removeAllRanges(),s.addRange(a),this.applyBehavior(),this.opts.onChange(),this.opts.onRender()}catch(t){let e=document.querySelector("#idContentWord");e&&e.parentNode.removeChild(e)}}),800)}cellSelected(){return this.util.cellSelected()}loadScript(t,e,i=!0,n=!0){return new Promise(((o,r)=>{let s=document.createElement("script");const a=e||document.getElementsByTagName("script")[0];function l(t,e){(e||!s.readyState||/loaded|complete/.test(s.readyState))&&(s.onload=null,s.onreadystatechange=null,s=void 0,e?r():o())}s.async=i,s.defer=n,s.onload=l,s.onreadystatechange=l,s.src=t,a.parentNode.insertBefore(s,a)}))}currentScriptPath(){let t,e;for(var i=document.getElementsByTagName("script"),n=0;n<i.length;n++){var o=i[n].src;t="contentbuilder.js",o.indexOf(t)>-1&&(e=o.substring(0,o.indexOf(t))),t="contentbuilder.min.js",o.indexOf(t)>-1&&(e=o.substring(0,o.indexOf(t)))}return e}}return function(t){var e=t.jQuery;e&&(e.contentbuilder=function(t){return new gf(t)})}(window),gf}();
|