tinymce
Version:
Web based JavaScript HTML WYSIWYG editor control.
1 lines • 119 kB
JavaScript
!function(m){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),y=function(){},x=function(n,r){return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return n(r.apply(null,e))}},C=function(e){return function(){return e}},o=function(e){return e};function b(r){for(var o=[],e=1;e<arguments.length;e++)o[e-1]=arguments[e];return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=o.concat(e);return r.apply(null,n)}}var t,n,r,i,u,g=function(n){return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return!n.apply(null,e)}},c=function(e){return e()},f=C(!1),a=C(!0),l=f,s=a,d=function(){return h},h=(i={fold:function(e,t){return e()},is:l,isSome:l,isNone:s,getOr:r=function(e){return e},getOrThunk:n=function(e){return e()},getOrDie:function(e){throw new Error(e||"error: getOrDie called on none.")},getOrNull:function(){return null},getOrUndefined:function(){return undefined},or:r,orThunk:n,map:d,ap:d,each:function(){},bind:d,flatten:d,exists:l,forall:s,filter:d,equals:t=function(e){return e.isNone()},equals_:t,toArray:function(){return[]},toString:C("none()")},Object.freeze&&Object.freeze(i),i),p=function(n){var e=function(){return n},t=function(){return o},r=function(e){return e(n)},o={fold:function(e,t){return t(n)},is:function(e){return n===e},isSome:s,isNone:l,getOr:e,getOrThunk:e,getOrDie:e,getOrNull:e,getOrUndefined:e,or:t,orThunk:t,map:function(e){return p(e(n))},ap:function(e){return e.fold(d,function(e){return p(e(n))})},each:function(e){e(n)},bind:r,flatten:e,exists:r,forall:r,filter:function(e){return e(n)?o:h},equals:function(e){return e.is(n)},equals_:function(e,t){return e.fold(l,function(e){return t(n,e)})},toArray:function(){return[n]},toString:function(){return"some("+n+")"}};return o},S={some:p,none:d,from:function(e){return null===e||e===undefined?h:p(e)}},v=function(t){return function(e){return function(e){if(null===e)return"null";var t=typeof e;return"object"===t&&(Array.prototype.isPrototypeOf(e)||e.constructor&&"Array"===e.constructor.name)?"array":"object"===t&&(String.prototype.isPrototypeOf(e)||e.constructor&&"String"===e.constructor.name)?"string":t}(e)===t}},w=v("string"),R=v("array"),T=v("boolean"),D=v("function"),O=v("number"),E=Array.prototype.slice,N=(u=Array.prototype.indexOf)===undefined?function(e,t){return j(e,t)}:function(e,t){return u.call(e,t)},k=function(e,t){return-1<N(e,t)},A=function(e,t){return L(e,t).isSome()},P=function(e,t){for(var n=e.length,r=new Array(n),o=0;o<n;o++){var i=e[o];r[o]=t(i,o,e)}return r},I=function(e,t){for(var n=0,r=e.length;n<r;n++)t(e[n],n,e)},B=function(e,t){for(var n=[],r=0,o=e.length;r<o;r++){var i=e[r];t(i,r,e)&&n.push(i)}return n},W=function(e,t,n){return function(e,t){for(var n=e.length-1;0<=n;n--)t(e[n],n,e)}(e,function(e){n=t(n,e)}),n},M=function(e,t,n){return I(e,function(e){n=t(n,e)}),n},_=function(e,t){for(var n=0,r=e.length;n<r;n++){var o=e[n];if(t(o,n,e))return S.some(o)}return S.none()},L=function(e,t){for(var n=0,r=e.length;n<r;n++)if(t(e[n],n,e))return S.some(n);return S.none()},j=function(e,t){for(var n=0,r=e.length;n<r;++n)if(e[n]===t)return n;return-1},F=Array.prototype.push,z=function(e){for(var t=[],n=0,r=e.length;n<r;++n){if(!Array.prototype.isPrototypeOf(e[n]))throw new Error("Arr.flatten item "+n+" was not an array, input: "+e);F.apply(t,e[n])}return t},H=function(e,t){var n=P(e,t);return z(n)},U=function(e,t){for(var n=0,r=e.length;n<r;++n)if(!0!==t(e[n],n,e))return!1;return!0},q=function(e){var t=E.call(e,0);return t.reverse(),t},V=(D(Array.from)&&Array.from,Object.keys),G=function(e,t){for(var n=V(e),r=0,o=n.length;r<o;r++){var i=n[r];t(e[i],i,e)}},Y=function(e,r){return X(e,function(e,t,n){return{k:t,v:r(e,t,n)}})},X=function(r,o){var i={};return G(r,function(e,t){var n=o(e,t,r);i[n.k]=n.v}),i},K=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];if(t.length!==n.length)throw new Error('Wrong number of arguments to struct. Expected "['+t.length+']", got '+n.length+" arguments");var r={};return I(t,function(e,t){r[e]=C(n[t])}),r}},J=function(e){return e.slice(0).sort()},$=function(e,t){throw new Error("All required keys ("+J(e).join(", ")+") were not specified. Specified keys were: "+J(t).join(", ")+".")},Q=function(e){throw new Error("Unsupported keys for object: "+J(e).join(", "))},Z=function(t,e){if(!R(e))throw new Error("The "+t+" fields must be an array. Was: "+e+".");I(e,function(e){if(!w(e))throw new Error("The value "+e+" in the "+t+" fields was not a string.")})},ee=function(e){var n=J(e);_(n,function(e,t){return t<n.length-1&&e===n[t+1]}).each(function(e){throw new Error("The field: "+e+" occurs more than once in the combined fields: ["+n.join(", ")+"].")})},te=function(o,i){var u=o.concat(i);if(0===u.length)throw new Error("You must specify at least one required or optional field.");return Z("required",o),Z("optional",i),ee(u),function(t){var n=V(t);U(o,function(e){return k(n,e)})||$(o,n);var e=B(n,function(e){return!k(u,e)});0<e.length&&Q(e);var r={};return I(o,function(e){r[e]=C(t[e])}),I(i,function(e){r[e]=C(Object.prototype.hasOwnProperty.call(t,e)?S.some(t[e]):S.none())}),r}},ne=(m.Node.ATTRIBUTE_NODE,m.Node.CDATA_SECTION_NODE,m.Node.COMMENT_NODE),re=m.Node.DOCUMENT_NODE,oe=(m.Node.DOCUMENT_TYPE_NODE,m.Node.DOCUMENT_FRAGMENT_NODE,m.Node.ELEMENT_NODE),ie=m.Node.TEXT_NODE,ue=(m.Node.PROCESSING_INSTRUCTION_NODE,m.Node.ENTITY_REFERENCE_NODE,m.Node.ENTITY_NODE,m.Node.NOTATION_NODE,function(e){return e.dom().nodeName.toLowerCase()}),ae=function(e){return e.dom().nodeType},ce=function(t){return function(e){return ae(e)===t}},le=function(e){return ae(e)===ne||"#comment"===ue(e)},fe=ce(oe),se=ce(ie),de=ce(re),me=function(e,t,n){if(!(w(n)||T(n)||O(n)))throw m.console.error("Invalid call to Attr.set. Key ",t,":: Value ",n,":: Element ",e),new Error("Attribute value was not simple");e.setAttribute(t,n+"")},ge=function(e,t,n){me(e.dom(),t,n)},he=function(e,t){var n=e.dom();G(t,function(e,t){me(n,t,e)})},pe=function(e,t){var n=e.dom().getAttribute(t);return null===n?undefined:n},ve=function(e,t){var n=e.dom();return!(!n||!n.hasAttribute)&&n.hasAttribute(t)},be=function(e,t){e.dom().removeAttribute(t)},we=function(e){return M(e.dom().attributes,function(e,t){return e[t.name]=t.value,e},{})},ye=function(e,t){return-1!==e.indexOf(t)},xe=function(e){return e.style!==undefined&&D(e.style.getPropertyValue)},Ce=function(n){var r,o=!1;return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return o||(o=!0,r=n.apply(null,e)),r}},Se=function(e){if(null===e||e===undefined)throw new Error("Node cannot be null or undefined");return{dom:C(e)}},Re={fromHtml:function(e,t){var n=(t||m.document).createElement("div");if(n.innerHTML=e,!n.hasChildNodes()||1<n.childNodes.length)throw m.console.error("HTML does not have a single root node",e),new Error("HTML must have a single root node");return Se(n.childNodes[0])},fromTag:function(e,t){var n=(t||m.document).createElement(e);return Se(n)},fromText:function(e,t){var n=(t||m.document).createTextNode(e);return Se(n)},fromDom:Se,fromPoint:function(e,t,n){var r=e.dom();return S.from(r.elementFromPoint(t,n)).map(Se)}},Te=function(e){var t=se(e)?e.dom().parentNode:e.dom();return t!==undefined&&null!==t&&t.ownerDocument.body.contains(t)},De=Ce(function(){return Oe(Re.fromDom(m.document))}),Oe=function(e){var t=e.dom().body;if(null===t||t===undefined)throw new Error("Body is not available yet");return Re.fromDom(t)},Ee=function(e,t,n){if(!w(n))throw m.console.error("Invalid call to CSS.set. Property ",t,":: Value ",n,":: Element ",e),new Error("CSS value must be a string: "+n);xe(e)&&e.style.setProperty(t,n)},Ne=function(e,t,n){var r=e.dom();Ee(r,t,n)},ke=function(e,t){var n=e.dom();G(t,function(e,t){Ee(n,t,e)})},Ae=function(e,t){var n=e.dom(),r=m.window.getComputedStyle(n).getPropertyValue(t),o=""!==r||Te(e)?r:Pe(n,t);return null===o?undefined:o},Pe=function(e,t){return xe(e)?e.style.getPropertyValue(t):""},Ie=function(e,t){var n=e.dom(),r=Pe(n,t);return S.from(r).filter(function(e){return 0<e.length})},Be=function(e,t){var n,r,o=e.dom();r=t,xe(n=o)&&n.style.removeProperty(r),ve(e,"style")&&""===pe(e,"style").replace(/^\s+|\s+$/g,"")&&be(e,"style")},We="undefined"!=typeof m.window?m.window:Function("return this;")(),Me=function(e,t){return function(e,t){for(var n=t!==undefined&&null!==t?t:We,r=0;r<e.length&&n!==undefined&&null!==n;++r)n=n[e[r]];return n}(e.split("."),t)},_e=function(e,t){var n=Me(e,t);if(n===undefined||null===n)throw e+" not available on this browser";return n},Le=function(){return _e("Node")},je=function(e,t,n){return 0!=(e.compareDocumentPosition(t)&n)},Fe=function(e,t){return je(e,t,Le().DOCUMENT_POSITION_CONTAINED_BY)},ze=function(e,t){var n=function(e,t){for(var n=0;n<e.length;n++){var r=e[n];if(r.test(t))return r}return undefined}(e,t);if(!n)return{major:0,minor:0};var r=function(e){return Number(t.replace(n,"$"+e))};return Ue(r(1),r(2))},He=function(){return Ue(0,0)},Ue=function(e,t){return{major:e,minor:t}},qe={nu:Ue,detect:function(e,t){var n=String(t).toLowerCase();return 0===e.length?He():ze(e,n)},unknown:He},Ve="Firefox",Ge=function(e,t){return function(){return t===e}},Ye=function(e){var t=e.current;return{current:t,version:e.version,isEdge:Ge("Edge",t),isChrome:Ge("Chrome",t),isIE:Ge("IE",t),isOpera:Ge("Opera",t),isFirefox:Ge(Ve,t),isSafari:Ge("Safari",t)}},Xe={unknown:function(){return Ye({current:undefined,version:qe.unknown()})},nu:Ye,edge:C("Edge"),chrome:C("Chrome"),ie:C("IE"),opera:C("Opera"),firefox:C(Ve),safari:C("Safari")},Ke="Windows",Je="Android",$e="Solaris",Qe="FreeBSD",Ze=function(e,t){return function(){return t===e}},et=function(e){var t=e.current;return{current:t,version:e.version,isWindows:Ze(Ke,t),isiOS:Ze("iOS",t),isAndroid:Ze(Je,t),isOSX:Ze("OSX",t),isLinux:Ze("Linux",t),isSolaris:Ze($e,t),isFreeBSD:Ze(Qe,t)}},tt={unknown:function(){return et({current:undefined,version:qe.unknown()})},nu:et,windows:C(Ke),ios:C("iOS"),android:C(Je),linux:C("Linux"),osx:C("OSX"),solaris:C($e),freebsd:C(Qe)},nt=function(e,t){var n=String(t).toLowerCase();return _(e,function(e){return e.search(n)})},rt=function(e,n){return nt(e,n).map(function(e){var t=qe.detect(e.versionRegexes,n);return{current:e.name,version:t}})},ot=function(e,n){return nt(e,n).map(function(e){var t=qe.detect(e.versionRegexes,n);return{current:e.name,version:t}})},it=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,ut=function(t){return function(e){return ye(e,t)}},at=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:function(e){return ye(e,"edge/")&&ye(e,"chrome")&&ye(e,"safari")&&ye(e,"applewebkit")}},{name:"Chrome",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,it],search:function(e){return ye(e,"chrome")&&!ye(e,"chromeframe")}},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:function(e){return ye(e,"msie")||ye(e,"trident")}},{name:"Opera",versionRegexes:[it,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:ut("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:ut("firefox")},{name:"Safari",versionRegexes:[it,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:function(e){return(ye(e,"safari")||ye(e,"mobile/"))&&ye(e,"applewebkit")}}],ct=[{name:"Windows",search:ut("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:function(e){return ye(e,"iphone")||ye(e,"ipad")},versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:ut("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"OSX",search:ut("os x"),versionRegexes:[/.*?os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:ut("linux"),versionRegexes:[]},{name:"Solaris",search:ut("sunos"),versionRegexes:[]},{name:"FreeBSD",search:ut("freebsd"),versionRegexes:[]}],lt={browsers:C(at),oses:C(ct)},ft=function(e){var t,n,r,o,i,u,a,c,l,f,s,d=lt.browsers(),m=lt.oses(),g=rt(d,e).fold(Xe.unknown,Xe.nu),h=ot(m,e).fold(tt.unknown,tt.nu);return{browser:g,os:h,deviceType:(n=g,r=e,o=(t=h).isiOS()&&!0===/ipad/i.test(r),i=t.isiOS()&&!o,u=t.isAndroid()&&3===t.version.major,a=t.isAndroid()&&4===t.version.major,c=o||u||a&&!0===/mobile/i.test(r),l=t.isiOS()||t.isAndroid(),f=l&&!c,s=n.isSafari()&&t.isiOS()&&!1===/safari/i.test(r),{isiPad:C(o),isiPhone:C(i),isTablet:C(c),isPhone:C(f),isTouch:C(l),isAndroid:t.isAndroid,isiOS:t.isiOS,isWebView:C(s)})}},st={detect:Ce(function(){var e=m.navigator.userAgent;return ft(e)})},dt=oe,mt=re,gt=function(e,t){var n=e.dom();if(n.nodeType!==dt)return!1;if(n.matches!==undefined)return n.matches(t);if(n.msMatchesSelector!==undefined)return n.msMatchesSelector(t);if(n.webkitMatchesSelector!==undefined)return n.webkitMatchesSelector(t);if(n.mozMatchesSelector!==undefined)return n.mozMatchesSelector(t);throw new Error("Browser lacks native selectors")},ht=function(e){return e.nodeType!==dt&&e.nodeType!==mt||0===e.childElementCount},pt=function(e,t){return e.dom()===t.dom()},vt=st.detect().browser.isIE()?function(e,t){return Fe(e.dom(),t.dom())}:function(e,t){var n=e.dom(),r=t.dom();return n!==r&&n.contains(r)},bt=gt,wt=function(e){return Re.fromDom(e.dom().ownerDocument)},yt=function(e){var t=e.dom();return S.from(t.parentNode).map(Re.fromDom)},xt=function(e,t){for(var n=D(t)?t:C(!1),r=e.dom(),o=[];null!==r.parentNode&&r.parentNode!==undefined;){var i=r.parentNode,u=Re.fromDom(i);if(o.push(u),!0===n(u))break;r=i}return o},Ct=function(e){var t=e.dom();return S.from(t.previousSibling).map(Re.fromDom)},St=function(e){var t=e.dom();return S.from(t.nextSibling).map(Re.fromDom)},Rt=function(e){var t=e.dom();return P(t.childNodes,Re.fromDom)},Tt=function(e,t){var n=e.dom().childNodes;return S.from(n[t]).map(Re.fromDom)},Dt=(K("element","offset"),function(t,n){yt(t).each(function(e){e.dom().insertBefore(n.dom(),t.dom())})}),Ot=function(e,t){St(e).fold(function(){yt(e).each(function(e){Nt(e,t)})},function(e){Dt(e,t)})},Et=function(t,n){Tt(t,0).fold(function(){Nt(t,n)},function(e){t.dom().insertBefore(n.dom(),e.dom())})},Nt=function(e,t){e.dom().appendChild(t.dom())},kt=function(e,t){Dt(e,t),Nt(t,e)},At=function(r,o){I(o,function(e,t){var n=0===t?r:o[t-1];Ot(n,e)})},Pt=function(t,e){I(e,function(e){Nt(t,e)})},It=function(e){e.dom().textContent="",I(Rt(e),function(e){Bt(e)})},Bt=function(e){var t=e.dom();null!==t.parentNode&&t.parentNode.removeChild(t)},Wt=function(e){var t,n=Rt(e);0<n.length&&(t=e,I(n,function(e){Dt(t,e)})),Bt(e)},Mt=(K("width","height"),K("width","height"),K("rows","columns")),_t=K("row","column"),Lt=(K("x","y"),K("element","rowspan","colspan")),jt=K("element","rowspan","colspan","isNew"),Ft=K("element","rowspan","colspan","row","column"),zt=K("element","cells","section"),Ht=K("element","isNew"),Ut=K("element","cells","section","isNew"),qt=K("cells","section"),Vt=K("details","section"),Gt=K("startRow","startCol","finishRow","finishCol"),Yt=function(e,t){var n=[];return I(Rt(e),function(e){t(e)&&(n=n.concat([e])),n=n.concat(Yt(e,t))}),n},Xt=function(e,t,n){return r=function(e){return gt(e,t)},B(xt(e,n),r);var r},Kt=function(e,t){return n=function(e){return gt(e,t)},B(Rt(e),n);var n},Jt=function(e,t){return n=t,o=(r=e)===undefined?m.document:r.dom(),ht(o)?[]:P(o.querySelectorAll(n),Re.fromDom);var n,r,o};function $t(e,t,n,r,o){return e(n,r)?S.some(n):D(o)&&o(n)?S.none():t(n,r,o)}var Qt,Zt,en,tn,nn,rn=function(e,t,n){for(var r=e.dom(),o=D(n)?n:C(!1);r.parentNode;){r=r.parentNode;var i=Re.fromDom(r);if(t(i))return S.some(i);if(o(i))break}return S.none()},on=function(e,t,n){return rn(e,function(e){return gt(e,t)},n)},un=function(e,t){return n=function(e){return gt(e,t)},_(e.dom().childNodes,x(n,Re.fromDom)).map(Re.fromDom);var n},an=function(e,t){return n=t,o=(r=e)===undefined?m.document:r.dom(),ht(o)?S.none():S.from(o.querySelector(n)).map(Re.fromDom);var n,r,o},cn=function(e,t,n){return $t(gt,on,e,t,n)},ln=function(e,t,n){return H(Rt(e),function(e){return gt(e,t)?n(e)?[e]:[]:ln(e,t,n)})},fn={firstLayer:function(e,t){return ln(e,t,C(!0))},filterFirstLayer:ln},sn=function(e,t,n){return void 0===n&&(n=f),n(t)?S.none():k(e,ue(t))?S.some(t):on(t,e.join(","),function(e){return gt(e,"table")||n(e)})},dn=function(t,e){return yt(e).map(function(e){return Kt(e,t)})},mn=b(dn,"th,td"),gn=b(dn,"tr"),hn=function(e,t){return parseInt(pe(e,t),10)},pn={cell:function(e,t){return sn(["td","th"],e,t)},firstCell:function(e){return an(e,"th,td")},cells:function(e){return fn.firstLayer(e,"th,td")},neighbourCells:mn,table:function(e,t){return cn(e,"table",t)},row:function(e,t){return sn(["tr"],e,t)},rows:function(e){return fn.firstLayer(e,"tr")},notCell:function(e,t){return sn(["caption","tr","tbody","tfoot","thead"],e,t)},neighbourRows:gn,attr:hn,grid:function(e,t,n){var r=hn(e,t),o=hn(e,n);return Mt(r,o)}},vn=function(e){var t=pn.rows(e);return P(t,function(e){var t=e,n=yt(t).map(function(e){var t=ue(e);return"tfoot"===t||"thead"===t||"tbody"===t?t:"tbody"}).getOr("tbody"),r=P(pn.cells(e),function(e){var t=ve(e,"rowspan")?parseInt(pe(e,"rowspan"),10):1,n=ve(e,"colspan")?parseInt(pe(e,"colspan"),10):1;return Lt(e,t,n)});return zt(t,r,n)})},bn=function(e,n){return P(e,function(e){var t=P(pn.cells(e),function(e){var t=ve(e,"rowspan")?parseInt(pe(e,"rowspan"),10):1,n=ve(e,"colspan")?parseInt(pe(e,"colspan"),10):1;return Lt(e,t,n)});return zt(e,t,n.section())})},wn=function(e,t){return e+","+t},yn=function(e,t){var n=H(e.all(),function(e){return e.cells()});return B(n,t)},xn={generate:function(e){var l={},t=[],n=e.length,f=0;I(e,function(e,a){var c=[];I(e.cells(),function(e){for(var t=0;l[wn(a,t)]!==undefined;)t++;for(var n=Ft(e.element(),e.rowspan(),e.colspan(),a,t),r=0;r<e.colspan();r++)for(var o=0;o<e.rowspan();o++){var i=t+r,u=wn(a+o,i);l[u]=n,f=Math.max(f,i+1)}c.push(n)}),t.push(zt(e.element(),c,e.section()))});var r=Mt(n,f);return{grid:C(r),access:C(l),all:C(t)}},getAt:function(e,t,n){var r=e.access()[wn(t,n)];return r!==undefined?S.some(r):S.none()},findItem:function(e,t,n){var r=yn(e,function(e){return n(t,e.element())});return 0<r.length?S.some(r[0]):S.none()},filterItems:yn,justCells:function(e){var t=P(e.all(),function(e){return e.cells()});return z(t)}},Cn=K("minRow","minCol","maxRow","maxCol"),Sn=function(e,t){var n,i,r,u,a,c,l,o,f,s,d=function(e){return gt(e.element(),t)},m=vn(e),g=xn.generate(m),h=(i=d,r=(n=g).grid().columns(),u=n.grid().rows(),a=r,l=c=0,G(n.access(),function(e){if(i(e)){var t=e.row(),n=t+e.rowspan()-1,r=e.column(),o=r+e.colspan()-1;t<u?u=t:c<n&&(c=n),r<a?a=r:l<o&&(l=o)}}),Cn(u,a,c,l)),p="th:not("+t+"),td:not("+t+")",v=fn.filterFirstLayer(e,"th,td",function(e){return gt(e,p)});return I(v,Bt),function(e,t,n,r){for(var o,i,u,a=t.grid().columns(),c=t.grid().rows(),l=0;l<c;l++)for(var f=!1,s=0;s<a;s++)l<n.minRow()||l>n.maxRow()||s<n.minCol()||s>n.maxCol()||(xn.getAt(t,l,s).filter(r).isNone()?(o=f,i=e[l].element(),u=Re.fromTag("td"),Nt(u,Re.fromTag("br")),(o?Nt:Et)(i,u)):f=!0)}(m,g,h,d),o=e,f=h,s=B(fn.firstLayer(o,"tr"),function(e){return 0===e.dom().childElementCount}),I(s,Bt),f.minCol()!==f.maxCol()&&f.minRow()!==f.maxRow()||I(fn.firstLayer(o,"th,td"),function(e){be(e,"rowspan"),be(e,"colspan")}),be(o,"width"),be(o,"height"),Be(o,"width"),Be(o,"height"),e},Rn=(Qt=se,Zt="text",en=function(e){return Qt(e)?S.from(e.dom().nodeValue):S.none()},tn=st.detect().browser,{get:function(e){if(!Qt(e))throw new Error("Can only get "+Zt+" value of a "+Zt+" node");return nn(e).getOr("")},getOption:nn=tn.isIE()&&10===tn.version.major?function(e){try{return en(e)}catch(t){return S.none()}}:en,set:function(e,t){if(!Qt(e))throw new Error("Can only set raw "+Zt+" value of a "+Zt+" node");e.dom().nodeValue=t}}),Tn=function(e){return Rn.get(e)},Dn=function(e){return Rn.getOption(e)},On=function(e,t){Rn.set(e,t)},En=function(e){return"img"===ue(e)?1:Dn(e).fold(function(){return Rt(e).length},function(e){return e.length})},Nn=["img","br"],kn=function(e){return Dn(e).filter(function(e){return 0!==e.trim().length||-1<e.indexOf("\xa0")}).isSome()||k(Nn,ue(e))},An=function(e){return r=kn,(o=function(e){for(var t=0;t<e.childNodes.length;t++){if(r(Re.fromDom(e.childNodes[t])))return S.some(Re.fromDom(e.childNodes[t]));var n=o(e.childNodes[t]);if(n.isSome())return n}return S.none()})(e.dom());var r,o},Pn=function(e){return In(e,kn)},In=function(e,i){var u=function(e){for(var t=Rt(e),n=t.length-1;0<=n;n--){var r=t[n];if(i(r))return S.some(r);var o=u(r);if(o.isSome())return o}return S.none()};return u(e)},Bn=function(e,t){return Re.fromDom(e.dom().cloneNode(t))},Wn=function(e){return Bn(e,!1)},Mn=function(e){return Bn(e,!0)},_n=function(e,t){var n,r,o,i,u=(n=e,r=t,o=Re.fromTag(r),i=we(n),he(o,i),o),a=Rt(Mn(e));return Pt(u,a),u},Ln=function(){var e=Re.fromTag("td");return Nt(e,Re.fromTag("br")),e},jn=function(e,t,n){var r=_n(e,t);return G(n,function(e,t){null===e?be(r,t):ge(r,t,e)}),r},Fn=function(e){return e},zn=function(e){return function(){return Re.fromTag("tr",e.dom())}},Hn=function(d,e,m){return{row:zn(e),cell:function(e){var r,o,i,t,n,u,a,c=wt(e.element()),l=Re.fromTag(ue(e.element()),c.dom()),f=m.getOr(["strong","em","b","i","span","font","h1","h2","h3","h4","h5","h6","p","div"]),s=0<f.length?(r=e.element(),o=l,i=f,An(r).map(function(e){var t=i.join(","),n=Xt(e,t,function(e){return pt(e,r)});return W(n,function(e,t){var n=Wn(t);return be(n,"contenteditable"),Nt(e,n),n},o)}).getOr(o)):l;return Nt(s,Re.fromTag("br")),t=e.element(),n=l,u=t.dom(),a=n.dom(),xe(u)&&xe(a)&&(a.style.cssText=u.style.cssText),Be(l,"height"),1!==e.colspan()&&Be(e.element(),"width"),d(e.element(),l),l},replace:jn,gap:Ln}},Un=function(e){return{row:zn(e),cell:Ln,replace:Fn,gap:Ln}},qn=function(e,t){return t.column()>=e.startCol()&&t.column()+t.colspan()-1<=e.finishCol()&&t.row()>=e.startRow()&&t.row()+t.rowspan()-1<=e.finishRow()},Vn=function(e,t){var n=t.column(),r=t.column()+t.colspan()-1,o=t.row(),i=t.row()+t.rowspan()-1;return n<=e.finishCol()&&r>=e.startCol()&&o<=e.finishRow()&&i>=e.startRow()},Gn=function(e,t){for(var n=!0,r=b(qn,t),o=t.startRow();o<=t.finishRow();o++)for(var i=t.startCol();i<=t.finishCol();i++)n=n&&xn.getAt(e,o,i).exists(r);return n?S.some(t):S.none()},Yn=function(e,t,n){var r=xn.findItem(e,t,pt),o=xn.findItem(e,n,pt);return r.bind(function(r){return o.map(function(e){return t=r,n=e,Gt(Math.min(t.row(),n.row()),Math.min(t.column(),n.column()),Math.max(t.row()+t.rowspan()-1,n.row()+n.rowspan()-1),Math.max(t.column()+t.colspan()-1,n.column()+n.colspan()-1));var t,n})})},Xn=Yn,Kn=function(t,e,n){return Yn(t,e,n).bind(function(e){return Gn(t,e)})},Jn=function(r,e,o,i){return xn.findItem(r,e,pt).bind(function(e){var t=0<o?e.row()+e.rowspan()-1:e.row(),n=0<i?e.column()+e.colspan()-1:e.column();return xn.getAt(r,t+o,n+i).map(function(e){return e.element()})})},$n=function(n,e,t){return Xn(n,e,t).map(function(e){var t=xn.filterItems(n,b(Vn,e));return P(t,function(e){return e.element()})})},Qn=function(e,t){return xn.findItem(e,t,function(e,t){return vt(t,e)}).map(function(e){return e.element()})},Zn=function(e){var t=vn(e);return xn.generate(t)},er=function(n,r,o){return pn.table(n).bind(function(e){var t=Zn(e);return Jn(t,n,r,o)})},tr=function(e,t,n){var r=Zn(e);return $n(r,t,n)},nr=function(e,t,n,r,o){var i=Zn(e),u=pt(e,n)?S.some(t):Qn(i,t),a=pt(e,o)?S.some(r):Qn(i,r);return u.bind(function(t){return a.bind(function(e){return $n(i,t,e)})})},rr=function(e,t,n){var r=Zn(e);return Kn(r,t,n)},or=["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"];function ir(){return{up:C({selector:on,closest:cn,predicate:rn,all:xt}),down:C({selector:Jt,predicate:Yt}),styles:C({get:Ae,getRaw:Ie,set:Ne,remove:Be}),attrs:C({get:pe,set:ge,remove:be,copyTo:function(e,t){var n=we(e);he(t,n)}}),insert:C({before:Dt,after:Ot,afterAll:At,append:Nt,appendAll:Pt,prepend:Et,wrap:kt}),remove:C({unwrap:Wt,remove:Bt}),create:C({nu:Re.fromTag,clone:function(e){return Re.fromDom(e.dom().cloneNode(!1))},text:Re.fromText}),query:C({comparePosition:function(e,t){return e.dom().compareDocumentPosition(t.dom())},prevSibling:Ct,nextSibling:St}),property:C({children:Rt,name:ue,parent:yt,document:function(e){return e.dom().ownerDocument},isText:se,isComment:le,isElement:fe,getText:Tn,setText:On,isBoundary:function(e){return!!fe(e)&&("body"===ue(e)||k(or,ue(e)))},isEmptyTag:function(e){return!!fe(e)&&k(["br","img","hr","input"],ue(e))}}),eq:pt,is:bt}}var ur=K("left","right"),ar=K("first","second","splits"),cr=function(e,t,n){var r=e.property().children(t);return L(r,b(e.eq,n)).map(function(e){return{before:C(r.slice(0,e)),after:C(r.slice(e+1))}})},lr=function(r,o,e,t){var n=o(r,e);return W(t,function(e,t){var n=o(r,t);return fr(r,e,n)},n)},fr=function(t,e,n){return e.bind(function(e){return n.filter(b(t.eq,e))})},sr=function(e,t){return b(e.eq,t)},dr=function(t,e,n,r){void 0===r&&(r=f);var o=[e].concat(t.up().all(e)),i=[n].concat(t.up().all(n)),u=function(t){return L(t,r).fold(function(){return t},function(e){return t.slice(0,e+1)})},a=u(o),c=u(i),l=_(a,function(e){return A(c,sr(t,e))});return{firstpath:C(a),secondpath:C(c),shared:C(l)}},mr={sharedOne:function(e,t,n){return 0<n.length?lr(e,t,(r=n)[0],r.slice(1)):S.none();var r},subset:function(t,e,n){var r=dr(t,e,n);return r.shared().bind(function(e){return function(o,i,e,t){var u=o.property().children(i);if(o.eq(i,e[0]))return S.some([e[0]]);if(o.eq(i,t[0]))return S.some([t[0]]);var n=function(e){var t=q(e),n=L(t,sr(o,i)).getOr(-1),r=n<t.length-1?t[n+1]:t[n];return L(u,sr(o,r))},r=n(e),a=n(t);return r.bind(function(r){return a.map(function(e){var t=Math.min(r,e),n=Math.max(r,e);return u.slice(t,n+1)})})}(t,e,r.firstpath(),r.secondpath())})},ancestors:dr,breakToLeft:function(n,r,o){return cr(n,r,o).map(function(e){var t=n.create().clone(r);return n.insert().appendAll(t,e.before().concat([o])),n.insert().appendAll(r,e.after()),n.insert().before(r,t),ur(t,r)})},breakToRight:function(n,r,e){return cr(n,r,e).map(function(e){var t=n.create().clone(r);return n.insert().appendAll(t,e.after()),n.insert().after(r,t),ur(r,t)})},breakPath:function(i,e,u,a){var c=function(e,t,o){var n=ar(e,S.none(),o);return u(e)?ar(e,t,o):i.property().parent(e).bind(function(r){return a(i,r,e).map(function(e){var t=[{first:e.left,second:e.right}],n=u(r)?r:e.left();return c(n,S.some(e.right()),o.concat(t))})}).getOr(n)};return c(e,S.none(),[])}},gr=ir(),hr={sharedOne:function(n,e){return mr.sharedOne(gr,function(e,t){return n(t)},e)},subset:function(e,t){return mr.subset(gr,e,t)},ancestors:function(e,t,n){return mr.ancestors(gr,e,t,n)},breakToLeft:function(e,t){return mr.breakToLeft(gr,e,t)},breakToRight:function(e,t){return mr.breakToRight(gr,e,t)},breakPath:function(e,t,r){return mr.breakPath(gr,e,t,function(e,t,n){return r(t,n)})}},pr={create:te(["boxes","start","finish"],[])},vr=function(e){return on(e,"table")},br=function(a,c,r){var l=function(t){return function(e){return r!==undefined&&r(e)||pt(e,t)}};return pt(a,c)?S.some(pr.create({boxes:S.some([a]),start:a,finish:c})):vr(a).bind(function(u){return vr(c).bind(function(i){if(pt(u,i))return S.some(pr.create({boxes:tr(u,a,c),start:a,finish:c}));if(vt(u,i)){var e=0<(t=Xt(c,"td,th",l(u))).length?t[t.length-1]:c;return S.some(pr.create({boxes:nr(u,a,u,c,i),start:a,finish:e}))}if(vt(i,u)){var t,n=0<(t=Xt(a,"td,th",l(i))).length?t[t.length-1]:a;return S.some(pr.create({boxes:nr(i,a,u,c,i),start:a,finish:n}))}return hr.ancestors(a,c).shared().bind(function(e){return cn(e,"table",r).bind(function(e){var t=Xt(c,"td,th",l(e)),n=0<t.length?t[t.length-1]:c,r=Xt(a,"td,th",l(e)),o=0<r.length?r[r.length-1]:a;return S.some(pr.create({boxes:nr(e,a,u,c,i),start:o,finish:n}))})})})})},wr=br,yr=function(e,t){var n=Jt(e,t);return 0<n.length?S.some(n):S.none()},xr=function(e,t,n,r,o){return(i=e,u=o,_(i,function(e){return gt(e,u)})).bind(function(e){return er(e,t,n).bind(function(e){return n=r,on(t=e,"table").bind(function(e){return an(e,n).bind(function(e){return br(e,t).bind(function(t){return t.boxes().map(function(e){return{boxes:C(e),start:C(t.start()),finish:C(t.finish())}})})})});var t,n})});var i,u},Cr=function(e,t,r){return an(e,t).bind(function(n){return an(e,r).bind(function(t){return hr.sharedOne(vr,[n,t]).map(function(e){return{first:C(n),last:C(t),table:C(e)}})})})},Sr=function(e,t){return yr(e,t)},Rr=function(o,e,t){return Cr(o,e,t).bind(function(n){var e=function(e){return pt(o,e)},t=on(n.first(),"thead,tfoot,tbody,table",e),r=on(n.last(),"thead,tfoot,tbody,table",e);return t.bind(function(t){return r.bind(function(e){return pt(t,e)?rr(n.table(),n.first(),n.last()):S.none()})})})},Tr="data-mce-selected",Dr="data-mce-first-selected",Or="data-mce-last-selected",Er={selected:C(Tr),selectedSelector:C("td[data-mce-selected],th[data-mce-selected]"),attributeSelector:C("[data-mce-selected]"),firstSelected:C(Dr),firstSelectedSelector:C("td[data-mce-first-selected],th[data-mce-first-selected]"),lastSelected:C(Or),lastSelectedSelector:C("td[data-mce-last-selected],th[data-mce-last-selected]")},Nr=function(u){if(!R(u))throw new Error("cases must be an array");if(0===u.length)throw new Error("there must be at least one case");var a=[],n={};return I(u,function(e,r){var t=V(e);if(1!==t.length)throw new Error("one and only one name per case");var o=t[0],i=e[o];if(n[o]!==undefined)throw new Error("duplicate key detected:"+o);if("cata"===o)throw new Error("cannot have a case named cata (sorry)");if(!R(i))throw new Error("case arguments must be an array");a.push(o),n[o]=function(){var e=arguments.length;if(e!==i.length)throw new Error("Wrong number of arguments to case "+o+". Expected "+i.length+" ("+i+"), got "+e);for(var n=new Array(e),t=0;t<n.length;t++)n[t]=arguments[t];return{fold:function(){if(arguments.length!==u.length)throw new Error("Wrong number of arguments to fold. Expected "+u.length+", got "+arguments.length);return arguments[r].apply(null,n)},match:function(e){var t=V(e);if(a.length!==t.length)throw new Error("Wrong number of arguments to match. Expected: "+a.join(",")+"\nActual: "+t.join(","));if(!U(a,function(e){return k(t,e)}))throw new Error("Not all branches were specified when using match. Specified: "+t.join(", ")+"\nRequired: "+a.join(", "));return e[o].apply(null,n)},log:function(e){m.console.log(e,{constructors:a,constructor:o,params:n})}}}}),n},kr=Nr([{none:[]},{multiple:["elements"]},{single:["selection"]}]),Ar={cata:function(e,t,n,r){return e.fold(t,n,r)},none:kr.none,multiple:kr.multiple,single:kr.single},Pr=function(e,t){return Ar.cata(t.get(),C([]),o,C([e]))},Ir=function(n,e){return Ar.cata(e.get(),S.none,function(t,e){return 0===t.length?S.none():Rr(n,Er.firstSelectedSelector(),Er.lastSelectedSelector()).bind(function(e){return 1<t.length?S.some({bounds:C(e),cells:C(t)}):S.none()})},S.none)},Br=function(e,t){var n=Pr(e,t);return 0<n.length&&U(n,function(e){return ve(e,"rowspan")&&1<parseInt(pe(e,"rowspan"),10)||ve(e,"colspan")&&1<parseInt(pe(e,"colspan"),10)})?S.some(n):S.none()},Wr=Pr,Mr=function(e){return{element:C(e),mergable:S.none,unmergable:S.none,selection:C([e])}},_r=K("element","clipboard","generators"),Lr={noMenu:Mr,forMenu:function(e,t,n){return{element:C(n),mergable:C(Ir(t,e)),unmergable:C(Br(n,e)),selection:C(Wr(n,e))}},notCell:function(e){return Mr(e)},paste:_r,pasteRows:function(e,t,n,r,o){return{element:C(n),mergable:S.none,unmergable:S.none,selection:C(Wr(n,e)),clipboard:C(r),generators:C(o)}}},jr=function(f,e,s,d){f.on("BeforeGetContent",function(n){!0===n.selection&&Ar.cata(e.get(),y,function(e){var t;n.preventDefault(),(t=e,pn.table(t[0]).map(Mn).map(function(e){return[Sn(e,Er.attributeSelector())]})).each(function(e){var t;n.content="text"===n.format?P(e,function(e){return e.dom().innerText}).join(""):(t=f,P(e,function(e){return t.selection.serializer.serialize(e.dom(),{})}).join(""))})},y)}),f.on("BeforeSetContent",function(l){!0===l.selection&&!0===l.paste&&S.from(f.dom.getParent(f.selection.getStart(),"th,td")).each(function(e){var c=Re.fromDom(e);pn.table(c).each(function(t){var e,n,r,o=B((e=l.content,(r=(n||m.document).createElement("div")).innerHTML=e,Rt(Re.fromDom(r))),function(e){return"meta"!==ue(e)});if(1===o.length&&"table"===ue(o[0])){l.preventDefault();var i=Re.fromDom(f.getDoc()),u=Un(i),a=Lr.paste(c,o[0],u);s.pasteCells(t,a).each(function(e){f.selection.setRng(e),f.focus(),d.clear(t)})}})})})};function Fr(r,o){var e=function(e){var t=o(e);if(t<=0||null===t){var n=Ae(e,r);return parseFloat(n)||0}return t},i=function(o,e){return M(e,function(e,t){var n=Ae(o,t),r=n===undefined?0:parseInt(n,10);return isNaN(r)?e:e+r},0)};return{set:function(e,t){if(!O(t)&&!t.match(/^[0-9]+$/))throw new Error(r+".set accepts only positive integer values. Value was "+t);var n=e.dom();xe(n)&&(n.style[r]=t+"px")},get:e,getOuter:e,aggregate:i,max:function(e,t,n){var r=i(e,n);return r<t?t-r:0}}}var zr=Fr("height",function(e){var t=e.dom();return Te(e)?t.getBoundingClientRect().height:t.offsetHeight}),Hr=function(e){return zr.get(e)},Ur=function(e){return zr.getOuter(e)},qr=Fr("width",function(e){return e.dom().offsetWidth}),Vr=function(e){return qr.get(e)},Gr=function(e){return qr.getOuter(e)},Yr=st.detect(),Xr=function(e,t,n){return r=Ae(e,t),o=n,i=parseFloat(r),isNaN(i)?o:i;var r,o,i},Kr=function(e){return Yr.browser.isIE()||Yr.browser.isEdge()?(n=Xr(t=e,"padding-top",0),r=Xr(t,"padding-bottom",0),o=Xr(t,"border-top-width",0),i=Xr(t,"border-bottom-width",0),u=t.dom().getBoundingClientRect().height,"border-box"===Ae(t,"box-sizing")?u:u-n-r-(o+i)):Xr(e,"height",Hr(e));var t,n,r,o,i,u},Jr=/(\d+(\.\d+)?)(\w|%)*/,$r=/(\d+(\.\d+)?)%/,Qr=/(\d+(\.\d+)?)px|em/,Zr=function(e,t){Ne(e,"height",t+"px")},eo=function(e,t,n,r){var o,i,u,a,c,l,f,s,d,m=parseInt(e,10);return s=l="%",d=(f=e).length-l.length,""!==s&&(f.length<s.length||f.substr(d,d+s.length)!==s)||"table"===ue(t)?m:(o=t,i=m,u=n,a=r,c=pn.table(o).map(function(e){var t=u(e);return Math.floor(i/100*t)}).getOr(i),a(o,c),c)},to=function(e){var t,n=Ie(t=e,"height").getOrThunk(function(){return Kr(t)+"px"});return n?eo(n,e,Hr,Zr):Hr(e)},no=function(e,t){return ve(e,t)?parseInt(pe(e,t),10):1},ro=function(e){return Ie(e,"width").fold(function(){return S.from(pe(e,"width"))},function(e){return S.some(e)})},oo=function(e,t){return e/t.pixelWidth()*100},io={percentageBasedSizeRegex:C($r),pixelBasedSizeRegex:C(Qr),setPixelWidth:function(e,t){Ne(e,"width",t+"px")},setPercentageWidth:function(e,t){Ne(e,"width",t+"%")},setHeight:Zr,getPixelWidth:function(t,n){return ro(t).fold(function(){return Vr(t)},function(e){return function(e,t,n){var r=Qr.exec(t);if(null!==r)return parseInt(r[1],10);var o=$r.exec(t);if(null!==o){var i=parseFloat(o[1]);return i/100*n.pixelWidth()}return Vr(e)}(t,e,n)})},getPercentageWidth:function(t,n){return ro(t).fold(function(){var e=Vr(t);return oo(e,n)},function(e){return function(e,t,n){var r=$r.exec(t);if(null!==r)return parseFloat(r[1]);var o=Vr(e);return oo(o,n)}(t,e,n)})},getGenericWidth:function(e){return ro(e).bind(function(e){var t=Jr.exec(e);return null!==t?S.some({width:C(parseFloat(t[1])),unit:C(t[3])}):S.none()})},setGenericWidth:function(e,t,n){Ne(e,"width",t+n)},getHeight:function(e){return n="rowspan",to(t=e)/no(t,n);var t,n},getRawWidth:ro},uo=function(n,r){io.getGenericWidth(n).each(function(e){var t=e.width()/2;io.setGenericWidth(n,t,e.unit()),io.setGenericWidth(r,t,e.unit())})},ao=function(n,r){return{left:C(n),top:C(r),translate:function(e,t){return ao(n+e,r+t)}}},co=ao,lo=function(e,t){return e!==undefined?e:t!==undefined?t:0},fo=function(e){var t,n,r=e.dom().ownerDocument,o=r.body,i=(t=Re.fromDom(r),(n=t.dom())===n.window&&t instanceof m.Window?t:de(t)?n.defaultView||n.parentWindow:null),u=r.documentElement,a=lo(i.pageYOffset,u.scrollTop),c=lo(i.pageXOffset,u.scrollLeft),l=lo(u.clientTop,o.clientTop),f=lo(u.clientLeft,o.clientLeft);return so(e).translate(c-f,a-l)},so=function(e){var t,n,r,o=e.dom(),i=o.ownerDocument,u=i.body,a=Re.fromDom(i.documentElement);return u===o?co(u.offsetLeft,u.offsetTop):(t=e,n=a||Re.fromDom(m.document.documentElement),rn(t,b(pt,n)).isSome()?(r=o.getBoundingClientRect(),co(r.left,r.top)):co(0,0))},mo=K("row","y"),go=K("col","x"),ho=function(e){return fo(e).left()+Gr(e)},po=function(e){return fo(e).left()},vo=function(e,t){return go(e,po(t))},bo=function(e,t){return go(e,ho(t))},wo=function(e){return fo(e).top()},yo=function(e,t){return mo(e,wo(t))},xo=function(e,t){return mo(e,wo(t)+Ur(t))},Co=function(n,t,r){if(0===r.length)return[];var e=P(r.slice(1),function(e,t){return e.map(function(e){return n(t,e)})}),o=r[r.length-1].map(function(e){return t(r.length-1,e)});return e.concat([o])},So={height:{delta:o,positions:function(e){return Co(yo,xo,e)},edge:wo},rtl:{delta:function(e){return-e},edge:ho,positions:function(e){return Co(bo,vo,e)}},ltr:{delta:o,edge:po,positions:function(e){return Co(vo,bo,e)}}},Ro={ltr:So.ltr,rtl:So.rtl};function To(t){var n=function(e){return t(e).isRtl()?Ro.rtl:Ro.ltr};return{delta:function(e,t){return n(t).delta(e,t)},edge:function(e){return n(e).edge(e)},positions:function(e,t){return n(t).positions(e,t)}}}var Do=function(e){var t=vn(e);return xn.generate(t).grid()},Oo=function(){return(Oo=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},Eo=function(e){for(var t=[],n=function(e){t.push(e)},r=0;r<e.length;r++)e[r].each(n);return t},No=function(e,t){for(var n=0;n<e.length;n++){var r=t(e[n],n);if(r.isSome())return r}return S.none()},ko=function(e,t,n,r){n===r?be(e,t):ge(e,t,n)},Ao=function(o,e){var i=[],u=[],t=function(e,t){0<e.length?function(e,t){var n=un(o,t).getOrThunk(function(){var e=Re.fromTag(t,wt(o).dom());return Nt(o,e),e});It(n);var r=P(e,function(e){e.isNew()&&i.push(e.element());var t=e.element();return It(t),I(e.cells(),function(e){e.isNew()&&u.push(e.element()),ko(e.element(),"colspan",e.colspan(),1),ko(e.element(),"rowspan",e.rowspan(),1),Nt(t,e.element())}),t});Pt(n,r)}(e,t):un(o,t).each(Bt)},n=[],r=[],a=[];return I(e,function(e){switch(e.section()){case"thead":n.push(e);break;case"tbody":r.push(e);break;case"tfoot":a.push(e)}}),t(n,"thead"),t(r,"tbody"),t(a,"tfoot"),{newRows:C(i),newCells:C(u)}},Po=function(e){return P(e,function(e){var n=Wn(e.element());return I(e.cells(),function(e){var t=Mn(e.element());ko(t,"colspan",e.colspan(),1),ko(t,"rowspan",e.rowspan(),1),Nt(n,t)}),n})},Io=function(e,t){var n=pe(e,t);return n===undefined||""===n?[]:n.split(" ")},Bo=function(e){return e.dom().classList!==undefined},Wo=function(e,t){return o=t,i=Io(n=e,r="class").concat([o]),ge(n,r,i.join(" ")),!0;var n,r,o,i},Mo=function(e,t){return o=t,0<(i=B(Io(n=e,r="class"),function(e){return e!==o})).length?ge(n,r,i.join(" ")):be(n,r),!1;var n,r,o,i},_o=function(e,t){Bo(e)?e.dom().classList.add(t):Wo(e,t)},Lo=function(e){0===(Bo(e)?e.dom().classList:Io(e,"class")).length&&be(e,"class")},jo=function(e,t){return Bo(e)&&e.dom().classList.contains(t)},Fo=function(e,t){for(var n=[],r=e;r<t;r++)n.push(r);return n},zo=function(t,n){if(n<0||n>=t.length-1)return S.none();var e=t[n].fold(function(){var e=q(t.slice(0,n));return No(e,function(e,t){return e.map(function(e){return{value:e,delta:t+1}})})},function(e){return S.some({value:e,delta:0})}),r=t[n+1].fold(function(){var e=t.slice(n+1);return No(e,function(e,t){return e.map(function(e){return{value:e,delta:t+1}})})},function(e){return S.some({value:e,delta:1})});return e.bind(function(n){return r.map(function(e){var t=e.delta+n.delta;return Math.abs(e.value-n.value)/t})})},Ho=function(e,t,n){var r=e();return _(r,t).orThunk(function(){return S.from(r[0]).orThunk(n)}).map(function(e){return e.element()})},Uo=function(n){var e=n.grid(),t=Fo(0,e.columns()),r=Fo(0,e.rows());return P(t,function(t){return Ho(function(){return H(r,function(e){return xn.getAt(n,e,t).filter(function(e){return e.column()===t}).fold(C([]),function(e){return[e]})})},function(e){return 1===e.colspan()},function(){return xn.getAt(n,0,t)})})},qo=function(n){var e=n.grid(),t=Fo(0,e.rows()),r=Fo(0,e.columns());return P(t,function(t){return Ho(function(){return H(r,function(e){return xn.getAt(n,t,e).filter(function(e){return e.row()===t}).fold(C([]),function(e){return[e]})})},function(e){return 1===e.rowspan()},function(){return xn.getAt(n,t,0)})})},Vo=function(e){var t=e.replace(/\./g,"-");return{resolve:function(e){return t+"-"+e}}},Go={resolve:Vo("ephox-snooker").resolve},Yo=function(e,t,n,r,o){var i=Re.fromTag("div");return ke(i,{position:"absolute",left:t-r/2+"px",top:n+"px",height:o+"px",width:r+"px"}),he(i,{"data-column":e,role:"presentation"}),i},Xo=function(e,t,n,r,o){var i=Re.fromTag("div");return ke(i,{position:"absolute",left:t+"px",top:n-o/2+"px",height:o+"px",width:r+"px"}),he(i,{"data-row":e,role:"presentation"}),i},Ko=Go.resolve("resizer-bar"),Jo=Go.resolve("resizer-rows"),$o=Go.resolve("resizer-cols"),Qo=function(e){var t=Jt(e.parent(),"."+Ko);I(t,Bt)},Zo=function(n,e,r){var o=n.origin();I(e,function(e,t){e.each(function(e){var t=r(o,e);_o(t,Ko),Nt(n.parent(),t)})})},ei=function(e,t,n,r,o,i){var u,a,c,l,f=fo(t),s=0<n.length?o.positions(n,t):[];u=e,a=s,c=f,l=Gr(t),Zo(u,a,function(e,t){var n=Xo(t.row(),c.left()-e.left(),t.y()-e.top(),l,7);return _o(n,Jo),n});var d,m,g,h,p=0<r.length?i.positions(r,t):[];d=e,m=p,g=f,h=Ur(t),Zo(d,m,function(e,t){var n=Yo(t.col(),t.x()-e.left(),g.top()-e.top(),7,h);return _o(n,$o),n})},ti=function(e,t){var n=Jt(e.parent(),"."+Ko);I(n,t)},ni=function(e,t,n,r){Qo(e);var o=vn(t),i=xn.generate(o),u=qo(i),a=Uo(i);ei(e,t,u,a,n,r)},ri=function(e){ti(e,function(e){Ne(e,"display","none")})},oi=function(e){ti(e,function(e){Ne(e,"display","block")})},ii=Qo,ui=function(e){return jo(e,Jo)},ai=function(e){return jo(e,$o)},ci=function(e,t){return qt(t,e.section())},li=function(e,t){return e.cells()[t]},fi={addCell:function(e,t,n){var r=e.cells(),o=r.slice(0,t),i=r.slice(t),u=o.concat([n]).concat(i);return ci(e,u)},setCells:ci,mutateCell:function(e,t,n){e.cells()[t]=n},getCell:li,getCellElement:function(e,t){return li(e,t).element()},mapCells:function(e,t){var n=e.cells(),r=P(n,t);return qt(r,e.section())},cellLength:function(e){return e.cells().length}},si=function(e,t){if(0===e.length)return 0;var n=e[0];return L(e,function(e){return!t(n.element(),e.element())}).fold(function(){return e.length},function(e){return e})},di=function(e,t,n,r){var o,i,u,a,c=(o=e,i=t,o[i]).cells().slice(n),l=si(c,r),f=(u=e,a=n,P(u,function(e){return fi.getCell(e,a)})).slice(t),s=si(f,r);return{colspan:C(l),rowspan:C(s)}},mi=function(o,i){var u=P(o,function(e,t){return P(e.cells(),function(e,t){return!1})});return P(o,function(e,r){var t=H(e.cells(),function(e,t){if(!1===u[r][t]){var n=di(o,r,t,i);return function(e,t,n,r){for(var o=e;o<e+n;o++)for(var i=t;i<t+r;i++)u[o][i]=!0}(r,t,n.rowspan(),n.colspan()),[jt(e.element(),n.rowspan(),n.colspan(),e.isNew())]}return[]});return Vt(t,e.section())})},gi=function(e,t,n){for(var r=[],o=0;o<e.grid().rows();o++){for(var i=[],u=0;u<e.grid().columns();u++){var a=xn.getAt(e,o,u).map(function(e){return Ht(e.element(),n)}).getOrThunk(function(){return Ht(t.gap(),!0)});i.push(a)}var c=qt(i,e.all()[o].section());r.push(c)}return r},hi=function(e,r){return P(e,function(e){var t,n=(t=e.details(),No(t,function(e){return yt(e.element()).map(function(e){var t=yt(e).isNone();return Ht(e,t)})}).getOrThunk(function(){return Ht(r.row(),!0)}));return Ut(n.element(),e.details(),e.section(),n.isNew())})},pi=function(e,t){var n=mi(e,pt);return hi(n,t)},vi=function(e,t){var n=z(P(e.all(),function(e){return e.cells()}));return _(n,function(e){return pt(t,e.element())})},bi=function(a,c,l,f,s){return function(n,r,e,o,i){var t=vn(r),u=xn.generate(t);return c(u,e).map(function(e){var t=gi(u,o,!1),n=a(t,e,pt,s(o)),r=pi(n.grid(),o);return{grid:C(r),cursor:n.cursor}}).fold(function(){return S.none()},function(e){var t=Ao(r,e.grid());return l(r,e.grid(),i),f(r),ni(n,r,So.height,i),S.some({cursor:e.cursor,newRows:t.newRows,newCells:t.newCells})})}},wi=function(t,e){return pn.cell(e.element()).bind(function(e){return vi(t,e)})},yi=function(t,e){var n=P(e.selection(),function(e){return pn.cell(e).bind(function(e){return vi(t,e)})}),r=Eo(n);return 0<r.length?S.some({cells:r,generators:e.generators,clipboard:e.clipboard}):S.none()},xi=function(t,e){var n=P(e.selection(),function(e){return pn.cell(e).bind(function(e){return vi(t,e)})}),r=Eo(n);return 0<r.length?S.some(r):S.none()},Ci=function(n){return{is:function(e){return n===e},isValue:a,isError:f,getOr:C(n),getOrThunk:C(n),getOrDie:C(n),or:function(e){return Ci(n)},orThunk:function(e){return Ci(n)},fold:function(e,t){return t(n)},map:function(e){return Ci(e(n))},mapError:function(e){return Ci(n)},each:function(e){e(n)},bind:function(e){return e(n)},exists:function(e){return e(n)},forall:function(e){return e(n)},toOption:function(){return S.some(n)}}},Si=function(n){return{is:f,isValue:f,isError:a,getOr:o,getOrThunk:function(e){return e()},getOrDie:function(){return e=String(n),function(){throw new Error(e)}();var e},or:function(e){return e},orThunk:function(e){return e()},fold:function(e,t){return e(n)},map:function(e){return Si(n)},mapError:function(e){return Si(e(n))},each:y,bind:function(e){return Si(n)},exists:f,forall:a,toOption:S.none}},Ri={value:Ci,error:Si,fromOption:function(e,t){return e.fold(function(){return Si(t)},Ci)}},Ti=function(e,t){return P(e,function(){return Ht(t.cell(),!0)})},Di=function(t,e,n){return t.concat(function(e,t){for(var n=[],r=0;r<e;r++)n.push(t(r));return n}(e,function(e){return fi.setCells(t[t.length-1],Ti(t[t.length-1].cells(),n))}))},Oi=function(e,t,n){return P(e,function(e){return fi.setCells(e,e.cells().concat(Ti(Fo(0,t),n)))})},Ei=function(e,t,n){if(e.row()>=t.length||e.column()>fi.cellLength(t[0]))return Ri.error("invalid start address out of table bounds, row: "+e.row()+", column: "+e.column());var r=t.slice(e.row()),o=r[0].cells().slice(e.column()),i=fi.cellLength(n[0]),u=n.length;return Ri.value({rowDelta:C(r.length-u),colDelta:C(o.length-i)})},Ni=function(e,t){var n=fi.cellLength(e[0]),r=fi.cellLength(t[0]);return{rowDelta:C(0),colDelta:C(n-r)}},ki=function(e,t,n){var r=t.colDelta()<0?Oi:o;return(t.rowDelta()<0?Di:o)(r(e,Math.abs(t.colDelta()),n),Math.abs(t.rowDelta()),n)},Ai=function(e,t,n,r){if(0===e.length)return e;for(var o=t.startRow();o<=t.finishRow();o++)for(var i=t.startCol();i<=t.finishCol();i++)fi.mutateCell(e[o],i,Ht(r(),!1));return e},Pi=function(e,t,n,r){for(var o=!0,i=0;i<e.length;i++)for(var u=0;u<fi.cellLength(e[0]);u++){var a=n(fi.getCellElement(e[i],u),t);!0===a&&!1===o?fi.mutateCell(e[i],u,Ht(r(),!0)):!0===a&&(o=!1)}return e},Ii=function(i,n,u,a){if(0<n&&n<i.length){var e=i[n-1].cells(),t=(r=u,M(e,function(e,t){return A(e,function(e){return r(e.element(),t.element())})?e:e.concat([t])},[]));I(t,function(r){for(var o=S.none(),e=function(n){for(var e=function(t){var e=i[n].cells()[t];u(e.element(),r.element())&&(o.isNone()&&(o=S.some(a())),o.each(function(e){fi.mutateCell(i[n],t,Ht(e,!0))}))},t=0;t<fi.cellLength(i[0]);t++)e(t)},t=n;t<i.length;t++)e(t)})}var r;return i},Bi=function(n,r,o,i,u){return Ei(n,r,o).map(function(e){var t=ki(r,e,i);return function(e,t,n,r,o){for(var i,u,a,c,l,f=e.row(),s=e.column(),d=f+n.length,m=s+fi.cellLength(n[0]),g=f;g<d;g++)for(var h=s;h<m;h++){i=t,u=g,a=h,l=c=void 0,c=b(o,fi.getCell(i[u],a).element()),l=i[u],1<i.length&&1<fi.cellLength(l)&&(0<a&&c(fi.getCellElement(l,a-1))||a<l.cells().length-1&&c(fi.getCellElement(l,a+1))||0<u&&c(fi.getCellElement(i[u-1],a))||u<i.length-1&&c(fi.getCellElement(i[u+1],a)))&&Pi(t,fi.getCellElement(t[g],h),o,r.cell);var p=fi.getCellElement(n[g-f],h-s),v=r.replace(p);fi.mutateCell(t[g],h,Ht(v,!0))}return t}(n,t,o,i,u)})},Wi=function(e,t,n,r,o){Ii(t,e,o,r.cell);var i=Ni(n,t),u=ki(n,i,r),a=Ni(t,u),c=ki(t,a,r);return c.slice(0,e).concat(u).concat(c.slice(e,c.length))},Mi=function(n,r,e,o,i){var t=n.slice(0,r),u=n.slice(r),a=fi.mapCells(n[e],function(e,t){return 0<r&&r<n.length&&o(fi.getCellElement(n[r-1],t),fi.getCellElement(n[r],t))?fi.getCell(n[r],t):Ht(i(e.element(),o),!0)});return t.concat([a]).concat(u)},_i=function(e,n,r,o,i){return P(e,function(e){var t=0<n&&n<fi.cellLength(e)&&o(fi.getCellElement(e,n-1),fi.getCellElement(e,n))?fi.getCell(e,n):Ht(i(fi.getCellElement(e,r),o),!0);return fi.addCell(e,n,t)})},Li=function(e,r,o,i,u){var a=o+1;return P(e,function(e,t){var n=t===r?Ht(u(fi.getCellElement(e,o),i),!0):fi.getCell(e,o);return fi.addCell(e,a,n)})},ji=function(e,t,n,r,o){var i=t+1,u=e.slice(0,i),a=e.slice(i),c=fi.mapCells(e[t],function(e,t){return t===n?Ht(o(e.element(),r),!0):e});return u.concat([c]).concat(a)},Fi=function(e,t,n){return e.slice(0,t).concat(e.slice(n+1))},zi=function(e,n,r){var t=P(e,function(e){var t=e.cells().slice(0,n).concat(e.cells().slice(r+1));return qt(t,e.section())});return B(t,function(e){return 0<e.cells().length})},Hi=function(e,n,r,o){return P(e,function(e){return fi.mapCells(e,function(e){return t=e,A(n,function(e){return r(t.element(),e.element())})?Ht(o(e.element(),r),!0):e;var t})})},Ui=function(e,t,n,r){return fi.getCellElement(e[t],n)!==undefined&&0<t&&r(fi.getCellElement(e[t-1],n),fi.getCellElement(e[t],n))},qi=function(e,t,n){return 0<t&&n(fi.getCellElement(e,t-1),fi.getCellElement(e,t))},Vi=function(n,r,o,e){var t=H(n,function(e,t){return Ui(n,t,r,o)||qi(e,r,o)?[]:[fi.getCell(e,r)]});return Hi(n,t,o,e)},Gi=function(n,r,o,e){var i=n[r],t=H(i.cells(),function(e,t){return Ui(n,r,t,o)||qi(i,t,o)?[]:[e]});return Hi(n,t,o,e)},Yi=Nr([{none:[]},{only:["index"]},{left:["index","next"]},{middle:["prev","index","next"]},{right:["prev","index"]}]),Xi=Oo({},Yi),Ki=function(e,t,i,u){var n,r,a=e.slice(0),o=(r=t,0===(n=e).length?Xi.none():1===n.length?Xi.only(0):0===r?Xi.left(0,1):r===n.length-1?Xi.right(r-1,r):0<r&&r<n.length-1?Xi.middle(r-1,r,r+1):Xi.none()),c=function(e){return