@lotte-innovate/ui-component-test 0.2.9 → 0.2.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (130) hide show
  1. package/package.json +2 -1
  2. package/post-tinymce.js +6 -4
  3. package/public/tinymce/CHANGELOG.md +3453 -0
  4. package/public/tinymce/README.md +73 -0
  5. package/public/tinymce/bower.json +27 -0
  6. package/public/tinymce/composer.json +52 -0
  7. package/public/tinymce/icons/default/icons.js +194 -0
  8. package/public/tinymce/icons/default/icons.min.js +1 -0
  9. package/public/tinymce/icons/default/icons.mjs +2 -0
  10. package/public/tinymce/icons/default/icons.mjs.map +1 -0
  11. package/public/tinymce/icons/default/index.d.ts +1 -0
  12. package/public/tinymce/icons/default/index.js +7 -0
  13. package/public/tinymce/icons/default/index.mjs +2 -0
  14. package/public/tinymce/icons/default/index.mjs.map +1 -0
  15. package/public/tinymce/license.txt +21 -0
  16. package/public/tinymce/models/dom/index.d.ts +1 -0
  17. package/public/tinymce/models/dom/index.js +7 -0
  18. package/public/tinymce/models/dom/index.mjs +2 -0
  19. package/public/tinymce/models/dom/index.mjs.map +1 -0
  20. package/public/tinymce/models/dom/model.js +8040 -0
  21. package/public/tinymce/models/dom/model.min.js +4 -0
  22. package/public/tinymce/models/dom/model.mjs +2 -0
  23. package/public/tinymce/models/dom/model.mjs.map +1 -0
  24. package/public/tinymce/package.json +32 -0
  25. package/public/tinymce/plugins/advlist/index.d.ts +1 -0
  26. package/public/tinymce/plugins/advlist/index.js +7 -0
  27. package/public/tinymce/plugins/advlist/index.mjs +2 -0
  28. package/public/tinymce/plugins/advlist/index.mjs.map +1 -0
  29. package/public/tinymce/plugins/advlist/plugin.js +259 -0
  30. package/public/tinymce/plugins/advlist/plugin.min.js +4 -0
  31. package/public/tinymce/plugins/advlist/plugin.mjs +2 -0
  32. package/public/tinymce/plugins/advlist/plugin.mjs.map +1 -0
  33. package/public/tinymce/plugins/autolink/index.js +7 -0
  34. package/public/tinymce/plugins/autolink/plugin.js +228 -0
  35. package/public/tinymce/plugins/autolink/plugin.min.js +4 -0
  36. package/public/tinymce/plugins/code/index.d.ts +1 -0
  37. package/public/tinymce/plugins/code/index.js +7 -0
  38. package/public/tinymce/plugins/code/index.mjs +2 -0
  39. package/public/tinymce/plugins/code/index.mjs.map +1 -0
  40. package/public/tinymce/plugins/code/plugin.js +85 -0
  41. package/public/tinymce/plugins/code/plugin.min.js +4 -0
  42. package/public/tinymce/plugins/code/plugin.mjs +2 -0
  43. package/public/tinymce/plugins/code/plugin.mjs.map +1 -0
  44. package/public/tinymce/plugins/codesample/index.d.ts +1 -0
  45. package/public/tinymce/plugins/codesample/index.js +7 -0
  46. package/public/tinymce/plugins/codesample/index.mjs +2 -0
  47. package/public/tinymce/plugins/codesample/index.mjs.map +1 -0
  48. package/public/tinymce/plugins/codesample/plugin.d.ts +45 -0
  49. package/public/tinymce/plugins/codesample/plugin.js +2463 -0
  50. package/public/tinymce/plugins/codesample/plugin.min.js +4 -0
  51. package/public/tinymce/plugins/codesample/plugin.mjs +2 -0
  52. package/public/tinymce/plugins/codesample/plugin.mjs.map +1 -0
  53. package/public/tinymce/plugins/image/index.d.ts +1 -0
  54. package/public/tinymce/plugins/image/index.js +7 -0
  55. package/public/tinymce/plugins/image/index.mjs +2 -0
  56. package/public/tinymce/plugins/image/index.mjs.map +1 -0
  57. package/public/tinymce/plugins/image/plugin.js +1505 -0
  58. package/public/tinymce/plugins/image/plugin.min.js +4 -0
  59. package/public/tinymce/plugins/image/plugin.mjs +2 -0
  60. package/public/tinymce/plugins/image/plugin.mjs.map +1 -0
  61. package/public/tinymce/plugins/link/index.d.ts +1 -0
  62. package/public/tinymce/plugins/link/index.js +7 -0
  63. package/public/tinymce/plugins/link/index.mjs +2 -0
  64. package/public/tinymce/plugins/link/index.mjs.map +1 -0
  65. package/public/tinymce/plugins/link/plugin.js +1242 -0
  66. package/public/tinymce/plugins/link/plugin.min.js +4 -0
  67. package/public/tinymce/plugins/link/plugin.mjs +2 -0
  68. package/public/tinymce/plugins/link/plugin.mjs.map +1 -0
  69. package/public/tinymce/plugins/lists/index.d.ts +1 -0
  70. package/public/tinymce/plugins/lists/index.js +7 -0
  71. package/public/tinymce/plugins/lists/index.mjs +2 -0
  72. package/public/tinymce/plugins/lists/index.mjs.map +1 -0
  73. package/public/tinymce/plugins/lists/plugin.js +2172 -0
  74. package/public/tinymce/plugins/lists/plugin.min.js +4 -0
  75. package/public/tinymce/plugins/lists/plugin.mjs +2 -0
  76. package/public/tinymce/plugins/lists/plugin.mjs.map +1 -0
  77. package/public/tinymce/plugins/table/index.d.ts +1 -0
  78. package/public/tinymce/plugins/table/index.js +7 -0
  79. package/public/tinymce/plugins/table/index.mjs +2 -0
  80. package/public/tinymce/plugins/table/index.mjs.map +1 -0
  81. package/public/tinymce/plugins/table/plugin.js +3462 -0
  82. package/public/tinymce/plugins/table/plugin.min.js +4 -0
  83. package/public/tinymce/plugins/table/plugin.mjs +2 -0
  84. package/public/tinymce/plugins/table/plugin.mjs.map +1 -0
  85. package/public/tinymce/skins/content/default/content.css +61 -0
  86. package/public/tinymce/skins/content/default/content.js +2 -0
  87. package/public/tinymce/skins/content/default/content.min.css +1 -0
  88. package/public/tinymce/skins/content/default/content.mjs +2 -0
  89. package/public/tinymce/skins/content/default/content.mjs.map +1 -0
  90. package/public/tinymce/skins/ui/oxide/content.css +785 -0
  91. package/public/tinymce/skins/ui/oxide/content.inline.css +779 -0
  92. package/public/tinymce/skins/ui/oxide/content.inline.js +2 -0
  93. package/public/tinymce/skins/ui/oxide/content.inline.min.css +1 -0
  94. package/public/tinymce/skins/ui/oxide/content.js +2 -0
  95. package/public/tinymce/skins/ui/oxide/content.min.css +1 -0
  96. package/public/tinymce/skins/ui/oxide/content.mjs +2 -0
  97. package/public/tinymce/skins/ui/oxide/content.mjs.map +1 -0
  98. package/public/tinymce/skins/ui/oxide/skin.css +3763 -0
  99. package/public/tinymce/skins/ui/oxide/skin.js +2 -0
  100. package/public/tinymce/skins/ui/oxide/skin.min.css +1 -0
  101. package/public/tinymce/skins/ui/oxide/skin.mjs +2 -0
  102. package/public/tinymce/skins/ui/oxide/skin.mjs.map +1 -0
  103. package/public/tinymce/skins/ui/oxide/skin.shadowdom.css +30 -0
  104. package/public/tinymce/skins/ui/oxide/skin.shadowdom.js +2 -0
  105. package/public/tinymce/skins/ui/oxide/skin.shadowdom.min.css +1 -0
  106. package/public/tinymce/skins/ui/oxide-dark/content.css +766 -0
  107. package/public/tinymce/skins/ui/oxide-dark/content.inline.css +779 -0
  108. package/public/tinymce/skins/ui/oxide-dark/content.inline.js +2 -0
  109. package/public/tinymce/skins/ui/oxide-dark/content.inline.min.css +1 -0
  110. package/public/tinymce/skins/ui/oxide-dark/content.js +2 -0
  111. package/public/tinymce/skins/ui/oxide-dark/content.min.css +1 -0
  112. package/public/tinymce/skins/ui/oxide-dark/skin.css +3766 -0
  113. package/public/tinymce/skins/ui/oxide-dark/skin.js +2 -0
  114. package/public/tinymce/skins/ui/oxide-dark/skin.min.css +1 -0
  115. package/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.css +30 -0
  116. package/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.js +2 -0
  117. package/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css +1 -0
  118. package/public/tinymce/themes/silver/index.d.ts +1 -0
  119. package/public/tinymce/themes/silver/index.js +7 -0
  120. package/public/tinymce/themes/silver/index.mjs +2 -0
  121. package/public/tinymce/themes/silver/index.mjs.map +1 -0
  122. package/public/tinymce/themes/silver/theme.js +30775 -0
  123. package/public/tinymce/themes/silver/theme.min.js +384 -0
  124. package/public/tinymce/themes/silver/theme.mjs +2 -0
  125. package/public/tinymce/themes/silver/theme.mjs.map +1 -0
  126. package/public/tinymce/tinymce.d.ts +3238 -0
  127. package/public/tinymce/tinymce.js +31779 -0
  128. package/public/tinymce/tinymce.min.js +384 -0
  129. package/public/tinymce/tinymce.mjs +2 -0
  130. package/public/tinymce/tinymce.mjs.map +1 -0
@@ -0,0 +1,4 @@
1
+ /**
2
+ * TinyMCE version 6.8.5 (TBD)
3
+ */
4
+ !function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.ModelManager");const t=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(o=n=e,(r=String).prototype.isPrototypeOf(o)||(null===(s=n.constructor)||void 0===s?void 0:s.name)===r.name)?"string":t;var o,n,r,s})(t)===e,o=e=>t=>typeof t===e,n=e=>t=>e===t,r=t("string"),s=t("object"),l=t("array"),a=n(null),c=o("boolean"),i=n(void 0),m=e=>!(e=>null==e)(e),d=o("function"),u=o("number"),f=()=>{},g=e=>()=>e,h=e=>e,p=(e,t)=>e===t;function w(e,...t){return(...o)=>{const n=t.concat(o);return e.apply(null,n)}}const b=e=>t=>!e(t),v=e=>e(),y=g(!1),x=g(!0);class C{constructor(e,t){this.tag=e,this.value=t}static some(e){return new C(!0,e)}static none(){return C.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?C.some(e(this.value)):C.none()}bind(e){return this.tag?e(this.value):C.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:C.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return m(e)?C.some(e):C.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}C.singletonNone=new C(!1);const S=Array.prototype.slice,T=Array.prototype.indexOf,R=Array.prototype.push,D=(e,t)=>{return o=e,n=t,T.call(o,n)>-1;var o,n},O=(e,t)=>{for(let o=0,n=e.length;o<n;o++)if(t(e[o],o))return!0;return!1},k=(e,t)=>{const o=[];for(let n=0;n<e;n++)o.push(t(n));return o},E=(e,t)=>{const o=e.length,n=new Array(o);for(let r=0;r<o;r++){const o=e[r];n[r]=t(o,r)}return n},N=(e,t)=>{for(let o=0,n=e.length;o<n;o++)t(e[o],o)},B=(e,t)=>{const o=[],n=[];for(let r=0,s=e.length;r<s;r++){const s=e[r];(t(s,r)?o:n).push(s)}return{pass:o,fail:n}},_=(e,t)=>{const o=[];for(let n=0,r=e.length;n<r;n++){const r=e[n];t(r,n)&&o.push(r)}return o},z=(e,t,o)=>(((e,t)=>{for(let o=e.length-1;o>=0;o--)t(e[o],o)})(e,((e,n)=>{o=t(o,e,n)})),o),A=(e,t,o)=>(N(e,((e,n)=>{o=t(o,e,n)})),o),L=(e,t)=>((e,t,o)=>{for(let n=0,r=e.length;n<r;n++){const r=e[n];if(t(r,n))return C.some(r);if(o(r,n))break}return C.none()})(e,t,y),W=(e,t)=>{for(let o=0,n=e.length;o<n;o++)if(t(e[o],o))return C.some(o);return C.none()},M=e=>{const t=[];for(let o=0,n=e.length;o<n;++o){if(!l(e[o]))throw new Error("Arr.flatten item "+o+" was not an array, input: "+e);R.apply(t,e[o])}return t},j=(e,t)=>M(E(e,t)),P=(e,t)=>{for(let o=0,n=e.length;o<n;++o)if(!0!==t(e[o],o))return!1;return!0},I=(e,t)=>{const o={};for(let n=0,r=e.length;n<r;n++){const r=e[n];o[String(r)]=t(r,n)}return o},F=(e,t)=>t>=0&&t<e.length?C.some(e[t]):C.none(),H=e=>F(e,0),$=e=>F(e,e.length-1),V=(e,t)=>{for(let o=0;o<e.length;o++){const n=t(e[o],o);if(n.isSome())return n}return C.none()},q=Object.keys,U=Object.hasOwnProperty,G=(e,t)=>{const o=q(e);for(let n=0,r=o.length;n<r;n++){const r=o[n];t(e[r],r)}},K=(e,t)=>Y(e,((e,o)=>({k:o,v:t(e,o)}))),Y=(e,t)=>{const o={};return G(e,((e,n)=>{const r=t(e,n);o[r.k]=r.v})),o},J=(e,t)=>{const o=[];return G(e,((e,n)=>{o.push(t(e,n))})),o},Q=e=>J(e,h),X=(e,t)=>U.call(e,t),Z="undefined"!=typeof window?window:Function("return this;")(),ee=(e,t)=>((e,t)=>{let o=null!=t?t:Z;for(let t=0;t<e.length&&null!=o;++t)o=o[e[t]];return o})(e.split("."),t),te=Object.getPrototypeOf,oe=e=>{const t=ee("ownerDocument.defaultView",e);return s(e)&&((e=>((e,t)=>{const o=((e,t)=>ee(e,t))(e,t);if(null==o)throw new Error(e+" not available on this browser");return o})("HTMLElement",e))(t).prototype.isPrototypeOf(e)||/^HTML\w*Element$/.test(te(e).constructor.name))},ne=e=>e.dom.nodeName.toLowerCase(),re=e=>e.dom.nodeType,se=e=>t=>re(t)===e,le=e=>8===re(e)||"#comment"===ne(e),ae=e=>ce(e)&&oe(e.dom),ce=se(1),ie=se(3),me=se(9),de=se(11),ue=e=>t=>ce(t)&&ne(t)===e,fe=(e,t,o)=>{if(!(r(o)||c(o)||u(o)))throw console.error("Invalid call to Attribute.set. Key ",t,":: Value ",o,":: Element ",e),new Error("Attribute value was not simple");e.setAttribute(t,o+"")},ge=(e,t,o)=>{fe(e.dom,t,o)},he=(e,t)=>{const o=e.dom;G(t,((e,t)=>{fe(o,t,e)}))},pe=(e,t)=>{const o=e.dom.getAttribute(t);return null===o?void 0:o},we=(e,t)=>C.from(pe(e,t)),be=(e,t)=>{e.dom.removeAttribute(t)},ve=e=>A(e.dom.attributes,((e,t)=>(e[t.name]=t.value,e)),{}),ye=e=>{if(null==e)throw new Error("Node cannot be null or undefined");return{dom:e}},xe={fromHtml:(e,t)=>{const o=(t||document).createElement("div");if(o.innerHTML=e,!o.hasChildNodes()||o.childNodes.length>1){const t="HTML does not have a single root node";throw console.error(t,e),new Error(t)}return ye(o.childNodes[0])},fromTag:(e,t)=>{const o=(t||document).createElement(e);return ye(o)},fromText:(e,t)=>{const o=(t||document).createTextNode(e);return ye(o)},fromDom:ye,fromPoint:(e,t,o)=>C.from(e.dom.elementFromPoint(t,o)).map(ye)},Ce=(e,t)=>{const o=e.dom;if(1!==o.nodeType)return!1;{const e=o;if(void 0!==e.matches)return e.matches(t);if(void 0!==e.msMatchesSelector)return e.msMatchesSelector(t);if(void 0!==e.webkitMatchesSelector)return e.webkitMatchesSelector(t);if(void 0!==e.mozMatchesSelector)return e.mozMatchesSelector(t);throw new Error("Browser lacks native selectors")}},Se=e=>1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType||0===e.childElementCount,Te=(e,t)=>{const o=void 0===t?document:t.dom;return Se(o)?C.none():C.from(o.querySelector(e)).map(xe.fromDom)},Re=(e,t)=>e.dom===t.dom,De=(e,t)=>{const o=e.dom,n=t.dom;return o!==n&&o.contains(n)},Oe=Ce,ke=e=>xe.fromDom(e.dom.ownerDocument),Ee=e=>me(e)?e:ke(e),Ne=e=>C.from(e.dom.parentNode).map(xe.fromDom),Be=e=>C.from(e.dom.parentElement).map(xe.fromDom),_e=(e,t)=>{const o=d(t)?t:y;let n=e.dom;const r=[];for(;null!==n.parentNode&&void 0!==n.parentNode;){const e=n.parentNode,t=xe.fromDom(e);if(r.push(t),!0===o(t))break;n=e}return r},ze=e=>C.from(e.dom.previousSibling).map(xe.fromDom),Ae=e=>C.from(e.dom.nextSibling).map(xe.fromDom),Le=e=>E(e.dom.childNodes,xe.fromDom),We=(e,t)=>{const o=e.dom.childNodes;return C.from(o[t]).map(xe.fromDom)},Me=(e,t)=>{Ne(e).each((o=>{o.dom.insertBefore(t.dom,e.dom)}))},je=(e,t)=>{Ae(e).fold((()=>{Ne(e).each((e=>{Ie(e,t)}))}),(e=>{Me(e,t)}))},Pe=(e,t)=>{const o=(e=>We(e,0))(e);o.fold((()=>{Ie(e,t)}),(o=>{e.dom.insertBefore(t.dom,o.dom)}))},Ie=(e,t)=>{e.dom.appendChild(t.dom)},Fe=(e,t)=>{Me(e,t),Ie(t,e)},He=(e,t)=>{N(t,((o,n)=>{const r=0===n?e:t[n-1];je(r,o)}))},$e=(e,t)=>{N(t,(t=>{Ie(e,t)}))},Ve=e=>{e.dom.textContent="",N(Le(e),(e=>{qe(e)}))},qe=e=>{const t=e.dom;null!==t.parentNode&&t.parentNode.removeChild(t)},Ue=e=>{const t=Le(e);t.length>0&&He(e,t),qe(e)},Ge=(e,t)=>xe.fromDom(e.dom.cloneNode(t)),Ke=e=>Ge(e,!1),Ye=e=>Ge(e,!0),Je=(e,t)=>{const o=xe.fromTag(t),n=ve(e);return he(o,n),o},Qe=["tfoot","thead","tbody","colgroup"],Xe=(e,t,o)=>({element:e,rowspan:t,colspan:o}),Ze=(e,t,o)=>({element:e,cells:t,section:o}),et=(e,t,o)=>({element:e,isNew:t,isLocked:o}),tt=(e,t,o,n)=>({element:e,cells:t,section:o,isNew:n}),ot=d(Element.prototype.attachShadow)&&d(Node.prototype.getRootNode),nt=g(ot),rt=ot?e=>xe.fromDom(e.dom.getRootNode()):Ee,st=e=>xe.fromDom(e.dom.host),lt=e=>{const t=ie(e)?e.dom.parentNode:e.dom;if(null==t||null===t.ownerDocument)return!1;const o=t.ownerDocument;return(e=>{const t=rt(e);return de(o=t)&&m(o.dom.host)?C.some(t):C.none();var o})(xe.fromDom(t)).fold((()=>o.body.contains(t)),(n=lt,r=st,e=>n(r(e))));var n,r},at=e=>{const t=e.dom.body;if(null==t)throw new Error("Body is not available yet");return xe.fromDom(t)},ct=(e,t)=>{let o=[];return N(Le(e),(e=>{t(e)&&(o=o.concat([e])),o=o.concat(ct(e,t))})),o},it=(e,t,o)=>((e,o,n)=>_(_e(e,n),(e=>Ce(e,t))))(e,0,o),mt=(e,t)=>((e,o)=>_(Le(e),(e=>Ce(e,t))))(e),dt=(e,t)=>((e,t)=>{const o=void 0===t?document:t.dom;return Se(o)?[]:E(o.querySelectorAll(e),xe.fromDom)})(t,e);var ut=(e,t,o,n,r)=>e(o,n)?C.some(o):d(r)&&r(o)?C.none():t(o,n,r);const ft=(e,t,o)=>{let n=e.dom;const r=d(o)?o:y;for(;n.parentNode;){n=n.parentNode;const e=xe.fromDom(n);if(t(e))return C.some(e);if(r(e))break}return C.none()},gt=(e,t,o)=>ut(((e,t)=>t(e)),ft,e,t,o),ht=(e,t,o)=>ft(e,(e=>Ce(e,t)),o),pt=(e,t)=>((e,o)=>L(e.dom.childNodes,(e=>{return o=xe.fromDom(e),Ce(o,t);var o})).map(xe.fromDom))(e),wt=(e,t)=>Te(t,e),bt=(e,t,o)=>ut(((e,t)=>Ce(e,t)),ht,e,t,o),vt=(e,t,o=p)=>e.exists((e=>o(e,t))),yt=e=>{const t=[],o=e=>{t.push(e)};for(let t=0;t<e.length;t++)e[t].each(o);return t},xt=(e,t)=>e?C.some(t):C.none(),Ct=(e,t,o)=>""===t||e.length>=t.length&&e.substr(o,o+t.length)===t,St=(e,t,o=0,n)=>{const r=e.indexOf(t,o);return-1!==r&&(!!i(n)||r+t.length<=n)},Tt=(e,t)=>Ct(e,t,0),Rt=(e,t)=>Ct(e,t,e.length-t.length),Dt=(e=>t=>t.replace(e,""))(/^\s+|\s+$/g),Ot=e=>e.length>0,kt=e=>void 0!==e.style&&d(e.style.getPropertyValue),Et=(e,t,o)=>{if(!r(o))throw console.error("Invalid call to CSS.set. Property ",t,":: Value ",o,":: Element ",e),new Error("CSS value must be a string: "+o);kt(e)&&e.style.setProperty(t,o)},Nt=(e,t,o)=>{const n=e.dom;Et(n,t,o)},Bt=(e,t)=>{const o=e.dom;G(t,((e,t)=>{Et(o,t,e)}))},_t=(e,t)=>{const o=e.dom,n=window.getComputedStyle(o).getPropertyValue(t);return""!==n||lt(e)?n:zt(o,t)},zt=(e,t)=>kt(e)?e.style.getPropertyValue(t):"",At=(e,t)=>{const o=e.dom,n=zt(o,t);return C.from(n).filter((e=>e.length>0))},Lt=(e,t)=>{((e,t)=>{kt(e)&&e.style.removeProperty(t)})(e.dom,t),vt(we(e,"style").map(Dt),"")&&be(e,"style")},Wt=(e,t,o=0)=>we(e,t).map((e=>parseInt(e,10))).getOr(o),Mt=(e,t)=>Wt(e,t,1),jt=e=>ue("col")(e)?Wt(e,"span",1)>1:Mt(e,"colspan")>1,Pt=e=>Mt(e,"rowspan")>1,It=(e,t)=>parseInt(_t(e,t),10),Ft=g(10),Ht=g(10),$t=(e,t)=>Vt(e,t,x),Vt=(e,t,o)=>j(Le(e),(e=>Ce(e,t)?o(e)?[e]:[]:Vt(e,t,o))),qt=(e,t)=>((e,t,o=y)=>o(t)?C.none():D(e,ne(t))?C.some(t):ht(t,e.join(","),(e=>Ce(e,"table")||o(e))))(["td","th"],e,t),Ut=e=>$t(e,"th,td"),Gt=e=>Ce(e,"colgroup")?mt(e,"col"):j(Jt(e),(e=>mt(e,"col"))),Kt=(e,t)=>bt(e,"table",t),Yt=e=>$t(e,"tr"),Jt=e=>Kt(e).fold(g([]),(e=>mt(e,"colgroup"))),Qt=(e,t)=>E(e,(e=>{if("colgroup"===ne(e)){const t=E(Gt(e),(e=>{const t=Wt(e,"span",1);return Xe(e,1,t)}));return Ze(e,t,"colgroup")}{const o=E(Ut(e),(e=>{const t=Wt(e,"rowspan",1),o=Wt(e,"colspan",1);return Xe(e,t,o)}));return Ze(e,o,t(e))}})),Xt=e=>Ne(e).map((e=>{const t=ne(e);return(e=>D(Qe,e))(t)?t:"tbody"})).getOr("tbody"),Zt=e=>{const t=Yt(e),o=[...Jt(e),...t];return Qt(o,Xt)},eo=e=>{let t,o=!1;return(...n)=>(o||(o=!0,t=e.apply(null,n)),t)},to=()=>oo(0,0),oo=(e,t)=>({major:e,minor:t}),no={nu:oo,detect:(e,t)=>{const o=String(t).toLowerCase();return 0===e.length?to():((e,t)=>{const o=((e,t)=>{for(let o=0;o<e.length;o++){const n=e[o];if(n.test(t))return n}})(e,t);if(!o)return{major:0,minor:0};const n=e=>Number(t.replace(o,"$"+e));return oo(n(1),n(2))})(e,o)},unknown:to},ro=(e,t)=>{const o=String(t).toLowerCase();return L(e,(e=>e.search(o)))},so=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,lo=e=>t=>St(t,e),ao=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:e=>St(e,"edge/")&&St(e,"chrome")&&St(e,"safari")&&St(e,"applewebkit")},{name:"Chromium",brand:"Chromium",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,so],search:e=>St(e,"chrome")&&!St(e,"chromeframe")},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:e=>St(e,"msie")||St(e,"trident")},{name:"Opera",versionRegexes:[so,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:lo("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:lo("firefox")},{name:"Safari",versionRegexes:[so,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:e=>(St(e,"safari")||St(e,"mobile/"))&&St(e,"applewebkit")}],co=[{name:"Windows",search:lo("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:e=>St(e,"iphone")||St(e,"ipad"),versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:lo("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"macOS",search:lo("mac os x"),versionRegexes:[/.*?mac\ os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:lo("linux"),versionRegexes:[]},{name:"Solaris",search:lo("sunos"),versionRegexes:[]},{name:"FreeBSD",search:lo("freebsd"),versionRegexes:[]},{name:"ChromeOS",search:lo("cros"),versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/]}],io={browsers:g(ao),oses:g(co)},mo="Edge",uo="Chromium",fo="Opera",go="Firefox",ho="Safari",po=e=>{const t=e.current,o=e.version,n=e=>()=>t===e;return{current:t,version:o,isEdge:n(mo),isChromium:n(uo),isIE:n("IE"),isOpera:n(fo),isFirefox:n(go),isSafari:n(ho)}},wo=()=>po({current:void 0,version:no.unknown()}),bo=po,vo=(g(mo),g(uo),g("IE"),g(fo),g(go),g(ho),"Windows"),yo="Android",xo="Linux",Co="macOS",So="Solaris",To="FreeBSD",Ro="ChromeOS",Do=e=>{const t=e.current,o=e.version,n=e=>()=>t===e;return{current:t,version:o,isWindows:n(vo),isiOS:n("iOS"),isAndroid:n(yo),isMacOS:n(Co),isLinux:n(xo),isSolaris:n(So),isFreeBSD:n(To),isChromeOS:n(Ro)}},Oo=()=>Do({current:void 0,version:no.unknown()}),ko=Do,Eo=(g(vo),g("iOS"),g(yo),g(xo),g(Co),g(So),g(To),g(Ro),e=>window.matchMedia(e).matches);let No=eo((()=>((e,t,o)=>{const n=io.browsers(),r=io.oses(),s=t.bind((e=>((e,t)=>V(t.brands,(t=>{const o=t.brand.toLowerCase();return L(e,(e=>{var t;return o===(null===(t=e.brand)||void 0===t?void 0:t.toLowerCase())})).map((e=>({current:e.name,version:no.nu(parseInt(t.version,10),0)})))})))(n,e))).orThunk((()=>((e,t)=>ro(e,t).map((e=>{const o=no.detect(e.versionRegexes,t);return{current:e.name,version:o}})))(n,e))).fold(wo,bo),l=((e,t)=>ro(e,t).map((e=>{const o=no.detect(e.versionRegexes,t);return{current:e.name,version:o}})))(r,e).fold(Oo,ko),a=((e,t,o,n)=>{const r=e.isiOS()&&!0===/ipad/i.test(o),s=e.isiOS()&&!r,l=e.isiOS()||e.isAndroid(),a=l||n("(pointer:coarse)"),c=r||!s&&l&&n("(min-device-width:768px)"),i=s||l&&!c,m=t.isSafari()&&e.isiOS()&&!1===/safari/i.test(o),d=!i&&!c&&!m;return{isiPad:g(r),isiPhone:g(s),isTablet:g(c),isPhone:g(i),isTouch:g(a),isAndroid:e.isAndroid,isiOS:e.isiOS,isWebView:g(m),isDesktop:g(d)}})(l,s,e,o);return{browser:s,os:l,deviceType:a}})(navigator.userAgent,C.from(navigator.userAgentData),Eo)));const Bo=()=>No(),_o=(e,t)=>{const o=o=>{const n=t(o);if(n<=0||null===n){const t=_t(o,e);return parseFloat(t)||0}return n},n=(e,t)=>A(t,((t,o)=>{const n=_t(e,o),r=void 0===n?0:parseInt(n,10);return isNaN(r)?t:t+r}),0);return{set:(t,o)=>{if(!u(o)&&!o.match(/^[0-9]+$/))throw new Error(e+".set accepts only positive integer values. Value was "+o);const n=t.dom;kt(n)&&(n.style[e]=o+"px")},get:o,getOuter:o,aggregate:n,max:(e,t,o)=>{const r=n(e,o);return t>r?t-r:0}}},zo=(e,t,o)=>((e,t)=>(e=>{const t=parseFloat(e);return isNaN(t)?C.none():C.some(t)})(e).getOr(t))(_t(e,t),o),Ao=_o("width",(e=>e.dom.offsetWidth)),Lo=e=>Ao.get(e),Wo=e=>Ao.getOuter(e),Mo=e=>((e,t)=>{const o=e.dom,n=o.getBoundingClientRect().width||o.offsetWidth;return"border-box"===t?n:((e,t,o,n)=>t-zo(e,`padding-${o}`,0)-zo(e,`padding-${n}`,0)-zo(e,`border-${o}-width`,0)-zo(e,`border-${n}-width`,0))(e,n,"left","right")})(e,"content-box"),jo=(e,t,o)=>{const n=e.cells,r=n.slice(0,t),s=n.slice(t),l=r.concat(o).concat(s);return Fo(e,l)},Po=(e,t,o)=>jo(e,t,[o]),Io=(e,t,o)=>{e.cells[t]=o},Fo=(e,t)=>tt(e.element,t,e.section,e.isNew),Ho=(e,t)=>e.cells[t],$o=(e,t)=>Ho(e,t).element,Vo=e=>e.cells.length,qo=e=>{const t=B(e,(e=>"colgroup"===e.section));return{rows:t.fail,cols:t.pass}},Uo=(e,t,o)=>{const n=E(e.cells,o);return tt(t(e.element),n,e.section,!0)},Go="data-snooker-locked-cols",Ko=e=>we(e,Go).bind((e=>C.from(e.match(/\d+/g)))).map((e=>I(e,x))),Yo=e=>{const t=A(qo(e).rows,((e,t)=>(N(t.cells,((t,o)=>{t.isLocked&&(e[o]=!0)})),e)),{}),o=J(t,((e,t)=>parseInt(t,10)));return((e,t)=>{const o=S.call(e,0);return o.sort(void 0),o})(o)},Jo=(e,t)=>e+","+t,Qo=(e,t)=>{const o=j(e.all,(e=>e.cells));return _(o,t)},Xo=e=>{const t={},o=[],n=H(e).map((e=>e.element)).bind(Kt).bind(Ko).getOr({});let r=0,s=0,l=0;const{pass:a,fail:c}=B(e,(e=>"colgroup"===e.section));N(c,(e=>{const a=[];N(e.cells,(e=>{let o=0;for(;void 0!==t[Jo(l,o)];)o++;const r=((e,t)=>X(e,t)&&void 0!==e[t]&&null!==e[t])(n,o.toString()),c=((e,t,o,n,r,s)=>({element:e,rowspan:t,colspan:o,row:n,column:r,isLocked:s}))(e.element,e.rowspan,e.colspan,l,o,r);for(let n=0;n<e.colspan;n++)for(let r=0;r<e.rowspan;r++){const e=o+n,a=Jo(l+r,e);t[a]=c,s=Math.max(s,e+1)}a.push(c)})),r++,o.push(Ze(e.element,a,e.section)),l++}));const{columns:i,colgroups:m}=$(a).map((e=>{const t=(e=>{const t={};let o=0;return N(e.cells,(e=>{const n=e.colspan;k(n,(r=>{const s=o+r;t[s]=((e,t,o)=>({element:e,colspan:t,column:o}))(e.element,n,s)})),o+=n})),t})(e),o=((e,t)=>({element:e,columns:t}))(e.element,Q(t));return{colgroups:[o],columns:t}})).getOrThunk((()=>({colgroups:[],columns:{}}))),d=((e,t)=>({rows:e,columns:t}))(r,s);return{grid:d,access:t,all:o,columns:i,colgroups:m}},Zo=e=>{const t=Zt(e);return Xo(t)},en=Xo,tn=(e,t,o)=>C.from(e.access[Jo(t,o)]),on=(e,t,o)=>{const n=Qo(e,(e=>o(t,e.element)));return n.length>0?C.some(n[0]):C.none()},nn=Qo,rn=e=>j(e.all,(e=>e.cells)),sn=e=>Q(e.columns),ln=e=>q(e.columns).length>0,an=(e,t)=>C.from(e.columns[t]),cn=(e,t=x)=>{const o=e.grid,n=k(o.columns,h),r=k(o.rows,h);return E(n,(o=>mn((()=>j(r,(t=>tn(e,t,o).filter((e=>e.column===o)).toArray()))),(e=>1===e.colspan&&t(e.element)),(()=>tn(e,0,o)))))},mn=(e,t,o)=>{const n=e();return L(n,t).orThunk((()=>C.from(n[0]).orThunk(o))).map((e=>e.element))},dn=e=>{const t=e.grid,o=k(t.rows,h),n=k(t.columns,h);return E(o,(t=>mn((()=>j(n,(o=>tn(e,t,o).filter((e=>e.row===t)).fold(g([]),(e=>[e]))))),(e=>1===e.rowspan),(()=>tn(e,t,0)))))},un=(e,t)=>o=>"rtl"===fn(o)?t:e,fn=e=>"rtl"===_t(e,"direction")?"rtl":"ltr",gn=_o("height",(e=>{const t=e.dom;return lt(e)?t.getBoundingClientRect().height:t.offsetHeight})),hn=e=>gn.get(e),pn=e=>gn.getOuter(e),wn=(e,t)=>({left:e,top:t,translate:(o,n)=>wn(e+o,t+n)}),bn=wn,vn=(e,t)=>void 0!==e?e:void 0!==t?t:0,yn=e=>{const t=e.dom.ownerDocument,o=t.body,n=t.defaultView,r=t.documentElement;if(o===e.dom)return bn(o.offsetLeft,o.offsetTop);const s=vn(null==n?void 0:n.pageYOffset,r.scrollTop),l=vn(null==n?void 0:n.pageXOffset,r.scrollLeft),a=vn(r.clientTop,o.clientTop),c=vn(r.clientLeft,o.clientLeft);return xn(e).translate(l-c,s-a)},xn=e=>{const t=e.dom,o=t.ownerDocument.body;return o===t?bn(o.offsetLeft,o.offsetTop):lt(e)?(e=>{const t=e.getBoundingClientRect();return bn(t.left,t.top)})(t):bn(0,0)},Cn=(e,t)=>({row:e,y:t}),Sn=(e,t)=>({col:e,x:t}),Tn=e=>yn(e).left+Wo(e),Rn=e=>yn(e).left,Dn=(e,t)=>Sn(e,Rn(t)),On=(e,t)=>Sn(e,Tn(t)),kn=e=>yn(e).top,En=(e,t)=>Cn(e,kn(t)),Nn=(e,t)=>Cn(e,kn(t)+pn(t)),Bn=(e,t,o)=>{if(0===o.length)return[];const n=E(o.slice(1),((t,o)=>t.map((t=>e(o,t))))),r=o[o.length-1].map((e=>t(o.length-1,e)));return n.concat([r])},_n={delta:h,positions:e=>Bn(En,Nn,e),edge:kn},zn=un({delta:h,edge:Rn,positions:e=>Bn(Dn,On,e)},{delta:e=>-e,edge:Tn,positions:e=>Bn(On,Dn,e)}),An={delta:(e,t)=>zn(t).delta(e,t),positions:(e,t)=>zn(t).positions(e,t),edge:e=>zn(e).edge(e)},Ln={unsupportedLength:["em","ex","cap","ch","ic","rem","lh","rlh","vw","vh","vi","vb","vmin","vmax","cm","mm","Q","in","pc","pt","px"],fixed:["px","pt"],relative:["%"],empty:[""]},Wn=(()=>{const e="[0-9]+",t="[eE][+-]?"+e,o=e=>`(?:${e})?`,n=["Infinity",e+"\\."+o(e)+o(t),"\\."+e+o(t),e+o(t)].join("|");return new RegExp(`^([+-]?(?:${n}))(.*)$`)})(),Mn=/(\d+(\.\d+)?)%/,jn=/(\d+(\.\d+)?)px|em/,Pn=ue("col"),In=(e,t,o)=>{const n=Be(e).getOrThunk((()=>at(ke(e))));return t(e)/o(n)*100},Fn=(e,t)=>{Nt(e,"width",t+"px")},Hn=(e,t)=>{Nt(e,"width",t+"%")},$n=(e,t)=>{Nt(e,"height",t+"px")},Vn=e=>{const t=(e=>{return zo(t=e,"height",t.dom.offsetHeight)+"px";var t})(e);return t?((e,t,o,n)=>{const r=parseFloat(e);return Rt(e,"%")&&"table"!==ne(t)?((e,t,o,n)=>{const r=Kt(e).map((e=>{const n=o(e);return Math.floor(t/100*n)})).getOr(t);return n(e,r),r})(t,r,o,n):r})(t,e,hn,$n):hn(e)},qn=(e,t)=>At(e,t).orThunk((()=>we(e,t).map((e=>e+"px")))),Un=e=>qn(e,"width"),Gn=e=>In(e,Lo,Mo),Kn=e=>{return Pn(e)?Lo(e):zo(t=e,"width",t.dom.offsetWidth);var t},Yn=e=>((e,t,o)=>o(e)/Mt(e,"rowspan"))(e,0,Vn),Jn=(e,t,o)=>{Nt(e,"width",t+o)},Qn=e=>In(e,Lo,Mo)+"%",Xn=g(Mn),Zn=ue("col"),er=e=>Un(e).getOrThunk((()=>Kn(e)+"px")),tr=e=>{return(t=e,qn(t,"height")).getOrThunk((()=>Yn(e)+"px"));var t},or=(e,t,o,n,r,s)=>e.filter(n).fold((()=>s(((e,t)=>{if(t<0||t>=e.length-1)return C.none();const o=e[t].fold((()=>{const o=(e=>{const t=S.call(e,0);return t.reverse(),t})(e.slice(0,t));return V(o,((e,t)=>e.map((e=>({value:e,delta:t+1})))))}),(e=>C.some({value:e,delta:0}))),n=e[t+1].fold((()=>{const o=e.slice(t+1);return V(o,((e,t)=>e.map((e=>({value:e,delta:t+1})))))}),(e=>C.some({value:e,delta:1})));return o.bind((e=>n.map((t=>{const o=t.delta+e.delta;return Math.abs(t.value-e.value)/o}))))})(o,t))),(e=>r(e))),nr=(e,t,o,n)=>{const r=cn(e),s=ln(e)?(e=>E(sn(e),(e=>C.from(e.element))))(e):r,l=[C.some(An.edge(t))].concat(E(An.positions(r,t),(e=>e.map((e=>e.x))))),a=b(jt);return E(s,((e,t)=>or(e,t,l,a,(e=>{if((e=>{const t=Bo().browser,o=t.isChromium()||t.isFirefox();return!Zn(e)||o})(e))return o(e);{const e=null!=(s=r[t])?h(s):C.none();return or(e,t,l,a,(e=>n(C.some(Lo(e)))),n)}var s}),n)))},rr=e=>e.map((e=>e+"px")).getOr(""),sr=(e,t,o)=>nr(e,t,Kn,(e=>e.getOrThunk(o.minCellWidth))),lr=(e,t,o,n,r)=>{const s=dn(e),l=[C.some(o.edge(t))].concat(E(o.positions(s,t),(e=>e.map((e=>e.y)))));return E(s,((e,t)=>or(e,t,l,b(Pt),n,r)))},ar=(e,t)=>()=>lt(e)?t(e):parseFloat(At(e,"width").getOr("0")),cr=e=>{const t=ar(e,(e=>parseFloat(Qn(e)))),o=ar(e,Lo);return{width:t,pixelWidth:o,getWidths:(t,o)=>((e,t,o)=>nr(e,t,Gn,(e=>e.fold((()=>o.minCellWidth()),(e=>e/o.pixelWidth()*100)))))(t,e,o),getCellDelta:e=>e/o()*100,singleColumnWidth:(e,t)=>[100-e],minCellWidth:()=>Ft()/o()*100,setElementWidth:Hn,adjustTableWidth:o=>{const n=t();Hn(e,n+o/100*n)},isRelative:!0,label:"percent"}},ir=e=>{const t=ar(e,Lo);return{width:t,pixelWidth:t,getWidths:(t,o)=>sr(t,e,o),getCellDelta:h,singleColumnWidth:(e,t)=>[Math.max(Ft(),e+t)-e],minCellWidth:Ft,setElementWidth:Fn,adjustTableWidth:o=>{const n=t()+o;Fn(e,n)},isRelative:!1,label:"pixel"}},mr=e=>Un(e).fold((()=>(e=>{const t=ar(e,Lo),o=g(0);return{width:t,pixelWidth:t,getWidths:(t,o)=>sr(t,e,o),getCellDelta:o,singleColumnWidth:g([0]),minCellWidth:o,setElementWidth:f,adjustTableWidth:f,isRelative:!0,label:"none"}})(e)),(t=>((e,t)=>null!==Xn().exec(t)?cr(e):ir(e))(e,t))),dr=ir,ur=cr,fr=(e,t,o)=>{const n=e[o].element,r=xe.fromTag("td");Ie(r,xe.fromTag("br")),(t?Ie:Pe)(n,r)},gr=((e,t)=>{const o=t=>e(t)?C.from(t.dom.nodeValue):C.none();return{get:t=>{if(!e(t))throw new Error("Can only get text value of a text node");return o(t).getOr("")},getOption:o,set:(t,o)=>{if(!e(t))throw new Error("Can only set raw text value of a text node");t.dom.nodeValue=o}}})(ie),hr=e=>gr.get(e),pr=e=>gr.getOption(e),wr=(e,t)=>gr.set(e,t),br=e=>"img"===ne(e)?1:pr(e).fold((()=>Le(e).length),(e=>e.length)),vr=["img","br"],yr=e=>pr(e).filter((e=>0!==e.trim().length||e.indexOf("\xa0")>-1)).isSome()||D(vr,ne(e))||(e=>ae(e)&&"false"===pe(e,"contenteditable"))(e),xr=e=>((e,t)=>{const o=e=>{for(let n=0;n<e.childNodes.length;n++){const r=xe.fromDom(e.childNodes[n]);if(t(r))return C.some(r);const s=o(e.childNodes[n]);if(s.isSome())return s}return C.none()};return o(e.dom)})(e,yr),Cr=e=>Sr(e,yr),Sr=(e,t)=>{const o=e=>{const n=Le(e);for(let e=n.length-1;e>=0;e--){const r=n[e];if(t(r))return C.some(r);const s=o(r);if(s.isSome())return s}return C.none()};return o(e)},Tr={scope:["row","col"]},Rr=e=>()=>{const t=xe.fromTag("td",e.dom);return Ie(t,xe.fromTag("br",e.dom)),t},Dr=e=>()=>xe.fromTag("col",e.dom),Or=e=>()=>xe.fromTag("colgroup",e.dom),kr=e=>()=>xe.fromTag("tr",e.dom),Er=(e,t,o)=>{const n=((e,t)=>{const o=Je(e,t),n=Le(Ye(e));return $e(o,n),o})(e,t);return G(o,((e,t)=>{null===e?be(n,t):ge(n,t,e)})),n},Nr=e=>e,Br=(e,t,o)=>{const n=(e,t)=>{((e,t)=>{const o=e.dom,n=t.dom;kt(o)&&kt(n)&&(n.style.cssText=o.style.cssText)})(e.element,t),Lt(t,"height"),1!==e.colspan&&Lt(t,"width")};return{col:o=>{const r=xe.fromTag(ne(o.element),t.dom);return n(o,r),e(o.element,r),r},colgroup:Or(t),row:kr(t),cell:r=>{const s=xe.fromTag(ne(r.element),t.dom),l=o.getOr(["strong","em","b","i","span","font","h1","h2","h3","h4","h5","h6","p","div"]),a=l.length>0?((e,t,o)=>xr(e).map((n=>{const r=o.join(","),s=it(n,r,(t=>Re(t,e)));return z(s,((e,t)=>{const o=Ke(t);return Ie(e,o),o}),t)})).getOr(t))(r.element,s,l):s;return Ie(a,xe.fromTag("br")),n(r,s),((e,t)=>{G(Tr,((o,n)=>we(e,n).filter((e=>D(o,e))).each((e=>ge(t,n,e)))))})(r.element,s),e(r.element,s),s},replace:Er,colGap:Dr(t),gap:Rr(t)}},_r=e=>({col:Dr(e),colgroup:Or(e),row:kr(e),cell:Rr(e),replace:Nr,colGap:Dr(e),gap:Rr(e)}),zr=e=>t=>t.options.get(e),Ar="100%",Lr=e=>{var t;const o=e.dom,n=null!==(t=o.getParent(e.selection.getStart(),o.isBlock))&&void 0!==t?t:e.getBody();return Mo(xe.fromDom(n))+"px"},Wr=e=>C.from(e.options.get("table_clone_elements")),Mr=zr("table_header_type"),jr=zr("table_column_resizing"),Pr=e=>"preservetable"===jr(e),Ir=e=>"resizetable"===jr(e),Fr=zr("table_sizing_mode"),Hr=e=>"relative"===Fr(e),$r=e=>"fixed"===Fr(e),Vr=e=>"responsive"===Fr(e),qr=zr("table_resize_bars"),Ur=zr("table_style_by_css"),Gr=zr("table_merge_content_on_paste"),Kr=e=>{const t=e.options,o=t.get("table_default_attributes");return t.isSet("table_default_attributes")?o:((e,t)=>Vr(e)||Ur(e)?t:$r(e)?{...t,width:Lr(e)}:{...t,width:Ar})(e,o)},Yr=zr("table_use_colgroups"),Jr=e=>bt(e,"[contenteditable]"),Qr=(e,t=!1)=>lt(e)?e.dom.isContentEditable:Jr(e).fold(g(t),(e=>"true"===Xr(e))),Xr=e=>e.dom.contentEditable,Zr=e=>xe.fromDom(e.getBody()),es=e=>t=>Re(t,Zr(e)),ts=e=>{be(e,"data-mce-style");const t=e=>be(e,"data-mce-style");N(Ut(e),t),N(Gt(e),t),N(Yt(e),t)},os=e=>xe.fromDom(e.selection.getStart()),ns=e=>e.getBoundingClientRect().width,rs=e=>e.getBoundingClientRect().height,ss=e=>gt(e,ue("table")).exists(Qr),ls=(e,t)=>{const o=t.column,n=t.column+t.colspan-1,r=t.row,s=t.row+t.rowspan-1;return o<=e.finishCol&&n>=e.startCol&&r<=e.finishRow&&s>=e.startRow},as=(e,t)=>t.column>=e.startCol&&t.column+t.colspan-1<=e.finishCol&&t.row>=e.startRow&&t.row+t.rowspan-1<=e.finishRow,cs=(e,t,o)=>{const n=on(e,t,Re),r=on(e,o,Re);return n.bind((e=>r.map((t=>{return o=e,n=t,{startRow:Math.min(o.row,n.row),startCol:Math.min(o.column,n.column),finishRow:Math.max(o.row+o.rowspan-1,n.row+n.rowspan-1),finishCol:Math.max(o.column+o.colspan-1,n.column+n.colspan-1)};var o,n}))))},is=(e,t,o)=>cs(e,t,o).map((t=>{const o=nn(e,w(ls,t));return E(o,(e=>e.element))})),ms=(e,t)=>on(e,t,((e,t)=>De(t,e))).map((e=>e.element)),ds=(e,t,o)=>{const n=fs(e);return is(n,t,o)},us=(e,t,o,n,r)=>{const s=fs(e),l=Re(e,o)?C.some(t):ms(s,t),a=Re(e,r)?C.some(n):ms(s,n);return l.bind((e=>a.bind((t=>is(s,e,t)))))},fs=Zo;var gs=["body","p","div","article","aside","figcaption","figure","footer","header","nav","section","ol","ul","li","table","thead","tbody","tfoot","caption","tr","td","th","h1","h2","h3","h4","h5","h6","blockquote","pre","address"],hs=()=>({up:g({selector:ht,closest:bt,predicate:ft,all:_e}),down:g({selector:dt,predicate:ct}),styles:g({get:_t,getRaw:At,set:Nt,remove:Lt}),attrs:g({get:pe,set:ge,remove:be,copyTo:(e,t)=>{const o=ve(e);he(t,o)}}),insert:g({before:Me,after:je,afterAll:He,append:Ie,appendAll:$e,prepend:Pe,wrap:Fe}),remove:g({unwrap:Ue,remove:qe}),create:g({nu:xe.fromTag,clone:e=>xe.fromDom(e.dom.cloneNode(!1)),text:xe.fromText}),query:g({comparePosition:(e,t)=>e.dom.compareDocumentPosition(t.dom),prevSibling:ze,nextSibling:Ae}),property:g({children:Le,name:ne,parent:Ne,document:e=>Ee(e).dom,isText:ie,isComment:le,isElement:ce,isSpecial:e=>{const t=ne(e);return D(["script","noscript","iframe","noframes","noembed","title","style","textarea","xmp"],t)},getLanguage:e=>ce(e)?we(e,"lang"):C.none(),getText:hr,setText:wr,isBoundary:e=>!!ce(e)&&("body"===ne(e)||D(gs,ne(e))),isEmptyTag:e=>!!ce(e)&&D(["br","img","hr","input"],ne(e)),isNonEditable:e=>ce(e)&&"false"===pe(e,"contenteditable")}),eq:Re,is:Oe});const ps=(e,t,o,n)=>{const r=t(e,o);return z(n,((o,n)=>{const r=t(e,n);return ws(e,o,r)}),r)},ws=(e,t,o)=>t.bind((t=>o.filter(w(e.eq,t)))),bs=hs(),vs=(e,t)=>((e,t,o)=>o.length>0?((e,t,o,n)=>n(e,t,o[0],o.slice(1)))(e,t,o,ps):C.none())(bs,((t,o)=>e(o)),t),ys=e=>ht(e,"table"),xs=(e,t,o)=>{const n=e=>t=>void 0!==o&&o(t)||Re(t,e);return Re(e,t)?C.some({boxes:C.some([e]),start:e,finish:t}):ys(e).bind((r=>ys(t).bind((s=>{if(Re(r,s))return C.some({boxes:ds(r,e,t),start:e,finish:t});if(De(r,s)){const o=it(t,"td,th",n(r)),l=o.length>0?o[o.length-1]:t;return C.some({boxes:us(r,e,r,t,s),start:e,finish:l})}if(De(s,r)){const o=it(e,"td,th",n(s)),l=o.length>0?o[o.length-1]:e;return C.some({boxes:us(s,e,r,t,s),start:e,finish:l})}return((e,t,o)=>((e,t,o,n=y)=>{const r=[t].concat(e.up().all(t)),s=[o].concat(e.up().all(o)),l=e=>W(e,n).fold((()=>e),(t=>e.slice(0,t+1))),a=l(r),c=l(s),i=L(a,(t=>O(c,((e,t)=>w(e.eq,t))(e,t))));return{firstpath:a,secondpath:c,shared:i}})(bs,e,t,void 0))(e,t).shared.bind((l=>bt(l,"table",o).bind((o=>{const l=it(t,"td,th",n(o)),a=l.length>0?l[l.length-1]:t,c=it(e,"td,th",n(o)),i=c.length>0?c[c.length-1]:e;return C.some({boxes:us(o,e,r,t,s),start:i,finish:a})}))))}))))},Cs=(e,t)=>{const o=dt(e,t);return o.length>0?C.some(o):C.none()},Ss=(e,t,o)=>wt(e,t).bind((t=>wt(e,o).bind((e=>vs(ys,[t,e]).map((o=>({first:t,last:e,table:o}))))))),Ts=(e,t,o,n,r)=>((e,t)=>L(e,(e=>Ce(e,t))))(e,r).bind((e=>((e,t,o)=>Kt(e).bind((n=>((e,t,o,n)=>on(e,t,Re).bind((t=>{const r=o>0?t.row+t.rowspan-1:t.row,s=n>0?t.column+t.colspan-1:t.column;return tn(e,r+o,s+n).map((e=>e.element))})))(fs(n),e,t,o))))(e,t,o).bind((e=>((e,t)=>ht(e,"table").bind((o=>wt(o,t).bind((t=>xs(t,e).bind((e=>e.boxes.map((t=>({boxes:t,start:e.start,finish:e.finish}))))))))))(e,n))))),Rs=(e,t)=>Cs(e,t),Ds=(e,t,o)=>Ss(e,t,o).bind((t=>{const o=t=>Re(e,t),n="thead,tfoot,tbody,table",r=ht(t.first,n,o),s=ht(t.last,n,o);return r.bind((e=>s.bind((o=>Re(e,o)?((e,t,o)=>((e,t,o)=>cs(e,t,o).bind((t=>((e,t)=>{let o=!0;const n=w(as,t);for(let r=t.startRow;r<=t.finishRow;r++)for(let s=t.startCol;s<=t.finishCol;s++)o=o&&tn(e,r,s).exists(n);return o?C.some(t):C.none()})(e,t))))(fs(e),t,o))(t.table,t.first,t.last):C.none()))))})),Os=h,ks=e=>{const t=(e,t)=>we(e,t).exists((e=>parseInt(e,10)>1));return e.length>0&&P(e,(e=>t(e,"rowspan")||t(e,"colspan")))?C.some(e):C.none()},Es=(e,t,o)=>t.length<=1?C.none():Ds(e,o.firstSelectedSelector,o.lastSelectedSelector).map((e=>({bounds:e,cells:t}))),Ns="data-mce-selected",Bs="data-mce-first-selected",_s="data-mce-last-selected",zs="["+Ns+"]",As={selected:Ns,selectedSelector:"td["+Ns+"],th["+Ns+"]",firstSelected:Bs,firstSelectedSelector:"td["+Bs+"],th["+Bs+"]",lastSelected:_s,lastSelectedSelector:"td["+_s+"],th["+_s+"]"},Ls=(e,t,o)=>({element:o,mergable:Es(t,e,As),unmergable:ks(e),selection:Os(e)}),Ws=e=>(t,o)=>{const n=ne(t),r="col"===n||"colgroup"===n?Kt(s=t).bind((e=>Rs(e,As.firstSelectedSelector))).fold(g(s),(e=>e[0])):t;var s;return bt(r,e,o)},Ms=Ws("th,td,caption"),js=Ws("th,td"),Ps=e=>{return t=e.model.table.getSelectedCells(),E(t,xe.fromDom);var t},Is=(e,t)=>{e.on("BeforeGetContent",(t=>{const o=o=>{t.preventDefault(),(e=>Kt(e[0]).map((e=>{const t=((e,t)=>{const o=e=>Ce(e.element,t),n=Ye(e),r=Zt(n),s=mr(e),l=en(r),a=((e,t)=>{const o=e.grid.columns;let n=e.grid.rows,r=o,s=0,l=0;const a=[],c=[];return G(e.access,(e=>{if(a.push(e),t(e)){c.push(e);const t=e.row,o=t+e.rowspan-1,a=e.column,i=a+e.colspan-1;t<n?n=t:o>s&&(s=o),a<r?r=a:i>l&&(l=i)}})),((e,t,o,n,r,s)=>({minRow:e,minCol:t,maxRow:o,maxCol:n,allCells:r,selectedCells:s}))(n,r,s,l,a,c)})(l,o),c="th:not("+t+"),td:not("+t+")",i=Vt(n,"th,td",(e=>Ce(e,c)));N(i,qe),((e,t,o,n)=>{const r=_(e,(e=>"colgroup"!==e.section)),s=t.grid.columns,l=t.grid.rows;for(let e=0;e<l;e++){let l=!1;for(let a=0;a<s;a++)e<o.minRow||e>o.maxRow||a<o.minCol||a>o.maxCol||(tn(t,e,a).filter(n).isNone()?fr(r,l,e):l=!0)}})(r,l,a,o);const m=((e,t,o,n)=>{if(0===n.minCol&&t.grid.columns===n.maxCol+1)return 0;const r=sr(t,e,o),s=A(r,((e,t)=>e+t),0),l=A(r.slice(n.minCol,n.maxCol+1),((e,t)=>e+t),0),a=l/s*o.pixelWidth()-o.pixelWidth();return o.getCellDelta(a)})(e,Zo(e),s,a);return((e,t,o,n)=>{G(o.columns,(e=>{(e.column<t.minCol||e.column>t.maxCol)&&qe(e.element)}));const r=_($t(e,"tr"),(e=>0===e.dom.childElementCount));N(r,qe),t.minCol!==t.maxCol&&t.minRow!==t.maxRow||N($t(e,"th,td"),(e=>{be(e,"rowspan"),be(e,"colspan")})),be(e,Go),be(e,"data-snooker-col-series"),mr(e).adjustTableWidth(n)})(n,a,l,m),n})(e,zs);return ts(t),[t]})))(o).each((o=>{t.content="text"===t.format?(e=>E(e,(e=>e.dom.innerText)).join(""))(o):((e,t)=>E(t,(t=>e.selection.serializer.serialize(t.dom,{}))).join(""))(e,o)}))};if(!0===t.selection){const t=(e=>_(Ps(e),(e=>Ce(e,As.selectedSelector))))(e);t.length>=1&&o(t)}})),e.on("BeforeSetContent",(o=>{if(!0===o.selection&&!0===o.paste){const n=Ps(e);H(n).each((n=>{Kt(n).each((r=>{const s=_(((e,t)=>{const o=document.createElement("div");return o.innerHTML=e,Le(xe.fromDom(o))})(o.content),(e=>"meta"!==ne(e))),l=ue("table");if(Gr(e)&&1===s.length&&l(s[0])){o.preventDefault();const l=xe.fromDom(e.getDoc()),a=_r(l),c=((e,t,o)=>({element:e,clipboard:t,generators:o}))(n,s[0],a);t.pasteCells(r,c).each((()=>{e.focus()}))}}))}))}}))},Fs=(e,t)=>({element:e,offset:t}),Hs=(e,t,o)=>e.property().isText(t)&&0===e.property().getText(t).trim().length||e.property().isComment(t)?o(t).bind((t=>Hs(e,t,o).orThunk((()=>C.some(t))))):C.none(),$s=(e,t)=>e.property().isText(t)?e.property().getText(t).length:e.property().children(t).length,Vs=(e,t)=>{const o=Hs(e,t,e.query().prevSibling).getOr(t);if(e.property().isText(o))return Fs(o,$s(e,o));const n=e.property().children(o);return n.length>0?Vs(e,n[n.length-1]):Fs(o,$s(e,o))},qs=Vs,Us=hs(),Gs=(e,t)=>{if(!jt(e)){const o=(e=>Un(e).bind((e=>{return t=e,o=["fixed","relative","empty"],C.from(Wn.exec(t)).bind((e=>{const t=Number(e[1]),n=e[2];return((e,t)=>O(t,(t=>O(Ln[t],(t=>e===t)))))(n,o)?C.some({value:t,unit:n}):C.none()}));var t,o})))(e);o.each((o=>{const n=o.value/2;Jn(e,n,o.unit),Jn(t,n,o.unit)}))}},Ks=e=>E(e,g(0)),Ys=(e,t,o,n,r)=>r(e.slice(0,t)).concat(n).concat(r(e.slice(o))),Js=e=>(t,o,n,r)=>{if(e(n)){const e=Math.max(r,t[o]-Math.abs(n)),s=Math.abs(e-t[o]);return n>=0?s:-s}return n},Qs=Js((e=>e<0)),Xs=Js(x),Zs=()=>{const e=(e,t,o,n)=>{const r=(100+o)/100,s=Math.max(n,(e[t]+o)/r);return E(e,((e,o)=>(o===t?s:e/r)-e))},t=(t,o,n,r,s,l)=>l?e(t,o,r,s):((e,t,o,n,r)=>{const s=Qs(e,t,n,r);return Ys(e,t,o+1,[s,0],Ks)})(t,o,n,r,s);return{resizeTable:(e,t)=>e(t),clampTableDelta:Qs,calcLeftEdgeDeltas:t,calcMiddleDeltas:(e,o,n,r,s,l,a)=>t(e,n,r,s,l,a),calcRightEdgeDeltas:(t,o,n,r,s,l)=>{if(l)return e(t,n,r,s);{const e=Qs(t,n,r,s);return Ks(t.slice(0,n)).concat([e])}},calcRedestributedWidths:(e,t,o,n)=>{if(n){const n=(t+o)/t,r=E(e,(e=>e/n));return{delta:100*n-100,newSizes:r}}return{delta:o,newSizes:e}}}},el=()=>{const e=(e,t,o,n,r)=>{const s=Xs(e,n>=0?o:t,n,r);return Ys(e,t,o+1,[s,-s],Ks)};return{resizeTable:(e,t,o)=>{o&&e(t)},clampTableDelta:(e,t,o,n,r)=>{if(r){if(o>=0)return o;{const t=A(e,((e,t)=>e+t-n),0);return Math.max(-t,o)}}return Qs(e,t,o,n)},calcLeftEdgeDeltas:e,calcMiddleDeltas:(t,o,n,r,s,l)=>e(t,n,r,s,l),calcRightEdgeDeltas:(e,t,o,n,r,s)=>{if(s)return Ks(e);{const t=n/e.length;return E(e,g(t))}},calcRedestributedWidths:(e,t,o,n)=>({delta:0,newSizes:e})}},tl=e=>Zo(e).grid,ol=ue("th"),nl=e=>P(e,(e=>ol(e.element))),rl=(e,t)=>e&&t?"sectionCells":e?"section":"cells",sl=e=>{const t="thead"===e.section,o=vt(ll(e.cells),"th");return"tfoot"===e.section?{type:"footer"}:t||o?{type:"header",subType:rl(t,o)}:{type:"body"}},ll=e=>{const t=_(e,(e=>ol(e.element)));return 0===t.length?C.some("td"):t.length===e.length?C.some("th"):C.none()},al=(e,t,o)=>et(o(e.element,t),!0,e.isLocked),cl=(e,t)=>e.section!==t?tt(e.element,e.cells,t,e.isNew):e,il=()=>({transformRow:cl,transformCell:(e,t,o)=>{const n=o(e.element,t),r="td"!==ne(n)?((e,t)=>{const o=Je(e,"td");je(e,o);const n=Le(e);return $e(o,n),qe(e),o})(n):n;return et(r,e.isNew,e.isLocked)}}),ml=()=>({transformRow:cl,transformCell:al}),dl=()=>({transformRow:(e,t)=>cl(e,"thead"===t?"tbody":t),transformCell:al}),ul=il,fl=ml,gl=dl,hl=()=>({transformRow:h,transformCell:al}),pl=(e,t,o,n)=>{o===n?be(e,t):ge(e,t,o)},wl=(e,t,o)=>{$(mt(e,t)).fold((()=>Pe(e,o)),(e=>je(e,o)))},bl=(e,t)=>{const o=[],n=[],r=e=>E(e,(e=>{e.isNew&&o.push(e.element);const t=e.element;return Ve(t),N(e.cells,(e=>{e.isNew&&n.push(e.element),pl(e.element,"colspan",e.colspan,1),pl(e.element,"rowspan",e.rowspan,1),Ie(t,e.element)})),t})),s=e=>j(e,(e=>E(e.cells,(e=>(pl(e.element,"span",e.colspan,1),e.element))))),l=(t,o)=>{const n=((e,t)=>{const o=pt(e,t).getOrThunk((()=>{const o=xe.fromTag(t,ke(e).dom);return"thead"===t?wl(e,"caption,colgroup",o):"colgroup"===t?wl(e,"caption",o):Ie(e,o),o}));return Ve(o),o})(e,o),l=("colgroup"===o?s:r)(t);$e(n,l)},a=(t,o)=>{t.length>0?l(t,o):(t=>{pt(e,t).each(qe)})(o)},c=[],i=[],m=[],d=[];return N(t,(e=>{switch(e.section){case"thead":c.push(e);break;case"tbody":i.push(e);break;case"tfoot":m.push(e);break;case"colgroup":d.push(e)}})),a(d,"colgroup"),a(c,"thead"),a(i,"tbody"),a(m,"tfoot"),{newRows:o,newCells:n}},vl=(e,t)=>{if(0===e.length)return 0;const o=e[0];return W(e,(e=>!t(o.element,e.element))).getOr(e.length)},yl=(e,t)=>{const o=E(e,(e=>E(e.cells,y)));return E(e,((n,r)=>{const s=j(n.cells,((n,s)=>{if(!1===o[r][s]){const m=((e,t,o,n)=>{const r=((e,t)=>e[t])(e,t),s="colgroup"===r.section,l=vl(r.cells.slice(o),n),a=s?1:vl(((e,t)=>E(e,(e=>Ho(e,t))))(e.slice(t),o),n);return{colspan:l,rowspan:a}})(e,r,s,t);return((e,t,n,r)=>{for(let s=e;s<e+n;s++)for(let e=t;e<t+r;e++)o[s][e]=!0})(r,s,m.rowspan,m.colspan),[(l=n.element,a=m.rowspan,c=m.colspan,i=n.isNew,{element:l,rowspan:a,colspan:c,isNew:i})]}return[];var l,a,c,i}));return((e,t,o,n)=>({element:e,cells:t,section:o,isNew:n}))(n.element,s,n.section,n.isNew)}))},xl=(e,t,o)=>{const n=[];N(e.colgroups,(r=>{const s=[];for(let n=0;n<e.grid.columns;n++){const r=an(e,n).map((e=>et(e.element,o,!1))).getOrThunk((()=>et(t.colGap(),!0,!1)));s.push(r)}n.push(tt(r.element,s,"colgroup",o))}));for(let r=0;r<e.grid.rows;r++){const s=[];for(let n=0;n<e.grid.columns;n++){const l=tn(e,r,n).map((e=>et(e.element,o,e.isLocked))).getOrThunk((()=>et(t.gap(),!0,!1)));s.push(l)}const l=e.all[r],a=tt(l.element,s,l.section,o);n.push(a)}return n},Cl=e=>yl(e,Re),Sl=(e,t)=>V(e.all,(e=>L(e.cells,(e=>Re(t,e.element))))),Tl=(e,t,o)=>{const n=E(t.selection,(t=>qt(t).bind((t=>Sl(e,t))).filter(o))),r=yt(n);return xt(r.length>0,r)},Rl=(e,t,o,n,r)=>(s,l,a,c)=>{const i=Zo(s),m=C.from(null==c?void 0:c.section).getOrThunk(hl);return t(i,l).map((t=>{const o=((e,t)=>xl(e,t,!1))(i,a),n=e(o,t,Re,r(a),m),s=Yo(n.grid);return{info:t,grid:Cl(n.grid),cursor:n.cursor,lockedColumns:s}})).bind((e=>{const t=bl(s,e.grid),r=C.from(null==c?void 0:c.sizing).getOrThunk((()=>mr(s))),l=C.from(null==c?void 0:c.resize).getOrThunk(el);return o(s,e.grid,e.info,{sizing:r,resize:l,section:m}),n(s),be(s,Go),e.lockedColumns.length>0&&ge(s,Go,e.lockedColumns.join(",")),C.some({cursor:e.cursor,newRows:t.newRows,newCells:t.newCells})}))},Dl=(e,t)=>Tl(e,t,x).map((e=>({cells:e,generators:t.generators,clipboard:t.clipboard}))),Ol=(e,t)=>Tl(e,t,x),kl=(e,t)=>Tl(e,t,(e=>!e.isLocked)),El=(e,t)=>P(t,(t=>((e,t)=>Sl(e,t).exists((e=>!e.isLocked)))(e,t))),Nl=(e,t,o,n)=>{const r=qo(e).rows;let s=!0;for(let e=0;e<r.length;e++)for(let l=0;l<Vo(r[0]);l++){const a=r[e],c=Ho(a,l),i=o(c.element,t);i&&!s?Io(a,l,et(n(),!0,c.isLocked)):i&&(s=!1)}return e},Bl=e=>{const t=t=>t(e),o=g(e),n=()=>r,r={tag:!0,inner:e,fold:(t,o)=>o(e),isValue:x,isError:y,map:t=>zl.value(t(e)),mapError:n,bind:t,exists:t,forall:t,getOr:o,or:n,getOrThunk:o,orThunk:n,getOrDie:o,each:t=>{t(e)},toOptional:()=>C.some(e)};return r},_l=e=>{const t=()=>o,o={tag:!1,inner:e,fold:(t,o)=>t(e),isValue:y,isError:x,map:t,mapError:t=>zl.error(t(e)),bind:t,exists:y,forall:x,getOr:h,or:h,getOrThunk:v,orThunk:v,getOrDie:(n=String(e),()=>{throw new Error(n)}),each:f,toOptional:C.none};var n;return o},zl={value:Bl,error:_l,fromOption:(e,t)=>e.fold((()=>_l(t)),Bl)},Al=(e,t)=>({rowDelta:0,colDelta:Vo(e[0])-Vo(t[0])}),Ll=(e,t)=>({rowDelta:e.length-t.length,colDelta:0}),Wl=(e,t,o,n)=>{const r="colgroup"===t.section?o.col:o.cell;return k(e,(e=>et(r(),!0,n(e))))},Ml=(e,t,o,n)=>{const r=e[e.length-1];return e.concat(k(t,(()=>{const e="colgroup"===r.section?o.colgroup:o.row,t=Uo(r,e,h),s=Wl(t.cells.length,t,o,(e=>X(n,e.toString())));return Fo(t,s)})))},jl=(e,t,o,n)=>E(e,(e=>{const r=Wl(t,e,o,y);return jo(e,n,r)})),Pl=(e,t,o)=>{const n=t.colDelta<0?jl:h,r=t.rowDelta<0?Ml:h,s=Yo(e),l=Vo(e[0]),a=O(s,(e=>e===l-1)),c=n(e,Math.abs(t.colDelta),o,a?l-1:l),i=Yo(c);return r(c,Math.abs(t.rowDelta),o,I(i,x))},Il=(e,t,o,n)=>{const r=w(n,Ho(e[t],o).element),s=e[t];return e.length>1&&Vo(s)>1&&(o>0&&r($o(s,o-1))||o<s.cells.length-1&&r($o(s,o+1))||t>0&&r($o(e[t-1],o))||t<e.length-1&&r($o(e[t+1],o)))},Fl=(e,t,o)=>_(o,(o=>o>=e.column&&o<=Vo(t[0])+e.column)),Hl=(e,t,o,n,r)=>{((e,t,o,n)=>{t>0&&t<e[0].cells.length&&N(e,(e=>{const r=e.cells[t-1];let s=0;const l=n();for(;e.cells.length>t+s&&o(r.element,e.cells[t+s].element);)Io(e,t+s,et(l,!0,e.cells[t+s].isLocked)),s++}))})(t,e,r,n.cell);const s=Ll(o,t),l=Pl(o,s,n),a=Ll(t,l),c=Pl(t,a,n);return E(c,((t,o)=>jo(t,e,l[o].cells)))},$l=(e,t,o,n,r)=>{((e,t,o,n)=>{const r=qo(e).rows;if(t>0&&t<r.length){const e=((e,t)=>A(e,((e,o)=>O(e,(e=>t(e.element,o.element)))?e:e.concat([o])),[]))(r[t-1].cells,o);N(e,(e=>{let s=C.none();for(let l=t;l<r.length;l++)for(let t=0;t<Vo(r[0]);t++){const a=r[l],c=Ho(a,t);o(c.element,e.element)&&(s.isNone()&&(s=C.some(n())),s.each((e=>{Io(a,t,et(e,!0,c.isLocked))})))}}))}})(t,e,r,n.cell);const s=Yo(t),l=Al(t,o),a={...l,colDelta:l.colDelta-s.length},c=Pl(t,a,n),{cols:i,rows:m}=qo(c),d=Yo(c),u=Al(o,t),f={...u,colDelta:u.colDelta+d.length},g=(p=n,w=d,E(o,(e=>A(w,((t,o)=>{const n=Wl(1,e,p,x)[0];return Po(t,o,n)}),e)))),h=Pl(g,f,n);var p,w;return[...i,...m.slice(0,e),...h,...m.slice(e,m.length)]},Vl=(e,t,o,n,r)=>{const{rows:s,cols:l}=qo(e),a=s.slice(0,t),c=s.slice(t);return[...l,...a,((e,t,o,n)=>Uo(e,(e=>n(e,o)),t))(s[o],((e,o)=>t>0&&t<s.length&&n($o(s[t-1],o),$o(s[t],o))?Ho(s[t],o):et(r(e.element,n),!0,e.isLocked)),n,r),...c]},ql=(e,t,o,n,r)=>E(e,(e=>{const s=t>0&&t<Vo(e)&&n($o(e,t-1),$o(e,t)),l=((e,t,o,n,r,s,l)=>{if("colgroup"!==o&&n)return Ho(e,t);{const t=Ho(e,r);return et(l(t.element,s),!0,!1)}})(e,t,e.section,s,o,n,r);return Po(e,t,l)})),Ul=(e,t,o,n)=>((e,t,o,n)=>void 0!==$o(e[t],o)&&t>0&&n($o(e[t-1],o),$o(e[t],o)))(e,t,o,n)||((e,t,o)=>t>0&&o($o(e,t-1),$o(e,t)))(e[t],o,n),Gl=(e,t,o,n)=>{const r=e=>(e=>"row"===e?Pt(t):jt(t))(e)?`${e}group`:e;return e?ol(t)?r(o):null:n&&ol(t)?r("row"===o?"col":"row"):null},Kl=(e,t,o)=>et(o(e.element,t),!0,e.isLocked),Yl=(e,t,o,n,r,s,l)=>E(e,((e,a)=>((e,c)=>{const i=e.cells,m=E(i,((e,c)=>{if((e=>O(t,(t=>o(e.element,t.element))))(e)){const t=l(e,a,c)?r(e,o,n):e;return s(t,a,c).each((e=>{var o,n;o=t.element,n={scope:C.from(e)},G(n,((e,t)=>{e.fold((()=>{be(o,t)}),(e=>{fe(o.dom,t,e)}))}))})),t}return e}));return tt(e.element,m,e.section,e.isNew)})(e))),Jl=(e,t,o)=>j(e,((n,r)=>Ul(e,r,t,o)?[]:[Ho(n,t)])),Ql=(e,t,o,n,r)=>{const s=qo(e).rows,l=j(t,(e=>Jl(s,e,n))),a=E(s,(e=>nl(e.cells))),c=((e,t)=>P(t,h)&&nl(e)?x:(e,o,n)=>!("th"===ne(e.element)&&t[o]))(l,a),i=((e,t)=>(o,n)=>C.some(Gl(e,o.element,"row",t[n])))(o,a);return Yl(e,l,n,r,Kl,i,c)},Xl=(e,t,o,n)=>{const r=qo(e).rows,s=E(t,(e=>Ho(r[e.row],e.column)));return Yl(e,s,o,n,Kl,C.none,x)},Zl=e=>{if(!l(e))throw new Error("cases must be an array");if(0===e.length)throw new Error("there must be at least one case");const t=[],o={};return N(e,((n,r)=>{const s=q(n);if(1!==s.length)throw new Error("one and only one name per case");const a=s[0],c=n[a];if(void 0!==o[a])throw new Error("duplicate key detected:"+a);if("cata"===a)throw new Error("cannot have a case named cata (sorry)");if(!l(c))throw new Error("case arguments must be an array");t.push(a),o[a]=(...o)=>{const n=o.length;if(n!==c.length)throw new Error("Wrong number of arguments to case "+a+". Expected "+c.length+" ("+c+"), got "+n);return{fold:(...t)=>{if(t.length!==e.length)throw new Error("Wrong number of arguments to fold. Expected "+e.length+", got "+t.length);return t[r].apply(null,o)},match:e=>{const n=q(e);if(t.length!==n.length)throw new Error("Wrong number of arguments to match. Expected: "+t.join(",")+"\nActual: "+n.join(","));if(!P(t,(e=>D(n,e))))throw new Error("Not all branches were specified when using match. Specified: "+n.join(", ")+"\nRequired: "+t.join(", "));return e[a].apply(null,o)},log:e=>{console.log(e,{constructors:t,constructor:a,params:o})}}}})),o},ea={...Zl([{none:[]},{only:["index"]},{left:["index","next"]},{middle:["prev","index","next"]},{right:["prev","index"]}])},ta=(e,t,o)=>{let n=0;for(let r=e;r<t;r++)n+=void 0!==o[r]?o[r]:0;return n},oa=(e,t)=>{const o=rn(e);return E(o,(e=>{const o=ta(e.row,e.row+e.rowspan,t);return{element:e.element,height:o,rowspan:e.rowspan}}))},na=(e,t,o)=>{const n=((e,t)=>ln(e)?((e,t)=>{const o=sn(e);return E(o,((e,o)=>({element:e.element,width:t[o],colspan:e.colspan})))})(e,t):((e,t)=>{const o=rn(e);return E(o,(e=>{const o=ta(e.column,e.column+e.colspan,t);return{element:e.element,width:o,colspan:e.colspan}}))})(e,t))(e,t);N(n,(e=>{o.setElementWidth(e.element,e.width)}))},ra=(e,t,o,n,r)=>{const s=Zo(e),l=r.getCellDelta(t),a=r.getWidths(s,r),c=o===s.grid.columns-1,i=n.clampTableDelta(a,o,l,r.minCellWidth(),c),m=((e,t,o,n,r)=>{const s=e.slice(0),l=((e,t)=>0===e.length?ea.none():1===e.length?ea.only(0):0===t?ea.left(0,1):t===e.length-1?ea.right(t-1,t):t>0&&t<e.length-1?ea.middle(t-1,t,t+1):ea.none())(e,t),a=g(E(s,g(0)));return l.fold(a,(e=>n.singleColumnWidth(s[e],o)),((e,t)=>r.calcLeftEdgeDeltas(s,e,t,o,n.minCellWidth(),n.isRelative)),((e,t,l)=>r.calcMiddleDeltas(s,e,t,l,o,n.minCellWidth(),n.isRelative)),((e,t)=>r.calcRightEdgeDeltas(s,e,t,o,n.minCellWidth(),n.isRelative)))})(a,o,i,r,n),d=E(m,((e,t)=>e+a[t]));na(s,d,r),n.resizeTable(r.adjustTableWidth,i,c)},sa=e=>A(e,((e,t)=>O(e,(e=>e.column===t.column))?e:e.concat([t])),[]).sort(((e,t)=>e.column-t.column)),la=ue("col"),aa=ue("colgroup"),ca=e=>"tr"===ne(e)||aa(e),ia=e=>({element:e,colspan:Wt(e,"colspan",1),rowspan:Wt(e,"rowspan",1)}),ma=e=>we(e,"scope").map((e=>e.substr(0,3))),da=(e,t=ia)=>{const o=o=>{if(ca(o))return aa((r={element:o}).element)?e.colgroup(r):e.row(r);{const r=o,s=(t=>la(t.element)?e.col(t):e.cell(t))(t(r));return n=C.some({item:r,replacement:s}),s}var r};let n=C.none();return{getOrInit:(e,t)=>n.fold((()=>o(e)),(n=>t(e,n.item)?n.replacement:o(e)))}},ua=e=>t=>{const o=[],n=n=>{const r="td"===e?{scope:null}:{},s=t.replace(n,e,r);return o.push({item:n,sub:s}),s};return{replaceOrInit:(e,t)=>{if(ca(e)||la(e))return e;{const r=e;return((e,t)=>L(o,(o=>t(o.item,e))))(r,t).fold((()=>n(r)),(o=>t(e,o.item)?o.sub:n(r)))}}}},fa=e=>({unmerge:t=>{const o=ma(t);return o.each((e=>ge(t,"scope",e))),()=>{const n=e.cell({element:t,colspan:1,rowspan:1});return Lt(n,"width"),Lt(t,"width"),o.each((e=>ge(n,"scope",e))),n}},merge:e=>(Lt(e[0],"width"),(()=>{const t=yt(E(e,ma));if(0===t.length)return C.none();{const e=t[0],o=["row","col"];return O(t,(t=>t!==e&&D(o,t)))?C.none():C.from(e)}})().fold((()=>be(e[0],"scope")),(t=>ge(e[0],"scope",t+"group"))),g(e[0]))}),ga=["body","p","div","article","aside","figcaption","figure","footer","header","nav","section","ol","ul","table","thead","tfoot","tbody","caption","tr","td","th","h1","h2","h3","h4","h5","h6","blockquote","pre","address"],ha=hs(),pa=e=>((e,t)=>{const o=e.property().name(t);return D(ga,o)})(ha,e),wa=e=>((e,t)=>{const o=e.property().name(t);return D(["ol","ul"],o)})(ha,e),ba=e=>{const t=ue("br"),o=e=>Cr(e).bind((o=>{const n=Ae(o).map((e=>!!pa(e)||!!((e,t)=>D(["br","img","hr","input"],e.property().name(t)))(ha,e)&&"img"!==ne(e))).getOr(!1);return Ne(o).map((r=>{return!0===n||("li"===ne(s=r)||ft(s,wa).isSome())||t(o)||pa(r)&&!Re(e,r)?[]:[xe.fromTag("br")];var s}))})).getOr([]),n=(()=>{const n=j(e,(e=>{const n=Le(e);return(e=>P(e,(e=>t(e)||ie(e)&&0===hr(e).trim().length)))(n)?[]:n.concat(o(e))}));return 0===n.length?[xe.fromTag("br")]:n})();Ve(e[0]),$e(e[0],n)},va=e=>Qr(e,!0),ya=e=>{0===Ut(e).length&&qe(e)},xa=(e,t)=>({grid:e,cursor:t}),Ca=(e,t,o)=>{const n=((e,t,o)=>{var n,r;const s=qo(e).rows;return C.from(null===(r=null===(n=s[t])||void 0===n?void 0:n.cells[o])||void 0===r?void 0:r.element).filter(va).orThunk((()=>(e=>V(e,(e=>V(e.cells,(e=>{const t=e.element;return xt(va(t),t)})))))(s)))})(e,t,o);return xa(e,n)},Sa=e=>A(e,((e,t)=>O(e,(e=>e.row===t.row))?e:e.concat([t])),[]).sort(((e,t)=>e.row-t.row)),Ta=(e,t)=>(o,n,r,s,l)=>{const a=Sa(n),c=E(a,(e=>e.row)),i=((e,t,o,n,r,s,l)=>{const{cols:a,rows:c}=qo(e),i=c[t[0]],m=j(t,(e=>((e,t,o)=>{const n=e[t];return j(n.cells,((n,r)=>Ul(e,t,r,o)?[]:[n]))})(c,e,r))),d=E(i.cells,((e,t)=>nl(Jl(c,t,r)))),u=[...c];N(t,(e=>{u[e]=l.transformRow(c[e],o)}));const f=[...a,...u],g=((e,t)=>P(t,h)&&nl(e.cells)?x:(e,o,n)=>!("th"===ne(e.element)&&t[n]))(i,d),p=((e,t)=>(o,n,r)=>C.some(Gl(e,o.element,"col",t[r])))(n,d);return Yl(f,m,r,s,l.transformCell,p,g)})(o,c,e,t,r,s.replaceOrInit,l);return Ca(i,n[0].row,n[0].column)},Ra=Ta("thead",!0),Da=Ta("tbody",!1),Oa=Ta("tfoot",!1),ka=(e,t,o)=>{const n=((e,t)=>Qt(e,(()=>t)))(e,o.section),r=en(n);return xl(r,t,!0)},Ea=(e,t,o,n)=>((e,t,o,n)=>{const r=en(t),s=n.getWidths(r,n);na(r,s,n)})(0,t,0,n.sizing),Na=(e,t,o,n)=>((e,t,o,n,r)=>{const s=en(t),l=n.getWidths(s,n),a=n.pixelWidth(),{newSizes:c,delta:i}=r.calcRedestributedWidths(l,a,o.pixelDelta,n.isRelative);na(s,c,n),n.adjustTableWidth(i)})(0,t,o,n.sizing,n.resize),Ba=(e,t)=>O(t,(e=>0===e.column&&e.isLocked)),_a=(e,t)=>O(t,(t=>t.column+t.colspan>=e.grid.columns&&t.isLocked)),za=(e,t)=>{const o=cn(e),n=sa(t);return A(n,((e,t)=>e+o[t.column].map(Wo).getOr(0)),0)},Aa=e=>(t,o)=>Ol(t,o).filter((o=>!(e?Ba:_a)(t,o))).map((e=>({details:e,pixelDelta:za(t,e)}))),La=e=>(t,o)=>Dl(t,o).filter((o=>!(e?Ba:_a)(t,o.cells))),Wa=ua("th"),Ma=ua("td"),ja=Rl(((e,t,o,n)=>{const r=t[0].row,s=Sa(t),l=z(s,((e,t)=>({grid:Vl(e.grid,r,t.row+e.delta,o,n.getOrInit),delta:e.delta+1})),{grid:e,delta:0}).grid;return Ca(l,r,t[0].column)}),Ol,f,f,da),Pa=Rl(((e,t,o,n)=>{const r=Sa(t),s=r[r.length-1],l=s.row+s.rowspan,a=z(r,((e,t)=>Vl(e,l,t.row,o,n.getOrInit)),e);return Ca(a,l,t[0].column)}),Ol,f,f,da),Ia=Rl(((e,t,o,n)=>{const r=t.details,s=sa(r),l=s[0].column,a=z(s,((e,t)=>({grid:ql(e.grid,l,t.column+e.delta,o,n.getOrInit),delta:e.delta+1})),{grid:e,delta:0}).grid;return Ca(a,r[0].row,l)}),Aa(!0),Na,f,da),Fa=Rl(((e,t,o,n)=>{const r=t.details,s=r[r.length-1],l=s.column+s.colspan,a=sa(r),c=z(a,((e,t)=>ql(e,l,t.column,o,n.getOrInit)),e);return Ca(c,r[0].row,l)}),Aa(!1),Na,f,da),Ha=Rl(((e,t,o,n)=>{const r=sa(t.details),s=((e,t)=>j(e,(e=>{const o=e.cells,n=z(t,((e,t)=>t>=0&&t<e.length?e.slice(0,t).concat(e.slice(t+1)):e),o);return n.length>0?[tt(e.element,n,e.section,e.isNew)]:[]})))(e,E(r,(e=>e.column))),l=s.length>0?s[0].cells.length-1:0;return Ca(s,r[0].row,Math.min(r[0].column,l))}),((e,t)=>kl(e,t).map((t=>({details:t,pixelDelta:-za(e,t)})))),Na,ya,da),$a=Rl(((e,t,o,n)=>{const r=Sa(t),s=((e,t,o)=>{const{rows:n,cols:r}=qo(e);return[...r,...n.slice(0,t),...n.slice(o+1)]})(e,r[0].row,r[r.length-1].row),l=s.length>0?s.length-1:0;return Ca(s,Math.min(t[0].row,l),t[0].column)}),Ol,f,ya,da),Va=Rl(((e,t,o,n)=>{const r=sa(t),s=E(r,(e=>e.column)),l=Ql(e,s,!0,o,n.replaceOrInit);return Ca(l,t[0].row,t[0].column)}),kl,f,f,Wa),qa=Rl(((e,t,o,n)=>{const r=sa(t),s=E(r,(e=>e.column)),l=Ql(e,s,!1,o,n.replaceOrInit);return Ca(l,t[0].row,t[0].column)}),kl,f,f,Ma),Ua=Rl(Ra,kl,f,f,Wa),Ga=Rl(Da,kl,f,f,Ma),Ka=Rl(Oa,kl,f,f,Ma),Ya=Rl(((e,t,o,n)=>{const r=Xl(e,t,o,n.replaceOrInit);return Ca(r,t[0].row,t[0].column)}),kl,f,f,Wa),Ja=Rl(((e,t,o,n)=>{const r=Xl(e,t,o,n.replaceOrInit);return Ca(r,t[0].row,t[0].column)}),kl,f,f,Ma),Qa=Rl(((e,t,o,n)=>{const r=t.cells;ba(r);const s=((e,t,o,n)=>{const r=qo(e).rows;if(0===r.length)return e;for(let e=t.startRow;e<=t.finishRow;e++)for(let o=t.startCol;o<=t.finishCol;o++){const t=r[e],s=Ho(t,o).isLocked;Io(t,o,et(n(),!1,s))}return e})(e,t.bounds,0,n.merge(r));return xa(s,C.from(r[0]))}),((e,t)=>((e,t)=>t.mergable)(0,t).filter((t=>El(e,t.cells)))),Ea,f,fa),Xa=Rl(((e,t,o,n)=>{const r=z(t,((e,t)=>Nl(e,t,o,n.unmerge(t))),e);return xa(r,C.from(t[0]))}),((e,t)=>((e,t)=>t.unmergable)(0,t).filter((t=>El(e,t)))),Ea,f,fa),Za=Rl(((e,t,o,n)=>{const r=((e,t)=>{const o=Zo(e);return xl(o,t,!0)})(t.clipboard,t.generators);var s,l;return((e,t,o,n,r)=>{const s=Yo(t),l=((e,t,o)=>{const n=Vo(t[0]),r=qo(t).cols.length+e.row,s=k(n-e.column,(t=>t+e.column));return{row:r,column:L(s,(e=>P(o,(t=>t!==e)))).getOr(n-1)}})(e,t,s),a=qo(o).rows,c=Fl(l,a,s),i=((e,t,o)=>{if(e.row>=t.length||e.column>Vo(t[0]))return zl.error("invalid start address out of table bounds, row: "+e.row+", column: "+e.column);const n=t.slice(e.row),r=n[0].cells.slice(e.column),s=Vo(o[0]),l=o.length;return zl.value({rowDelta:n.length-l,colDelta:r.length-s})})(l,t,a);return i.map((e=>{const o={...e,colDelta:e.colDelta-c.length},s=Pl(t,o,n),i=Yo(s),m=Fl(l,a,i);return((e,t,o,n,r,s)=>{const l=e.row,a=e.column,c=l+o.length,i=a+Vo(o[0])+s.length,m=I(s,x);for(let e=l;e<c;e++){let s=0;for(let c=a;c<i;c++){if(m[c]){s++;continue}Il(t,e,c,r)&&Nl(t,$o(t[e],c),r,n.cell);const i=c-a-s,d=Ho(o[e-l],i),u=d.element,f=n.replace(u);Io(t[e],c,et(f,!0,d.isLocked))}}return t})(l,s,a,n,r,m)}))})((s=t.row,l=t.column,{row:s,column:l}),e,r,t.generators,o).fold((()=>xa(e,C.some(t.element))),(e=>Ca(e,t.row,t.column)))}),((e,t)=>qt(t.element).bind((o=>Sl(e,o).map((e=>({...e,generators:t.generators,clipboard:t.clipboard})))))),Ea,f,da),ec=Rl(((e,t,o,n)=>{const r=qo(e).rows,s=t.cells[0].column,l=r[t.cells[0].row],a=ka(t.clipboard,t.generators,l),c=Hl(s,e,a,t.generators,o);return Ca(c,t.cells[0].row,t.cells[0].column)}),La(!0),f,f,da),tc=Rl(((e,t,o,n)=>{const r=qo(e).rows,s=t.cells[t.cells.length-1].column+t.cells[t.cells.length-1].colspan,l=r[t.cells[0].row],a=ka(t.clipboard,t.generators,l),c=Hl(s,e,a,t.generators,o);return Ca(c,t.cells[0].row,t.cells[0].column)}),La(!1),f,f,da),oc=Rl(((e,t,o,n)=>{const r=qo(e).rows,s=t.cells[0].row,l=r[s],a=ka(t.clipboard,t.generators,l),c=$l(s,e,a,t.generators,o);return Ca(c,t.cells[0].row,t.cells[0].column)}),Dl,f,f,da),nc=Rl(((e,t,o,n)=>{const r=qo(e).rows,s=t.cells[t.cells.length-1].row+t.cells[t.cells.length-1].rowspan,l=r[t.cells[0].row],a=ka(t.clipboard,t.generators,l),c=$l(s,e,a,t.generators,o);return Ca(c,t.cells[0].row,t.cells[0].column)}),Dl,f,f,da),rc=(e,t)=>{const o=Zo(e);return Ol(o,t).bind((e=>{const t=e[e.length-1],n=e[0].column,r=t.column+t.colspan,s=M(E(o.all,(e=>_(e.cells,(e=>e.column>=n&&e.column<r)))));return ll(s)})).getOr("")},sc=(e,t)=>{const o=Zo(e);return Ol(o,t).bind(ll).getOr("")},lc=(e,t)=>{const o=Zo(e);return Ol(o,t).bind((e=>{const t=e[e.length-1],n=e[0].row,r=t.row+t.rowspan;return(e=>{const t=E(e,(e=>sl(e).type)),o=D(t,"header"),n=D(t,"footer");if(o||n){const e=D(t,"body");return!o||e||n?o||e||!n?C.none():C.some("footer"):C.some("header")}return C.some("body")})(o.all.slice(n,r))})).getOr("")},ac=(e,t)=>e.dispatch("NewRow",{node:t}),cc=(e,t)=>e.dispatch("NewCell",{node:t}),ic=(e,t,o)=>{e.dispatch("TableModified",{...o,table:t})},mc={structure:!1,style:!0},dc={structure:!0,style:!1},uc={structure:!0,style:!0},fc=(e,t)=>Hr(e)?ur(t):$r(e)?dr(t):mr(t),gc=(e,t,o)=>{const n=e=>"table"===ne(Zr(e)),r=Wr(e),s=Ir(e)?f:Gs,l=t=>{switch(Mr(e)){case"section":return ul();case"sectionCells":return fl();case"cells":return gl();default:return((e,t)=>{var o;switch((o=Zo(e),V(o.all,(e=>{const t=sl(e);return"header"===t.type?C.from(t.subType):C.none()}))).getOr(t)){case"section":return il();case"sectionCells":return ml();case"cells":return dl()}})(t,"section")}},a=(n,s,a,c)=>(i,m,d=!1)=>{ts(i);const u=xe.fromDom(e.getDoc()),f=Br(a,u,r),g={sizing:fc(e,i),resize:Ir(e)?Zs():el(),section:l(i)};return s(i)?n(i,m,f,g).bind((n=>{t.refresh(i.dom),N(n.newRows,(t=>{ac(e,t.dom)})),N(n.newCells,(t=>{cc(e,t.dom)}));const r=((t,n)=>n.cursor.fold((()=>{const n=Ut(t);return H(n).filter(lt).map((n=>{o.clearSelectedCells(t.dom);const r=e.dom.createRng();return r.selectNode(n.dom),e.selection.setRng(r),ge(n,"data-mce-selected","1"),r}))}),(n=>{const r=qs(Us,n),s=e.dom.createRng();return s.setStart(r.element.dom,r.offset),s.setEnd(r.element.dom,r.offset),e.selection.setRng(s),o.clearSelectedCells(t.dom),C.some(s)})))(i,n);return lt(i)&&(ts(i),d||ic(e,i.dom,c)),r.map((e=>({rng:e,effect:c})))})):C.none()},c=a($a,(t=>!n(e)||tl(t).rows>1),f,dc),i=a(Ha,(t=>!n(e)||tl(t).columns>1),f,dc);return{deleteRow:c,deleteColumn:i,insertRowsBefore:a(ja,x,f,dc),insertRowsAfter:a(Pa,x,f,dc),insertColumnsBefore:a(Ia,x,s,dc),insertColumnsAfter:a(Fa,x,s,dc),mergeCells:a(Qa,x,f,dc),unmergeCells:a(Xa,x,f,dc),pasteColsBefore:a(ec,x,f,dc),pasteColsAfter:a(tc,x,f,dc),pasteRowsBefore:a(oc,x,f,dc),pasteRowsAfter:a(nc,x,f,dc),pasteCells:a(Za,x,f,uc),makeCellsHeader:a(Ya,x,f,dc),unmakeCellsHeader:a(Ja,x,f,dc),makeColumnsHeader:a(Va,x,f,dc),unmakeColumnsHeader:a(qa,x,f,dc),makeRowsHeader:a(Ua,x,f,dc),makeRowsBody:a(Ga,x,f,dc),makeRowsFooter:a(Ka,x,f,dc),getTableRowType:lc,getTableCellType:sc,getTableColType:rc}},hc=(e,t,o)=>{const n=Wt(e,t,1);1===o||n<=1?be(e,t):ge(e,t,Math.min(o,n))},pc=(e,t)=>o=>{const n=o.column+o.colspan-1,r=o.column;return n>=e&&r<t},wc=Zl([{invalid:["raw"]},{pixels:["value"]},{percent:["value"]}]),bc=(e,t,o)=>{const n=o.substring(0,o.length-e.length),r=parseFloat(n);return n===r.toString()?t(r):wc.invalid(o)},vc={...wc,from:e=>Rt(e,"%")?bc("%",wc.percent,e):Rt(e,"px")?bc("px",wc.pixels,e):wc.invalid(e)},yc=(e,t,o)=>{const n=vc.from(o),r=P(e,(e=>"0px"===e))?((e,t)=>{const o=e.fold((()=>g("")),(e=>g(e/t+"px")),(()=>g(100/t+"%")));return k(t,o)})(n,e.length):((e,t,o)=>e.fold((()=>t),(e=>((e,t,o)=>{const n=o/t;return E(e,(e=>vc.from(e).fold((()=>e),(e=>e*n+"px"),(e=>e/100*o+"px"))))})(t,o,e)),(e=>((e,t)=>E(e,(e=>vc.from(e).fold((()=>e),(e=>e/t*100+"%"),(e=>e+"%")))))(t,o))))(n,e,t);return Sc(r)},xc=(e,t)=>0===e.length?t:z(e,((e,t)=>vc.from(t).fold(g(0),h,h)+e),0),Cc=(e,t)=>vc.from(e).fold(g(e),(e=>e+t+"px"),(e=>e+t+"%")),Sc=e=>{if(0===e.length)return e;const t=z(e,((e,t)=>{const o=vc.from(t).fold((()=>({value:t,remainder:0})),(e=>((e,t)=>{const o=Math.floor(e);return{value:o+"px",remainder:e-o}})(e)),(e=>({value:e+"%",remainder:0})));return{output:[o.value].concat(e.output),remainder:e.remainder+o.remainder}}),{output:[],remainder:0}),o=t.output;return o.slice(0,o.length-1).concat([Cc(o[o.length-1],Math.round(t.remainder))])},Tc=vc.from,Rc=e=>Tc(e).fold(g("px"),g("px"),g("%")),Dc=(e,t,o)=>{const n=Zo(e),r=n.all,s=rn(n),l=sn(n);t.each((t=>{const o=Rc(t),r=Lo(e),a=((e,t)=>nr(e,t,er,rr))(n,e),c=yc(a,r,t);ln(n)?((e,t,o)=>{N(t,((t,n)=>{const r=xc([e[n]],Ft());Nt(t.element,"width",r+o)}))})(c,l,o):((e,t,o)=>{N(t,(t=>{const n=e.slice(t.column,t.colspan+t.column),r=xc(n,Ft());Nt(t.element,"width",r+o)}))})(c,s,o),Nt(e,"width",t)})),o.each((t=>{const o=Rc(t),l=hn(e),a=((e,t,o)=>lr(e,t,o,tr,rr))(n,e,_n);((e,t,o,n)=>{N(o,(t=>{const o=e.slice(t.row,t.rowspan+t.row),r=xc(o,Ht());Nt(t.element,"height",r+n)})),N(t,((t,o)=>{Nt(t.element,"height",e[o])}))})(yc(a,l,t),r,s,o),Nt(e,"height",t)}))},Oc=e=>Un(e).exists((e=>Mn.test(e))),kc=e=>Un(e).exists((e=>jn.test(e))),Ec=e=>Un(e).isNone(),Nc=e=>{be(e,"width")},Bc=e=>{const t=Qn(e);Dc(e,C.some(t),C.none()),Nc(e)},_c=e=>{const t=(e=>Lo(e)+"px")(e);Dc(e,C.some(t),C.none()),Nc(e)},zc=e=>{Lt(e,"width");const t=Gt(e),o=t.length>0?t:Ut(e);N(o,(e=>{Lt(e,"width"),Nc(e)})),Nc(e)},Ac={styles:{"border-collapse":"collapse",width:"100%"},attributes:{border:"1"},colGroups:!1},Lc=(e,t,o,n)=>k(e,(e=>((e,t,o,n)=>{const r=xe.fromTag("tr");for(let s=0;s<e;s++){const e=xe.fromTag(n<t||s<o?"th":"td");s<o&&ge(e,"scope","row"),n<t&&ge(e,"scope","col"),Ie(e,xe.fromTag("br")),Ie(r,e)}return r})(t,o,n,e))),Wc=(e,t)=>{e.selection.select(t.dom,!0),e.selection.collapse(!0)},Mc=(e,t,o,n,s)=>{const l=(e=>{const t=e.options,o=t.get("table_default_styles");return t.isSet("table_default_styles")?o:((e,t)=>Vr(e)||!Ur(e)?t:$r(e)?{...t,width:Lr(e)}:{...t,width:Ar})(e,o)})(e),a={styles:l,attributes:Kr(e),colGroups:Yr(e)};return e.undoManager.ignore((()=>{const r=((e,t,o,n,r,s=Ac)=>{const l=xe.fromTag("table"),a="cells"!==r;Bt(l,s.styles),he(l,s.attributes),s.colGroups&&Ie(l,(e=>{const t=xe.fromTag("colgroup");return k(e,(()=>Ie(t,xe.fromTag("col")))),t})(t));const c=Math.min(e,o);if(a&&o>0){const e=xe.fromTag("thead");Ie(l,e);const s=Lc(o,t,"sectionCells"===r?c:0,n);$e(e,s)}const i=xe.fromTag("tbody");Ie(l,i);const m=Lc(a?e-c:e,t,a?0:o,n);return $e(i,m),l})(o,t,s,n,Mr(e),a);ge(r,"data-mce-id","__mce");const l=(e=>{const t=xe.fromTag("div"),o=xe.fromDom(e.dom.cloneNode(!0));return Ie(t,o),(e=>e.dom.innerHTML)(t)})(r);e.insertContent(l),e.addVisual()})),wt(Zr(e),'table[data-mce-id="__mce"]').map((t=>($r(e)?_c(t):Vr(e)?zc(t):(Hr(e)||(e=>r(e)&&-1!==e.indexOf("%"))(l.width))&&Bc(t),ts(t),be(t,"data-mce-id"),((e,t)=>{N(dt(t,"tr"),(t=>{ac(e,t.dom),N(dt(t,"th,td"),(t=>{cc(e,t.dom)}))}))})(e,t),((e,t)=>{wt(t,"td,th").each(w(Wc,e))})(e,t),t.dom))).getOrNull()};var jc=tinymce.util.Tools.resolve("tinymce.FakeClipboard");const Pc="x-tinymce/dom-table-",Ic=Pc+"rows",Fc=Pc+"columns",Hc=e=>{const t=jc.FakeClipboardItem(e);jc.write([t])},$c=e=>{var t;const o=null!==(t=jc.read())&&void 0!==t?t:[];return V(o,(t=>C.from(t.getType(e))))},Vc=e=>{$c(e).isSome()&&jc.clear()},qc=e=>{e.fold(Gc,(e=>Hc({[Ic]:e})))},Uc=()=>$c(Ic),Gc=()=>Vc(Ic),Kc=e=>{e.fold(Jc,(e=>Hc({[Fc]:e})))},Yc=()=>$c(Fc),Jc=()=>Vc(Fc),Qc=e=>Ms(os(e),es(e)).filter(ss),Xc=(e,t)=>{const o=es(e),n=e=>Kt(e,o),l=t=>(e=>js(os(e),es(e)).filter(ss))(e).bind((e=>n(e).map((o=>t(o,e))))),a=t=>{e.focus()},c=(t,o=!1)=>l(((n,r)=>{const s=Ls(Ps(e),n,r);t(n,s,o).each(a)})),i=()=>l(((t,o)=>((e,t,o)=>{const n=Zo(e);return Ol(n,t).bind((e=>{const t=xl(n,o,!1),r=qo(t).rows.slice(e[0].row,e[e.length-1].row+e[e.length-1].rowspan),s=j(r,(e=>{const t=_(e.cells,(e=>!e.isLocked));return t.length>0?[{...e,cells:t}]:[]})),l=Cl(s);return xt(l.length>0,l)})).map((e=>E(e,(e=>{const t=Ke(e.element);return N(e.cells,(e=>{const o=Ye(e.element);pl(o,"colspan",e.colspan,1),pl(o,"rowspan",e.rowspan,1),Ie(t,o)})),t}))))})(t,Ls(Ps(e),t,o),Br(f,xe.fromDom(e.getDoc()),C.none())))),m=()=>l(((t,o)=>((e,t)=>{const o=Zo(e);return kl(o,t).map((e=>{const t=e[e.length-1],n=e[0].column,r=t.column+t.colspan,s=((e,t,o)=>{if(ln(e)){const n=_(sn(e),pc(t,o)),r=E(n,(e=>{const n=Ye(e.element);return hc(n,"span",o-t),n})),s=xe.fromTag("colgroup");return $e(s,r),[s]}return[]})(o,n,r),l=((e,t,o)=>E(e.all,(e=>{const n=_(e.cells,pc(t,o)),r=E(n,(e=>{const n=Ye(e.element);return hc(n,"colspan",o-t),n})),s=xe.fromTag("tr");return $e(s,r),s})))(o,n,r);return[...s,...l]}))})(t,Ls(Ps(e),t,o)))),d=(t,o)=>o().each((o=>{const n=E(o,(e=>Ye(e)));l(((o,r)=>{const s=_r(xe.fromDom(e.getDoc())),l=((e,t,o,n)=>({selection:Os(e),clipboard:o,generators:n}))(Ps(e),0,n,s);t(o,l).each(a)}))})),g=e=>(t,o)=>((e,t)=>X(e,t)?C.from(e[t]):C.none())(o,"type").each((t=>{c(e(t),o.no_events)}));G({mceTableSplitCells:()=>c(t.unmergeCells),mceTableMergeCells:()=>c(t.mergeCells),mceTableInsertRowBefore:()=>c(t.insertRowsBefore),mceTableInsertRowAfter:()=>c(t.insertRowsAfter),mceTableInsertColBefore:()=>c(t.insertColumnsBefore),mceTableInsertColAfter:()=>c(t.insertColumnsAfter),mceTableDeleteCol:()=>c(t.deleteColumn),mceTableDeleteRow:()=>c(t.deleteRow),mceTableCutCol:()=>m().each((e=>{Kc(e),c(t.deleteColumn)})),mceTableCutRow:()=>i().each((e=>{qc(e),c(t.deleteRow)})),mceTableCopyCol:()=>m().each((e=>Kc(e))),mceTableCopyRow:()=>i().each((e=>qc(e))),mceTablePasteColBefore:()=>d(t.pasteColsBefore,Yc),mceTablePasteColAfter:()=>d(t.pasteColsAfter,Yc),mceTablePasteRowBefore:()=>d(t.pasteRowsBefore,Uc),mceTablePasteRowAfter:()=>d(t.pasteRowsAfter,Uc),mceTableDelete:()=>Qc(e).each((t=>{Kt(t,o).filter(b(o)).each((t=>{const o=xe.fromText("");if(je(t,o),qe(t),e.dom.isEmpty(e.getBody()))e.setContent(""),e.selection.setCursorLocation();else{const t=e.dom.createRng();t.setStart(o.dom,0),t.setEnd(o.dom,0),e.selection.setRng(t),e.nodeChanged()}}))})),mceTableCellToggleClass:(t,o)=>{l((t=>{const n=Ps(e),r=P(n,(t=>e.formatter.match("tablecellclass",{value:o},t.dom))),s=r?e.formatter.remove:e.formatter.apply;N(n,(e=>s("tablecellclass",{value:o},e.dom))),ic(e,t.dom,mc)}))},mceTableToggleClass:(t,o)=>{l((t=>{e.formatter.toggle("tableclass",{value:o},t.dom),ic(e,t.dom,mc)}))},mceTableToggleCaption:()=>{Qc(e).each((t=>{Kt(t,o).each((o=>{pt(o,"caption").fold((()=>{const t=xe.fromTag("caption");Ie(t,xe.fromText("Caption")),((e,t,o)=>{We(e,0).fold((()=>{Ie(e,t)}),(e=>{Me(e,t)}))})(o,t),e.selection.setCursorLocation(t.dom,0)}),(n=>{ue("caption")(t)&&Te("td",o).each((t=>e.selection.setCursorLocation(t.dom,0))),qe(n)})),ic(e,o.dom,dc)}))}))},mceTableSizingMode:(t,n)=>(t=>Qc(e).each((n=>{Vr(e)||$r(e)||Hr(e)||Kt(n,o).each((o=>{"relative"!==t||Oc(o)?"fixed"!==t||kc(o)?"responsive"!==t||Ec(o)||zc(o):_c(o):Bc(o),ts(o),ic(e,o.dom,dc)}))})))(n),mceTableCellType:g((e=>"th"===e?t.makeCellsHeader:t.unmakeCellsHeader)),mceTableColType:g((e=>"th"===e?t.makeColumnsHeader:t.unmakeColumnsHeader)),mceTableRowType:g((e=>{switch(e){case"header":return t.makeRowsHeader;case"footer":return t.makeRowsFooter;default:return t.makeRowsBody}}))},((t,o)=>e.addCommand(o,t))),e.addCommand("mceInsertTable",((t,o)=>{((e,t,o,n={})=>{const r=e=>u(e)&&e>0;if(r(t)&&r(o)){const r=n.headerRows||0,s=n.headerColumns||0;return Mc(e,o,t,s,r)}console.error("Invalid values for mceInsertTable - rows and columns values are required to insert a table.")})(e,o.rows,o.columns,o.options)})),e.addCommand("mceTableApplyCellStyle",((t,o)=>{const l=e=>"tablecell"+e.toLowerCase().replace("-","");if(!s(o))return;const a=_(Ps(e),ss);if(0===a.length)return;const c=((e,t)=>{const o={};return((e,t,o,n)=>{G(e,((e,r)=>{(t(e,r)?o:n)(e,r)}))})(e,t,(e=>(t,o)=>{e[o]=t})(o),f),o})(o,((t,o)=>e.formatter.has(l(o))&&r(t)));(e=>{for(const t in e)if(U.call(e,t))return!1;return!0})(c)||(G(c,((t,o)=>{const n=l(o);N(a,(o=>{""===t?e.formatter.remove(n,{value:null},o.dom,!0):e.formatter.apply(n,{value:t},o.dom)}))})),n(a[0]).each((t=>ic(e,t.dom,mc))))}))},Zc=Zl([{before:["element"]},{on:["element","offset"]},{after:["element"]}]),ei={before:Zc.before,on:Zc.on,after:Zc.after,cata:(e,t,o,n)=>e.fold(t,o,n),getStart:e=>e.fold(h,h,h)},ti=(e,t)=>({selection:e,kill:t}),oi=(e,t)=>{const o=e.document.createRange();return o.selectNode(t.dom),o},ni=(e,t)=>{const o=e.document.createRange();return ri(o,t),o},ri=(e,t)=>e.selectNodeContents(t.dom),si=(e,t,o)=>{const n=e.document.createRange();var r;return r=n,t.fold((e=>{r.setStartBefore(e.dom)}),((e,t)=>{r.setStart(e.dom,t)}),(e=>{r.setStartAfter(e.dom)})),((e,t)=>{t.fold((t=>{e.setEndBefore(t.dom)}),((t,o)=>{e.setEnd(t.dom,o)}),(t=>{e.setEndAfter(t.dom)}))})(n,o),n},li=(e,t,o,n,r)=>{const s=e.document.createRange();return s.setStart(t.dom,o),s.setEnd(n.dom,r),s},ai=e=>({left:e.left,top:e.top,right:e.right,bottom:e.bottom,width:e.width,height:e.height}),ci=Zl([{ltr:["start","soffset","finish","foffset"]},{rtl:["start","soffset","finish","foffset"]}]),ii=(e,t,o)=>t(xe.fromDom(o.startContainer),o.startOffset,xe.fromDom(o.endContainer),o.endOffset),mi=(e,t)=>{const o=((e,t)=>t.match({domRange:e=>({ltr:g(e),rtl:C.none}),relative:(t,o)=>({ltr:eo((()=>si(e,t,o))),rtl:eo((()=>C.some(si(e,o,t))))}),exact:(t,o,n,r)=>({ltr:eo((()=>li(e,t,o,n,r))),rtl:eo((()=>C.some(li(e,n,r,t,o))))})}))(e,t);return((e,t)=>{const o=t.ltr();return o.collapsed?t.rtl().filter((e=>!1===e.collapsed)).map((e=>ci.rtl(xe.fromDom(e.endContainer),e.endOffset,xe.fromDom(e.startContainer),e.startOffset))).getOrThunk((()=>ii(0,ci.ltr,o))):ii(0,ci.ltr,o)})(0,o)},di=(e,t)=>mi(e,t).match({ltr:(t,o,n,r)=>{const s=e.document.createRange();return s.setStart(t.dom,o),s.setEnd(n.dom,r),s},rtl:(t,o,n,r)=>{const s=e.document.createRange();return s.setStart(n.dom,r),s.setEnd(t.dom,o),s}});ci.ltr,ci.rtl;const ui=(e,t,o,n)=>({start:e,soffset:t,finish:o,foffset:n}),fi=(e,t,o,n)=>({start:ei.on(e,t),finish:ei.on(o,n)}),gi=(e,t)=>{const o=di(e,t);return ui(xe.fromDom(o.startContainer),o.startOffset,xe.fromDom(o.endContainer),o.endOffset)},hi=fi,pi=(e,t,o,n,r)=>Re(o,n)?C.none():xs(o,n,t).bind((t=>{const n=t.boxes.getOr([]);return n.length>1?(r(e,n,t.start,t.finish),C.some(ti(C.some(hi(o,0,o,br(o))),!0))):C.none()})),wi=(e,t)=>({item:e,mode:t}),bi=(e,t,o,n=vi)=>e.property().parent(t).map((e=>wi(e,n))),vi=(e,t,o,n=yi)=>o.sibling(e,t).map((e=>wi(e,n))),yi=(e,t,o,n=yi)=>{const r=e.property().children(t);return o.first(r).map((e=>wi(e,n)))},xi=[{current:bi,next:vi,fallback:C.none()},{current:vi,next:yi,fallback:C.some(bi)},{current:yi,next:yi,fallback:C.some(vi)}],Ci=(e,t,o,n,r=xi)=>L(r,(e=>e.current===o)).bind((o=>o.current(e,t,n,o.next).orThunk((()=>o.fallback.bind((o=>Ci(e,t,o,n))))))),Si=(e,t,o,n,r,s)=>Ci(e,t,n,r).bind((t=>s(t.item)?C.none():o(t.item)?C.some(t.item):Si(e,t.item,o,t.mode,r,s))),Ti=e=>t=>0===e.property().children(t).length,Ri=(e,t,o,n)=>Si(e,t,o,vi,{sibling:(e,t)=>e.query().prevSibling(t),first:e=>e.length>0?C.some(e[e.length-1]):C.none()},n),Di=(e,t,o,n)=>Si(e,t,o,vi,{sibling:(e,t)=>e.query().nextSibling(t),first:e=>e.length>0?C.some(e[0]):C.none()},n),Oi=hs(),ki=(e,t)=>((e,t,o)=>Ri(e,t,Ti(e),o))(Oi,e,t),Ei=(e,t)=>((e,t,o)=>Di(e,t,Ti(e),o))(Oi,e,t),Ni=Zl([{none:["message"]},{success:[]},{failedUp:["cell"]},{failedDown:["cell"]}]),Bi=e=>bt(e,"tr"),_i={...Ni,verify:(e,t,o,n,r,s,l)=>bt(n,"td,th",l).bind((o=>bt(t,"td,th",l).map((t=>Re(o,t)?Re(n,o)&&br(o)===r?s(t):Ni.none("in same cell"):vs(Bi,[o,t]).fold((()=>((e,t,o)=>{const n=e.getRect(t),r=e.getRect(o);return r.right>n.left&&r.left<n.right})(e,t,o)?Ni.success():s(t)),(e=>s(t))))))).getOr(Ni.none("default")),cata:(e,t,o,n,r)=>e.fold(t,o,n,r)},zi=ue("br"),Ai=(e,t,o)=>t(e,o).bind((e=>ie(e)&&0===hr(e).trim().length?Ai(e,t,o):C.some(e))),Li=(e,t,o,n)=>((e,t)=>We(e,t).filter(zi).orThunk((()=>We(e,t-1).filter(zi))))(t,o).bind((t=>n.traverse(t).fold((()=>Ai(t,n.gather,e).map(n.relative)),(e=>(e=>Ne(e).bind((t=>{const o=Le(t);return((e,t)=>W(e,w(Re,t)))(o,e).map((n=>((e,t,o,n)=>({parent:e,children:t,element:o,index:n}))(t,o,e,n)))})))(e).map((e=>ei.on(e.parent,e.index))))))),Wi=(e,t)=>({left:e.left,top:e.top+t,right:e.right,bottom:e.bottom+t}),Mi=(e,t)=>({left:e.left,top:e.top-t,right:e.right,bottom:e.bottom-t}),ji=(e,t,o)=>({left:e.left+t,top:e.top+o,right:e.right+t,bottom:e.bottom+o}),Pi=e=>({left:e.left,top:e.top,right:e.right,bottom:e.bottom}),Ii=(e,t)=>C.some(e.getRect(t)),Fi=(e,t,o)=>ce(t)?Ii(e,t).map(Pi):ie(t)?((e,t,o)=>o>=0&&o<br(t)?e.getRangedRect(t,o,t,o+1):o>0?e.getRangedRect(t,o-1,t,o):C.none())(e,t,o).map(Pi):C.none(),Hi=(e,t)=>ce(t)?Ii(e,t).map(Pi):ie(t)?e.getRangedRect(t,0,t,br(t)).map(Pi):C.none(),$i=Zl([{none:[]},{retry:["caret"]}]),Vi=(e,t,o)=>gt(t,pa).fold(y,(t=>Hi(e,t).exists((e=>((e,t)=>e.left<t.left||Math.abs(t.right-e.left)<1||e.left>t.right)(o,e))))),qi={point:e=>e.bottom,adjuster:(e,t,o,n,r)=>{const s=Wi(r,5);return Math.abs(o.bottom-n.bottom)<1||o.top>r.bottom?$i.retry(s):o.top===r.bottom?$i.retry(Wi(r,1)):Vi(e,t,r)?$i.retry(ji(s,5,0)):$i.none()},move:Wi,gather:Ei},Ui=(e,t,o,n,r)=>0===r?C.some(n):((e,t,o)=>e.elementFromPoint(t,o).filter((e=>"table"===ne(e))).isSome())(e,n.left,t.point(n))?((e,t,o,n,r)=>Ui(e,t,o,t.move(n,5),r))(e,t,o,n,r-1):e.situsFromPoint(n.left,t.point(n)).bind((s=>s.start.fold(C.none,(s=>Hi(e,s).bind((l=>t.adjuster(e,s,l,o,n).fold(C.none,(n=>Ui(e,t,o,n,r-1))))).orThunk((()=>C.some(n)))),C.none))),Gi=(e,t,o)=>{const n=e.move(o,5),r=Ui(t,e,o,n,100).getOr(n);return((e,t,o)=>e.point(t)>o.getInnerHeight()?C.some(e.point(t)-o.getInnerHeight()):e.point(t)<0?C.some(-e.point(t)):C.none())(e,r,t).fold((()=>t.situsFromPoint(r.left,e.point(r))),(o=>(t.scrollBy(0,o),t.situsFromPoint(r.left,e.point(r)-o))))},Ki={tryUp:w(Gi,{point:e=>e.top,adjuster:(e,t,o,n,r)=>{const s=Mi(r,5);return Math.abs(o.top-n.top)<1||o.bottom<r.top?$i.retry(s):o.bottom===r.top?$i.retry(Mi(r,1)):Vi(e,t,r)?$i.retry(ji(s,5,0)):$i.none()},move:Mi,gather:ki}),tryDown:w(Gi,qi),getJumpSize:g(5)},Yi=(e,t,o)=>e.getSelection().bind((n=>((e,t,o,n)=>{const r=zi(t)?((e,t,o)=>o.traverse(t).orThunk((()=>Ai(t,o.gather,e))).map(o.relative))(e,t,n):Li(e,t,o,n);return r.map((e=>({start:e,finish:e})))})(t,n.finish,n.foffset,o).fold((()=>C.some(Fs(n.finish,n.foffset))),(r=>{const s=e.fromSitus(r);return l=_i.verify(e,n.finish,n.foffset,s.finish,s.foffset,o.failure,t),_i.cata(l,(e=>C.none()),(()=>C.none()),(e=>C.some(Fs(e,0))),(e=>C.some(Fs(e,br(e)))));var l})))),Ji=(e,t,o,n,r,s)=>0===s?C.none():Zi(e,t,o,n,r).bind((l=>{const a=e.fromSitus(l),c=_i.verify(e,o,n,a.finish,a.foffset,r.failure,t);return _i.cata(c,(()=>C.none()),(()=>C.some(l)),(l=>Re(o,l)&&0===n?Qi(e,o,n,Mi,r):Ji(e,t,l,0,r,s-1)),(l=>Re(o,l)&&n===br(l)?Qi(e,o,n,Wi,r):Ji(e,t,l,br(l),r,s-1)))})),Qi=(e,t,o,n,r)=>Fi(e,t,o).bind((t=>Xi(e,r,n(t,Ki.getJumpSize())))),Xi=(e,t,o)=>{const n=Bo().browser;return n.isChromium()||n.isSafari()||n.isFirefox()?t.retry(e,o):C.none()},Zi=(e,t,o,n,r)=>Fi(e,o,n).bind((t=>Xi(e,r,t))),em=(e,t,o,n,r)=>bt(n,"td,th",t).bind((n=>bt(n,"table",t).bind((s=>((e,t)=>ft(e,(e=>Ne(e).exists((e=>Re(e,t)))),void 0).isSome())(r,s)?((e,t,o)=>Yi(e,t,o).bind((n=>Ji(e,t,n.element,n.offset,o,20).map(e.fromSitus))))(e,t,o).bind((e=>bt(e.finish,"td,th",t).map((t=>({start:n,finish:t,range:e}))))):C.none())))),tm=(e,t,o,n,r,s)=>s(n,t).orThunk((()=>em(e,t,o,n,r).map((e=>{const t=e.range;return ti(C.some(hi(t.start,t.soffset,t.finish,t.foffset)),!0)})))),om=(e,t)=>bt(e,"tr",t).bind((e=>bt(e,"table",t).bind((o=>{const n=dt(o,"tr");return Re(e,n[0])?((e,t,o)=>Ri(Oi,e,(e=>Cr(e).isSome()),o))(o,0,t).map((e=>{const t=br(e);return ti(C.some(hi(e,t,e,t)),!0)})):C.none()})))),nm=(e,t)=>bt(e,"tr",t).bind((e=>bt(e,"table",t).bind((o=>{const n=dt(o,"tr");return Re(e,n[n.length-1])?((e,t,o)=>Di(Oi,e,(e=>xr(e).isSome()),o))(o,0,t).map((e=>ti(C.some(hi(e,0,e,0)),!0))):C.none()})))),rm=(e,t,o,n,r,s,l)=>em(e,o,n,r,s).bind((e=>pi(t,o,e.start,e.finish,l))),sm=e=>{let t=e;return{get:()=>t,set:e=>{t=e}}},lm=()=>{const e=(e=>{const t=sm(C.none()),o=()=>t.get().each(e);return{clear:()=>{o(),t.set(C.none())},isSet:()=>t.get().isSome(),get:()=>t.get(),set:e=>{o(),t.set(C.some(e))}}})(f);return{...e,on:t=>e.get().each(t)}},am=(e,t)=>bt(e,"td,th",t),cm=e=>Be(e).exists(Qr),im={traverse:Ae,gather:Ei,relative:ei.before,retry:Ki.tryDown,failure:_i.failedDown},mm={traverse:ze,gather:ki,relative:ei.before,retry:Ki.tryUp,failure:_i.failedUp},dm=e=>t=>t===e,um=dm(38),fm=dm(40),gm=e=>e>=37&&e<=40,hm={isBackward:dm(37),isForward:dm(39)},pm={isBackward:dm(39),isForward:dm(37)},wm=Zl([{domRange:["rng"]},{relative:["startSitu","finishSitu"]},{exact:["start","soffset","finish","foffset"]}]),bm={domRange:wm.domRange,relative:wm.relative,exact:wm.exact,exactFromRange:e=>wm.exact(e.start,e.soffset,e.finish,e.foffset),getWin:e=>{const t=(e=>e.match({domRange:e=>xe.fromDom(e.startContainer),relative:(e,t)=>ei.getStart(e),exact:(e,t,o,n)=>e}))(e);return xe.fromDom(Ee(t).dom.defaultView)},range:ui},vm=document.caretPositionFromPoint?(e,t,o)=>{var n,r;return C.from(null===(r=(n=e.dom).caretPositionFromPoint)||void 0===r?void 0:r.call(n,t,o)).bind((t=>{if(null===t.offsetNode)return C.none();const o=e.dom.createRange();return o.setStart(t.offsetNode,t.offset),o.collapse(),C.some(o)}))}:document.caretRangeFromPoint?(e,t,o)=>{var n,r;return C.from(null===(r=(n=e.dom).caretRangeFromPoint)||void 0===r?void 0:r.call(n,t,o))}:C.none,ym=(e,t)=>{const o=ne(e);return"input"===o?ei.after(e):D(["br","img"],o)?0===t?ei.before(e):ei.after(e):ei.on(e,t)},xm=e=>C.from(e.getSelection()),Cm=(e,t)=>{xm(e).each((e=>{e.removeAllRanges(),e.addRange(t)}))},Sm=(e,t,o,n,r)=>{const s=li(e,t,o,n,r);Cm(e,s)},Tm=(e,t)=>mi(e,t).match({ltr:(t,o,n,r)=>{Sm(e,t,o,n,r)},rtl:(t,o,n,r)=>{xm(e).each((s=>{if(s.setBaseAndExtent)s.setBaseAndExtent(t.dom,o,n.dom,r);else if(s.extend)try{((e,t,o,n,r,s)=>{t.collapse(o.dom,n),t.extend(r.dom,s)})(0,s,t,o,n,r)}catch(s){Sm(e,n,r,t,o)}else Sm(e,n,r,t,o)}))}}),Rm=(e,t,o,n,r)=>{const s=((e,t,o,n)=>{const r=ym(e,t),s=ym(o,n);return bm.relative(r,s)})(t,o,n,r);Tm(e,s)},Dm=(e,t,o)=>{const n=((e,t)=>{const o=e.fold(ei.before,ym,ei.after),n=t.fold(ei.before,ym,ei.after);return bm.relative(o,n)})(t,o);Tm(e,n)},Om=e=>{if(e.rangeCount>0){const t=e.getRangeAt(0),o=e.getRangeAt(e.rangeCount-1);return C.some(ui(xe.fromDom(t.startContainer),t.startOffset,xe.fromDom(o.endContainer),o.endOffset))}return C.none()},km=e=>{if(null===e.anchorNode||null===e.focusNode)return Om(e);{const t=xe.fromDom(e.anchorNode),o=xe.fromDom(e.focusNode);return((e,t,o,n)=>{const r=((e,t,o,n)=>{const r=ke(e).dom.createRange();return r.setStart(e.dom,t),r.setEnd(o.dom,n),r})(e,t,o,n),s=Re(e,o)&&t===n;return r.collapsed&&!s})(t,e.anchorOffset,o,e.focusOffset)?C.some(ui(t,e.anchorOffset,o,e.focusOffset)):Om(e)}},Em=(e,t,o=!0)=>{const n=(o?ni:oi)(e,t);Cm(e,n)},Nm=e=>(e=>xm(e).filter((e=>e.rangeCount>0)).bind(km))(e).map((e=>bm.exact(e.start,e.soffset,e.finish,e.foffset))),Bm=e=>({elementFromPoint:(t,o)=>xe.fromPoint(xe.fromDom(e.document),t,o),getRect:e=>e.dom.getBoundingClientRect(),getRangedRect:(t,o,n,r)=>{const s=bm.exact(t,o,n,r);return((e,t)=>(e=>{const t=e.getClientRects(),o=t.length>0?t[0]:e.getBoundingClientRect();return o.width>0||o.height>0?C.some(o).map(ai):C.none()})(di(e,t)))(e,s)},getSelection:()=>Nm(e).map((t=>gi(e,t))),fromSitus:t=>{const o=bm.relative(t.start,t.finish);return gi(e,o)},situsFromPoint:(t,o)=>((e,t,o)=>((e,t,o)=>{const n=xe.fromDom(e.document);return vm(n,t,o).map((e=>ui(xe.fromDom(e.startContainer),e.startOffset,xe.fromDom(e.endContainer),e.endOffset)))})(e,t,o))(e,t,o).map((e=>fi(e.start,e.soffset,e.finish,e.foffset))),clearSelection:()=>{(e=>{xm(e).each((e=>e.removeAllRanges()))})(e)},collapseSelection:(t=!1)=>{Nm(e).each((o=>o.fold((e=>e.collapse(t)),((o,n)=>{const r=t?o:n;Dm(e,r,r)}),((o,n,r,s)=>{const l=t?o:r,a=t?n:s;Rm(e,l,a,l,a)}))))},setSelection:t=>{Rm(e,t.start,t.soffset,t.finish,t.foffset)},setRelativeSelection:(t,o)=>{Dm(e,t,o)},selectNode:t=>{Em(e,t,!1)},selectContents:t=>{Em(e,t)},getInnerHeight:()=>e.innerHeight,getScrollY:()=>(e=>{const t=void 0!==e?e.dom:document,o=t.body.scrollLeft||t.documentElement.scrollLeft,n=t.body.scrollTop||t.documentElement.scrollTop;return bn(o,n)})(xe.fromDom(e.document)).top,scrollBy:(t,o)=>{((e,t,o)=>{const n=(void 0!==o?o.dom:document).defaultView;n&&n.scrollBy(e,t)})(t,o,xe.fromDom(e.document))}}),_m=(e,t)=>({rows:e,cols:t}),zm=e=>gt(e,ae).exists(Qr),Am=(e,t)=>zm(e)||zm(t),Lm=e=>void 0!==e.dom.classList,Wm=(e,t)=>((e,t,o)=>{const n=((e,t)=>{const o=pe(e,t);return void 0===o||""===o?[]:o.split(" ")})(e,t).concat([o]);return ge(e,t,n.join(" ")),!0})(e,"class",t),Mm=(e,t)=>{Lm(e)?e.dom.classList.add(t):Wm(e,t)},jm=(e,t)=>Lm(e)&&e.dom.classList.contains(t),Pm=()=>({tag:"none"}),Im=e=>({tag:"multiple",elements:e}),Fm=e=>({tag:"single",element:e}),Hm=e=>{const t=xe.fromDom((e=>{if(nt()&&m(e.target)){const t=xe.fromDom(e.target);if(ce(t)&&m(t.dom.shadowRoot)&&e.composed&&e.composedPath){const t=e.composedPath();if(t)return H(t)}}return C.from(e.target)})(e).getOr(e.target)),o=()=>e.stopPropagation(),n=()=>e.preventDefault(),r=(s=n,l=o,(...e)=>s(l.apply(null,e)));var s,l;return((e,t,o,n,r,s,l)=>({target:e,x:t,y:o,stop:n,prevent:r,kill:s,raw:l}))(t,e.clientX,e.clientY,o,n,r,e)},$m=(e,t,o,n)=>{e.dom.removeEventListener(t,o,n)},Vm=x,qm=(e,t,o)=>((e,t,o,n)=>((e,t,o,n,r)=>{const s=((e,t)=>o=>{e(o)&&t(Hm(o))})(o,n);return e.dom.addEventListener(t,s,r),{unbind:w($m,e,t,s,r)}})(e,t,o,n,!1))(e,t,Vm,o),Um=Hm,Gm=e=>!jm(xe.fromDom(e.target),"ephox-snooker-resizer-bar"),Km=(e,t)=>{const o=(r=As.selectedSelector,{get:()=>Rs(xe.fromDom(e.getBody()),r).fold((()=>js(os(e),es(e)).fold(Pm,Fm)),Im)}),n=((e,t,o)=>{const n=t=>{be(t,e.selected),be(t,e.firstSelected),be(t,e.lastSelected)},r=t=>{ge(t,e.selected,"1")},s=e=>{l(e),o()},l=t=>{const o=dt(t,`${e.selectedSelector},${e.firstSelectedSelector},${e.lastSelectedSelector}`);N(o,n)};return{clearBeforeUpdate:l,clear:s,selectRange:(o,n,l,a)=>{s(o),N(n,r),ge(l,e.firstSelected,"1"),ge(a,e.lastSelected,"1"),t(n,l,a)},selectedSelector:e.selectedSelector,firstSelectedSelector:e.firstSelectedSelector,lastSelectedSelector:e.lastSelectedSelector}})(As,((t,o,n)=>{Kt(o).each((r=>{const s=Wr(e),l=Br(f,xe.fromDom(e.getDoc()),s),a=((e,t,o)=>{const n=Zo(e);return Ol(n,t).map((e=>{const t=xl(n,o,!1),{rows:r}=qo(t),s=((e,t)=>{const o=e.slice(0,t[t.length-1].row+1),n=Cl(o);return j(n,(e=>{const o=e.cells.slice(0,t[t.length-1].column+1);return E(o,(e=>e.element))}))})(r,e),l=((e,t)=>{const o=e.slice(t[0].row+t[0].rowspan-1,e.length),n=Cl(o);return j(n,(e=>{const o=e.cells.slice(t[0].column+t[0].colspan-1,e.cells.length);return E(o,(e=>e.element))}))})(r,e);return{upOrLeftCells:s,downOrRightCells:l}}))})(r,{selection:Ps(e)},l);((e,t,o,n,r)=>{e.dispatch("TableSelectionChange",{cells:t,start:o,finish:n,otherCells:r})})(e,t,o,n,a)}))}),(()=>(e=>{e.dispatch("TableSelectionClear")})(e)));var r;return e.on("init",(o=>{const r=e.getWin(),s=Zr(e),l=es(e),a=((e,t,o,n)=>{const r=((e,t,o,n)=>{const r=lm(),s=r.clear,l=s=>{r.on((r=>{n.clearBeforeUpdate(t),am(s.target,o).each((l=>{xs(r,l,o).each((o=>{const r=o.boxes.getOr([]);if(1===r.length){const o=r[0],l="false"===Xr(o),a=vt(Jr(s.target),o,Re);l&&a&&(n.selectRange(t,r,o,o),e.selectContents(o))}else r.length>1&&(n.selectRange(t,r,o.start,o.finish),e.selectContents(l))}))}))}))};return{clearstate:s,mousedown:e=>{n.clear(t),am(e.target,o).filter(cm).each(r.set)},mouseover:e=>{l(e)},mouseup:e=>{l(e),s()}}})(Bm(e),t,o,n);return{clearstate:r.clearstate,mousedown:r.mousedown,mouseover:r.mouseover,mouseup:r.mouseup}})(r,s,l,n),c=((e,t,o,n)=>{const r=Bm(e),s=()=>(n.clear(t),C.none());return{keydown:(e,l,a,c,i,m)=>{const d=e.raw,u=d.which,f=!0===d.shiftKey,g=Cs(t,n.selectedSelector).fold((()=>(gm(u)&&!f&&n.clearBeforeUpdate(t),gm(u)&&f&&!Am(l,c)?C.none:fm(u)&&f?w(rm,r,t,o,im,c,l,n.selectRange):um(u)&&f?w(rm,r,t,o,mm,c,l,n.selectRange):fm(u)?w(tm,r,o,im,c,l,nm):um(u)?w(tm,r,o,mm,c,l,om):C.none)),(e=>{const o=o=>()=>{const s=V(o,(o=>((e,t,o,n,r)=>Ts(n,e,t,r.firstSelectedSelector,r.lastSelectedSelector).map((e=>(r.clearBeforeUpdate(o),r.selectRange(o,e.boxes,e.start,e.finish),e.boxes))))(o.rows,o.cols,t,e,n)));return s.fold((()=>Ss(t,n.firstSelectedSelector,n.lastSelectedSelector).map((e=>{const o=fm(u)||m.isForward(u)?ei.after:ei.before;return r.setRelativeSelection(ei.on(e.first,0),o(e.table)),n.clear(t),ti(C.none(),!0)}))),(e=>C.some(ti(C.none(),!0))))};return gm(u)&&f&&!Am(l,c)?C.none:fm(u)&&f?o([_m(1,0)]):um(u)&&f?o([_m(-1,0)]):m.isBackward(u)&&f?o([_m(0,-1),_m(-1,0)]):m.isForward(u)&&f?o([_m(0,1),_m(1,0)]):gm(u)&&!f?s:C.none}));return g()},keyup:(e,r,s,l,a)=>Cs(t,n.selectedSelector).fold((()=>{const c=e.raw,i=c.which;return!0===c.shiftKey&&gm(i)&&Am(r,l)?((e,t,o,n,r,s,l)=>Re(o,r)&&n===s?C.none():bt(o,"td,th",t).bind((o=>bt(r,"td,th",t).bind((n=>pi(e,t,o,n,l))))))(t,o,r,s,l,a,n.selectRange):C.none()}),C.none)}})(r,s,l,n),i=((e,t,o,n)=>{const r=Bm(e);return(e,s)=>{n.clearBeforeUpdate(t),xs(e,s,o).each((e=>{const o=e.boxes.getOr([]);n.selectRange(t,o,e.start,e.finish),r.selectContents(s),r.collapseSelection()}))}})(r,s,l,n);e.on("TableSelectorChange",(e=>i(e.start,e.finish)));const m=(t,o)=>{(e=>!0===e.raw.shiftKey)(t)&&(o.kill&&t.kill(),o.selection.each((t=>{const o=bm.relative(t.start,t.finish),n=di(r,o);e.selection.setRng(n)})))},d=e=>0===e.button,u=(()=>{const e=sm(xe.fromDom(s)),t=sm(0);return{touchEnd:o=>{const n=xe.fromDom(o.target);if(ue("td")(n)||ue("th")(n)){const r=e.get(),s=t.get();Re(r,n)&&o.timeStamp-s<300&&(o.preventDefault(),i(n,n))}e.set(n),t.set(o.timeStamp)}}})();e.on("dragstart",(e=>{a.clearstate()})),e.on("mousedown",(e=>{d(e)&&Gm(e)&&a.mousedown(Um(e))})),e.on("mouseover",(e=>{var t;void 0!==(t=e).buttons&&0==(1&t.buttons)||!Gm(e)||a.mouseover(Um(e))})),e.on("mouseup",(e=>{d(e)&&Gm(e)&&a.mouseup(Um(e))})),e.on("touchend",u.touchEnd),e.on("keyup",(t=>{const o=Um(t);if(o.raw.shiftKey&&gm(o.raw.which)){const t=e.selection.getRng(),n=xe.fromDom(t.startContainer),r=xe.fromDom(t.endContainer);c.keyup(o,n,t.startOffset,r,t.endOffset).each((e=>{m(o,e)}))}})),e.on("keydown",(o=>{const n=Um(o);t.hide();const r=e.selection.getRng(),s=xe.fromDom(r.startContainer),l=xe.fromDom(r.endContainer),a=un(hm,pm)(xe.fromDom(e.selection.getStart()));c.keydown(n,s,r.startOffset,l,r.endOffset,a).each((e=>{m(n,e)})),t.show()})),e.on("NodeChange",(()=>{const t=e.selection,o=xe.fromDom(t.getStart()),r=xe.fromDom(t.getEnd());vs(Kt,[o,r]).fold((()=>n.clear(s)),f)}))})),e.on("PreInit",(()=>{e.serializer.addTempAttr(As.firstSelected),e.serializer.addTempAttr(As.lastSelected)})),{getSelectedCells:()=>((e,t,o,n)=>{switch(e.tag){case"none":return t();case"single":return(e=>[e.dom])(e.element);case"multiple":return(e=>E(e,(e=>e.dom)))(e.elements)}})(o.get(),g([])),clearSelectedCells:e=>n.clear(xe.fromDom(e))}},Ym=e=>{let t=[];return{bind:e=>{if(void 0===e)throw new Error("Event bind error: undefined handler");t.push(e)},unbind:e=>{t=_(t,(t=>t!==e))},trigger:(...o)=>{const n={};N(e,((e,t)=>{n[e]=o[t]})),N(t,(e=>{e(n)}))}}},Jm=e=>({registry:K(e,(e=>({bind:e.bind,unbind:e.unbind}))),trigger:K(e,(e=>e.trigger))}),Qm=e=>e.slice(0).sort(),Xm=(e,t)=>{const o=_(t,(t=>!D(e,t)));o.length>0&&(e=>{throw new Error("Unsupported keys for object: "+Qm(e).join(", "))})(o)},Zm=e=>((e,t)=>((e,t,o)=>{if(0===t.length)throw new Error("You must specify at least one required field.");return((e,t)=>{if(!l(t))throw new Error("The "+e+" fields must be an array. Was: "+t+".");N(t,(t=>{if(!r(t))throw new Error("The value "+t+" in the "+e+" fields was not a string.")}))})("required",t),(e=>{const t=Qm(e);L(t,((e,o)=>o<t.length-1&&e===t[o+1])).each((e=>{throw new Error("The field: "+e+" occurs more than once in the combined fields: ["+t.join(", ")+"].")}))})(t),n=>{const r=q(n);P(t,(e=>D(r,e)))||((e,t)=>{throw new Error("All required keys ("+Qm(e).join(", ")+") were not specified. Specified keys were: "+Qm(t).join(", ")+".")})(t,r),e(t,r);const s=_(t,(e=>!o.validate(n[e],e)));return s.length>0&&((e,t)=>{throw new Error("All values need to be of type: "+t+". Keys ("+Qm(e).join(", ")+") were not.")})(s,o.label),n}})(e,t,{validate:d,label:"function"}))(Xm,e),ed=Zm(["compare","extract","mutate","sink"]),td=Zm(["element","start","stop","destroy"]),od=Zm(["forceDrop","drop","move","delayDrop"]),nd=()=>{const e=(()=>{const e=Jm({move:Ym(["info"])});return{onEvent:f,reset:f,events:e.registry}})(),t=(()=>{let e=C.none();const t=Jm({move:Ym(["info"])});return{onEvent:(o,n)=>{n.extract(o).each((o=>{const r=((t,o)=>{const n=e.map((e=>t.compare(e,o)));return e=C.some(o),n})(n,o);r.each((e=>{t.trigger.move(e)}))}))},reset:()=>{e=C.none()},events:t.registry}})();let o=e;return{on:()=>{o.reset(),o=t},off:()=>{o.reset(),o=e},isOn:()=>o===t,onEvent:(e,t)=>{o.onEvent(e,t)},events:t.events}},rd=e=>{const t=e.replace(/\./g,"-");return{resolve:e=>t+"-"+e}},sd=rd("ephox-dragster").resolve;var ld=ed({compare:(e,t)=>bn(t.left-e.left,t.top-e.top),extract:e=>C.some(bn(e.x,e.y)),sink:(e,t)=>{const o=(e=>{const t={layerClass:sd("blocker"),...e},o=xe.fromTag("div");return ge(o,"role","presentation"),Bt(o,{position:"fixed",left:"0px",top:"0px",width:"100%",height:"100%"}),Mm(o,sd("blocker")),Mm(o,t.layerClass),{element:g(o),destroy:()=>{qe(o)}}})(t),n=qm(o.element(),"mousedown",e.forceDrop),r=qm(o.element(),"mouseup",e.drop),s=qm(o.element(),"mousemove",e.move),l=qm(o.element(),"mouseout",e.delayDrop);return td({element:o.element,start:e=>{Ie(e,o.element())},stop:()=>{qe(o.element())},destroy:()=>{o.destroy(),r.unbind(),s.unbind(),l.unbind(),n.unbind()}})},mutate:(e,t)=>{e.mutate(t.left,t.top)}});const ad=rd("ephox-snooker").resolve,cd=ad("resizer-bar"),id=ad("resizer-rows"),md=ad("resizer-cols"),dd=e=>{const t=dt(e.parent(),"."+cd);N(t,qe)},ud=(e,t,o)=>{const n=e.origin();N(t,(t=>{t.each((t=>{const r=o(n,t);Mm(r,cd),Ie(e.parent(),r)}))}))},fd=(e,t,o,n,r)=>{const s=yn(o),l=t.isResizable,a=n.length>0?_n.positions(n,o):[],c=a.length>0?((e,t)=>j(e.all,((e,o)=>t(e.element)?[o]:[])))(e,l):[];((e,t,o,n)=>{ud(e,t,((e,t)=>{const r=((e,t,o,n,r)=>{const s=xe.fromTag("div");return Bt(s,{position:"absolute",left:t+"px",top:o-3.5+"px",height:"7px",width:n+"px"}),he(s,{"data-row":e,role:"presentation"}),s})(t.row,o.left-e.left,t.y-e.top,n);return Mm(r,id),r}))})(t,_(a,((e,t)=>O(c,(e=>t===e)))),s,Wo(o));const i=r.length>0?An.positions(r,o):[],m=i.length>0?((e,t)=>{const o=[];return k(e.grid.columns,(n=>{an(e,n).map((e=>e.element)).forall(t)&&o.push(n)})),_(o,(o=>{const n=nn(e,(e=>e.column===o));return P(n,(e=>t(e.element)))}))})(e,l):[];((e,t,o,n)=>{ud(e,t,((e,t)=>{const r=((e,t,o,n,r)=>{const s=xe.fromTag("div");return Bt(s,{position:"absolute",left:t-3.5+"px",top:o+"px",height:r+"px",width:"7px"}),he(s,{"data-column":e,role:"presentation"}),s})(t.col,t.x-e.left,o.top-e.top,0,n);return Mm(r,md),r}))})(t,_(i,((e,t)=>O(m,(e=>t===e)))),s,pn(o))},gd=(e,t)=>{if(dd(e),e.isResizable(t)){const o=Zo(t),n=dn(o),r=cn(o);fd(o,e,t,n,r)}},hd=(e,t)=>{const o=dt(e.parent(),"."+cd);N(o,t)},pd=e=>{hd(e,(e=>{Nt(e,"display","none")}))},wd=e=>{hd(e,(e=>{Nt(e,"display","block")}))},bd=ad("resizer-bar-dragging"),vd=e=>{const t=(()=>{const e=Jm({drag:Ym(["xDelta","yDelta","target"])});let t=C.none();const o=(()=>{const e=Jm({drag:Ym(["xDelta","yDelta"])});return{mutate:(t,o)=>{e.trigger.drag(t,o)},events:e.registry}})();return o.events.drag.bind((o=>{t.each((t=>{e.trigger.drag(o.xDelta,o.yDelta,t)}))})),{assign:e=>{t=C.some(e)},get:()=>t,mutate:o.mutate,events:e.registry}})(),o=((e,t={})=>{var o;return((e,t,o)=>{let n=!1;const r=Jm({start:Ym([]),stop:Ym([])}),s=nd(),l=()=>{m.stop(),s.isOn()&&(s.off(),r.trigger.stop())},c=((e,t)=>{let o=null;const n=()=>{a(o)||(clearTimeout(o),o=null)};return{cancel:n,throttle:(...t)=>{n(),o=setTimeout((()=>{o=null,e.apply(null,t)}),200)}}})(l);s.events.move.bind((o=>{t.mutate(e,o.info)}));const i=e=>(...t)=>{n&&e.apply(null,t)},m=t.sink(od({forceDrop:l,drop:i(l),move:i((e=>{c.cancel(),s.onEvent(e,t)})),delayDrop:i(c.throttle)}),o);return{element:m.element,go:e=>{m.start(e),s.on(),r.trigger.start()},on:()=>{n=!0},off:()=>{n=!1},isActive:()=>n,destroy:()=>{m.destroy()},events:r.registry}})(e,null!==(o=t.mode)&&void 0!==o?o:ld,t)})(t,{});let n=C.none();const r=(e,t)=>C.from(pe(e,t));t.events.drag.bind((e=>{r(e.target,"data-row").each((t=>{const o=It(e.target,"top");Nt(e.target,"top",o+e.yDelta+"px")})),r(e.target,"data-column").each((t=>{const o=It(e.target,"left");Nt(e.target,"left",o+e.xDelta+"px")}))}));const s=(e,t)=>It(e,t)-Wt(e,"data-initial-"+t,0);o.events.stop.bind((()=>{t.get().each((t=>{n.each((o=>{r(t,"data-row").each((e=>{const n=s(t,"top");be(t,"data-initial-top"),d.trigger.adjustHeight(o,n,parseInt(e,10))})),r(t,"data-column").each((e=>{const n=s(t,"left");be(t,"data-initial-left"),d.trigger.adjustWidth(o,n,parseInt(e,10))})),gd(e,o)}))}))}));const l=(n,r)=>{d.trigger.startAdjust(),t.assign(n),ge(n,"data-initial-"+r,It(n,r)),Mm(n,bd),Nt(n,"opacity","0.2"),o.go(e.parent())},c=qm(e.parent(),"mousedown",(e=>{var t;t=e.target,jm(t,id)&&l(e.target,"top"),(e=>jm(e,md))(e.target)&&l(e.target,"left")})),i=t=>Re(t,e.view()),m=qm(e.view(),"mouseover",(t=>{var r;(r=t.target,bt(r,"table",i).filter(Qr)).fold((()=>{lt(t.target)&&dd(e)}),(t=>{o.isActive()&&(n=C.some(t),gd(e,t))}))})),d=Jm({adjustHeight:Ym(["table","delta","row"]),adjustWidth:Ym(["table","delta","column"]),startAdjust:Ym([])});return{destroy:()=>{c.unbind(),m.unbind(),o.destroy(),dd(e)},refresh:t=>{gd(e,t)},on:o.on,off:o.off,hideBars:w(pd,e),showBars:w(wd,e),events:d.registry}},yd=(e,t,o)=>{const n=_n,r=An,s=vd(e),l=Jm({beforeResize:Ym(["table","type"]),afterResize:Ym(["table","type"]),startDrag:Ym([])});return s.events.adjustHeight.bind((e=>{const t=e.table;l.trigger.beforeResize(t,"row");((e,t,o,n)=>{const r=Zo(e),s=((e,t,o)=>lr(e,t,o,Yn,(e=>e.getOrThunk(Ht))))(r,e,n),l=E(s,((e,n)=>o===n?Math.max(t+e,Ht()):e)),a=oa(r,l),c=((e,t)=>E(e.all,((e,o)=>({element:e.element,height:t[o]}))))(r,l);N(c,(e=>{$n(e.element,e.height)})),N(a,(e=>{$n(e.element,e.height)}));const i=z(l,((e,t)=>e+t),0);$n(e,i)})(t,n.delta(e.delta,t),e.row,n),l.trigger.afterResize(t,"row")})),s.events.startAdjust.bind((e=>{l.trigger.startDrag()})),s.events.adjustWidth.bind((e=>{const n=e.table;l.trigger.beforeResize(n,"col");const s=r.delta(e.delta,n),a=o(n);ra(n,s,e.column,t,a),l.trigger.afterResize(n,"col")})),{on:s.on,off:s.off,refreshBars:s.refresh,hideBars:s.hideBars,showBars:s.showBars,destroy:s.destroy,events:l.registry}},xd=e=>m(e)&&"TABLE"===e.nodeName,Cd="bar-",Sd=e=>"false"!==pe(e,"data-mce-resize"),Td=e=>{const t=lm(),o=lm(),n=lm();let r,s;const l=t=>fc(e,t),a=()=>Pr(e)?el():Zs();return e.on("init",(()=>{const r=((e,t)=>e.inline?((e,t,o)=>({parent:g(t),view:g(e),origin:g(bn(0,0)),isResizable:o}))(xe.fromDom(e.getBody()),(()=>{const e=xe.fromTag("div");return Bt(e,{position:"static",height:"0",width:"0",padding:"0",margin:"0",border:"0"}),Ie(at(xe.fromDom(document)),e),e})(),t):((e,t)=>{const o=me(e)?(e=>xe.fromDom(Ee(e).dom.documentElement))(e):e;return{parent:g(o),view:g(e),origin:g(bn(0,0)),isResizable:t}})(xe.fromDom(e.getDoc()),t))(e,Sd);if(n.set(r),(e=>{const t=e.options.get("object_resizing");return D(t.split(","),"table")})(e)&&qr(e)){const n=a(),s=yd(r,n,l);s.on(),s.events.startDrag.bind((o=>{t.set(e.selection.getRng())})),s.events.beforeResize.bind((t=>{const o=t.table.dom;((e,t,o,n,r)=>{e.dispatch("ObjectResizeStart",{target:t,width:o,height:n,origin:r})})(e,o,ns(o),rs(o),Cd+t.type)})),s.events.afterResize.bind((o=>{const n=o.table,r=n.dom;ts(n),t.on((t=>{e.selection.setRng(t),e.focus()})),((e,t,o,n,r)=>{e.dispatch("ObjectResized",{target:t,width:o,height:n,origin:r})})(e,r,ns(r),rs(r),Cd+o.type),e.undoManager.add()})),o.set(s)}})),e.on("ObjectResizeStart",(t=>{const o=t.target;if(xd(o)){const n=xe.fromDom(o);N(e.dom.select(".mce-clonedresizable"),(t=>{e.dom.addClass(t,"mce-"+jr(e)+"-columns")})),!kc(n)&&$r(e)?_c(n):!Oc(n)&&Hr(e)&&Bc(n),Ec(n)&&Tt(t.origin,Cd)&&Bc(n),r=t.width,s=Vr(e)?"":((e,t)=>{const o=e.dom.getStyle(t,"width")||e.dom.getAttrib(t,"width");return C.from(o).filter(Ot)})(e,o).getOr("")}})),e.on("ObjectResized",(t=>{const o=t.target;if(xd(o)){const n=xe.fromDom(o),c=t.origin;Tt(c,"corner-")&&((t,o,n)=>{const c=Rt(o,"e");if(""===s&&Bc(t),n!==r&&""!==s){Nt(t,"width",s);const o=a(),i=l(t),m=Pr(e)||c?(e=>tl(e).columns)(t)-1:0;ra(t,n-r,m,o,i)}else if((e=>/^(\d+(\.\d+)?)%$/.test(e))(s)){const e=parseFloat(s.replace("%",""));Nt(t,"width",n*e/r+"%")}(e=>/^(\d+(\.\d+)?)px$/.test(e))(s)&&(e=>{const t=Zo(e);ln(t)||N(Ut(e),(e=>{const t=_t(e,"width");Nt(e,"width",t),be(e,"width")}))})(t)})(n,c,t.width),ts(n),ic(e,n.dom,mc)}})),e.on("SwitchMode",(()=>{o.on((t=>{e.mode.isReadOnly()?t.hideBars():t.showBars()}))})),e.on("dragstart dragend",(e=>{o.on((t=>{"dragstart"===e.type?(t.hideBars(),t.off()):(t.on(),t.showBars())}))})),e.on("remove",(()=>{o.on((e=>{e.destroy()})),n.on((t=>{((e,t)=>{e.inline&&qe(t.parent())})(e,t)}))})),{refresh:e=>{o.on((t=>t.refreshBars(xe.fromDom(e))))},hide:()=>{o.on((e=>e.hideBars()))},show:()=>{o.on((e=>e.showBars()))}}},Rd=e=>{(e=>{const t=e.options.register;t("table_clone_elements",{processor:"string[]"}),t("table_use_colgroups",{processor:"boolean",default:!0}),t("table_header_type",{processor:e=>{const t=D(["section","cells","sectionCells","auto"],e);return t?{value:e,valid:t}:{valid:!1,message:"Must be one of: section, cells, sectionCells or auto."}},default:"section"}),t("table_sizing_mode",{processor:"string",default:"auto"}),t("table_default_attributes",{processor:"object",default:{border:"1"}}),t("table_default_styles",{processor:"object",default:{"border-collapse":"collapse"}}),t("table_column_resizing",{processor:e=>{const t=D(["preservetable","resizetable"],e);return t?{value:e,valid:t}:{valid:!1,message:"Must be preservetable, or resizetable."}},default:"preservetable"}),t("table_resize_bars",{processor:"boolean",default:!0}),t("table_style_by_css",{processor:"boolean",default:!0}),t("table_merge_content_on_paste",{processor:"boolean",default:!0})})(e);const t=Td(e),o=Km(e,t),n=gc(e,t,o);return Xc(e,n),((e,t)=>{const o=es(e),n=t=>js(os(e)).bind((n=>Kt(n,o).map((o=>{const r=Ls(Ps(e),o,n);return t(o,r)})))).getOr("");G({mceTableRowType:()=>n(t.getTableRowType),mceTableCellType:()=>n(t.getTableCellType),mceTableColType:()=>n(t.getTableColType)},((t,o)=>e.addQueryValueHandler(o,t)))})(e,n),Is(e,n),{getSelectedCells:o.getSelectedCells,clearSelectedCells:o.clearSelectedCells}};e.add("dom",(e=>({table:Rd(e)})))}();
@@ -0,0 +1,2 @@
1
+ import{__exports as e}from"../../../../_virtual/model.mjs";var t;function o(){return t||(t=1,function(){var e=tinymce.util.Tools.resolve("tinymce.ModelManager");const t=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(o=r=e,n=(s=String).prototype,n.isPrototypeOf(o)||(null===(l=r.constructor)||void 0===l?void 0:l.name)===s.name)?"string":t;var o,n;var r,s,l})(t)===e,o=e=>t=>typeof t===e,n=e=>t=>e===t,r=t("string"),s=t("object"),l=t("array"),a=n(null),c=o("boolean"),i=n(void 0),m=e=>!(e=>null==e)(e),d=o("function"),u=o("number"),f=()=>{},g=e=>()=>e,h=e=>e,p=(e,t)=>e===t;function b(e,...t){return(...o)=>{const n=t.concat(o);return e.apply(null,n)}}const w=e=>t=>!e(t),v=e=>e(),y=g(!1),C=g(!0);class x{constructor(e,t){this.tag=e,this.value=t}static some(e){return new x(!0,e)}static none(){return x.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?x.some(e(this.value)):x.none()}bind(e){return this.tag?e(this.value):x.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:x.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return m(e)?x.some(e):x.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}x.singletonNone=new x(!1);const T=Array.prototype.slice,S=Array.prototype.indexOf,R=Array.prototype.push,D=(e,t)=>{return o=e,n=t,S.call(o,n)>-1;var o,n},O=(e,t)=>{for(let o=0,n=e.length;o<n;o++){if(t(e[o],o))return!0}return!1},k=(e,t)=>{const o=[];for(let n=0;n<e;n++)o.push(t(n));return o},E=(e,t)=>{const o=e.length,n=new Array(o);for(let r=0;r<o;r++){const o=e[r];n[r]=t(o,r)}return n},N=(e,t)=>{for(let o=0,n=e.length;o<n;o++){t(e[o],o)}},A=(e,t)=>{const o=[],n=[];for(let r=0,s=e.length;r<s;r++){const s=e[r];(t(s,r)?o:n).push(s)}return{pass:o,fail:n}},B=(e,t)=>{const o=[];for(let n=0,r=e.length;n<r;n++){const r=e[n];t(r,n)&&o.push(r)}return o},_=(e,t,o)=>(((e,t)=>{for(let o=e.length-1;o>=0;o--)t(e[o],o)})(e,((e,n)=>{o=t(o,e,n)})),o),j=(e,t,o)=>(N(e,((e,n)=>{o=t(o,e,n)})),o),z=(e,t)=>((e,t,o)=>{for(let n=0,r=e.length;n<r;n++){const r=e[n];if(t(r,n))return x.some(r);if(o(r,n))break}return x.none()})(e,t,y),L=(e,t)=>{for(let o=0,n=e.length;o<n;o++){if(t(e[o],o))return x.some(o)}return x.none()},W=e=>{const t=[];for(let o=0,n=e.length;o<n;++o){if(!l(e[o]))throw new Error("Arr.flatten item "+o+" was not an array, input: "+e);R.apply(t,e[o])}return t},M=(e,t)=>W(E(e,t)),I=(e,t)=>{for(let o=0,n=e.length;o<n;++o){if(!0!==t(e[o],o))return!1}return!0},P=(e,t)=>{const o={};for(let n=0,r=e.length;n<r;n++){const r=e[n];o[String(r)]=t(r,n)}return o},F=(e,t)=>t>=0&&t<e.length?x.some(e[t]):x.none(),H=e=>F(e,0),$=e=>F(e,e.length-1),q=(e,t)=>{for(let o=0;o<e.length;o++){const n=t(e[o],o);if(n.isSome())return n}return x.none()},V=Object.keys,U=Object.hasOwnProperty,G=(e,t)=>{const o=V(e);for(let n=0,r=o.length;n<r;n++){const r=o[n];t(e[r],r)}},K=(e,t)=>Y(e,((e,o)=>({k:o,v:t(e,o)}))),Y=(e,t)=>{const o={};return G(e,((e,n)=>{const r=t(e,n);o[r.k]=r.v})),o},J=(e,t)=>{const o={};return((e,t,o,n)=>{G(e,((e,r)=>{(t(e,r)?o:n)(e,r)}))})(e,t,(e=>(t,o)=>{e[o]=t})(o),f),o},Q=(e,t)=>{const o=[];return G(e,((e,n)=>{o.push(t(e,n))})),o},X=e=>Q(e,h),Z=(e,t)=>U.call(e,t),ee="undefined"!=typeof window?window:Function("return this;")(),te=(e,t)=>((e,t)=>{let o=null!=t?t:ee;for(let t=0;t<e.length&&null!=o;++t)o=o[e[t]];return o})(e.split("."),t),oe=(e,t)=>{const o=((e,t)=>te(e,t))(e,t);if(null==o)throw new Error(e+" not available on this browser");return o},ne=Object.getPrototypeOf,re=e=>{const t=te("ownerDocument.defaultView",e);return s(e)&&((e=>oe("HTMLElement",e))(t).prototype.isPrototypeOf(e)||/^HTML\w*Element$/.test(ne(e).constructor.name))},se=e=>e.dom.nodeName.toLowerCase(),le=e=>e.dom.nodeType,ae=e=>t=>le(t)===e,ce=e=>8===le(e)||"#comment"===se(e),ie=e=>me(e)&&re(e.dom),me=ae(1),de=ae(3),ue=ae(9),fe=ae(11),ge=e=>t=>me(t)&&se(t)===e,he=(e,t,o)=>{if(!(r(o)||c(o)||u(o)))throw console.error("Invalid call to Attribute.set. Key ",t,":: Value ",o,":: Element ",e),new Error("Attribute value was not simple");e.setAttribute(t,o+"")},pe=(e,t,o)=>{he(e.dom,t,o)},be=(e,t)=>{const o=e.dom;G(t,((e,t)=>{he(o,t,e)}))},we=(e,t)=>{const o=e.dom.getAttribute(t);return null===o?void 0:o},ve=(e,t)=>x.from(we(e,t)),ye=(e,t)=>{e.dom.removeAttribute(t)},Ce=e=>j(e.dom.attributes,((e,t)=>(e[t.name]=t.value,e)),{}),xe=e=>{if(null==e)throw new Error("Node cannot be null or undefined");return{dom:e}},Te={fromHtml:(e,t)=>{const o=(t||document).createElement("div");if(o.innerHTML=e,!o.hasChildNodes()||o.childNodes.length>1){const t="HTML does not have a single root node";throw console.error(t,e),new Error(t)}return xe(o.childNodes[0])},fromTag:(e,t)=>{const o=(t||document).createElement(e);return xe(o)},fromText:(e,t)=>{const o=(t||document).createTextNode(e);return xe(o)},fromDom:xe,fromPoint:(e,t,o)=>x.from(e.dom.elementFromPoint(t,o)).map(xe)},Se=(e,t)=>{const o=e.dom;if(1!==o.nodeType)return!1;{const e=o;if(void 0!==e.matches)return e.matches(t);if(void 0!==e.msMatchesSelector)return e.msMatchesSelector(t);if(void 0!==e.webkitMatchesSelector)return e.webkitMatchesSelector(t);if(void 0!==e.mozMatchesSelector)return e.mozMatchesSelector(t);throw new Error("Browser lacks native selectors")}},Re=e=>1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType||0===e.childElementCount,De=(e,t)=>{const o=void 0===t?document:t.dom;return Re(o)?x.none():x.from(o.querySelector(e)).map(Te.fromDom)},Oe=(e,t)=>e.dom===t.dom,ke=(e,t)=>{const o=e.dom,n=t.dom;return o!==n&&o.contains(n)},Ee=Se,Ne=e=>Te.fromDom(e.dom.ownerDocument),Ae=e=>ue(e)?e:Ne(e),Be=e=>x.from(e.dom.parentNode).map(Te.fromDom),_e=e=>x.from(e.dom.parentElement).map(Te.fromDom),je=(e,t)=>{const o=d(t)?t:y;let n=e.dom;const r=[];for(;null!==n.parentNode&&void 0!==n.parentNode;){const e=n.parentNode,t=Te.fromDom(e);if(r.push(t),!0===o(t))break;n=e}return r},ze=e=>x.from(e.dom.previousSibling).map(Te.fromDom),Le=e=>x.from(e.dom.nextSibling).map(Te.fromDom),We=e=>E(e.dom.childNodes,Te.fromDom),Me=(e,t)=>{const o=e.dom.childNodes;return x.from(o[t]).map(Te.fromDom)},Ie=(e,t)=>{Be(e).each((o=>{o.dom.insertBefore(t.dom,e.dom)}))},Pe=(e,t)=>{Le(e).fold((()=>{Be(e).each((e=>{He(e,t)}))}),(e=>{Ie(e,t)}))},Fe=(e,t)=>{const o=(e=>Me(e,0))(e);o.fold((()=>{He(e,t)}),(o=>{e.dom.insertBefore(t.dom,o.dom)}))},He=(e,t)=>{e.dom.appendChild(t.dom)},$e=(e,t)=>{Ie(e,t),He(t,e)},qe=(e,t)=>{N(t,((o,n)=>{const r=0===n?e:t[n-1];Pe(r,o)}))},Ve=(e,t)=>{N(t,(t=>{He(e,t)}))},Ue=e=>{e.dom.textContent="",N(We(e),(e=>{Ge(e)}))},Ge=e=>{const t=e.dom;null!==t.parentNode&&t.parentNode.removeChild(t)},Ke=e=>{const t=We(e);t.length>0&&qe(e,t),Ge(e)},Ye=(e,t)=>Te.fromDom(e.dom.cloneNode(t)),Je=e=>Ye(e,!1),Qe=e=>Ye(e,!0),Xe=(e,t)=>{const o=Te.fromTag(t),n=Ce(e);return be(o,n),o},Ze=["tfoot","thead","tbody","colgroup"],et=(e,t,o)=>({element:e,rowspan:t,colspan:o}),tt=(e,t,o)=>({element:e,cells:t,section:o}),ot=(e,t,o)=>({element:e,isNew:t,isLocked:o}),nt=(e,t,o,n)=>({element:e,cells:t,section:o,isNew:n}),rt=d(Element.prototype.attachShadow)&&d(Node.prototype.getRootNode),st=g(rt),lt=rt?e=>Te.fromDom(e.dom.getRootNode()):Ae,at=e=>{const t=lt(e);return fe(o=t)&&m(o.dom.host)?x.some(t):x.none();var o},ct=e=>Te.fromDom(e.dom.host),it=e=>m(e.dom.shadowRoot),mt=e=>{const t=de(e)?e.dom.parentNode:e.dom;if(null==t||null===t.ownerDocument)return!1;const o=t.ownerDocument;return at(Te.fromDom(t)).fold((()=>o.body.contains(t)),(n=mt,r=ct,e=>n(r(e))));var n,r},dt=e=>{const t=e.dom.body;if(null==t)throw new Error("Body is not available yet");return Te.fromDom(t)},ut=(e,t)=>{let o=[];return N(We(e),(e=>{t(e)&&(o=o.concat([e])),o=o.concat(ut(e,t))})),o},ft=(e,t,o)=>((e,t,o)=>B(je(e,o),t))(e,(e=>Se(e,t)),o),gt=(e,t)=>((e,t)=>B(We(e),t))(e,(e=>Se(e,t))),ht=(e,t)=>((e,t)=>{const o=void 0===t?document:t.dom;return Re(o)?[]:E(o.querySelectorAll(e),Te.fromDom)})(t,e);var pt=(e,t,o,n,r)=>e(o,n)?x.some(o):d(r)&&r(o)?x.none():t(o,n,r);const bt=(e,t,o)=>{let n=e.dom;const r=d(o)?o:y;for(;n.parentNode;){n=n.parentNode;const e=Te.fromDom(n);if(t(e))return x.some(e);if(r(e))break}return x.none()},wt=(e,t,o)=>pt(((e,t)=>t(e)),bt,e,t,o),vt=(e,t,o)=>bt(e,(e=>Se(e,t)),o),yt=(e,t)=>((e,t)=>z(e.dom.childNodes,(e=>t(Te.fromDom(e)))).map(Te.fromDom))(e,(e=>Se(e,t))),Ct=(e,t)=>De(t,e),xt=(e,t,o)=>pt(((e,t)=>Se(e,t)),vt,e,t,o),Tt=(e,t,o=p)=>e.exists((e=>o(e,t))),St=e=>{const t=[],o=e=>{t.push(e)};for(let t=0;t<e.length;t++)e[t].each(o);return t},Rt=(e,t)=>e?x.some(t):x.none(),Dt=(e,t,o)=>""===t||e.length>=t.length&&e.substr(o,o+t.length)===t,Ot=(e,t,o=0,n)=>{const r=e.indexOf(t,o);return-1!==r&&(!!i(n)||r+t.length<=n)},kt=(e,t)=>Dt(e,t,0),Et=(e,t)=>Dt(e,t,e.length-t.length),Nt=(e=>t=>t.replace(e,""))(/^\s+|\s+$/g),At=e=>e.length>0,Bt=e=>void 0!==e.style&&d(e.style.getPropertyValue),_t=(e,t,o)=>{if(!r(o))throw console.error("Invalid call to CSS.set. Property ",t,":: Value ",o,":: Element ",e),new Error("CSS value must be a string: "+o);Bt(e)&&e.style.setProperty(t,o)},jt=(e,t,o)=>{const n=e.dom;_t(n,t,o)},zt=(e,t)=>{const o=e.dom;G(t,((e,t)=>{_t(o,t,e)}))},Lt=(e,t)=>{const o=e.dom,n=window.getComputedStyle(o).getPropertyValue(t);return""!==n||mt(e)?n:Wt(o,t)},Wt=(e,t)=>Bt(e)?e.style.getPropertyValue(t):"",Mt=(e,t)=>{const o=e.dom,n=Wt(o,t);return x.from(n).filter((e=>e.length>0))},It=(e,t)=>{((e,t)=>{Bt(e)&&e.style.removeProperty(t)})(e.dom,t),Tt(ve(e,"style").map(Nt),"")&&ye(e,"style")},Pt=(e,t,o=0)=>ve(e,t).map((e=>parseInt(e,10))).getOr(o),Ft=(e,t)=>Pt(e,t,1),Ht=e=>ge("col")(e)?Pt(e,"span",1)>1:Ft(e,"colspan")>1,$t=e=>Ft(e,"rowspan")>1,qt=(e,t)=>parseInt(Lt(e,t),10),Vt=g(10),Ut=g(10),Gt=(e,t)=>Kt(e,t,C),Kt=(e,t,o)=>M(We(e),(e=>Se(e,t)?o(e)?[e]:[]:Kt(e,t,o))),Yt=(e,t)=>((e,t,o=y)=>o(t)?x.none():D(e,se(t))?x.some(t):vt(t,e.join(","),(e=>Se(e,"table")||o(e))))(["td","th"],e,t),Jt=e=>Gt(e,"th,td"),Qt=e=>Se(e,"colgroup")?gt(e,"col"):M(eo(e),(e=>gt(e,"col"))),Xt=(e,t)=>xt(e,"table",t),Zt=e=>Gt(e,"tr"),eo=e=>Xt(e).fold(g([]),(e=>gt(e,"colgroup"))),to=(e,t)=>E(e,(e=>{if("colgroup"===se(e)){const t=E(Qt(e),(e=>{const t=Pt(e,"span",1);return et(e,1,t)}));return tt(e,t,"colgroup")}{const o=E(Jt(e),(e=>{const t=Pt(e,"rowspan",1),o=Pt(e,"colspan",1);return et(e,t,o)}));return tt(e,o,t(e))}})),oo=e=>Be(e).map((e=>{const t=se(e);return(e=>D(Ze,e))(t)?t:"tbody"})).getOr("tbody"),no=e=>{const t=Zt(e),o=[...eo(e),...t];return to(o,oo)},ro=e=>{let t,o=!1;return(...n)=>(o||(o=!0,t=e.apply(null,n)),t)},so=()=>lo(0,0),lo=(e,t)=>({major:e,minor:t}),ao={nu:lo,detect:(e,t)=>{const o=String(t).toLowerCase();return 0===e.length?so():((e,t)=>{const o=((e,t)=>{for(let o=0;o<e.length;o++){const n=e[o];if(n.test(t))return n}})(e,t);if(!o)return{major:0,minor:0};const n=e=>Number(t.replace(o,"$"+e));return lo(n(1),n(2))})(e,o)},unknown:so},co=(e,t)=>{const o=String(t).toLowerCase();return z(e,(e=>e.search(o)))},io=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,mo=e=>t=>Ot(t,e),uo=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:e=>Ot(e,"edge/")&&Ot(e,"chrome")&&Ot(e,"safari")&&Ot(e,"applewebkit")},{name:"Chromium",brand:"Chromium",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,io],search:e=>Ot(e,"chrome")&&!Ot(e,"chromeframe")},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:e=>Ot(e,"msie")||Ot(e,"trident")},{name:"Opera",versionRegexes:[io,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:mo("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:mo("firefox")},{name:"Safari",versionRegexes:[io,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:e=>(Ot(e,"safari")||Ot(e,"mobile/"))&&Ot(e,"applewebkit")}],fo=[{name:"Windows",search:mo("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:e=>Ot(e,"iphone")||Ot(e,"ipad"),versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:mo("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"macOS",search:mo("mac os x"),versionRegexes:[/.*?mac\ os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:mo("linux"),versionRegexes:[]},{name:"Solaris",search:mo("sunos"),versionRegexes:[]},{name:"FreeBSD",search:mo("freebsd"),versionRegexes:[]},{name:"ChromeOS",search:mo("cros"),versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/]}],go={browsers:g(uo),oses:g(fo)},ho="Edge",po="Chromium",bo="Opera",wo="Firefox",vo="Safari",yo=e=>{const t=e.current,o=e.version,n=e=>()=>t===e;return{current:t,version:o,isEdge:n(ho),isChromium:n(po),isIE:n("IE"),isOpera:n(bo),isFirefox:n(wo),isSafari:n(vo)}},Co={unknown:()=>yo({current:void 0,version:ao.unknown()}),nu:yo,edge:g(ho),chromium:g(po),ie:g("IE"),opera:g(bo),firefox:g(wo),safari:g(vo)},xo="Windows",To="Android",So="Linux",Ro="macOS",Do="Solaris",Oo="FreeBSD",ko="ChromeOS",Eo=e=>{const t=e.current,o=e.version,n=e=>()=>t===e;return{current:t,version:o,isWindows:n(xo),isiOS:n("iOS"),isAndroid:n(To),isMacOS:n(Ro),isLinux:n(So),isSolaris:n(Do),isFreeBSD:n(Oo),isChromeOS:n(ko)}},No={unknown:()=>Eo({current:void 0,version:ao.unknown()}),nu:Eo,windows:g(xo),ios:g("iOS"),android:g(To),linux:g(So),macos:g(Ro),solaris:g(Do),freebsd:g(Oo),chromeos:g(ko)},Ao=(e,t,o)=>{const n=go.browsers(),r=go.oses(),s=t.bind((e=>((e,t)=>q(t.brands,(t=>{const o=t.brand.toLowerCase();return z(e,(e=>{var t;return o===(null===(t=e.brand)||void 0===t?void 0:t.toLowerCase())})).map((e=>({current:e.name,version:ao.nu(parseInt(t.version,10),0)})))})))(n,e))).orThunk((()=>((e,t)=>co(e,t).map((e=>{const o=ao.detect(e.versionRegexes,t);return{current:e.name,version:o}})))(n,e))).fold(Co.unknown,Co.nu),l=((e,t)=>co(e,t).map((e=>{const o=ao.detect(e.versionRegexes,t);return{current:e.name,version:o}})))(r,e).fold(No.unknown,No.nu),a=((e,t,o,n)=>{const r=e.isiOS()&&!0===/ipad/i.test(o),s=e.isiOS()&&!r,l=e.isiOS()||e.isAndroid(),a=l||n("(pointer:coarse)"),c=r||!s&&l&&n("(min-device-width:768px)"),i=s||l&&!c,m=t.isSafari()&&e.isiOS()&&!1===/safari/i.test(o),d=!i&&!c&&!m;return{isiPad:g(r),isiPhone:g(s),isTablet:g(c),isPhone:g(i),isTouch:g(a),isAndroid:e.isAndroid,isiOS:e.isiOS,isWebView:g(m),isDesktop:g(d)}})(l,s,e,o);return{browser:s,os:l,deviceType:a}},Bo=e=>window.matchMedia(e).matches;let _o=ro((()=>Ao(navigator.userAgent,x.from(navigator.userAgentData),Bo)));const jo=()=>_o(),zo=(e,t)=>{const o=o=>{const n=t(o);if(n<=0||null===n){const t=Lt(o,e);return parseFloat(t)||0}return n},n=(e,t)=>j(t,((t,o)=>{const n=Lt(e,o),r=void 0===n?0:parseInt(n,10);return isNaN(r)?t:t+r}),0);return{set:(t,o)=>{if(!u(o)&&!o.match(/^[0-9]+$/))throw new Error(e+".set accepts only positive integer values. Value was "+o);const n=t.dom;Bt(n)&&(n.style[e]=o+"px")},get:o,getOuter:o,aggregate:n,max:(e,t,o)=>{const r=n(e,o);return t>r?t-r:0}}},Lo=(e,t)=>(e=>{const t=parseFloat(e);return isNaN(t)?x.none():x.some(t)})(e).getOr(t),Wo=(e,t,o)=>Lo(Lt(e,t),o),Mo=(e,t)=>{const o=e.dom,n=o.getBoundingClientRect().width||o.offsetWidth;return"border-box"===t?n:((e,t,o,n)=>t-Wo(e,`padding-${o}`,0)-Wo(e,`padding-${n}`,0)-Wo(e,`border-${o}-width`,0)-Wo(e,`border-${n}-width`,0))(e,n,"left","right")},Io=zo("width",(e=>e.dom.offsetWidth)),Po=e=>Io.get(e),Fo=e=>Io.getOuter(e),Ho=e=>Mo(e,"content-box"),$o=e=>Wo(e,"width",e.dom.offsetWidth),qo=(e,t,o)=>{const n=e.cells,r=n.slice(0,t),s=n.slice(t),l=r.concat(o).concat(s);return Go(e,l)},Vo=(e,t,o)=>qo(e,t,[o]),Uo=(e,t,o)=>{e.cells[t]=o},Go=(e,t)=>nt(e.element,t,e.section,e.isNew),Ko=(e,t)=>e.cells[t],Yo=(e,t)=>Ko(e,t).element,Jo=e=>e.cells.length,Qo=e=>{const t=A(e,(e=>"colgroup"===e.section));return{rows:t.fail,cols:t.pass}},Xo=(e,t,o)=>{const n=E(e.cells,o);return nt(t(e.element),n,e.section,!0)},Zo="data-snooker-locked-cols",en=e=>ve(e,Zo).bind((e=>x.from(e.match(/\d+/g)))).map((e=>P(e,C))),tn=e=>{const t=j(Qo(e).rows,((e,t)=>(N(t.cells,((t,o)=>{t.isLocked&&(e[o]=!0)})),e)),{}),o=Q(t,((e,t)=>parseInt(t,10)));return((e,t)=>{const o=T.call(e,0);return o.sort(t),o})(o)},on=(e,t)=>e+","+t,nn=(e,t)=>{const o=M(e.all,(e=>e.cells));return B(o,t)},rn=e=>{const t={},o=[],n=H(e).map((e=>e.element)).bind(Xt).bind(en).getOr({});let r=0,s=0,l=0;const{pass:a,fail:c}=A(e,(e=>"colgroup"===e.section));N(c,(e=>{const a=[];N(e.cells,(e=>{let o=0;for(;void 0!==t[on(l,o)];)o++;const r=((e,t)=>Z(e,t)&&void 0!==e[t]&&null!==e[t])(n,o.toString()),c=((e,t,o,n,r,s)=>({element:e,rowspan:t,colspan:o,row:n,column:r,isLocked:s}))(e.element,e.rowspan,e.colspan,l,o,r);for(let n=0;n<e.colspan;n++)for(let r=0;r<e.rowspan;r++){const e=o+n,a=on(l+r,e);t[a]=c,s=Math.max(s,e+1)}a.push(c)})),r++,o.push(tt(e.element,a,e.section)),l++}));const{columns:i,colgroups:m}=$(a).map((e=>{const t=(e=>{const t={};let o=0;return N(e.cells,(e=>{const n=e.colspan;k(n,(r=>{const s=o+r;t[s]=((e,t,o)=>({element:e,colspan:t,column:o}))(e.element,n,s)})),o+=n})),t})(e),o=((e,t)=>({element:e,columns:t}))(e.element,X(t));return{colgroups:[o],columns:t}})).getOrThunk((()=>({colgroups:[],columns:{}}))),d=((e,t)=>({rows:e,columns:t}))(r,s);return{grid:d,access:t,all:o,columns:i,colgroups:m}},sn={fromTable:e=>{const t=no(e);return rn(t)},generate:rn,getAt:(e,t,o)=>x.from(e.access[on(t,o)]),findItem:(e,t,o)=>{const n=nn(e,(e=>o(t,e.element)));return n.length>0?x.some(n[0]):x.none()},filterItems:nn,justCells:e=>M(e.all,(e=>e.cells)),justColumns:e=>X(e.columns),hasColumns:e=>V(e.columns).length>0,getColumnAt:(e,t)=>x.from(e.columns[t])},ln=(e,t=C)=>{const o=e.grid,n=k(o.columns,h),r=k(o.rows,h);return E(n,(o=>an((()=>M(r,(t=>sn.getAt(e,t,o).filter((e=>e.column===o)).toArray()))),(e=>1===e.colspan&&t(e.element)),(()=>sn.getAt(e,0,o)))))},an=(e,t,o)=>{const n=e();return z(n,t).orThunk((()=>x.from(n[0]).orThunk(o))).map((e=>e.element))},cn=e=>{const t=e.grid,o=k(t.rows,h),n=k(t.columns,h);return E(o,(t=>an((()=>M(n,(o=>sn.getAt(e,t,o).filter((e=>e.row===t)).fold(g([]),(e=>[e]))))),(e=>1===e.rowspan),(()=>sn.getAt(e,t,0)))))},mn=(e,t)=>{if(t<0||t>=e.length-1)return x.none();const o=e[t].fold((()=>{const o=(e=>{const t=T.call(e,0);return t.reverse(),t})(e.slice(0,t));return q(o,((e,t)=>e.map((e=>({value:e,delta:t+1})))))}),(e=>x.some({value:e,delta:0}))),n=e[t+1].fold((()=>{const o=e.slice(t+1);return q(o,((e,t)=>e.map((e=>({value:e,delta:t+1})))))}),(e=>x.some({value:e,delta:1})));return o.bind((e=>n.map((t=>{const o=t.delta+e.delta;return Math.abs(t.value-e.value)/o}))))},dn=(e,t)=>o=>"rtl"===un(o)?t:e,un=e=>"rtl"===Lt(e,"direction")?"rtl":"ltr",fn=zo("height",(e=>{const t=e.dom;return mt(e)?t.getBoundingClientRect().height:t.offsetHeight})),gn=e=>fn.get(e),hn=e=>fn.getOuter(e),pn=e=>Wo(e,"height",e.dom.offsetHeight),bn=(e,t)=>({left:e,top:t,translate:(o,n)=>bn(e+o,t+n)}),wn=bn,vn=(e,t)=>void 0!==e?e:void 0!==t?t:0,yn=e=>{const t=e.dom.ownerDocument,o=t.body,n=t.defaultView,r=t.documentElement;if(o===e.dom)return wn(o.offsetLeft,o.offsetTop);const s=vn(null==n?void 0:n.pageYOffset,r.scrollTop),l=vn(null==n?void 0:n.pageXOffset,r.scrollLeft),a=vn(r.clientTop,o.clientTop),c=vn(r.clientLeft,o.clientLeft);return Cn(e).translate(l-c,s-a)},Cn=e=>{const t=e.dom,o=t.ownerDocument.body;return o===t?wn(o.offsetLeft,o.offsetTop):mt(e)?(e=>{const t=e.getBoundingClientRect();return wn(t.left,t.top)})(t):wn(0,0)},xn=(e,t)=>({row:e,y:t}),Tn=(e,t)=>({col:e,x:t}),Sn=e=>yn(e).left+Fo(e),Rn=e=>yn(e).left,Dn=(e,t)=>Tn(e,Rn(t)),On=(e,t)=>Tn(e,Sn(t)),kn=e=>yn(e).top,En=(e,t)=>xn(e,kn(t)),Nn=(e,t)=>xn(e,kn(t)+hn(t)),An=(e,t,o)=>{if(0===o.length)return[];const n=E(o.slice(1),((t,o)=>t.map((t=>e(o,t))))),r=o[o.length-1].map((e=>t(o.length-1,e)));return n.concat([r])},Bn={delta:h,positions:e=>An(En,Nn,e),edge:kn},_n=dn({delta:h,edge:Rn,positions:e=>An(Dn,On,e)},{delta:e=>-e,edge:Sn,positions:e=>An(On,Dn,e)}),jn={delta:(e,t)=>_n(t).delta(e,t),positions:(e,t)=>_n(t).positions(e,t),edge:e=>_n(e).edge(e)},zn={unsupportedLength:["em","ex","cap","ch","ic","rem","lh","rlh","vw","vh","vi","vb","vmin","vmax","cm","mm","Q","in","pc","pt","px"],fixed:["px","pt"],relative:["%"],empty:[""]},Ln=(()=>{const e="[0-9]+",t="[eE]"+("[+-]?"+e),o=e=>`(?:${e})?`,n=["Infinity",e+"\\."+o(e)+o(t),"\\."+e+o(t),e+o(t)].join("|");return new RegExp(`^(${`[+-]?(?:${n})`})(.*)$`)})(),Wn=(e,t)=>x.from(Ln.exec(e)).bind((e=>{const o=Number(e[1]),n=e[2];return((e,t)=>O(t,(t=>O(zn[t],(t=>e===t)))))(n,t)?x.some({value:o,unit:n}):x.none()})),Mn=/(\d+(\.\d+)?)%/,In=/(\d+(\.\d+)?)px|em/,Pn=ge("col"),Fn=(e,t,o)=>{const n=_e(e).getOrThunk((()=>dt(Ne(e))));return t(e)/o(n)*100},Hn=(e,t)=>{jt(e,"width",t+"px")},$n=(e,t)=>{jt(e,"width",t+"%")},qn=(e,t)=>{jt(e,"height",t+"px")},Vn=(e,t,o,n)=>{const r=parseFloat(e);return Et(e,"%")&&"table"!==se(t)?((e,t,o,n)=>{const r=Xt(e).map((e=>{const n=o(e);return Math.floor(t/100*n)})).getOr(t);return n(e,r),r})(t,r,o,n):r},Un=e=>{const t=(e=>pn(e)+"px")(e);return t?Vn(t,e,gn,qn):gn(e)},Gn=(e,t)=>Mt(e,t).orThunk((()=>ve(e,t).map((e=>e+"px")))),Kn=e=>Gn(e,"width"),Yn=e=>Fn(e,Po,Ho),Jn=e=>Pn(e)?Po(e):$o(e),Qn=e=>((e,t,o)=>o(e)/Ft(e,t))(e,"rowspan",Un),Xn=(e,t,o)=>{jt(e,"width",t+o)},Zn=e=>Fn(e,Po,Ho)+"%",er=g(Mn),tr=ge("col"),or=e=>Kn(e).getOrThunk((()=>Jn(e)+"px")),nr=e=>{return(t=e,Gn(t,"height")).getOrThunk((()=>Qn(e)+"px"));var t},rr=(e,t,o,n,r,s)=>e.filter(n).fold((()=>s(mn(o,t))),(e=>r(e))),sr=(e,t,o,n)=>{const r=ln(e),s=sn.hasColumns(e)?(e=>E(sn.justColumns(e),(e=>x.from(e.element))))(e):r,l=[x.some(jn.edge(t))].concat(E(jn.positions(r,t),(e=>e.map((e=>e.x))))),a=w(Ht);return E(s,((e,t)=>rr(e,t,l,a,(e=>{if((e=>{const t=jo().browser,o=t.isChromium()||t.isFirefox();return!tr(e)||o})(e))return o(e);{const e=(s=r[t],c=h,null!=s?c(s):x.none());return rr(e,t,l,a,(e=>n(x.some(Po(e)))),n)}var s,c}),n)))},lr=e=>e.map((e=>e+"px")).getOr(""),ar=(e,t,o)=>sr(e,t,Jn,(e=>e.getOrThunk(o.minCellWidth))),cr=(e,t,o,n,r)=>{const s=cn(e),l=[x.some(o.edge(t))].concat(E(o.positions(s,t),(e=>e.map((e=>e.y)))));return E(s,((e,t)=>rr(e,t,l,w($t),n,r)))},ir=(e,t)=>()=>mt(e)?t(e):parseFloat(Mt(e,"width").getOr("0")),mr=e=>{const t=ir(e,Po),o=g(0);return{width:t,pixelWidth:t,getWidths:(t,o)=>ar(t,e,o),getCellDelta:o,singleColumnWidth:g([0]),minCellWidth:o,setElementWidth:f,adjustTableWidth:f,isRelative:!0,label:"none"}},dr=e=>{const t=ir(e,(e=>parseFloat(Zn(e)))),o=ir(e,Po);return{width:t,pixelWidth:o,getWidths:(t,o)=>((e,t,o)=>sr(e,t,Yn,(e=>e.fold((()=>o.minCellWidth()),(e=>e/o.pixelWidth()*100)))))(t,e,o),getCellDelta:e=>e/o()*100,singleColumnWidth:(e,t)=>[100-e],minCellWidth:()=>Vt()/o()*100,setElementWidth:$n,adjustTableWidth:o=>{const n=t();$n(e,n+o/100*n)},isRelative:!0,label:"percent"}},ur=e=>{const t=ir(e,Po);return{width:t,pixelWidth:t,getWidths:(t,o)=>ar(t,e,o),getCellDelta:h,singleColumnWidth:(e,t)=>[Math.max(Vt(),e+t)-e],minCellWidth:Vt,setElementWidth:Hn,adjustTableWidth:o=>{const n=t()+o;Hn(e,n)},isRelative:!1,label:"pixel"}},fr=e=>Kn(e).fold((()=>mr(e)),(t=>((e,t)=>null!==er().exec(t)?dr(e):ur(e))(e,t))),gr=ur,hr=dr,pr=(e,t,o)=>{const n=e[o].element,r=Te.fromTag("td");He(r,Te.fromTag("br"));(t?He:Fe)(n,r)},br=(e,t)=>{const o=e=>Se(e.element,t),n=Qe(e),r=no(n),s=fr(e),l=sn.generate(r),a=((e,t)=>{const o=e.grid.columns;let n=e.grid.rows,r=o,s=0,l=0;const a=[],c=[];return G(e.access,(e=>{if(a.push(e),t(e)){c.push(e);const t=e.row,o=t+e.rowspan-1,a=e.column,i=a+e.colspan-1;t<n?n=t:o>s&&(s=o),a<r?r=a:i>l&&(l=i)}})),((e,t,o,n,r,s)=>({minRow:e,minCol:t,maxRow:o,maxCol:n,allCells:r,selectedCells:s}))(n,r,s,l,a,c)})(l,o),c="th:not("+t+"),td:not("+t+")",i=Kt(n,"th,td",(e=>Se(e,c)));N(i,Ge),((e,t,o,n)=>{const r=B(e,(e=>"colgroup"!==e.section)),s=t.grid.columns,l=t.grid.rows;for(let e=0;e<l;e++){let l=!1;for(let a=0;a<s;a++)e<o.minRow||e>o.maxRow||a<o.minCol||a>o.maxCol||(sn.getAt(t,e,a).filter(n).isNone()?pr(r,l,e):l=!0)}})(r,l,a,o);const m=((e,t,o,n)=>{if(0===n.minCol&&t.grid.columns===n.maxCol+1)return 0;const r=ar(t,e,o),s=j(r,((e,t)=>e+t),0),l=j(r.slice(n.minCol,n.maxCol+1),((e,t)=>e+t),0),a=l/s*o.pixelWidth()-o.pixelWidth();return o.getCellDelta(a)})(e,sn.fromTable(e),s,a);return((e,t,o,n)=>{G(o.columns,(e=>{(e.column<t.minCol||e.column>t.maxCol)&&Ge(e.element)}));const r=B(Gt(e,"tr"),(e=>0===e.dom.childElementCount));N(r,Ge),t.minCol!==t.maxCol&&t.minRow!==t.maxRow||N(Gt(e,"th,td"),(e=>{ye(e,"rowspan"),ye(e,"colspan")})),ye(e,Zo),ye(e,"data-snooker-col-series"),fr(e).adjustTableWidth(n)})(n,a,l,m),n},wr=((e,t)=>{const o=t=>e(t)?x.from(t.dom.nodeValue):x.none();return{get:n=>{if(!e(n))throw new Error("Can only get "+t+" value of a "+t+" node");return o(n).getOr("")},getOption:o,set:(o,n)=>{if(!e(o))throw new Error("Can only set raw "+t+" value of a "+t+" node");o.dom.nodeValue=n}}})(de,"text"),vr=e=>wr.get(e),yr=e=>wr.getOption(e),Cr=(e,t)=>wr.set(e,t),xr=e=>"img"===se(e)?1:yr(e).fold((()=>We(e).length),(e=>e.length)),Tr=["img","br"],Sr=e=>yr(e).filter((e=>0!==e.trim().length||e.indexOf(" ")>-1)).isSome()||D(Tr,se(e))||(e=>ie(e)&&"false"===we(e,"contenteditable"))(e),Rr=e=>((e,t)=>{const o=e=>{for(let n=0;n<e.childNodes.length;n++){const r=Te.fromDom(e.childNodes[n]);if(t(r))return x.some(r);const s=o(e.childNodes[n]);if(s.isSome())return s}return x.none()};return o(e.dom)})(e,Sr),Dr=e=>Or(e,Sr),Or=(e,t)=>{const o=e=>{const n=We(e);for(let e=n.length-1;e>=0;e--){const r=n[e];if(t(r))return x.some(r);const s=o(r);if(s.isSome())return s}return x.none()};return o(e)},kr={scope:["row","col"]},Er=e=>()=>{const t=Te.fromTag("td",e.dom);return He(t,Te.fromTag("br",e.dom)),t},Nr=e=>()=>Te.fromTag("col",e.dom),Ar=e=>()=>Te.fromTag("colgroup",e.dom),Br=e=>()=>Te.fromTag("tr",e.dom),_r=(e,t,o)=>{const n=((e,t)=>{const o=Xe(e,t),n=We(Qe(e));return Ve(o,n),o})(e,t);return G(o,((e,t)=>{null===e?ye(n,t):pe(n,t,e)})),n},jr=e=>e,zr=(e,t,o)=>{const n=(e,t)=>{((e,t)=>{const o=e.dom,n=t.dom;Bt(o)&&Bt(n)&&(n.style.cssText=o.style.cssText)})(e.element,t),It(t,"height"),1!==e.colspan&&It(t,"width")};return{col:o=>{const r=Te.fromTag(se(o.element),t.dom);return n(o,r),e(o.element,r),r},colgroup:Ar(t),row:Br(t),cell:r=>{const s=Te.fromTag(se(r.element),t.dom),l=o.getOr(["strong","em","b","i","span","font","h1","h2","h3","h4","h5","h6","p","div"]),a=l.length>0?((e,t,o)=>Rr(e).map((n=>{const r=o.join(","),s=ft(n,r,(t=>Oe(t,e)));return _(s,((e,t)=>{const o=Je(t);return He(e,o),o}),t)})).getOr(t))(r.element,s,l):s;return He(a,Te.fromTag("br")),n(r,s),((e,t)=>{G(kr,((o,n)=>ve(e,n).filter((e=>D(o,e))).each((e=>pe(t,n,e)))))})(r.element,s),e(r.element,s),s},replace:_r,colGap:Nr(t),gap:Er(t)}},Lr=e=>({col:Nr(e),colgroup:Ar(e),row:Br(e),cell:Er(e),replace:jr,colGap:Nr(e),gap:Er(e)}),Wr=e=>t=>t.options.get(e),Mr="100%",Ir=e=>{var t;const o=e.dom,n=null!==(t=o.getParent(e.selection.getStart(),o.isBlock))&&void 0!==t?t:e.getBody();return Ho(Te.fromDom(n))+"px"},Pr=e=>x.from(e.options.get("table_clone_elements")),Fr=Wr("table_header_type"),Hr=Wr("table_column_resizing"),$r=e=>"preservetable"===Hr(e),qr=e=>"resizetable"===Hr(e),Vr=Wr("table_sizing_mode"),Ur=e=>"relative"===Vr(e),Gr=e=>"fixed"===Vr(e),Kr=e=>"responsive"===Vr(e),Yr=Wr("table_resize_bars"),Jr=Wr("table_style_by_css"),Qr=Wr("table_merge_content_on_paste"),Xr=e=>{const t=e.options,o=t.get("table_default_attributes");return t.isSet("table_default_attributes")?o:((e,t)=>Kr(e)||Jr(e)?t:Gr(e)?{...t,width:Ir(e)}:{...t,width:Mr})(e,o)},Zr=e=>{const t=e.options,o=t.get("table_default_styles");return t.isSet("table_default_styles")?o:((e,t)=>Kr(e)||!Jr(e)?t:Gr(e)?{...t,width:Ir(e)}:{...t,width:Mr})(e,o)},es=Wr("table_use_colgroups"),ts=e=>xt(e,"[contenteditable]"),os=(e,t=!1)=>mt(e)?e.dom.isContentEditable:ts(e).fold(g(t),(e=>"true"===ns(e))),ns=e=>e.dom.contentEditable,rs=e=>Te.fromDom(e.getBody()),ss=e=>t=>Oe(t,rs(e)),ls=e=>{ye(e,"data-mce-style");const t=e=>ye(e,"data-mce-style");N(Jt(e),t),N(Qt(e),t),N(Zt(e),t)},as=e=>Te.fromDom(e.selection.getStart()),cs=e=>e.getBoundingClientRect().width,is=e=>e.getBoundingClientRect().height,ms=e=>wt(e,ge("table")).exists(os),ds=(e,t)=>{const o=t.column,n=t.column+t.colspan-1,r=t.row,s=t.row+t.rowspan-1;return o<=e.finishCol&&n>=e.startCol&&r<=e.finishRow&&s>=e.startRow},us=(e,t)=>t.column>=e.startCol&&t.column+t.colspan-1<=e.finishCol&&t.row>=e.startRow&&t.row+t.rowspan-1<=e.finishRow,fs=(e,t,o)=>{const n=sn.findItem(e,t,Oe),r=sn.findItem(e,o,Oe);return n.bind((e=>r.map((t=>{return o=e,n=t,r=Math.min(o.row,n.row),s=Math.min(o.column,n.column),l=Math.max(o.row+o.rowspan-1,n.row+n.rowspan-1),a=Math.max(o.column+o.colspan-1,n.column+n.colspan-1),{startRow:r,startCol:s,finishRow:l,finishCol:a};var o,n,r,s,l,a}))))},gs=(e,t,o)=>fs(e,t,o).bind((t=>((e,t)=>{let o=!0;const n=b(us,t);for(let r=t.startRow;r<=t.finishRow;r++)for(let s=t.startCol;s<=t.finishCol;s++)o=o&&sn.getAt(e,r,s).exists(n);return o?x.some(t):x.none()})(e,t))),hs=(e,t,o)=>fs(e,t,o).map((t=>{const o=sn.filterItems(e,b(ds,t));return E(o,(e=>e.element))})),ps=(e,t)=>sn.findItem(e,t,((e,t)=>ke(t,e))).map((e=>e.element)),bs=(e,t,o)=>Xt(e).bind((n=>((e,t,o,n)=>sn.findItem(e,t,Oe).bind((t=>{const r=o>0?t.row+t.rowspan-1:t.row,s=n>0?t.column+t.colspan-1:t.column;return sn.getAt(e,r+o,s+n).map((e=>e.element))})))(ys(n),e,t,o))),ws=(e,t,o)=>{const n=ys(e);return hs(n,t,o)},vs=(e,t,o,n,r)=>{const s=ys(e),l=Oe(e,o)?x.some(t):ps(s,t),a=Oe(e,r)?x.some(n):ps(s,n);return l.bind((e=>a.bind((t=>hs(s,e,t)))))},ys=sn.fromTable;var Cs=["body","p","div","article","aside","figcaption","figure","footer","header","nav","section","ol","ul","li","table","thead","tbody","tfoot","caption","tr","td","th","h1","h2","h3","h4","h5","h6","blockquote","pre","address"],xs=()=>({up:g({selector:vt,closest:xt,predicate:bt,all:je}),down:g({selector:ht,predicate:ut}),styles:g({get:Lt,getRaw:Mt,set:jt,remove:It}),attrs:g({get:we,set:pe,remove:ye,copyTo:(e,t)=>{const o=Ce(e);be(t,o)}}),insert:g({before:Ie,after:Pe,afterAll:qe,append:He,appendAll:Ve,prepend:Fe,wrap:$e}),remove:g({unwrap:Ke,remove:Ge}),create:g({nu:Te.fromTag,clone:e=>Te.fromDom(e.dom.cloneNode(!1)),text:Te.fromText}),query:g({comparePosition:(e,t)=>e.dom.compareDocumentPosition(t.dom),prevSibling:ze,nextSibling:Le}),property:g({children:We,name:se,parent:Be,document:e=>Ae(e).dom,isText:de,isComment:ce,isElement:me,isSpecial:e=>{const t=se(e);return D(["script","noscript","iframe","noframes","noembed","title","style","textarea","xmp"],t)},getLanguage:e=>me(e)?ve(e,"lang"):x.none(),getText:vr,setText:Cr,isBoundary:e=>!!me(e)&&("body"===se(e)||D(Cs,se(e))),isEmptyTag:e=>!!me(e)&&D(["br","img","hr","input"],se(e)),isNonEditable:e=>me(e)&&"false"===we(e,"contenteditable")}),eq:Oe,is:Ee});const Ts=(e,t,o,n)=>{const r=t(e,o);return _(n,((o,n)=>{const r=t(e,n);return Ss(e,o,r)}),r)},Ss=(e,t,o)=>t.bind((t=>o.filter(b(e.eq,t)))),Rs=(e,t,o)=>o.length>0?((e,t,o,n)=>n(e,t,o[0],o.slice(1)))(e,t,o,Ts):x.none(),Ds=(e,t,o,n=y)=>{const r=[t].concat(e.up().all(t)),s=[o].concat(e.up().all(o)),l=e=>L(e,n).fold((()=>e),(t=>e.slice(0,t+1))),a=l(r),c=l(s),i=z(a,(t=>O(c,((e,t)=>b(e.eq,t))(e,t))));return{firstpath:a,secondpath:c,shared:i}},Os=xs(),ks=(e,t)=>Rs(Os,((t,o)=>e(o)),t),Es=e=>vt(e,"table"),Ns=(e,t,o)=>{const n=e=>t=>void 0!==o&&o(t)||Oe(t,e);return Oe(e,t)?x.some({boxes:x.some([e]),start:e,finish:t}):Es(e).bind((r=>Es(t).bind((s=>{if(Oe(r,s))return x.some({boxes:ws(r,e,t),start:e,finish:t});if(ke(r,s)){const o=ft(t,"td,th",n(r)),l=o.length>0?o[o.length-1]:t;return x.some({boxes:vs(r,e,r,t,s),start:e,finish:l})}if(ke(s,r)){const o=ft(e,"td,th",n(s)),l=o.length>0?o[o.length-1]:e;return x.some({boxes:vs(s,e,r,t,s),start:e,finish:l})}return((e,t,o)=>Ds(Os,e,t,o))(e,t).shared.bind((l=>xt(l,"table",o).bind((o=>{const l=ft(t,"td,th",n(o)),a=l.length>0?l[l.length-1]:t,c=ft(e,"td,th",n(o)),i=c.length>0?c[c.length-1]:e;return x.some({boxes:vs(o,e,r,t,s),start:i,finish:a})}))))}))))},As=(e,t)=>{const o=ht(e,t);return o.length>0?x.some(o):x.none()},Bs=(e,t,o)=>Ct(e,t).bind((t=>Ct(e,o).bind((e=>ks(Es,[t,e]).map((o=>({first:t,last:e,table:o}))))))),_s=(e,t,o,n,r)=>((e,t)=>z(e,(e=>Se(e,t))))(e,r).bind((e=>bs(e,t,o).bind((e=>((e,t)=>vt(e,"table").bind((o=>Ct(o,t).bind((t=>Ns(t,e).bind((e=>e.boxes.map((t=>({boxes:t,start:e.start,finish:e.finish}))))))))))(e,n))))),js=(e,t)=>As(e,t),zs=(e,t,o)=>Bs(e,t,o).bind((t=>{const o=t=>Oe(e,t),n="thead,tfoot,tbody,table",r=vt(t.first,n,o),s=vt(t.last,n,o);return r.bind((e=>s.bind((o=>Oe(e,o)?((e,t,o)=>{const n=ys(e);return gs(n,t,o)})(t.table,t.first,t.last):x.none()))))})),Ls=h,Ws=e=>{const t=(e,t)=>ve(e,t).exists((e=>parseInt(e,10)>1));return e.length>0&&I(e,(e=>t(e,"rowspan")||t(e,"colspan")))?x.some(e):x.none()},Ms=(e,t,o)=>t.length<=1?x.none():zs(e,o.firstSelectedSelector,o.lastSelectedSelector).map((e=>({bounds:e,cells:t}))),Is="data-mce-selected",Ps="td["+Is+"],th["+Is+"]",Fs="["+Is+"]",Hs="data-mce-first-selected",$s="td["+Hs+"],th["+Hs+"]",qs="data-mce-last-selected",Vs="td["+qs+"],th["+qs+"]",Us=Fs,Gs={selected:Is,selectedSelector:Ps,firstSelected:Hs,firstSelectedSelector:$s,lastSelected:qs,lastSelectedSelector:Vs},Ks=(e,t,o)=>({element:o,mergable:Ms(t,e,Gs),unmergable:Ws(e),selection:Ls(e)}),Ys=e=>(t,o)=>{const n=se(t),r="col"===n||"colgroup"===n?Xt(s=t).bind((e=>js(e,Gs.firstSelectedSelector))).fold(g(s),(e=>e[0])):t;var s;return xt(r,e,o)},Js=Ys("th,td,caption"),Qs=Ys("th,td"),Xs=e=>{return t=e.model.table.getSelectedCells(),E(t,Te.fromDom);var t},Zs=(e,t)=>{e.on("BeforeGetContent",(t=>{const o=o=>{t.preventDefault(),(e=>Xt(e[0]).map((e=>{const t=br(e,Us);return ls(t),[t]})))(o).each((o=>{t.content="text"===t.format?(e=>E(e,(e=>e.dom.innerText)).join(""))(o):((e,t)=>E(t,(t=>e.selection.serializer.serialize(t.dom,{}))).join(""))(e,o)}))};if(!0===t.selection){const t=(e=>B(Xs(e),(e=>Se(e,Gs.selectedSelector))))(e);t.length>=1&&o(t)}})),e.on("BeforeSetContent",(o=>{if(!0===o.selection&&!0===o.paste){const n=Xs(e);H(n).each((n=>{Xt(n).each((r=>{const s=B(((e,t)=>{const o=(t||document).createElement("div");return o.innerHTML=e,We(Te.fromDom(o))})(o.content),(e=>"meta"!==se(e))),l=ge("table");if(Qr(e)&&1===s.length&&l(s[0])){o.preventDefault();const l=Te.fromDom(e.getDoc()),a=Lr(l),c=((e,t,o)=>({element:e,clipboard:t,generators:o}))(n,s[0],a);t.pasteCells(r,c).each((()=>{e.focus()}))}}))}))}}))},el=(e,t)=>({element:e,offset:t}),tl=(e,t,o)=>e.property().isText(t)&&0===e.property().getText(t).trim().length||e.property().isComment(t)?o(t).bind((t=>tl(e,t,o).orThunk((()=>x.some(t))))):x.none(),ol=(e,t)=>{if(e.property().isText(t))return e.property().getText(t).length;return e.property().children(t).length},nl=(e,t)=>{const o=tl(e,t,e.query().prevSibling).getOr(t);if(e.property().isText(o))return el(o,ol(e,o));const n=e.property().children(o);return n.length>0?nl(e,n[n.length-1]):el(o,ol(e,o))},rl=nl,sl=xs(),ll=(e,t)=>{if(!Ht(e)){const o=(e=>Kn(e).bind((e=>Wn(e,["fixed","relative","empty"]))))(e);o.each((o=>{const n=o.value/2;Xn(e,n,o.unit),Xn(t,n,o.unit)}))}},al=e=>E(e,g(0)),cl=(e,t,o,n,r)=>r(e.slice(0,t)).concat(n).concat(r(e.slice(o))),il=e=>(t,o,n,r)=>{if(e(n)){const e=Math.max(r,t[o]-Math.abs(n)),s=Math.abs(e-t[o]);return n>=0?s:-s}return n},ml=il((e=>e<0)),dl=il(C),ul=()=>{const e=(e,t,o,n)=>{const r=(100+o)/100,s=Math.max(n,(e[t]+o)/r);return E(e,((e,o)=>(o===t?s:e/r)-e))},t=(t,o,n,r,s,l)=>l?e(t,o,r,s):((e,t,o,n,r)=>{const s=ml(e,t,n,r);return cl(e,t,o+1,[s,0],al)})(t,o,n,r,s);return{resizeTable:(e,t)=>e(t),clampTableDelta:ml,calcLeftEdgeDeltas:t,calcMiddleDeltas:(e,o,n,r,s,l,a)=>t(e,n,r,s,l,a),calcRightEdgeDeltas:(t,o,n,r,s,l)=>{if(l)return e(t,n,r,s);{const e=ml(t,n,r,s);return al(t.slice(0,n)).concat([e])}},calcRedestributedWidths:(e,t,o,n)=>{if(n){const n=(t+o)/t,r=E(e,(e=>e/n));return{delta:100*n-100,newSizes:r}}return{delta:o,newSizes:e}}}},fl=()=>{const e=(e,t,o,n,r)=>{const s=dl(e,n>=0?o:t,n,r);return cl(e,t,o+1,[s,-s],al)};return{resizeTable:(e,t,o)=>{o&&e(t)},clampTableDelta:(e,t,o,n,r)=>{if(r){if(o>=0)return o;{const t=j(e,((e,t)=>e+t-n),0);return Math.max(-t,o)}}return ml(e,t,o,n)},calcLeftEdgeDeltas:e,calcMiddleDeltas:(t,o,n,r,s,l)=>e(t,n,r,s,l),calcRightEdgeDeltas:(e,t,o,n,r,s)=>{if(s)return al(e);{const t=n/e.length;return E(e,g(t))}},calcRedestributedWidths:(e,t,o,n)=>({delta:0,newSizes:e})}},gl=e=>sn.fromTable(e).grid,hl=ge("th"),pl=e=>I(e,(e=>hl(e.element))),bl=(e,t)=>e&&t?"sectionCells":e?"section":"cells",wl=e=>{const t="thead"===e.section,o=Tt(vl(e.cells),"th");return"tfoot"===e.section?{type:"footer"}:t||o?{type:"header",subType:bl(t,o)}:{type:"body"}},vl=e=>{const t=B(e,(e=>hl(e.element)));return 0===t.length?x.some("td"):t.length===e.length?x.some("th"):x.none()},yl=(e,t,o)=>ot(o(e.element,t),!0,e.isLocked),Cl=(e,t)=>e.section!==t?nt(e.element,e.cells,t,e.isNew):e,xl=()=>({transformRow:Cl,transformCell:(e,t,o)=>{const n=o(e.element,t),r="td"!==se(n)?((e,t)=>{const o=Xe(e,t);Pe(e,o);const n=We(e);return Ve(o,n),Ge(e),o})(n,"td"):n;return ot(r,e.isNew,e.isLocked)}}),Tl=()=>({transformRow:Cl,transformCell:yl}),Sl=()=>({transformRow:(e,t)=>Cl(e,"thead"===t?"tbody":t),transformCell:yl}),Rl=(e,t)=>{const o=(e=>q(e.all,(e=>{const t=wl(e);return"header"===t.type?x.from(t.subType):x.none()})))(sn.fromTable(e)).getOr(t);switch(o){case"section":return xl();case"sectionCells":return Tl();case"cells":return Sl()}},Dl=xl,Ol=Tl,kl=Sl,El=()=>({transformRow:h,transformCell:yl}),Nl=(e,t,o,n)=>{o===n?ye(e,t):pe(e,t,o)},Al=(e,t,o)=>{$(gt(e,t)).fold((()=>Fe(e,o)),(e=>Pe(e,o)))},Bl=(e,t)=>{const o=[],n=[],r=e=>E(e,(e=>{e.isNew&&o.push(e.element);const t=e.element;return Ue(t),N(e.cells,(e=>{e.isNew&&n.push(e.element),Nl(e.element,"colspan",e.colspan,1),Nl(e.element,"rowspan",e.rowspan,1),He(t,e.element)})),t})),s=e=>M(e,(e=>E(e.cells,(e=>(Nl(e.element,"span",e.colspan,1),e.element))))),l=(t,o)=>{const n=((e,t)=>{const o=yt(e,t).getOrThunk((()=>{const o=Te.fromTag(t,Ne(e).dom);return"thead"===t?Al(e,"caption,colgroup",o):"colgroup"===t?Al(e,"caption",o):He(e,o),o}));return Ue(o),o})(e,o),l=("colgroup"===o?s:r)(t);Ve(n,l)},a=(t,o)=>{t.length>0?l(t,o):(t=>{yt(e,t).each(Ge)})(o)},c=[],i=[],m=[],d=[];return N(t,(e=>{switch(e.section){case"thead":c.push(e);break;case"tbody":i.push(e);break;case"tfoot":m.push(e);break;case"colgroup":d.push(e)}})),a(d,"colgroup"),a(c,"thead"),a(i,"tbody"),a(m,"tfoot"),{newRows:o,newCells:n}},_l=(e,t)=>{if(0===e.length)return 0;const o=e[0];return L(e,(e=>!t(o.element,e.element))).getOr(e.length)},jl=(e,t,o,n)=>{const r=((e,t)=>e[t])(e,t),s="colgroup"===r.section,l=_l(r.cells.slice(o),n),a=s?1:_l(((e,t)=>E(e,(e=>Ko(e,t))))(e.slice(t),o),n);return{colspan:l,rowspan:a}},zl=(e,t)=>{const o=E(e,(e=>E(e.cells,y)));return E(e,((n,r)=>{const s=M(n.cells,((n,s)=>{if(!1===o[r][s]){const m=jl(e,r,s,t);return((e,t,n,r)=>{for(let s=e;s<e+n;s++)for(let e=t;e<t+r;e++)o[s][e]=!0})(r,s,m.rowspan,m.colspan),[(l=n.element,a=m.rowspan,c=m.colspan,i=n.isNew,{element:l,rowspan:a,colspan:c,isNew:i})]}return[];var l,a,c,i}));return((e,t,o,n)=>({element:e,cells:t,section:o,isNew:n}))(n.element,s,n.section,n.isNew)}))},Ll=(e,t,o)=>{const n=[];N(e.colgroups,(r=>{const s=[];for(let n=0;n<e.grid.columns;n++){const r=sn.getColumnAt(e,n).map((e=>ot(e.element,o,!1))).getOrThunk((()=>ot(t.colGap(),!0,!1)));s.push(r)}n.push(nt(r.element,s,"colgroup",o))}));for(let r=0;r<e.grid.rows;r++){const s=[];for(let n=0;n<e.grid.columns;n++){const l=sn.getAt(e,r,n).map((e=>ot(e.element,o,e.isLocked))).getOrThunk((()=>ot(t.gap(),!0,!1)));s.push(l)}const l=e.all[r],a=nt(l.element,s,l.section,o);n.push(a)}return n},Wl=e=>zl(e,Oe),Ml=(e,t)=>q(e.all,(e=>z(e.cells,(e=>Oe(t,e.element))))),Il=(e,t,o)=>{const n=E(t.selection,(t=>Yt(t).bind((t=>Ml(e,t))).filter(o))),r=St(n);return Rt(r.length>0,r)},Pl=(e,t,o,n,r)=>(s,l,a,c)=>{const i=sn.fromTable(s),m=x.from(null==c?void 0:c.section).getOrThunk(El),d=t(i,l).map((t=>{const o=((e,t)=>Ll(e,t,!1))(i,a),n=e(o,t,Oe,r(a),m),s=tn(n.grid);return{info:t,grid:Wl(n.grid),cursor:n.cursor,lockedColumns:s}}));return d.bind((e=>{const t=Bl(s,e.grid),r=x.from(null==c?void 0:c.sizing).getOrThunk((()=>fr(s))),l=x.from(null==c?void 0:c.resize).getOrThunk(fl);return o(s,e.grid,e.info,{sizing:r,resize:l,section:m}),n(s),ye(s,Zo),e.lockedColumns.length>0&&pe(s,Zo,e.lockedColumns.join(",")),x.some({cursor:e.cursor,newRows:t.newRows,newCells:t.newCells})}))},Fl=(e,t)=>Il(e,t,C).map((e=>({cells:e,generators:t.generators,clipboard:t.clipboard}))),Hl=(e,t)=>Il(e,t,C),$l=(e,t)=>Il(e,t,(e=>!e.isLocked)),ql=(e,t)=>I(t,(t=>((e,t)=>Ml(e,t).exists((e=>!e.isLocked)))(e,t))),Vl=(e,t,o,n)=>{const r=Qo(e).rows;let s=!0;for(let e=0;e<r.length;e++)for(let l=0;l<Jo(r[0]);l++){const a=r[e],c=Ko(a,l),i=o(c.element,t);i&&!s?Uo(a,l,ot(n(),!0,c.isLocked)):i&&(s=!1)}return e},Ul=(e,t,o,n)=>{const r=Qo(e).rows;if(t>0&&t<r.length){const e=((e,t)=>j(e,((e,o)=>O(e,(e=>t(e.element,o.element)))?e:e.concat([o])),[]))(r[t-1].cells,o);N(e,(e=>{let s=x.none();for(let l=t;l<r.length;l++)for(let t=0;t<Jo(r[0]);t++){const a=r[l],c=Ko(a,t);o(c.element,e.element)&&(s.isNone()&&(s=x.some(n())),s.each((e=>{Uo(a,t,ot(e,!0,c.isLocked))})))}}))}return e},Gl=e=>{const t=t=>t(e),o=g(e),n=()=>r,r={tag:!0,inner:e,fold:(t,o)=>o(e),isValue:C,isError:y,map:t=>Yl.value(t(e)),mapError:n,bind:t,exists:t,forall:t,getOr:o,or:n,getOrThunk:o,orThunk:n,getOrDie:o,each:t=>{t(e)},toOptional:()=>x.some(e)};return r},Kl=e=>{const t=()=>o,o={tag:!1,inner:e,fold:(t,o)=>t(e),isValue:y,isError:C,map:t,mapError:t=>Yl.error(t(e)),bind:t,exists:y,forall:C,getOr:h,or:h,getOrThunk:v,orThunk:v,getOrDie:(n=String(e),()=>{throw new Error(n)}),each:f,toOptional:x.none};var n;return o},Yl={value:Gl,error:Kl,fromOption:(e,t)=>e.fold((()=>Kl(t)),Gl)},Jl=(e,t)=>({rowDelta:0,colDelta:Jo(e[0])-Jo(t[0])}),Ql=(e,t)=>({rowDelta:e.length-t.length,colDelta:0}),Xl=(e,t,o,n)=>{const r="colgroup"===t.section?o.col:o.cell;return k(e,(e=>ot(r(),!0,n(e))))},Zl=(e,t,o,n)=>{const r=e[e.length-1];return e.concat(k(t,(()=>{const e="colgroup"===r.section?o.colgroup:o.row,t=Xo(r,e,h),s=Xl(t.cells.length,t,o,(e=>Z(n,e.toString())));return Go(t,s)})))},ea=(e,t,o,n)=>E(e,(e=>{const r=Xl(t,e,o,y);return qo(e,n,r)})),ta=(e,t,o)=>{const n=t.colDelta<0?ea:h,r=t.rowDelta<0?Zl:h,s=tn(e),l=Jo(e[0]),a=O(s,(e=>e===l-1)),c=n(e,Math.abs(t.colDelta),o,a?l-1:l),i=tn(c);return r(c,Math.abs(t.rowDelta),o,P(i,C))},oa=(e,t,o,n)=>{const r=b(n,Ko(e[t],o).element),s=e[t];return e.length>1&&Jo(s)>1&&(o>0&&r(Yo(s,o-1))||o<s.cells.length-1&&r(Yo(s,o+1))||t>0&&r(Yo(e[t-1],o))||t<e.length-1&&r(Yo(e[t+1],o)))},na=(e,t,o)=>B(o,(o=>o>=e.column&&o<=Jo(t[0])+e.column)),ra=(e,t,o,n,r)=>{const s=tn(t),l=((e,t,o)=>{const n=Jo(t[0]),r=Qo(t).cols.length+e.row,s=k(n-e.column,(t=>t+e.column)),l=z(s,(e=>I(o,(t=>t!==e)))).getOr(n-1);return{row:r,column:l}})(e,t,s),a=Qo(o).rows,c=na(l,a,s),i=((e,t,o)=>{if(e.row>=t.length||e.column>Jo(t[0]))return Yl.error("invalid start address out of table bounds, row: "+e.row+", column: "+e.column);const n=t.slice(e.row),r=n[0].cells.slice(e.column),s=Jo(o[0]),l=o.length;return Yl.value({rowDelta:n.length-l,colDelta:r.length-s})})(l,t,a);return i.map((e=>{const o={...e,colDelta:e.colDelta-c.length},s=ta(t,o,n),i=tn(s),m=na(l,a,i);return((e,t,o,n,r,s)=>{const l=e.row,a=e.column,c=l+o.length,i=a+Jo(o[0])+s.length,m=P(s,C);for(let e=l;e<c;e++){let s=0;for(let c=a;c<i;c++){if(m[c]){s++;continue}oa(t,e,c,r)&&Vl(t,Yo(t[e],c),r,n.cell);const i=c-a-s,d=Ko(o[e-l],i),u=d.element,f=n.replace(u);Uo(t[e],c,ot(f,!0,d.isLocked))}}return t})(l,s,a,n,r,m)}))},sa=(e,t,o,n,r)=>{((e,t,o,n)=>{t>0&&t<e[0].cells.length&&N(e,(e=>{const r=e.cells[t-1];let s=0;const l=n();for(;e.cells.length>t+s&&o(r.element,e.cells[t+s].element);)Uo(e,t+s,ot(l,!0,e.cells[t+s].isLocked)),s++}))})(t,e,r,n.cell);const s=Ql(o,t),l=ta(o,s,n),a=Ql(t,l),c=ta(t,a,n);return E(c,((t,o)=>qo(t,e,l[o].cells)))},la=(e,t,o,n,r)=>{Ul(t,e,r,n.cell);const s=tn(t),l=Jl(t,o),a={...l,colDelta:l.colDelta-s.length},c=ta(t,a,n),{cols:i,rows:m}=Qo(c),d=tn(c),u=Jl(o,t),f={...u,colDelta:u.colDelta+d.length},g=((e,t,o)=>E(e,(e=>j(o,((o,n)=>{const r=Xl(1,e,t,C)[0];return Vo(o,n,r)}),e))))(o,n,d),h=ta(g,f,n);return[...i,...m.slice(0,e),...h,...m.slice(e,m.length)]},aa=(e,t,o,n,r)=>{const{rows:s,cols:l}=Qo(e),a=s.slice(0,t),c=s.slice(t),i=((e,t,o,n)=>Xo(e,(e=>n(e,o)),t))(s[o],((e,o)=>t>0&&t<s.length&&n(Yo(s[t-1],o),Yo(s[t],o))?Ko(s[t],o):ot(r(e.element,n),!0,e.isLocked)),n,r);return[...l,...a,i,...c]},ca=(e,t,o,n,r)=>E(e,(e=>{const s=t>0&&t<Jo(e)&&n(Yo(e,t-1),Yo(e,t)),l=((e,t,o,n,r,s,l)=>{if("colgroup"!==o&&n)return Ko(e,t);{const t=Ko(e,r);return ot(l(t.element,s),!0,!1)}})(e,t,e.section,s,o,n,r);return Vo(e,t,l)})),ia=(e,t,o,n)=>((e,t,o,n)=>void 0!==Yo(e[t],o)&&t>0&&n(Yo(e[t-1],o),Yo(e[t],o)))(e,t,o,n)||((e,t,o)=>t>0&&o(Yo(e,t-1),Yo(e,t)))(e[t],o,n),ma=(e,t,o,n)=>{const r=e=>(e=>"row"===e?$t(t):Ht(t))(e)?`${e}group`:e;if(e)return hl(t)?r(o):null;if(n&&hl(t)){return r("row"===o?"col":"row")}return null},da=(e,t,o)=>ot(o(e.element,t),!0,e.isLocked),ua=(e,t,o,n,r,s,l)=>E(e,((e,a)=>((e,t)=>{const o=e.cells,n=E(o,t);return nt(e.element,n,e.section,e.isNew)})(e,((e,c)=>{if((e=>O(t,(t=>o(e.element,t.element))))(e)){const t=l(e,a,c)?r(e,o,n):e;return s(t,a,c).each((e=>{var o,n;o=t.element,n={scope:x.from(e)},G(n,((e,t)=>{e.fold((()=>{ye(o,t)}),(e=>{he(o.dom,t,e)}))}))})),t}return e})))),fa=(e,t,o)=>M(e,((n,r)=>ia(e,r,t,o)?[]:[Ko(n,t)])),ga=(e,t,o,n,r)=>{const s=Qo(e).rows,l=M(t,(e=>fa(s,e,n))),a=E(s,(e=>pl(e.cells))),c=((e,t)=>I(t,h)&&pl(e)?C:(e,o,n)=>!("th"===se(e.element)&&t[o]))(l,a),i=((e,t)=>(o,n)=>x.some(ma(e,o.element,"row",t[n])))(o,a);return ua(e,l,n,r,da,i,c)},ha=(e,t,o,n,r,s,l)=>{const{cols:a,rows:c}=Qo(e),i=c[t[0]],m=M(t,(e=>((e,t,o)=>{const n=e[t];return M(n.cells,((n,r)=>ia(e,t,r,o)?[]:[n]))})(c,e,r))),d=E(i.cells,((e,t)=>pl(fa(c,t,r)))),u=[...c];N(t,(e=>{u[e]=l.transformRow(c[e],o)}));const f=[...a,...u],g=((e,t)=>I(t,h)&&pl(e.cells)?C:(e,o,n)=>!("th"===se(e.element)&&t[n]))(i,d),p=((e,t)=>(o,n,r)=>x.some(ma(e,o.element,"col",t[r])))(n,d);return ua(f,m,r,s,l.transformCell,p,g)},pa=(e,t,o,n)=>{const r=Qo(e).rows,s=E(t,(e=>Ko(r[e.row],e.column)));return ua(e,s,o,n,da,x.none,C)},ba=e=>{if(!l(e))throw new Error("cases must be an array");if(0===e.length)throw new Error("there must be at least one case");const t=[],o={};return N(e,((n,r)=>{const s=V(n);if(1!==s.length)throw new Error("one and only one name per case");const a=s[0],c=n[a];if(void 0!==o[a])throw new Error("duplicate key detected:"+a);if("cata"===a)throw new Error("cannot have a case named cata (sorry)");if(!l(c))throw new Error("case arguments must be an array");t.push(a),o[a]=(...o)=>{const n=o.length;if(n!==c.length)throw new Error("Wrong number of arguments to case "+a+". Expected "+c.length+" ("+c+"), got "+n);return{fold:(...t)=>{if(t.length!==e.length)throw new Error("Wrong number of arguments to fold. Expected "+e.length+", got "+t.length);return t[r].apply(null,o)},match:e=>{const n=V(e);if(t.length!==n.length)throw new Error("Wrong number of arguments to match. Expected: "+t.join(",")+"\nActual: "+n.join(","));if(!I(t,(e=>D(n,e))))throw new Error("Not all branches were specified when using match. Specified: "+n.join(", ")+"\nRequired: "+t.join(", "));return e[a].apply(null,o)},log:e=>{console.log(e,{constructors:t,constructor:a,params:o})}}}})),o},wa={...ba([{none:[]},{only:["index"]},{left:["index","next"]},{middle:["prev","index","next"]},{right:["prev","index"]}])},va=(e,t,o,n,r)=>{const s=e.slice(0),l=((e,t)=>0===e.length?wa.none():1===e.length?wa.only(0):0===t?wa.left(0,1):t===e.length-1?wa.right(t-1,t):t>0&&t<e.length-1?wa.middle(t-1,t,t+1):wa.none())(e,t),a=g(E(s,g(0)));return l.fold(a,(e=>n.singleColumnWidth(s[e],o)),((e,t)=>r.calcLeftEdgeDeltas(s,e,t,o,n.minCellWidth(),n.isRelative)),((e,t,l)=>r.calcMiddleDeltas(s,e,t,l,o,n.minCellWidth(),n.isRelative)),((e,t)=>r.calcRightEdgeDeltas(s,e,t,o,n.minCellWidth(),n.isRelative)))},ya=(e,t,o)=>{let n=0;for(let r=e;r<t;r++)n+=void 0!==o[r]?o[r]:0;return n},Ca=(e,t)=>{const o=sn.justCells(e);return E(o,(e=>{const o=ya(e.row,e.row+e.rowspan,t);return{element:e.element,height:o,rowspan:e.rowspan}}))},xa=(e,t)=>sn.hasColumns(e)?((e,t)=>{const o=sn.justColumns(e);return E(o,((e,o)=>({element:e.element,width:t[o],colspan:e.colspan})))})(e,t):((e,t)=>{const o=sn.justCells(e);return E(o,(e=>{const o=ya(e.column,e.column+e.colspan,t);return{element:e.element,width:o,colspan:e.colspan}}))})(e,t),Ta=(e,t,o)=>{const n=xa(e,t);N(n,(e=>{o.setElementWidth(e.element,e.width)}))},Sa=(e,t,o,n,r)=>{const s=sn.fromTable(e),l=r.getCellDelta(t),a=r.getWidths(s,r),c=o===s.grid.columns-1,i=n.clampTableDelta(a,o,l,r.minCellWidth(),c),m=va(a,o,i,r,n),d=E(m,((e,t)=>e+a[t]));Ta(s,d,r),n.resizeTable(r.adjustTableWidth,i,c)},Ra=(e,t,o,n)=>{const r=sn.fromTable(e),s=((e,t,o)=>cr(e,t,o,Qn,(e=>e.getOrThunk(Ut))))(r,e,n),l=E(s,((e,n)=>o===n?Math.max(t+e,Ut()):e)),a=Ca(r,l),c=((e,t)=>E(e.all,((e,o)=>({element:e.element,height:t[o]}))))(r,l);N(c,(e=>{qn(e.element,e.height)})),N(a,(e=>{qn(e.element,e.height)}));const i=_(l,((e,t)=>e+t),0);qn(e,i)},Da=e=>j(e,((e,t)=>O(e,(e=>e.column===t.column))?e:e.concat([t])),[]).sort(((e,t)=>e.column-t.column)),Oa=ge("col"),ka=ge("colgroup"),Ea=e=>"tr"===se(e)||ka(e),Na=e=>({element:e,colspan:Pt(e,"colspan",1),rowspan:Pt(e,"rowspan",1)}),Aa=e=>ve(e,"scope").map((e=>e.substr(0,3))),Ba=(e,t=Na)=>{const o=o=>{if(Ea(o))return ka((r={element:o}).element)?e.colgroup(r):e.row(r);{const r=o,s=(t=>Oa(t.element)?e.col(t):e.cell(t))(t(r));return n=x.some({item:r,replacement:s}),s}var r};let n=x.none();return{getOrInit:(e,t)=>n.fold((()=>o(e)),(n=>t(e,n.item)?n.replacement:o(e)))}},_a=e=>t=>{const o=[],n=n=>{const r="td"===e?{scope:null}:{},s=t.replace(n,e,r);return o.push({item:n,sub:s}),s};return{replaceOrInit:(e,t)=>{if(Ea(e)||Oa(e))return e;{const r=e;return((e,t)=>z(o,(o=>t(o.item,e))))(r,t).fold((()=>n(r)),(o=>t(e,o.item)?o.sub:n(r)))}}}},ja=e=>({unmerge:t=>{const o=Aa(t);return o.each((e=>pe(t,"scope",e))),()=>{const n=e.cell({element:t,colspan:1,rowspan:1});return It(n,"width"),It(t,"width"),o.each((e=>pe(n,"scope",e))),n}},merge:e=>(It(e[0],"width"),(()=>{const t=St(E(e,Aa));if(0===t.length)return x.none();{const e=t[0],o=["row","col"];return O(t,(t=>t!==e&&D(o,t)))?x.none():x.from(e)}})().fold((()=>ye(e[0],"scope")),(t=>pe(e[0],"scope",t+"group"))),g(e[0]))}),za=["body","p","div","article","aside","figcaption","figure","footer","header","nav","section","ol","ul","table","thead","tfoot","tbody","caption","tr","td","th","h1","h2","h3","h4","h5","h6","blockquote","pre","address"],La=xs(),Wa=e=>((e,t)=>{const o=e.property().name(t);return D(za,o)})(La,e),Ma=e=>((e,t)=>{const o=e.property().name(t);return D(["ol","ul"],o)})(La,e),Ia=e=>((e,t)=>D(["br","img","hr","input"],e.property().name(t)))(La,e),Pa=e=>{const t=ge("br"),o=e=>Dr(e).bind((o=>{const n=Le(o).map((e=>!!Wa(e)||!!Ia(e)&&"img"!==se(e))).getOr(!1);return Be(o).map((r=>!0===n||(e=>"li"===se(e)||bt(e,Ma).isSome())(r)||t(o)||Wa(r)&&!Oe(e,r)?[]:[Te.fromTag("br")]))})).getOr([]),n=(()=>{const n=M(e,(e=>{const n=We(e);return(e=>I(e,(e=>t(e)||de(e)&&0===vr(e).trim().length)))(n)?[]:n.concat(o(e))}));return 0===n.length?[Te.fromTag("br")]:n})();Ue(e[0]),Ve(e[0],n)},Fa=e=>os(e,!0),Ha=e=>{0===Jt(e).length&&Ge(e)},$a=(e,t)=>({grid:e,cursor:t}),qa=(e,t,o)=>{var n,r;const s=Qo(e).rows;return x.from(null===(r=null===(n=s[t])||void 0===n?void 0:n.cells[o])||void 0===r?void 0:r.element).filter(Fa).orThunk((()=>(e=>q(e,(e=>q(e.cells,(e=>{const t=e.element;return Rt(Fa(t),t)})))))(s)))},Va=(e,t,o)=>{const n=qa(e,t,o);return $a(e,n)},Ua=e=>j(e,((e,t)=>O(e,(e=>e.row===t.row))?e:e.concat([t])),[]).sort(((e,t)=>e.row-t.row)),Ga=(e,t)=>(o,n,r,s,l)=>{const a=Ua(n),c=E(a,(e=>e.row)),i=ha(o,c,e,t,r,s.replaceOrInit,l);return Va(i,n[0].row,n[0].column)},Ka=Ga("thead",!0),Ya=Ga("tbody",!1),Ja=Ga("tfoot",!1),Qa=(e,t,o)=>{const n=((e,t)=>to(e,(()=>t)))(e,o.section),r=sn.generate(n);return Ll(r,t,!0)},Xa=(e,t,o,n)=>((e,t,o,n)=>{const r=sn.generate(t),s=n.getWidths(r,n);Ta(r,s,n)})(0,t,0,n.sizing),Za=(e,t,o,n)=>((e,t,o,n,r)=>{const s=sn.generate(t),l=n.getWidths(s,n),a=n.pixelWidth(),{newSizes:c,delta:i}=r.calcRedestributedWidths(l,a,o.pixelDelta,n.isRelative);Ta(s,c,n),n.adjustTableWidth(i)})(0,t,o,n.sizing,n.resize),ec=(e,t)=>O(t,(e=>0===e.column&&e.isLocked)),tc=(e,t)=>O(t,(t=>t.column+t.colspan>=e.grid.columns&&t.isLocked)),oc=(e,t)=>{const o=ln(e),n=Da(t);return j(n,((e,t)=>e+o[t.column].map(Fo).getOr(0)),0)},nc=e=>(t,o)=>Hl(t,o).filter((o=>!(e?ec:tc)(t,o))).map((e=>({details:e,pixelDelta:oc(t,e)}))),rc=e=>(t,o)=>Fl(t,o).filter((o=>!(e?ec:tc)(t,o.cells))),sc=_a("th"),lc=_a("td"),ac=Pl(((e,t,o,n)=>{const r=t[0].row,s=Ua(t),l=_(s,((e,t)=>({grid:aa(e.grid,r,t.row+e.delta,o,n.getOrInit),delta:e.delta+1})),{grid:e,delta:0}).grid;return Va(l,r,t[0].column)}),Hl,f,f,Ba),cc=Pl(((e,t,o,n)=>{const r=Ua(t),s=r[r.length-1],l=s.row+s.rowspan,a=_(r,((e,t)=>aa(e,l,t.row,o,n.getOrInit)),e);return Va(a,l,t[0].column)}),Hl,f,f,Ba),ic=Pl(((e,t,o,n)=>{const r=t.details,s=Da(r),l=s[0].column,a=_(s,((e,t)=>({grid:ca(e.grid,l,t.column+e.delta,o,n.getOrInit),delta:e.delta+1})),{grid:e,delta:0}).grid;return Va(a,r[0].row,l)}),nc(!0),Za,f,Ba),mc=Pl(((e,t,o,n)=>{const r=t.details,s=r[r.length-1],l=s.column+s.colspan,a=Da(r),c=_(a,((e,t)=>ca(e,l,t.column,o,n.getOrInit)),e);return Va(c,r[0].row,l)}),nc(!1),Za,f,Ba),dc=Pl(((e,t,o,n)=>{const r=Da(t.details),s=((e,t)=>M(e,(e=>{const o=e.cells,n=_(t,((e,t)=>t>=0&&t<e.length?e.slice(0,t).concat(e.slice(t+1)):e),o);return n.length>0?[nt(e.element,n,e.section,e.isNew)]:[]})))(e,E(r,(e=>e.column))),l=s.length>0?s[0].cells.length-1:0;return Va(s,r[0].row,Math.min(r[0].column,l))}),((e,t)=>$l(e,t).map((t=>({details:t,pixelDelta:-oc(e,t)})))),Za,Ha,Ba),uc=Pl(((e,t,o,n)=>{const r=Ua(t),s=((e,t,o)=>{const{rows:n,cols:r}=Qo(e);return[...r,...n.slice(0,t),...n.slice(o+1)]})(e,r[0].row,r[r.length-1].row),l=s.length>0?s.length-1:0;return Va(s,Math.min(t[0].row,l),t[0].column)}),Hl,f,Ha,Ba),fc=Pl(((e,t,o,n)=>{const r=Da(t),s=E(r,(e=>e.column)),l=ga(e,s,!0,o,n.replaceOrInit);return Va(l,t[0].row,t[0].column)}),$l,f,f,sc),gc=Pl(((e,t,o,n)=>{const r=Da(t),s=E(r,(e=>e.column)),l=ga(e,s,!1,o,n.replaceOrInit);return Va(l,t[0].row,t[0].column)}),$l,f,f,lc),hc=Pl(Ka,$l,f,f,sc),pc=Pl(Ya,$l,f,f,lc),bc=Pl(Ja,$l,f,f,lc),wc=Pl(((e,t,o,n)=>{const r=pa(e,t,o,n.replaceOrInit);return Va(r,t[0].row,t[0].column)}),$l,f,f,sc),vc=Pl(((e,t,o,n)=>{const r=pa(e,t,o,n.replaceOrInit);return Va(r,t[0].row,t[0].column)}),$l,f,f,lc),yc=Pl(((e,t,o,n)=>{const r=t.cells;Pa(r);const s=((e,t,o,n)=>{const r=Qo(e).rows;if(0===r.length)return e;for(let e=t.startRow;e<=t.finishRow;e++)for(let o=t.startCol;o<=t.finishCol;o++){const t=r[e],s=Ko(t,o).isLocked;Uo(t,o,ot(n(),!1,s))}return e})(e,t.bounds,0,n.merge(r));return $a(s,x.from(r[0]))}),((e,t)=>((e,t)=>t.mergable)(0,t).filter((t=>ql(e,t.cells)))),Xa,f,ja),Cc=Pl(((e,t,o,n)=>{const r=_(t,((e,t)=>Vl(e,t,o,n.unmerge(t))),e);return $a(r,x.from(t[0]))}),((e,t)=>((e,t)=>t.unmergable)(0,t).filter((t=>ql(e,t)))),Xa,f,ja),xc=Pl(((e,t,o,n)=>{const r=((e,t)=>{const o=sn.fromTable(e);return Ll(o,t,!0)})(t.clipboard,t.generators),s=((e,t)=>({row:e,column:t}))(t.row,t.column);return ra(s,e,r,t.generators,o).fold((()=>$a(e,x.some(t.element))),(e=>Va(e,t.row,t.column)))}),((e,t)=>Yt(t.element).bind((o=>Ml(e,o).map((e=>({...e,generators:t.generators,clipboard:t.clipboard})))))),Xa,f,Ba),Tc=Pl(((e,t,o,n)=>{const r=Qo(e).rows,s=t.cells[0].column,l=r[t.cells[0].row],a=Qa(t.clipboard,t.generators,l),c=sa(s,e,a,t.generators,o);return Va(c,t.cells[0].row,t.cells[0].column)}),rc(!0),f,f,Ba),Sc=Pl(((e,t,o,n)=>{const r=Qo(e).rows,s=t.cells[t.cells.length-1].column+t.cells[t.cells.length-1].colspan,l=r[t.cells[0].row],a=Qa(t.clipboard,t.generators,l),c=sa(s,e,a,t.generators,o);return Va(c,t.cells[0].row,t.cells[0].column)}),rc(!1),f,f,Ba),Rc=Pl(((e,t,o,n)=>{const r=Qo(e).rows,s=t.cells[0].row,l=r[s],a=Qa(t.clipboard,t.generators,l),c=la(s,e,a,t.generators,o);return Va(c,t.cells[0].row,t.cells[0].column)}),Fl,f,f,Ba),Dc=Pl(((e,t,o,n)=>{const r=Qo(e).rows,s=t.cells[t.cells.length-1].row+t.cells[t.cells.length-1].rowspan,l=r[t.cells[0].row],a=Qa(t.clipboard,t.generators,l),c=la(s,e,a,t.generators,o);return Va(c,t.cells[0].row,t.cells[0].column)}),Fl,f,f,Ba),Oc=(e,t)=>{const o=sn.fromTable(e);return Hl(o,t).bind((e=>{const t=e[e.length-1],n=e[0].column,r=t.column+t.colspan,s=W(E(o.all,(e=>B(e.cells,(e=>e.column>=n&&e.column<r)))));return vl(s)})).getOr("")},kc=(e,t)=>{const o=sn.fromTable(e);return Hl(o,t).bind(vl).getOr("")},Ec=(e,t)=>{const o=sn.fromTable(e);return Hl(o,t).bind((e=>{const t=e[e.length-1],n=e[0].row,r=t.row+t.rowspan;return(e=>{const t=E(e,(e=>wl(e).type)),o=D(t,"header"),n=D(t,"footer");if(o||n){const e=D(t,"body");return!o||e||n?o||e||!n?x.none():x.some("footer"):x.some("header")}return x.some("body")})(o.all.slice(n,r))})).getOr("")},Nc=(e,t)=>e.dispatch("NewRow",{node:t}),Ac=(e,t)=>e.dispatch("NewCell",{node:t}),Bc=(e,t,o)=>{e.dispatch("TableModified",{...o,table:t})},_c={structure:!1,style:!0},jc={structure:!0,style:!1},zc={structure:!0,style:!0},Lc=(e,t)=>Ur(e)?hr(t):Gr(e)?gr(t):fr(t),Wc=(e,t,o)=>{const n=e=>"table"===se(rs(e)),r=Pr(e),s=qr(e)?f:ll,l=t=>{switch(Fr(e)){case"section":return Dl();case"sectionCells":return Ol();case"cells":return kl();default:return Rl(t,"section")}},a=(t,n)=>n.cursor.fold((()=>{const n=Jt(t);return H(n).filter(mt).map((n=>{o.clearSelectedCells(t.dom);const r=e.dom.createRng();return r.selectNode(n.dom),e.selection.setRng(r),pe(n,"data-mce-selected","1"),r}))}),(n=>{const r=rl(sl,n);const s=e.dom.createRng();return s.setStart(r.element.dom,r.offset),s.setEnd(r.element.dom,r.offset),e.selection.setRng(s),o.clearSelectedCells(t.dom),x.some(s)})),c=(o,n,s,c)=>(i,m,d=!1)=>{ls(i);const u=Te.fromDom(e.getDoc()),f=zr(s,u,r),g={sizing:Lc(e,i),resize:qr(e)?ul():fl(),section:l(i)};return n(i)?o(i,m,f,g).bind((o=>{t.refresh(i.dom),N(o.newRows,(t=>{Nc(e,t.dom)})),N(o.newCells,(t=>{Ac(e,t.dom)}));const n=a(i,o);return mt(i)&&(ls(i),d||Bc(e,i.dom,c)),n.map((e=>({rng:e,effect:c})))})):x.none()},i=c(uc,(t=>!n(e)||gl(t).rows>1),f,jc),m=c(dc,(t=>!n(e)||gl(t).columns>1),f,jc);return{deleteRow:i,deleteColumn:m,insertRowsBefore:c(ac,C,f,jc),insertRowsAfter:c(cc,C,f,jc),insertColumnsBefore:c(ic,C,s,jc),insertColumnsAfter:c(mc,C,s,jc),mergeCells:c(yc,C,f,jc),unmergeCells:c(Cc,C,f,jc),pasteColsBefore:c(Tc,C,f,jc),pasteColsAfter:c(Sc,C,f,jc),pasteRowsBefore:c(Rc,C,f,jc),pasteRowsAfter:c(Dc,C,f,jc),pasteCells:c(xc,C,f,zc),makeCellsHeader:c(wc,C,f,jc),unmakeCellsHeader:c(vc,C,f,jc),makeColumnsHeader:c(fc,C,f,jc),unmakeColumnsHeader:c(gc,C,f,jc),makeRowsHeader:c(hc,C,f,jc),makeRowsBody:c(pc,C,f,jc),makeRowsFooter:c(bc,C,f,jc),getTableRowType:Ec,getTableCellType:kc,getTableColType:Oc}},Mc=(e,t,o)=>{const n=Pt(e,t,1);1===o||n<=1?ye(e,t):pe(e,t,Math.min(o,n))},Ic=(e,t)=>o=>{const n=o.column+o.colspan-1,r=o.column;return n>=e&&r<t},Pc=(e,t)=>{const o=sn.fromTable(e);return $l(o,t).map((e=>{const t=e[e.length-1],n=e[0].column,r=t.column+t.colspan,s=((e,t,o)=>{if(sn.hasColumns(e)){const n=B(sn.justColumns(e),Ic(t,o)),r=E(n,(e=>{const n=Qe(e.element);return Mc(n,"span",o-t),n})),s=Te.fromTag("colgroup");return Ve(s,r),[s]}return[]})(o,n,r),l=((e,t,o)=>E(e.all,(e=>{const n=B(e.cells,Ic(t,o)),r=E(n,(e=>{const n=Qe(e.element);return Mc(n,"colspan",o-t),n})),s=Te.fromTag("tr");return Ve(s,r),s})))(o,n,r);return[...s,...l]}))},Fc=(e,t,o)=>{const n=sn.fromTable(e);return Hl(n,t).bind((e=>{const t=Ll(n,o,!1),r=Qo(t).rows.slice(e[0].row,e[e.length-1].row+e[e.length-1].rowspan),s=M(r,(e=>{const t=B(e.cells,(e=>!e.isLocked));return t.length>0?[{...e,cells:t}]:[]})),l=Wl(s);return Rt(l.length>0,l)})).map((e=>(e=>E(e,(e=>{const t=Je(e.element);return N(e.cells,(e=>{const o=Qe(e.element);Nl(o,"colspan",e.colspan,1),Nl(o,"rowspan",e.rowspan,1),He(t,o)})),t})))(e)))},Hc=ba([{invalid:["raw"]},{pixels:["value"]},{percent:["value"]}]),$c=(e,t,o)=>{const n=o.substring(0,o.length-e.length),r=parseFloat(n);return n===r.toString()?t(r):Hc.invalid(o)},qc={...Hc,from:e=>Et(e,"%")?$c("%",Hc.percent,e):Et(e,"px")?$c("px",Hc.pixels,e):Hc.invalid(e)},Vc=(e,t,o)=>e.fold((()=>t),(e=>((e,t,o)=>{const n=o/t;return E(e,(e=>qc.from(e).fold((()=>e),(e=>e*n+"px"),(e=>e/100*o+"px"))))})(t,o,e)),(e=>((e,t)=>E(e,(e=>qc.from(e).fold((()=>e),(e=>e/t*100+"%"),(e=>e+"%")))))(t,o))),Uc=(e,t,o)=>{const n=qc.from(o),r=I(e,(e=>"0px"===e))?((e,t)=>{const o=e.fold((()=>g("")),(e=>g(e/t+"px")),(()=>g(100/t+"%")));return k(t,o)})(n,e.length):Vc(n,e,t);return Yc(r)},Gc=(e,t)=>0===e.length?t:_(e,((e,t)=>qc.from(t).fold(g(0),h,h)+e),0),Kc=(e,t)=>qc.from(e).fold(g(e),(e=>e+t+"px"),(e=>e+t+"%")),Yc=e=>{if(0===e.length)return e;const t=_(e,((e,t)=>{const o=qc.from(t).fold((()=>({value:t,remainder:0})),(e=>((e,t)=>{const o=Math.floor(e);return{value:o+t,remainder:e-o}})(e,"px")),(e=>({value:e+"%",remainder:0})));return{output:[o.value].concat(e.output),remainder:e.remainder+o.remainder}}),{output:[],remainder:0}),o=t.output;return o.slice(0,o.length-1).concat([Kc(o[o.length-1],Math.round(t.remainder))])},Jc=qc.from,Qc=e=>Jc(e).fold(g("px"),g("px"),g("%")),Xc=(e,t,o)=>{const n=sn.fromTable(e),r=n.all,s=sn.justCells(n),l=sn.justColumns(n);t.each((t=>{const o=Qc(t),r=Po(e),a=((e,t)=>sr(e,t,or,lr))(n,e),c=Uc(a,r,t);sn.hasColumns(n)?((e,t,o)=>{N(t,((t,n)=>{const r=Gc([e[n]],Vt());jt(t.element,"width",r+o)}))})(c,l,o):((e,t,o)=>{N(t,(t=>{const n=e.slice(t.column,t.colspan+t.column),r=Gc(n,Vt());jt(t.element,"width",r+o)}))})(c,s,o),jt(e,"width",t)})),o.each((t=>{const o=Qc(t),l=gn(e),a=((e,t,o)=>cr(e,t,o,nr,lr))(n,e,Bn);((e,t,o,n)=>{N(o,(t=>{const o=e.slice(t.row,t.rowspan+t.row),r=Gc(o,Ut());jt(t.element,"height",r+n)})),N(t,((t,o)=>{jt(t.element,"height",e[o])}))})(Uc(a,l,t),r,s,o),jt(e,"height",t)}))},Zc=e=>Kn(e).exists((e=>Mn.test(e))),ei=e=>Kn(e).exists((e=>In.test(e))),ti=e=>Kn(e).isNone(),oi=e=>{ye(e,"width")},ni=e=>{const t=Zn(e);Xc(e,x.some(t),x.none()),oi(e)},ri=e=>{const t=(e=>Po(e)+"px")(e);Xc(e,x.some(t),x.none()),oi(e)},si=e=>{It(e,"width");const t=Qt(e),o=t.length>0?t:Jt(e);N(o,(e=>{It(e,"width"),oi(e)})),oi(e)},li={styles:{"border-collapse":"collapse",width:"100%"},attributes:{border:"1"},colGroups:!1},ai=e=>{const t=Te.fromTag("colgroup");return k(e,(()=>He(t,Te.fromTag("col")))),t},ci=(e,t,o,n)=>k(e,(e=>((e,t,o,n)=>{const r=Te.fromTag("tr");for(let s=0;s<e;s++){const e=n<t||s<o?Te.fromTag("th"):Te.fromTag("td");s<o&&pe(e,"scope","row"),n<t&&pe(e,"scope","col"),He(e,Te.fromTag("br")),He(r,e)}return r})(t,o,n,e))),ii=(e,t)=>{e.selection.select(t.dom,!0),e.selection.collapse(!0)},mi=(e,t,o,n,s)=>{const l=Zr(e),a={styles:l,attributes:Xr(e),colGroups:es(e)};return e.undoManager.ignore((()=>{const r=((e,t,o,n,r,s=li)=>{const l=Te.fromTag("table"),a="cells"!==r;zt(l,s.styles),be(l,s.attributes),s.colGroups&&He(l,ai(t));const c=Math.min(e,o);if(a&&o>0){const e=Te.fromTag("thead");He(l,e);const s=ci(o,t,"sectionCells"===r?c:0,n);Ve(e,s)}const i=Te.fromTag("tbody");He(l,i);const m=ci(a?e-c:e,t,a?0:o,n);return Ve(i,m),l})(o,t,s,n,Fr(e),a);pe(r,"data-mce-id","__mce");const l=(e=>{const t=Te.fromTag("div"),o=Te.fromDom(e.dom.cloneNode(!0));return He(t,o),(e=>e.dom.innerHTML)(t)})(r);e.insertContent(l),e.addVisual()})),Ct(rs(e),'table[data-mce-id="__mce"]').map((t=>(Gr(e)?ri(t):Kr(e)?si(t):(Ur(e)||(e=>r(e)&&-1!==e.indexOf("%"))(l.width))&&ni(t),ls(t),ye(t,"data-mce-id"),((e,t)=>{N(ht(t,"tr"),(t=>{Nc(e,t.dom),N(ht(t,"th,td"),(t=>{Ac(e,t.dom)}))}))})(e,t),((e,t)=>{Ct(t,"td,th").each(b(ii,e))})(e,t),t.dom))).getOrNull()};var di=tinymce.util.Tools.resolve("tinymce.FakeClipboard");const ui="x-tinymce/dom-table-",fi=ui+"rows",gi=ui+"columns",hi=e=>{const t=di.FakeClipboardItem(e);di.write([t])},pi=e=>{var t;const o=null!==(t=di.read())&&void 0!==t?t:[];return q(o,(t=>x.from(t.getType(e))))},bi=e=>{pi(e).isSome()&&di.clear()},wi=e=>{e.fold(yi,(e=>hi({[fi]:e})))},vi=()=>pi(fi),yi=()=>bi(fi),Ci=e=>{e.fold(Ti,(e=>hi({[gi]:e})))},xi=()=>pi(gi),Ti=()=>bi(gi),Si=e=>Js(as(e),ss(e)).filter(ms),Ri=(e,t)=>{const o=ss(e),n=e=>Xt(e,o),l=t=>(e=>Qs(as(e),ss(e)).filter(ms))(e).bind((e=>n(e).map((o=>t(o,e))))),a=t=>{e.focus()},c=(t,o=!1)=>l(((n,r)=>{const s=Ks(Xs(e),n,r);t(n,s,o).each(a)})),i=()=>l(((t,o)=>{const n=Ks(Xs(e),t,o),r=zr(f,Te.fromDom(e.getDoc()),x.none());return Fc(t,n,r)})),m=()=>l(((t,o)=>{const n=Ks(Xs(e),t,o);return Pc(t,n)})),d=(t,o)=>o().each((o=>{const n=E(o,(e=>Qe(e)));l(((o,r)=>{const s=Lr(Te.fromDom(e.getDoc())),l=((e,t,o,n)=>({selection:Ls(e),clipboard:o,generators:n}))(Xs(e),0,n,s);t(o,l).each(a)}))})),g=e=>(t,o)=>((e,t)=>Z(e,t)?x.from(e[t]):x.none())(o,"type").each((t=>{c(e(t),o.no_events)}));G({mceTableSplitCells:()=>c(t.unmergeCells),mceTableMergeCells:()=>c(t.mergeCells),mceTableInsertRowBefore:()=>c(t.insertRowsBefore),mceTableInsertRowAfter:()=>c(t.insertRowsAfter),mceTableInsertColBefore:()=>c(t.insertColumnsBefore),mceTableInsertColAfter:()=>c(t.insertColumnsAfter),mceTableDeleteCol:()=>c(t.deleteColumn),mceTableDeleteRow:()=>c(t.deleteRow),mceTableCutCol:()=>m().each((e=>{Ci(e),c(t.deleteColumn)})),mceTableCutRow:()=>i().each((e=>{wi(e),c(t.deleteRow)})),mceTableCopyCol:()=>m().each((e=>Ci(e))),mceTableCopyRow:()=>i().each((e=>wi(e))),mceTablePasteColBefore:()=>d(t.pasteColsBefore,xi),mceTablePasteColAfter:()=>d(t.pasteColsAfter,xi),mceTablePasteRowBefore:()=>d(t.pasteRowsBefore,vi),mceTablePasteRowAfter:()=>d(t.pasteRowsAfter,vi),mceTableDelete:()=>Si(e).each((t=>{Xt(t,o).filter(w(o)).each((t=>{const o=Te.fromText("");if(Pe(t,o),Ge(t),e.dom.isEmpty(e.getBody()))e.setContent(""),e.selection.setCursorLocation();else{const t=e.dom.createRng();t.setStart(o.dom,0),t.setEnd(o.dom,0),e.selection.setRng(t),e.nodeChanged()}}))})),mceTableCellToggleClass:(t,o)=>{l((t=>{const n=Xs(e),r=I(n,(t=>e.formatter.match("tablecellclass",{value:o},t.dom))),s=r?e.formatter.remove:e.formatter.apply;N(n,(e=>s("tablecellclass",{value:o},e.dom))),Bc(e,t.dom,_c)}))},mceTableToggleClass:(t,o)=>{l((t=>{e.formatter.toggle("tableclass",{value:o},t.dom),Bc(e,t.dom,_c)}))},mceTableToggleCaption:()=>{Si(e).each((t=>{Xt(t,o).each((o=>{yt(o,"caption").fold((()=>{const t=Te.fromTag("caption");He(t,Te.fromText("Caption")),((e,t,o)=>{Me(e,o).fold((()=>{He(e,t)}),(e=>{Ie(e,t)}))})(o,t,0),e.selection.setCursorLocation(t.dom,0)}),(n=>{ge("caption")(t)&&De("td",o).each((t=>e.selection.setCursorLocation(t.dom,0))),Ge(n)})),Bc(e,o.dom,jc)}))}))},mceTableSizingMode:(t,n)=>(t=>Si(e).each((n=>{Kr(e)||Gr(e)||Ur(e)||Xt(n,o).each((o=>{"relative"!==t||Zc(o)?"fixed"!==t||ei(o)?"responsive"!==t||ti(o)||si(o):ri(o):ni(o),ls(o),Bc(e,o.dom,jc)}))})))(n),mceTableCellType:g((e=>"th"===e?t.makeCellsHeader:t.unmakeCellsHeader)),mceTableColType:g((e=>"th"===e?t.makeColumnsHeader:t.unmakeColumnsHeader)),mceTableRowType:g((e=>{switch(e){case"header":return t.makeRowsHeader;case"footer":return t.makeRowsFooter;default:return t.makeRowsBody}}))},((t,o)=>e.addCommand(o,t))),e.addCommand("mceInsertTable",((t,o)=>{((e,t,o,n={})=>{const r=e=>u(e)&&e>0;if(r(t)&&r(o)){const r=n.headerRows||0,s=n.headerColumns||0;return mi(e,o,t,s,r)}console.error("Invalid values for mceInsertTable - rows and columns values are required to insert a table.")})(e,o.rows,o.columns,o.options)})),e.addCommand("mceTableApplyCellStyle",((t,o)=>{const l=e=>"tablecell"+e.toLowerCase().replace("-","");if(!s(o))return;const a=B(Xs(e),ms);if(0===a.length)return;const c=J(o,((t,o)=>e.formatter.has(l(o))&&r(t)));(e=>{for(const t in e)if(U.call(e,t))return!1;return!0})(c)||(G(c,((t,o)=>{const n=l(o);N(a,(o=>{""===t?e.formatter.remove(n,{value:null},o.dom,!0):e.formatter.apply(n,{value:t},o.dom)}))})),n(a[0]).each((t=>Bc(e,t.dom,_c))))}))},Di=ba([{before:["element"]},{on:["element","offset"]},{after:["element"]}]),Oi={before:Di.before,on:Di.on,after:Di.after,cata:(e,t,o,n)=>e.fold(t,o,n),getStart:e=>e.fold(h,h,h)},ki=(e,t)=>({selection:e,kill:t}),Ei=(e,t)=>{const o=e.document.createRange();return o.selectNode(t.dom),o},Ni=(e,t)=>{const o=e.document.createRange();return Ai(o,t),o},Ai=(e,t)=>e.selectNodeContents(t.dom),Bi=(e,t,o)=>{const n=e.document.createRange();var r;return r=n,t.fold((e=>{r.setStartBefore(e.dom)}),((e,t)=>{r.setStart(e.dom,t)}),(e=>{r.setStartAfter(e.dom)})),((e,t)=>{t.fold((t=>{e.setEndBefore(t.dom)}),((t,o)=>{e.setEnd(t.dom,o)}),(t=>{e.setEndAfter(t.dom)}))})(n,o),n},_i=(e,t,o,n,r)=>{const s=e.document.createRange();return s.setStart(t.dom,o),s.setEnd(n.dom,r),s},ji=e=>({left:e.left,top:e.top,right:e.right,bottom:e.bottom,width:e.width,height:e.height}),zi=ba([{ltr:["start","soffset","finish","foffset"]},{rtl:["start","soffset","finish","foffset"]}]),Li=(e,t,o)=>t(Te.fromDom(o.startContainer),o.startOffset,Te.fromDom(o.endContainer),o.endOffset),Wi=(e,t)=>{const o=((e,t)=>t.match({domRange:e=>({ltr:g(e),rtl:x.none}),relative:(t,o)=>({ltr:ro((()=>Bi(e,t,o))),rtl:ro((()=>x.some(Bi(e,o,t))))}),exact:(t,o,n,r)=>({ltr:ro((()=>_i(e,t,o,n,r))),rtl:ro((()=>x.some(_i(e,n,r,t,o))))})}))(e,t);return((e,t)=>{const o=t.ltr();if(o.collapsed)return t.rtl().filter((e=>!1===e.collapsed)).map((e=>zi.rtl(Te.fromDom(e.endContainer),e.endOffset,Te.fromDom(e.startContainer),e.startOffset))).getOrThunk((()=>Li(0,zi.ltr,o)));return Li(0,zi.ltr,o)})(0,o)},Mi=(e,t)=>Wi(e,t).match({ltr:(t,o,n,r)=>{const s=e.document.createRange();return s.setStart(t.dom,o),s.setEnd(n.dom,r),s},rtl:(t,o,n,r)=>{const s=e.document.createRange();return s.setStart(n.dom,r),s.setEnd(t.dom,o),s}});zi.ltr,zi.rtl;const Ii=(e,t,o,n)=>({start:e,soffset:t,finish:o,foffset:n}),Pi=(e,t,o,n)=>({start:Oi.on(e,t),finish:Oi.on(o,n)}),Fi=(e,t)=>{const o=Mi(e,t);return Ii(Te.fromDom(o.startContainer),o.startOffset,Te.fromDom(o.endContainer),o.endOffset)},Hi=Pi,$i=(e,t,o,n,r)=>Oe(o,n)?x.none():Ns(o,n,t).bind((t=>{const n=t.boxes.getOr([]);return n.length>1?(r(e,n,t.start,t.finish),x.some(ki(x.some(Hi(o,0,o,xr(o))),!0))):x.none()})),qi=(e,t)=>({item:e,mode:t}),Vi=(e,t,o,n=Ui)=>e.property().parent(t).map((e=>qi(e,n))),Ui=(e,t,o,n=Gi)=>o.sibling(e,t).map((e=>qi(e,n))),Gi=(e,t,o,n=Gi)=>{const r=e.property().children(t);return o.first(r).map((e=>qi(e,n)))},Ki=[{current:Vi,next:Ui,fallback:x.none()},{current:Ui,next:Gi,fallback:x.some(Vi)},{current:Gi,next:Gi,fallback:x.some(Ui)}],Yi=(e,t,o,n,r=Ki)=>z(r,(e=>e.current===o)).bind((o=>o.current(e,t,n,o.next).orThunk((()=>o.fallback.bind((o=>Yi(e,t,o,n))))))),Ji=()=>({sibling:(e,t)=>e.query().prevSibling(t),first:e=>e.length>0?x.some(e[e.length-1]):x.none()}),Qi=()=>({sibling:(e,t)=>e.query().nextSibling(t),first:e=>e.length>0?x.some(e[0]):x.none()}),Xi=(e,t,o,n,r,s)=>Yi(e,t,n,r).bind((t=>s(t.item)?x.none():o(t.item)?x.some(t.item):Xi(e,t.item,o,t.mode,r,s))),Zi=e=>t=>0===e.property().children(t).length,em=(e,t,o,n)=>Xi(e,t,o,Ui,Ji(),n),tm=(e,t,o,n)=>Xi(e,t,o,Ui,Qi(),n),om=xs(),nm=(e,t)=>((e,t,o)=>em(e,t,Zi(e),o))(om,e,t),rm=(e,t)=>((e,t,o)=>tm(e,t,Zi(e),o))(om,e,t),sm=ba([{none:["message"]},{success:[]},{failedUp:["cell"]},{failedDown:["cell"]}]),lm=e=>xt(e,"tr"),am={...sm,verify:(e,t,o,n,r,s,l)=>xt(n,"td,th",l).bind((o=>xt(t,"td,th",l).map((t=>Oe(o,t)?Oe(n,o)&&xr(o)===r?s(t):sm.none("in same cell"):ks(lm,[o,t]).fold((()=>((e,t,o)=>{const n=e.getRect(t),r=e.getRect(o);return r.right>n.left&&r.left<n.right})(e,t,o)?sm.success():s(t)),(e=>s(t))))))).getOr(sm.none("default")),cata:(e,t,o,n,r)=>e.fold(t,o,n,r)},cm=(e,t)=>L(e,b(Oe,t)),im=ge("br"),mm=(e,t,o)=>t(e,o).bind((e=>de(e)&&0===vr(e).trim().length?mm(e,t,o):x.some(e))),dm=(e,t,o,n)=>((e,t)=>Me(e,t).filter(im).orThunk((()=>Me(e,t-1).filter(im))))(t,o).bind((t=>n.traverse(t).fold((()=>mm(t,n.gather,e).map(n.relative)),(e=>(e=>Be(e).bind((t=>{const o=We(t);return cm(o,e).map((n=>((e,t,o,n)=>({parent:e,children:t,element:o,index:n}))(t,o,e,n)))})))(e).map((e=>Oi.on(e.parent,e.index))))))),um=(e,t,o,n)=>{const r=im(t)?((e,t,o)=>o.traverse(t).orThunk((()=>mm(t,o.gather,e))).map(o.relative))(e,t,n):dm(e,t,o,n);return r.map((e=>({start:e,finish:e})))},fm=(e,t)=>({left:e.left,top:e.top+t,right:e.right,bottom:e.bottom+t}),gm=(e,t)=>({left:e.left,top:e.top-t,right:e.right,bottom:e.bottom-t}),hm=(e,t,o)=>({left:e.left+t,top:e.top+o,right:e.right+t,bottom:e.bottom+o}),pm=e=>({left:e.left,top:e.top,right:e.right,bottom:e.bottom}),bm=(e,t)=>x.some(e.getRect(t)),wm=(e,t,o)=>me(t)?bm(e,t).map(pm):de(t)?((e,t,o)=>o>=0&&o<xr(t)?e.getRangedRect(t,o,t,o+1):o>0?e.getRangedRect(t,o-1,t,o):x.none())(e,t,o).map(pm):x.none(),vm=(e,t)=>me(t)?bm(e,t).map(pm):de(t)?e.getRangedRect(t,0,t,xr(t)).map(pm):x.none(),ym=ba([{none:[]},{retry:["caret"]}]),Cm=(e,t,o)=>wt(t,Wa).fold(y,(t=>vm(e,t).exists((e=>((e,t)=>e.left<t.left||Math.abs(t.right-e.left)<1||e.left>t.right)(o,e))))),xm={point:e=>e.bottom,adjuster:(e,t,o,n,r)=>{const s=fm(r,5);return Math.abs(o.bottom-n.bottom)<1||o.top>r.bottom?ym.retry(s):o.top===r.bottom?ym.retry(fm(r,1)):Cm(e,t,r)?ym.retry(hm(s,5,0)):ym.none()},move:fm,gather:rm},Tm=(e,t,o,n,r)=>0===r?x.some(n):((e,t,o)=>e.elementFromPoint(t,o).filter((e=>"table"===se(e))).isSome())(e,n.left,t.point(n))?((e,t,o,n,r)=>Tm(e,t,o,t.move(n,5),r))(e,t,o,n,r-1):e.situsFromPoint(n.left,t.point(n)).bind((s=>s.start.fold(x.none,(s=>vm(e,s).bind((l=>t.adjuster(e,s,l,o,n).fold(x.none,(n=>Tm(e,t,o,n,r-1))))).orThunk((()=>x.some(n)))),x.none))),Sm=(e,t,o)=>{const n=e.move(o,5),r=Tm(t,e,o,n,100).getOr(n);return((e,t,o)=>e.point(t)>o.getInnerHeight()?x.some(e.point(t)-o.getInnerHeight()):e.point(t)<0?x.some(-e.point(t)):x.none())(e,r,t).fold((()=>t.situsFromPoint(r.left,e.point(r))),(o=>(t.scrollBy(0,o),t.situsFromPoint(r.left,e.point(r)-o))))},Rm={tryUp:b(Sm,{point:e=>e.top,adjuster:(e,t,o,n,r)=>{const s=gm(r,5);return Math.abs(o.top-n.top)<1||o.bottom<r.top?ym.retry(s):o.bottom===r.top?ym.retry(gm(r,1)):Cm(e,t,r)?ym.retry(hm(s,5,0)):ym.none()},move:gm,gather:nm}),tryDown:b(Sm,xm),getJumpSize:g(5)},Dm=(e,t,o)=>e.getSelection().bind((n=>um(t,n.finish,n.foffset,o).fold((()=>x.some(el(n.finish,n.foffset))),(r=>{const s=e.fromSitus(r);return(e=>am.cata(e,(e=>x.none()),(()=>x.none()),(e=>x.some(el(e,0))),(e=>x.some(el(e,xr(e))))))(am.verify(e,n.finish,n.foffset,s.finish,s.foffset,o.failure,t))})))),Om=(e,t,o,n,r,s)=>0===s?x.none():Nm(e,t,o,n,r).bind((l=>{const a=e.fromSitus(l),c=am.verify(e,o,n,a.finish,a.foffset,r.failure,t);return am.cata(c,(()=>x.none()),(()=>x.some(l)),(l=>Oe(o,l)&&0===n?km(e,o,n,gm,r):Om(e,t,l,0,r,s-1)),(l=>Oe(o,l)&&n===xr(l)?km(e,o,n,fm,r):Om(e,t,l,xr(l),r,s-1)))})),km=(e,t,o,n,r)=>wm(e,t,o).bind((t=>Em(e,r,n(t,Rm.getJumpSize())))),Em=(e,t,o)=>{const n=jo().browser;return n.isChromium()||n.isSafari()||n.isFirefox()?t.retry(e,o):x.none()},Nm=(e,t,o,n,r)=>wm(e,o,n).bind((t=>Em(e,r,t))),Am=(e,t)=>{return bt(e,(e=>Be(e).exists((e=>Oe(e,t)))),o).isSome();var o},Bm=(e,t,o,n,r)=>xt(n,"td,th",t).bind((n=>xt(n,"table",t).bind((s=>Am(r,s)?((e,t,o)=>Dm(e,t,o).bind((n=>Om(e,t,n.element,n.offset,o,20).map(e.fromSitus))))(e,t,o).bind((e=>xt(e.finish,"td,th",t).map((t=>({start:n,finish:t,range:e}))))):x.none())))),_m=(e,t,o,n,r,s)=>s(n,t).orThunk((()=>Bm(e,t,o,n,r).map((e=>{const t=e.range;return ki(x.some(Hi(t.start,t.soffset,t.finish,t.foffset)),!0)})))),jm=(e,t)=>xt(e,"tr",t).bind((e=>xt(e,"table",t).bind((o=>{const n=ht(o,"tr");return Oe(e,n[0])?((e,t,o)=>em(om,e,t,o))(o,(e=>Dr(e).isSome()),t).map((e=>{const t=xr(e);return ki(x.some(Hi(e,t,e,t)),!0)})):x.none()})))),zm=(e,t)=>xt(e,"tr",t).bind((e=>xt(e,"table",t).bind((o=>{const n=ht(o,"tr");return Oe(e,n[n.length-1])?((e,t,o)=>tm(om,e,t,o))(o,(e=>Rr(e).isSome()),t).map((e=>ki(x.some(Hi(e,0,e,0)),!0))):x.none()})))),Lm=(e,t,o,n,r,s,l)=>Bm(e,o,n,r,s).bind((e=>$i(t,o,e.start,e.finish,l))),Wm=e=>{let t=e;return{get:()=>t,set:e=>{t=e}}},Mm=()=>{const e=(e=>{const t=Wm(x.none()),o=()=>t.get().each(e);return{clear:()=>{o(),t.set(x.none())},isSet:()=>t.get().isSome(),get:()=>t.get(),set:e=>{o(),t.set(x.some(e))}}})(f);return{...e,on:t=>e.get().each(t)}},Im=(e,t)=>xt(e,"td,th",t),Pm=e=>_e(e).exists(os),Fm={traverse:Le,gather:rm,relative:Oi.before,retry:Rm.tryDown,failure:am.failedDown},Hm={traverse:ze,gather:nm,relative:Oi.before,retry:Rm.tryUp,failure:am.failedUp},$m=e=>t=>t===e,qm=$m(38),Vm=$m(40),Um=e=>e>=37&&e<=40,Gm={isBackward:$m(37),isForward:$m(39)},Km={isBackward:$m(39),isForward:$m(37)},Ym=ba([{domRange:["rng"]},{relative:["startSitu","finishSitu"]},{exact:["start","soffset","finish","foffset"]}]),Jm={domRange:Ym.domRange,relative:Ym.relative,exact:Ym.exact,exactFromRange:e=>Ym.exact(e.start,e.soffset,e.finish,e.foffset),getWin:e=>{const t=(e=>e.match({domRange:e=>Te.fromDom(e.startContainer),relative:(e,t)=>Oi.getStart(e),exact:(e,t,o,n)=>e}))(e);return o=t,Te.fromDom(Ae(o).dom.defaultView);var o},range:Ii},Qm=(e,t,o)=>{var n,r;return x.from(null===(r=(n=e.dom).caretPositionFromPoint)||void 0===r?void 0:r.call(n,t,o)).bind((t=>{if(null===t.offsetNode)return x.none();const o=e.dom.createRange();return o.setStart(t.offsetNode,t.offset),o.collapse(),x.some(o)}))},Xm=(e,t,o)=>{var n,r;return x.from(null===(r=(n=e.dom).caretRangeFromPoint)||void 0===r?void 0:r.call(n,t,o))},Zm=document.caretPositionFromPoint?Qm:document.caretRangeFromPoint?Xm:x.none,ed=(e,t)=>{const o=se(e);return"input"===o?Oi.after(e):D(["br","img"],o)?0===t?Oi.before(e):Oi.after(e):Oi.on(e,t)},td=(e,t,o,n)=>{const r=((e,t,o,n)=>{const r=Ne(e).dom.createRange();return r.setStart(e.dom,t),r.setEnd(o.dom,n),r})(e,t,o,n),s=Oe(e,o)&&t===n;return r.collapsed&&!s},od=e=>x.from(e.getSelection()),nd=(e,t)=>{od(e).each((e=>{e.removeAllRanges(),e.addRange(t)}))},rd=(e,t,o,n,r)=>{const s=_i(e,t,o,n,r);nd(e,s)},sd=(e,t)=>Wi(e,t).match({ltr:(t,o,n,r)=>{rd(e,t,o,n,r)},rtl:(t,o,n,r)=>{od(e).each((s=>{if(s.setBaseAndExtent)s.setBaseAndExtent(t.dom,o,n.dom,r);else if(s.extend)try{((e,t,o,n,r,s)=>{t.collapse(o.dom,n),t.extend(r.dom,s)})(0,s,t,o,n,r)}catch(s){rd(e,n,r,t,o)}else rd(e,n,r,t,o)}))}}),ld=(e,t,o,n,r)=>{const s=((e,t,o,n)=>{const r=ed(e,t),s=ed(o,n);return Jm.relative(r,s)})(t,o,n,r);sd(e,s)},ad=(e,t,o)=>{const n=((e,t)=>{const o=e.fold(Oi.before,ed,Oi.after),n=t.fold(Oi.before,ed,Oi.after);return Jm.relative(o,n)})(t,o);sd(e,n)},cd=e=>{if(e.rangeCount>0){const t=e.getRangeAt(0),o=e.getRangeAt(e.rangeCount-1);return x.some(Ii(Te.fromDom(t.startContainer),t.startOffset,Te.fromDom(o.endContainer),o.endOffset))}return x.none()},id=e=>{if(null===e.anchorNode||null===e.focusNode)return cd(e);{const t=Te.fromDom(e.anchorNode),o=Te.fromDom(e.focusNode);return td(t,e.anchorOffset,o,e.focusOffset)?x.some(Ii(t,e.anchorOffset,o,e.focusOffset)):cd(e)}},md=(e,t,o=!0)=>{const n=(o?Ni:Ei)(e,t);nd(e,n)},dd=e=>(e=>od(e).filter((e=>e.rangeCount>0)).bind(id))(e).map((e=>Jm.exact(e.start,e.soffset,e.finish,e.foffset))),ud=(e,t)=>(e=>{const t=e.getClientRects(),o=t.length>0?t[0]:e.getBoundingClientRect();return o.width>0||o.height>0?x.some(o).map(ji):x.none()})(Mi(e,t)),fd=(e,t,o)=>((e,t,o)=>{const n=Te.fromDom(e.document);return Zm(n,t,o).map((e=>Ii(Te.fromDom(e.startContainer),e.startOffset,Te.fromDom(e.endContainer),e.endOffset)))})(e,t,o),gd=e=>({elementFromPoint:(t,o)=>Te.fromPoint(Te.fromDom(e.document),t,o),getRect:e=>e.dom.getBoundingClientRect(),getRangedRect:(t,o,n,r)=>{const s=Jm.exact(t,o,n,r);return ud(e,s)},getSelection:()=>dd(e).map((t=>Fi(e,t))),fromSitus:t=>{const o=Jm.relative(t.start,t.finish);return Fi(e,o)},situsFromPoint:(t,o)=>fd(e,t,o).map((e=>Pi(e.start,e.soffset,e.finish,e.foffset))),clearSelection:()=>{(e=>{od(e).each((e=>e.removeAllRanges()))})(e)},collapseSelection:(t=!1)=>{dd(e).each((o=>o.fold((e=>e.collapse(t)),((o,n)=>{const r=t?o:n;ad(e,r,r)}),((o,n,r,s)=>{const l=t?o:r,a=t?n:s;ld(e,l,a,l,a)}))))},setSelection:t=>{ld(e,t.start,t.soffset,t.finish,t.foffset)},setRelativeSelection:(t,o)=>{ad(e,t,o)},selectNode:t=>{md(e,t,!1)},selectContents:t=>{md(e,t)},getInnerHeight:()=>e.innerHeight,getScrollY:()=>(e=>{const t=void 0!==e?e.dom:document,o=t.body.scrollLeft||t.documentElement.scrollLeft,n=t.body.scrollTop||t.documentElement.scrollTop;return wn(o,n)})(Te.fromDom(e.document)).top,scrollBy:(t,o)=>{((e,t,o)=>{const n=(void 0!==o?o.dom:document).defaultView;n&&n.scrollBy(e,t)})(t,o,Te.fromDom(e.document))}}),hd=(e,t)=>({rows:e,cols:t}),pd=(e,t,o,n)=>{const r=((e,t,o,n)=>{const r=Mm(),s=r.clear,l=s=>{r.on((r=>{n.clearBeforeUpdate(t),Im(s.target,o).each((l=>{Ns(r,l,o).each((o=>{const r=o.boxes.getOr([]);if(1===r.length){const o=r[0],l="false"===ns(o),a=Tt(ts(s.target),o,Oe);l&&a&&(n.selectRange(t,r,o,o),e.selectContents(o))}else r.length>1&&(n.selectRange(t,r,o.start,o.finish),e.selectContents(l))}))}))}))};return{clearstate:s,mousedown:e=>{n.clear(t),Im(e.target,o).filter(Pm).each(r.set)},mouseover:e=>{l(e)},mouseup:e=>{l(e),s()}}})(gd(e),t,o,n);return{clearstate:r.clearstate,mousedown:r.mousedown,mouseover:r.mouseover,mouseup:r.mouseup}},bd=e=>wt(e,ie).exists(os),wd=(e,t)=>bd(e)||bd(t),vd=(e,t,o,n)=>{const r=gd(e),s=()=>(n.clear(t),x.none());return{keydown:(e,l,a,c,i,m)=>{const d=e.raw,u=d.which,f=!0===d.shiftKey,g=As(t,n.selectedSelector).fold((()=>(Um(u)&&!f&&n.clearBeforeUpdate(t),Um(u)&&f&&!wd(l,c)?x.none:Vm(u)&&f?b(Lm,r,t,o,Fm,c,l,n.selectRange):qm(u)&&f?b(Lm,r,t,o,Hm,c,l,n.selectRange):Vm(u)?b(_m,r,o,Fm,c,l,zm):qm(u)?b(_m,r,o,Hm,c,l,jm):x.none)),(e=>{const o=o=>()=>{const s=q(o,(o=>((e,t,o,n,r)=>_s(n,e,t,r.firstSelectedSelector,r.lastSelectedSelector).map((e=>(r.clearBeforeUpdate(o),r.selectRange(o,e.boxes,e.start,e.finish),e.boxes))))(o.rows,o.cols,t,e,n)));return s.fold((()=>Bs(t,n.firstSelectedSelector,n.lastSelectedSelector).map((e=>{const o=Vm(u)||m.isForward(u)?Oi.after:Oi.before;return r.setRelativeSelection(Oi.on(e.first,0),o(e.table)),n.clear(t),ki(x.none(),!0)}))),(e=>x.some(ki(x.none(),!0))))};return Um(u)&&f&&!wd(l,c)?x.none:Vm(u)&&f?o([hd(1,0)]):qm(u)&&f?o([hd(-1,0)]):m.isBackward(u)&&f?o([hd(0,-1),hd(-1,0)]):m.isForward(u)&&f?o([hd(0,1),hd(1,0)]):Um(u)&&!f?s:x.none}));return g()},keyup:(e,r,s,l,a)=>As(t,n.selectedSelector).fold((()=>{const c=e.raw,i=c.which;return!0===c.shiftKey&&Um(i)&&wd(r,l)?((e,t,o,n,r,s,l)=>Oe(o,r)&&n===s?x.none():xt(o,"td,th",t).bind((o=>xt(r,"td,th",t).bind((n=>$i(e,t,o,n,l))))))(t,o,r,s,l,a,n.selectRange):x.none()}),x.none)}},yd=(e,t)=>{const o=we(e,t);return void 0===o||""===o?[]:o.split(" ")},Cd=e=>void 0!==e.dom.classList,xd=(e,t)=>((e,t,o)=>{const n=yd(e,t).concat([o]);return pe(e,t,n.join(" ")),!0})(e,"class",t),Td=(e,t)=>{Cd(e)?e.dom.classList.add(t):xd(e,t)},Sd=(e,t)=>Cd(e)&&e.dom.classList.contains(t),Rd=(e,t,o)=>{const n=t=>{ye(t,e.selected),ye(t,e.firstSelected),ye(t,e.lastSelected)},r=t=>{pe(t,e.selected,"1")},s=e=>{l(e),o()},l=t=>{const o=ht(t,`${e.selectedSelector},${e.firstSelectedSelector},${e.lastSelectedSelector}`);N(o,n)};return{clearBeforeUpdate:l,clear:s,selectRange:(o,n,l,a)=>{s(o),N(n,r),pe(l,e.firstSelected,"1"),pe(a,e.lastSelected,"1"),t(n,l,a)},selectedSelector:e.selectedSelector,firstSelectedSelector:e.firstSelectedSelector,lastSelectedSelector:e.lastSelectedSelector}},Dd=()=>({tag:"none"}),Od=e=>({tag:"multiple",elements:e}),kd=e=>({tag:"single",element:e}),Ed=(e,t,o)=>{const n=sn.fromTable(e);return Hl(n,t).map((e=>{const t=Ll(n,o,!1),{rows:r}=Qo(t),s=((e,t)=>{const o=e.slice(0,t[t.length-1].row+1),n=Wl(o);return M(n,(e=>{const o=e.cells.slice(0,t[t.length-1].column+1);return E(o,(e=>e.element))}))})(r,e),l=((e,t)=>{const o=e.slice(t[0].row+t[0].rowspan-1,e.length),n=Wl(o);return M(n,(e=>{const o=e.cells.slice(t[0].column+t[0].colspan-1,e.cells.length);return E(o,(e=>e.element))}))})(r,e);return{upOrLeftCells:s,downOrRightCells:l}}))},Nd=e=>{const t=Te.fromDom((e=>{if(st()&&m(e.target)){const t=Te.fromDom(e.target);if(me(t)&&it(t)&&e.composed&&e.composedPath){const t=e.composedPath();if(t)return H(t)}}return x.from(e.target)})(e).getOr(e.target)),o=()=>e.stopPropagation(),n=()=>e.preventDefault(),r=(s=n,l=o,(...e)=>s(l.apply(null,e)));var s,l;return((e,t,o,n,r,s,l)=>({target:e,x:t,y:o,stop:n,prevent:r,kill:s,raw:l}))(t,e.clientX,e.clientY,o,n,r,e)},Ad=(e,t,o,n,r)=>{const s=((e,t)=>o=>{e(o)&&t(Nd(o))})(o,n);return e.dom.addEventListener(t,s,r),{unbind:b(Bd,e,t,s,r)}},Bd=(e,t,o,n)=>{e.dom.removeEventListener(t,o,n)},_d=C,jd=(e,t,o)=>((e,t,o,n)=>Ad(e,t,o,n,!1))(e,t,_d,o),zd=Nd,Ld=e=>!Sd(Te.fromDom(e.target),"ephox-snooker-resizer-bar"),Wd=(e,t)=>{const o=((e,t,o)=>({get:()=>js(e(),o).fold((()=>t().fold(Dd,kd)),Od)}))((()=>Te.fromDom(e.getBody())),(()=>Qs(as(e),ss(e))),Gs.selectedSelector),n=Rd(Gs,((t,o,n)=>{Xt(o).each((r=>{const s=Pr(e),l=zr(f,Te.fromDom(e.getDoc()),s),a=Xs(e),c=Ed(r,{selection:a},l);((e,t,o,n,r)=>{e.dispatch("TableSelectionChange",{cells:t,start:o,finish:n,otherCells:r})})(e,t,o,n,c)}))}),(()=>(e=>{e.dispatch("TableSelectionClear")})(e)));e.on("init",(o=>{const r=e.getWin(),s=rs(e),l=ss(e),a=pd(r,s,l,n),c=vd(r,s,l,n),i=((e,t,o,n)=>{const r=gd(e);return(e,s)=>{n.clearBeforeUpdate(t),Ns(e,s,o).each((e=>{const o=e.boxes.getOr([]);n.selectRange(t,o,e.start,e.finish),r.selectContents(s),r.collapseSelection()}))}})(r,s,l,n);e.on("TableSelectorChange",(e=>i(e.start,e.finish)));const m=(t,o)=>{(e=>!0===e.raw.shiftKey)(t)&&(o.kill&&t.kill(),o.selection.each((t=>{const o=Jm.relative(t.start,t.finish),n=Mi(r,o);e.selection.setRng(n)})))},d=e=>0===e.button,u=(()=>{const e=Wm(Te.fromDom(s)),t=Wm(0);return{touchEnd:o=>{const n=Te.fromDom(o.target);if(ge("td")(n)||ge("th")(n)){const r=e.get(),s=t.get();Oe(r,n)&&o.timeStamp-s<300&&(o.preventDefault(),i(n,n))}e.set(n),t.set(o.timeStamp)}}})();e.on("dragstart",(e=>{a.clearstate()})),e.on("mousedown",(e=>{d(e)&&Ld(e)&&a.mousedown(zd(e))})),e.on("mouseover",(e=>{var t;(void 0===(t=e).buttons||1&t.buttons)&&Ld(e)&&a.mouseover(zd(e))})),e.on("mouseup",(e=>{d(e)&&Ld(e)&&a.mouseup(zd(e))})),e.on("touchend",u.touchEnd),e.on("keyup",(t=>{const o=zd(t);if(o.raw.shiftKey&&Um(o.raw.which)){const t=e.selection.getRng(),n=Te.fromDom(t.startContainer),r=Te.fromDom(t.endContainer);c.keyup(o,n,t.startOffset,r,t.endOffset).each((e=>{m(o,e)}))}})),e.on("keydown",(o=>{const n=zd(o);t.hide();const r=e.selection.getRng(),s=Te.fromDom(r.startContainer),l=Te.fromDom(r.endContainer),a=dn(Gm,Km)(Te.fromDom(e.selection.getStart()));c.keydown(n,s,r.startOffset,l,r.endOffset,a).each((e=>{m(n,e)})),t.show()})),e.on("NodeChange",(()=>{const t=e.selection,o=Te.fromDom(t.getStart()),r=Te.fromDom(t.getEnd());ks(Xt,[o,r]).fold((()=>n.clear(s)),f)}))})),e.on("PreInit",(()=>{e.serializer.addTempAttr(Gs.firstSelected),e.serializer.addTempAttr(Gs.lastSelected)}));return{getSelectedCells:()=>((e,t,o,n)=>{switch(e.tag){case"none":return t();case"single":return n(e.element);case"multiple":return o(e.elements)}})(o.get(),g([]),(e=>E(e,(e=>e.dom))),(e=>[e.dom])),clearSelectedCells:e=>n.clear(Te.fromDom(e))}},Md=e=>{let t=[];return{bind:e=>{if(void 0===e)throw new Error("Event bind error: undefined handler");t.push(e)},unbind:e=>{t=B(t,(t=>t!==e))},trigger:(...o)=>{const n={};N(e,((e,t)=>{n[e]=o[t]})),N(t,(e=>{e(n)}))}}},Id=e=>({registry:K(e,(e=>({bind:e.bind,unbind:e.unbind}))),trigger:K(e,(e=>e.trigger))}),Pd=e=>e.slice(0).sort(),Fd=(e,t,o)=>{if(0===t.length)throw new Error("You must specify at least one required field.");return((e,t)=>{if(!l(t))throw new Error("The "+e+" fields must be an array. Was: "+t+".");N(t,(t=>{if(!r(t))throw new Error("The value "+t+" in the "+e+" fields was not a string.")}))})("required",t),(e=>{const t=Pd(e);z(t,((e,o)=>o<t.length-1&&e===t[o+1])).each((e=>{throw new Error("The field: "+e+" occurs more than once in the combined fields: ["+t.join(", ")+"].")}))})(t),n=>{const r=V(n);I(t,(e=>D(r,e)))||((e,t)=>{throw new Error("All required keys ("+Pd(e).join(", ")+") were not specified. Specified keys were: "+Pd(t).join(", ")+".")})(t,r),e(t,r);const s=B(t,(e=>!o.validate(n[e],e)));return s.length>0&&((e,t)=>{throw new Error("All values need to be of type: "+t+". Keys ("+Pd(e).join(", ")+") were not.")})(s,o.label),n}},Hd=(e,t)=>{const o=B(t,(t=>!D(e,t)));o.length>0&&(e=>{throw new Error("Unsupported keys for object: "+Pd(e).join(", "))})(o)},$d=e=>((e,t)=>Fd(e,t,{validate:d,label:"function"}))(Hd,e),qd=$d(["compare","extract","mutate","sink"]),Vd=$d(["element","start","stop","destroy"]),Ud=$d(["forceDrop","drop","move","delayDrop"]),Gd=()=>{let e=x.none();const t=Id({move:Md(["info"])});return{onEvent:(o,n)=>{n.extract(o).each((o=>{const r=((t,o)=>{const n=e.map((e=>t.compare(e,o)));return e=x.some(o),n})(n,o);r.each((e=>{t.trigger.move(e)}))}))},reset:()=>{e=x.none()},events:t.registry}},Kd=()=>{const e=(()=>{const e=Id({move:Md(["info"])});return{onEvent:f,reset:f,events:e.registry}})(),t=Gd();let o=e;return{on:()=>{o.reset(),o=t},off:()=>{o.reset(),o=e},isOn:()=>o===t,onEvent:(e,t)=>{o.onEvent(e,t)},events:t.events}},Yd=(e,t,o)=>{let n=!1;const r=Id({start:Md([]),stop:Md([])}),s=Kd(),l=()=>{m.stop(),s.isOn()&&(s.off(),r.trigger.stop())},c=((e,t)=>{let o=null;const n=()=>{a(o)||(clearTimeout(o),o=null)};return{cancel:n,throttle:(...r)=>{n(),o=setTimeout((()=>{o=null,e.apply(null,r)}),t)}}})(l,200);s.events.move.bind((o=>{t.mutate(e,o.info)}));const i=e=>(...t)=>{n&&e.apply(null,t)},m=t.sink(Ud({forceDrop:l,drop:i(l),move:i((e=>{c.cancel(),s.onEvent(e,t)})),delayDrop:i(c.throttle)}),o);return{element:m.element,go:e=>{m.start(e),s.on(),r.trigger.start()},on:()=>{n=!0},off:()=>{n=!1},isActive:()=>n,destroy:()=>{m.destroy()},events:r.registry}},Jd=e=>{const t=e.replace(/\./g,"-");return{resolve:e=>t+"-"+e}},Qd=Jd("ephox-dragster").resolve;var Xd=qd({compare:(e,t)=>wn(t.left-e.left,t.top-e.top),extract:e=>x.some(wn(e.x,e.y)),sink:(e,t)=>{const o=(e=>{const t={layerClass:Qd("blocker"),...e},o=Te.fromTag("div");return pe(o,"role","presentation"),zt(o,{position:"fixed",left:"0px",top:"0px",width:"100%",height:"100%"}),Td(o,Qd("blocker")),Td(o,t.layerClass),{element:g(o),destroy:()=>{Ge(o)}}})(t),n=jd(o.element(),"mousedown",e.forceDrop),r=jd(o.element(),"mouseup",e.drop),s=jd(o.element(),"mousemove",e.move),l=jd(o.element(),"mouseout",e.delayDrop);return Vd({element:o.element,start:e=>{He(e,o.element())},stop:()=>{Ge(o.element())},destroy:()=>{o.destroy(),r.unbind(),s.unbind(),l.unbind(),n.unbind()}})},mutate:(e,t)=>{e.mutate(t.left,t.top)}});const Zd=Jd("ephox-snooker").resolve,eu=()=>{const e=Id({drag:Md(["xDelta","yDelta","target"])});let t=x.none();const o=(()=>{const e=Id({drag:Md(["xDelta","yDelta"])});return{mutate:(t,o)=>{e.trigger.drag(t,o)},events:e.registry}})();o.events.drag.bind((o=>{t.each((t=>{e.trigger.drag(o.xDelta,o.yDelta,t)}))}));return{assign:e=>{t=x.some(e)},get:()=>t,mutate:o.mutate,events:e.registry}},tu=Zd("resizer-bar"),ou=Zd("resizer-rows"),nu=Zd("resizer-cols"),ru=e=>{const t=ht(e.parent(),"."+tu);N(t,Ge)},su=(e,t,o)=>{const n=e.origin();N(t,(t=>{t.each((t=>{const r=o(n,t);Td(r,tu),He(e.parent(),r)}))}))},lu=(e,t,o,n)=>{su(e,t,((e,t)=>{const r=((e,t,o,n,r)=>{const s=Te.fromTag("div");return zt(s,{position:"absolute",left:t-n/2+"px",top:o+"px",height:r+"px",width:n+"px"}),be(s,{"data-column":e,role:"presentation"}),s})(t.col,t.x-e.left,o.top-e.top,7,n);return Td(r,nu),r}))},au=(e,t,o,n)=>{su(e,t,((e,t)=>{const r=((e,t,o,n,r)=>{const s=Te.fromTag("div");return zt(s,{position:"absolute",left:t+"px",top:o-r/2+"px",height:r+"px",width:n+"px"}),be(s,{"data-row":e,role:"presentation"}),s})(t.row,o.left-e.left,t.y-e.top,n,7);return Td(r,ou),r}))},cu=(e,t,o,n,r)=>{const s=yn(o),l=t.isResizable,a=n.length>0?Bn.positions(n,o):[],c=a.length>0?((e,t)=>M(e.all,((e,o)=>t(e.element)?[o]:[])))(e,l):[],i=B(a,((e,t)=>O(c,(e=>t===e))));au(t,i,s,Fo(o));const m=r.length>0?jn.positions(r,o):[],d=m.length>0?((e,t)=>{const o=[];return k(e.grid.columns,(n=>{const r=sn.getColumnAt(e,n).map((e=>e.element));r.forall(t)&&o.push(n)})),B(o,(o=>{const n=sn.filterItems(e,(e=>e.column===o));return I(n,(e=>t(e.element)))}))})(e,l):[],u=B(m,((e,t)=>O(d,(e=>t===e))));lu(t,u,s,hn(o))},iu=(e,t)=>{if(ru(e),e.isResizable(t)){const o=sn.fromTable(t),n=cn(o),r=ln(o);cu(o,e,t,n,r)}},mu=(e,t)=>{const o=ht(e.parent(),"."+tu);N(o,t)},du=e=>{mu(e,(e=>{jt(e,"display","none")}))},uu=e=>{mu(e,(e=>{jt(e,"display","block")}))},fu=Zd("resizer-bar-dragging"),gu=e=>{const t=eu(),o=((e,t={})=>{var o;const n=null!==(o=t.mode)&&void 0!==o?o:Xd;return Yd(e,n,t)})(t,{});let n=x.none();const r=(e,t)=>x.from(we(e,t));t.events.drag.bind((e=>{r(e.target,"data-row").each((t=>{const o=qt(e.target,"top");jt(e.target,"top",o+e.yDelta+"px")})),r(e.target,"data-column").each((t=>{const o=qt(e.target,"left");jt(e.target,"left",o+e.xDelta+"px")}))}));const s=(e,t)=>qt(e,t)-Pt(e,"data-initial-"+t,0);o.events.stop.bind((()=>{t.get().each((t=>{n.each((o=>{r(t,"data-row").each((e=>{const n=s(t,"top");ye(t,"data-initial-top"),m.trigger.adjustHeight(o,n,parseInt(e,10))})),r(t,"data-column").each((e=>{const n=s(t,"left");ye(t,"data-initial-left"),m.trigger.adjustWidth(o,n,parseInt(e,10))})),iu(e,o)}))}))}));const l=(n,r)=>{m.trigger.startAdjust(),t.assign(n),pe(n,"data-initial-"+r,qt(n,r)),Td(n,fu),jt(n,"opacity","0.2"),o.go(e.parent())},a=jd(e.parent(),"mousedown",(e=>{var t;t=e.target,Sd(t,ou)&&l(e.target,"top"),(e=>Sd(e,nu))(e.target)&&l(e.target,"left")})),c=t=>Oe(t,e.view()),i=jd(e.view(),"mouseover",(t=>{var r;(r=t.target,xt(r,"table",c).filter(os)).fold((()=>{mt(t.target)&&ru(e)}),(t=>{o.isActive()&&(n=x.some(t),iu(e,t))}))})),m=Id({adjustHeight:Md(["table","delta","row"]),adjustWidth:Md(["table","delta","column"]),startAdjust:Md([])});return{destroy:()=>{a.unbind(),i.unbind(),o.destroy(),ru(e)},refresh:t=>{iu(e,t)},on:o.on,off:o.off,hideBars:b(du,e),showBars:b(uu,e),events:m.registry}},hu=(e,t,o)=>{const n=Bn,r=jn,s=gu(e),l=Id({beforeResize:Md(["table","type"]),afterResize:Md(["table","type"]),startDrag:Md([])});return s.events.adjustHeight.bind((e=>{const t=e.table;l.trigger.beforeResize(t,"row");const o=n.delta(e.delta,t);Ra(t,o,e.row,n),l.trigger.afterResize(t,"row")})),s.events.startAdjust.bind((e=>{l.trigger.startDrag()})),s.events.adjustWidth.bind((e=>{const n=e.table;l.trigger.beforeResize(n,"col");const s=r.delta(e.delta,n),a=o(n);Sa(n,s,e.column,t,a),l.trigger.afterResize(n,"col")})),{on:s.on,off:s.off,refreshBars:s.refresh,hideBars:s.hideBars,showBars:s.showBars,destroy:s.destroy,events:l.registry}},pu=(e,t)=>{const o=ue(e)?(e=>Te.fromDom(Ae(e).dom.documentElement))(e):e;return{parent:g(o),view:g(e),origin:g(wn(0,0)),isResizable:t}},bu=(e,t,o)=>({parent:g(t),view:g(e),origin:g(wn(0,0)),isResizable:o}),wu=()=>{const e=Te.fromTag("div");return zt(e,{position:"static",height:"0",width:"0",padding:"0",margin:"0",border:"0"}),He(dt(Te.fromDom(document)),e),e},vu=e=>m(e)&&"TABLE"===e.nodeName,yu="bar-",Cu=e=>"false"!==we(e,"data-mce-resize"),xu=e=>{const t=Mm(),o=Mm(),n=Mm();let r,s;const l=t=>Lc(e,t),a=()=>$r(e)?fl():ul(),c=(t,o,n)=>{const c=Et(o,"e");if(""===s&&ni(t),n!==r&&""!==s){jt(t,"width",s);const o=a(),i=l(t),m=$r(e)||c?(e=>gl(e).columns)(t)-1:0;Sa(t,n-r,m,o,i)}else if((e=>/^(\d+(\.\d+)?)%$/.test(e))(s)){const e=parseFloat(s.replace("%",""));jt(t,"width",n*e/r+"%")}(e=>/^(\d+(\.\d+)?)px$/.test(e))(s)&&(e=>{const t=sn.fromTable(e);sn.hasColumns(t)||N(Jt(e),(e=>{const t=Lt(e,"width");jt(e,"width",t),ye(e,"width")}))})(t)},i=()=>{o.on((e=>{e.destroy()})),n.on((t=>{((e,t)=>{e.inline&&Ge(t.parent())})(e,t)}))};e.on("init",(()=>{const r=((e,t)=>e.inline?bu(Te.fromDom(e.getBody()),wu(),t):pu(Te.fromDom(e.getDoc()),t))(e,Cu);if(n.set(r),(e=>{const t=e.options.get("object_resizing");return D(t.split(","),"table")})(e)&&Yr(e)){const n=a(),s=hu(r,n,l);s.on(),s.events.startDrag.bind((o=>{t.set(e.selection.getRng())})),s.events.beforeResize.bind((t=>{const o=t.table.dom;((e,t,o,n,r)=>{e.dispatch("ObjectResizeStart",{target:t,width:o,height:n,origin:r})})(e,o,cs(o),is(o),yu+t.type)})),s.events.afterResize.bind((o=>{const n=o.table,r=n.dom;ls(n),t.on((t=>{e.selection.setRng(t),e.focus()})),((e,t,o,n,r)=>{e.dispatch("ObjectResized",{target:t,width:o,height:n,origin:r})})(e,r,cs(r),is(r),yu+o.type),e.undoManager.add()})),o.set(s)}})),e.on("ObjectResizeStart",(t=>{const o=t.target;if(vu(o)){const n=Te.fromDom(o);N(e.dom.select(".mce-clonedresizable"),(t=>{e.dom.addClass(t,"mce-"+Hr(e)+"-columns")})),!ei(n)&&Gr(e)?ri(n):!Zc(n)&&Ur(e)&&ni(n),ti(n)&&kt(t.origin,yu)&&ni(n),r=t.width,s=Kr(e)?"":((e,t)=>{const o=e.dom.getStyle(t,"width")||e.dom.getAttrib(t,"width");return x.from(o).filter(At)})(e,o).getOr("")}})),e.on("ObjectResized",(t=>{const o=t.target;if(vu(o)){const n=Te.fromDom(o),r=t.origin;kt(r,"corner-")&&c(n,r,t.width),ls(n),Bc(e,n.dom,_c)}})),e.on("SwitchMode",(()=>{o.on((t=>{e.mode.isReadOnly()?t.hideBars():t.showBars()}))})),e.on("dragstart dragend",(e=>{o.on((t=>{"dragstart"===e.type?(t.hideBars(),t.off()):(t.on(),t.showBars())}))})),e.on("remove",(()=>{i()}));return{refresh:e=>{o.on((t=>t.refreshBars(Te.fromDom(e))))},hide:()=>{o.on((e=>e.hideBars()))},show:()=>{o.on((e=>e.showBars()))}}},Tu=e=>{(e=>{const t=e.options.register;t("table_clone_elements",{processor:"string[]"}),t("table_use_colgroups",{processor:"boolean",default:!0}),t("table_header_type",{processor:e=>{const t=D(["section","cells","sectionCells","auto"],e);return t?{value:e,valid:t}:{valid:!1,message:"Must be one of: section, cells, sectionCells or auto."}},default:"section"}),t("table_sizing_mode",{processor:"string",default:"auto"}),t("table_default_attributes",{processor:"object",default:{border:"1"}}),t("table_default_styles",{processor:"object",default:{"border-collapse":"collapse"}}),t("table_column_resizing",{processor:e=>{const t=D(["preservetable","resizetable"],e);return t?{value:e,valid:t}:{valid:!1,message:"Must be preservetable, or resizetable."}},default:"preservetable"}),t("table_resize_bars",{processor:"boolean",default:!0}),t("table_style_by_css",{processor:"boolean",default:!0}),t("table_merge_content_on_paste",{processor:"boolean",default:!0})})(e);const t=xu(e),o=Wd(e,t),n=Wc(e,t,o);return Ri(e,n),((e,t)=>{const o=ss(e),n=t=>Qs(as(e)).bind((n=>Xt(n,o).map((o=>{const r=Ks(Xs(e),o,n);return t(o,r)})))).getOr("");G({mceTableRowType:()=>n(t.getTableRowType),mceTableCellType:()=>n(t.getTableCellType),mceTableColType:()=>n(t.getTableColType)},((t,o)=>e.addQueryValueHandler(o,t)))})(e,n),Zs(e,n),{getSelectedCells:o.getSelectedCells,clearSelectedCells:o.clearSelectedCells}},Su=e=>({table:Tu(e)});e.add("dom",Su)}()),e}export{o as __require};
2
+ //# sourceMappingURL=model.mjs.map