diff --git a/static/web/404.html b/static/web/404.html index ea731d566..688823772 100644 --- a/static/web/404.html +++ b/static/web/404.html @@ -1,4 +1,4 @@ -404: This page could not be found

404

This page could not be found.

\ No newline at end of file + }

404

This page could not be found.

\ No newline at end of file diff --git a/static/web/404/index.html b/static/web/404/index.html index ea731d566..688823772 100644 --- a/static/web/404/index.html +++ b/static/web/404/index.html @@ -1,4 +1,4 @@ -404: This page could not be found

404

This page could not be found.

\ No newline at end of file + }

404

This page could not be found.

\ No newline at end of file diff --git a/static/web/_next/static/TdnJ2SNWni3XOWehc0VSI/_buildManifest.js b/static/web/_next/static/Yg-a5MugikcpA6khtM1rR/_buildManifest.js similarity index 98% rename from static/web/_next/static/TdnJ2SNWni3XOWehc0VSI/_buildManifest.js rename to static/web/_next/static/Yg-a5MugikcpA6khtM1rR/_buildManifest.js index 074d1fdb3..3f60d8b7c 100644 --- a/static/web/_next/static/TdnJ2SNWni3XOWehc0VSI/_buildManifest.js +++ b/static/web/_next/static/Yg-a5MugikcpA6khtM1rR/_buildManifest.js @@ -1 +1 @@ -self.__BUILD_MANIFEST=function(a,s,c,e,i,d,n,t,f,o,h,m,r,u,g,b,k,j){return{__rewrites:{beforeFiles:[],afterFiles:[{source:"/api/:path*"},{source:"/hls/:path*"},{source:"/img/:path*"},{source:"/logo"},{source:"/thumbnail.jpg"}],fallback:[]},"/":[o,"static/chunks/d3048c20-8eaf58bdb6ce3d73.js",a,e,h,m,r,"static/chunks/9402-5a2bea39880e5e31.js",u,"static/css/2bfafc2a933a5259.css","static/chunks/pages/index-5b6e76527da8b051.js"],"/_error":["static/chunks/pages/_error-f2496e8b9fdedb89.js"],"/admin":[a,s,c,e,i,d,g,"static/chunks/pages/admin-f5d4ed76b5bf9c78.js"],"/admin/access-tokens":[a,s,c,"static/chunks/pages/admin/access-tokens-ef4cfda69ac8b2ee.js"],"/admin/actions":[a,s,"static/chunks/pages/admin/actions-7c5a6b0030e5ec6a.js"],"/admin/chat/messages":[b,a,s,c,e,k,"static/chunks/pages/admin/chat/messages-af084d68aaf69be4.js"],"/admin/chat/users":[b,a,s,c,e,k,"static/chunks/pages/admin/chat/users-577529fda888a7a4.js"],"/admin/config-chat":["static/chunks/pages/admin/config-chat-d027691622271c60.js"],"/admin/config-federation":["static/chunks/1829-271cba4b38fde9a4.js","static/chunks/pages/admin/config-federation-a75cf82c23e440d0.js"],"/admin/config-notify":["static/chunks/pages/admin/config-notify-48561d4d85f054db.js"],"/admin/config-public-details":[a,s,n,"static/css/1f5ee95fffd43a71.css","static/chunks/1142-e1c9b49c7b789e49.js",j,"static/chunks/pages/admin/config-public-details-4b1168c5914e0f72.js"],"/admin/config-server-details":["static/chunks/pages/admin/config-server-details-614743dc0feb10ba.js"],"/admin/config-social-items":[a,s,j,"static/chunks/pages/admin/config-social-items-9d7af265ea826f51.js"],"/admin/config-storage":["static/chunks/pages/admin/config-storage-7c75769293cd1cd2.js"],"/admin/config-video":[a,s,"static/chunks/5875-e7ec71226df73c20.js","static/chunks/pages/admin/config-video-524ee5b72d31e876.js"],"/admin/federation/actions":[a,s,c,"static/chunks/pages/admin/federation/actions-d475626c90492b9e.js"],"/admin/federation/followers":[a,s,c,"static/chunks/pages/admin/federation/followers-84b5976a824dd548.js"],"/admin/hardware-info":[t,c,i,d,f,n,"static/chunks/pages/admin/hardware-info-fb9932e584754b3b.js"],"/admin/help":[i,r,"static/chunks/5046-154c3c1e09df4db0.js","static/chunks/pages/admin/help-286d71e5c1d8d003.js"],"/admin/logs":[a,s,c,g,"static/chunks/pages/admin/logs-55d44b7f56d109e1.js"],"/admin/stream-health":[t,c,i,d,f,"static/chunks/pages/admin/stream-health-5f39d0e65f78053a.js"],"/admin/upgrade":[a,s,"static/chunks/9001-0de9b937fdbe661d.js","static/chunks/pages/admin/upgrade-27c19ef345f1a067.js"],"/admin/viewer-info":[t,a,s,c,e,i,d,f,n,"static/chunks/pages/admin/viewer-info-6c62c18290cae1c3.js"],"/admin/webhooks":[a,s,"static/chunks/pages/admin/webhooks-9d91ad0a0ec2bb50.js"],"/embed/chat/readonly":["static/chunks/pages/embed/chat/readonly-f54fb5897d32adcf.js"],"/embed/chat/readwrite":["static/chunks/pages/embed/chat/readwrite-eba1c9e46b587c63.js"],"/embed/video":[o,e,h,m,u,"static/css/f58d98f52dc8743c.css","static/chunks/pages/embed/video-7bc6ce2f7f099935.js"],sortedPages:["/","/_app","/_error","/admin","/admin/access-tokens","/admin/actions","/admin/chat/messages","/admin/chat/users","/admin/config-chat","/admin/config-federation","/admin/config-notify","/admin/config-public-details","/admin/config-server-details","/admin/config-social-items","/admin/config-storage","/admin/config-video","/admin/federation/actions","/admin/federation/followers","/admin/hardware-info","/admin/help","/admin/logs","/admin/stream-health","/admin/upgrade","/admin/viewer-info","/admin/webhooks","/embed/chat/readonly","/embed/chat/readwrite","/embed/video"]}}("static/chunks/384-9cef8f24921b00dc.js","static/chunks/355-ef633cfeda4d36e7.js","static/chunks/8091-5880357d1811013a.js","static/chunks/5938-b8bf626b6df6d168.js","static/chunks/5315-8b4116e0e1118ee9.js","static/chunks/4763-b88542f3b2d350b7.js","static/chunks/7910-7248e2d1496cf795.js","static/chunks/3fff1979-612c6162f1b345ff.js","static/chunks/2139-c72b3a851c3b6fc9.js","static/chunks/d6e1aeb5-1e3969b413cccadf.js","static/css/e70d97a4c102bec4.css","static/chunks/2001-614a21ed2abaed33.js","static/chunks/1082-b00b8f63f0314247.js","static/chunks/4935-053b4824ae67bc45.js","static/chunks/2429-cd1a27121f8cb4b6.js","static/chunks/29107295-4a69275373f23f88.js","static/chunks/7464-bbe0a7b2b04a78ae.js","static/chunks/1017-c26780a26480b2de.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file +self.__BUILD_MANIFEST=function(a,s,c,e,i,d,n,t,f,o,h,m,r,u,g,b,k,j){return{__rewrites:{beforeFiles:[],afterFiles:[{source:"/api/:path*"},{source:"/hls/:path*"},{source:"/img/:path*"},{source:"/logo"},{source:"/thumbnail.jpg"}],fallback:[]},"/":[o,"static/chunks/d3048c20-0576676e1017fabd.js",a,e,h,m,r,"static/chunks/9402-5a2bea39880e5e31.js",u,"static/css/2bfafc2a933a5259.css","static/chunks/pages/index-5b6e76527da8b051.js"],"/_error":["static/chunks/pages/_error-f2496e8b9fdedb89.js"],"/admin":[a,s,c,e,i,d,g,"static/chunks/pages/admin-f5d4ed76b5bf9c78.js"],"/admin/access-tokens":[a,s,c,"static/chunks/pages/admin/access-tokens-ef4cfda69ac8b2ee.js"],"/admin/actions":[a,s,"static/chunks/pages/admin/actions-7c5a6b0030e5ec6a.js"],"/admin/chat/messages":[b,a,s,c,e,k,"static/chunks/pages/admin/chat/messages-af084d68aaf69be4.js"],"/admin/chat/users":[b,a,s,c,e,k,"static/chunks/pages/admin/chat/users-577529fda888a7a4.js"],"/admin/config-chat":["static/chunks/pages/admin/config-chat-d027691622271c60.js"],"/admin/config-federation":["static/chunks/1829-271cba4b38fde9a4.js","static/chunks/pages/admin/config-federation-a75cf82c23e440d0.js"],"/admin/config-notify":["static/chunks/pages/admin/config-notify-48561d4d85f054db.js"],"/admin/config-public-details":[a,s,n,"static/css/1f5ee95fffd43a71.css","static/chunks/1142-e1c9b49c7b789e49.js",j,"static/chunks/pages/admin/config-public-details-4b1168c5914e0f72.js"],"/admin/config-server-details":["static/chunks/pages/admin/config-server-details-614743dc0feb10ba.js"],"/admin/config-social-items":[a,s,j,"static/chunks/pages/admin/config-social-items-9d7af265ea826f51.js"],"/admin/config-storage":["static/chunks/pages/admin/config-storage-7c75769293cd1cd2.js"],"/admin/config-video":[a,s,"static/chunks/5875-e7ec71226df73c20.js","static/chunks/pages/admin/config-video-524ee5b72d31e876.js"],"/admin/federation/actions":[a,s,c,"static/chunks/pages/admin/federation/actions-d475626c90492b9e.js"],"/admin/federation/followers":[a,s,c,"static/chunks/pages/admin/federation/followers-84b5976a824dd548.js"],"/admin/hardware-info":[t,c,i,d,f,n,"static/chunks/pages/admin/hardware-info-fb9932e584754b3b.js"],"/admin/help":[i,r,"static/chunks/5046-154c3c1e09df4db0.js","static/chunks/pages/admin/help-286d71e5c1d8d003.js"],"/admin/logs":[a,s,c,g,"static/chunks/pages/admin/logs-55d44b7f56d109e1.js"],"/admin/stream-health":[t,c,i,d,f,"static/chunks/pages/admin/stream-health-5f39d0e65f78053a.js"],"/admin/upgrade":[a,s,"static/chunks/9001-0de9b937fdbe661d.js","static/chunks/pages/admin/upgrade-27c19ef345f1a067.js"],"/admin/viewer-info":[t,a,s,c,e,i,d,f,n,"static/chunks/pages/admin/viewer-info-6c62c18290cae1c3.js"],"/admin/webhooks":[a,s,"static/chunks/pages/admin/webhooks-9d91ad0a0ec2bb50.js"],"/embed/chat/readonly":["static/chunks/pages/embed/chat/readonly-f54fb5897d32adcf.js"],"/embed/chat/readwrite":["static/chunks/pages/embed/chat/readwrite-eba1c9e46b587c63.js"],"/embed/video":[o,e,h,m,u,"static/css/f58d98f52dc8743c.css","static/chunks/pages/embed/video-7bc6ce2f7f099935.js"],sortedPages:["/","/_app","/_error","/admin","/admin/access-tokens","/admin/actions","/admin/chat/messages","/admin/chat/users","/admin/config-chat","/admin/config-federation","/admin/config-notify","/admin/config-public-details","/admin/config-server-details","/admin/config-social-items","/admin/config-storage","/admin/config-video","/admin/federation/actions","/admin/federation/followers","/admin/hardware-info","/admin/help","/admin/logs","/admin/stream-health","/admin/upgrade","/admin/viewer-info","/admin/webhooks","/embed/chat/readonly","/embed/chat/readwrite","/embed/video"]}}("static/chunks/384-9cef8f24921b00dc.js","static/chunks/355-ef633cfeda4d36e7.js","static/chunks/8091-5880357d1811013a.js","static/chunks/5938-b8bf626b6df6d168.js","static/chunks/5315-8b4116e0e1118ee9.js","static/chunks/4763-b88542f3b2d350b7.js","static/chunks/7910-7248e2d1496cf795.js","static/chunks/3fff1979-612c6162f1b345ff.js","static/chunks/2139-c72b3a851c3b6fc9.js","static/chunks/d6e1aeb5-1e3969b413cccadf.js","static/css/e70d97a4c102bec4.css","static/chunks/2001-614a21ed2abaed33.js","static/chunks/1082-b00b8f63f0314247.js","static/chunks/4935-053b4824ae67bc45.js","static/chunks/2429-cd1a27121f8cb4b6.js","static/chunks/29107295-4a69275373f23f88.js","static/chunks/7464-bbe0a7b2b04a78ae.js","static/chunks/1017-c26780a26480b2de.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file diff --git a/static/web/_next/static/TdnJ2SNWni3XOWehc0VSI/_ssgManifest.js b/static/web/_next/static/Yg-a5MugikcpA6khtM1rR/_ssgManifest.js similarity index 100% rename from static/web/_next/static/TdnJ2SNWni3XOWehc0VSI/_ssgManifest.js rename to static/web/_next/static/Yg-a5MugikcpA6khtM1rR/_ssgManifest.js diff --git a/static/web/_next/static/chunks/d3048c20-0576676e1017fabd.js b/static/web/_next/static/chunks/d3048c20-0576676e1017fabd.js new file mode 100644 index 000000000..2ffe7ad58 --- /dev/null +++ b/static/web/_next/static/chunks/d3048c20-0576676e1017fabd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1272],{77493:function(u,e,t){t.d(e,{E9:function(){return Cu},Jh:function(){return h},ML:function(){return K},NB:function(){return tu},W_:function(){return J},YR:function(){return zu},e6:function(){return fu},o4:function(){return du},xv:function(){return mu},y$:function(){return ou}});var r=t(45628),n=t(12902);function a(u,e,t){return e in u?Object.defineProperty(u,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):u[e]=t,u}var o=new WeakMap,i=new WeakMap,D=new WeakMap,s=new WeakMap,C=new WeakMap,l=new WeakMap,B=new WeakMap;function c(u,e){var t=Object.keys(u);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(u);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(u,e).enumerable}))),t.push.apply(t,r)}return t}function f(u){for(var e=1;e{var u={children:[],operations:[],selection:null,marks:null,isInline:()=>!1,isVoid:()=>!1,onChange:()=>{},apply:e=>{for(var t of K.pathRefs(u))iu.transform(t,e);for(var r of K.pointRefs(u))lu.transform(r,e);for(var n of K.rangeRefs(u))hu.transform(n,e);var a,s,C=o.get(u)||[],l=i.get(u)||new Set,B=u=>{if(u){var e=u.join(",");s.has(e)||(s.add(e),a.push(u))}};if(ou.operationCanTransformPath(e))for(var c of(a=[],s=new Set,C)){B(ou.transform(c,e))}else a=C,s=l;var f=u.getDirtyPaths(e);for(var h of f)B(h);o.set(u,a),i.set(u,s),zu.transform(u,e),u.operations.push(e),K.normalize(u),"set_selection"===e.type&&(u.marks=null),D.get(u)||(D.set(u,!0),Promise.resolve().then((()=>{D.set(u,!1),u.onChange(),u.operations=[]})))},addMark:(e,t)=>{var{selection:r}=u;if(r)if(fu.isExpanded(r))zu.setNodes(u,{[e]:t},{match:mu.isText,split:!0});else{var n=f(f({},K.marks(u)||{}),{},{[e]:t});u.marks=n,D.get(u)||u.onChange()}},deleteBackward:e=>{var{selection:t}=u;t&&fu.isCollapsed(t)&&zu.delete(u,{unit:e,reverse:!0})},deleteForward:e=>{var{selection:t}=u;t&&fu.isCollapsed(t)&&zu.delete(u,{unit:e})},deleteFragment:e=>{var{selection:t}=u;t&&fu.isExpanded(t)&&zu.delete(u,{reverse:"backward"===e})},getFragment:()=>{var{selection:e}=u;return e?tu.fragment(u,e):[]},insertBreak:()=>{zu.splitNodes(u,{always:!0})},insertSoftBreak:()=>{zu.splitNodes(u,{always:!0})},insertFragment:e=>{zu.insertFragment(u,e)},insertNode:e=>{zu.insertNodes(u,e)},insertText:e=>{var{selection:t,marks:r}=u;if(t){if(r){var n=f({text:e},r);zu.insertNodes(u,n)}else zu.insertText(u,e);u.marks=null}},normalizeNode:e=>{var[t,r]=e;if(!mu.isText(t))if(J.isElement(t)&&0===t.children.length){zu.insertNodes(u,{text:""},{at:r.concat(0),voids:!0})}else for(var n=!K.isEditor(t)&&(J.isElement(t)&&(u.isInline(t)||0===t.children.length||mu.isText(t.children[0])||u.isInline(t.children[0]))),a=0,o=0;o{var{selection:t}=u;if(t)if(fu.isExpanded(t))zu.unsetNodes(u,e,{match:mu.isText,split:!0});else{var r=f({},K.marks(u)||{});delete r[e],u.marks=r,D.get(u)||u.onChange()}},getDirtyPaths:u=>{switch(u.type){case"insert_text":case"remove_text":case"set_node":var{path:e}=u;return ou.levels(e);case"insert_node":var{node:t,path:r}=u,n=ou.levels(r),a=mu.isText(t)?[]:Array.from(tu.nodes(t),(u=>{var[,e]=u;return r.concat(e)}));return[...n,...a];case"merge_node":var{path:o}=u;return[...ou.ancestors(o),ou.previous(o)];case"move_node":var{path:i,newPath:D}=u;if(ou.equals(i,D))return[];var s=[],C=[];for(var l of ou.ancestors(i)){var B=ou.transform(l,u);s.push(B)}for(var c of ou.ancestors(D)){var f=ou.transform(c,u);C.push(f)}var h=C[C.length-1],A=D[D.length-1],d=h.concat(A);return[...s,...C,d];case"remove_node":var{path:F}=u;return[...ou.ancestors(F)];case"split_node":var{path:v}=u;return[...ou.levels(v),ou.next(v)];default:return[]}}};return u};function A(u,e){if(null==u)return{};var t,r,n=function(u,e){if(null==u)return{};var t,r,n={},a=Object.keys(u);for(r=0;r=0||(n[t]=u[t]);return n}(u,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(u);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(u,t)&&(n[t]=u[t])}return n}var d,F=function(u){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=!e,r=e?y(u):u,n=d.None,a=d.None,o=0,i=null;for(var D of r){var s=D.codePointAt(0);if(!s)break;var C=S(D,s);if([n,a]=t?[a,C]:[C,n],q(n,d.ZWJ)&&q(a,d.ExtPict)&&!L(t?u.substring(0,o):u.substring(0,u.length-o)))break;if(q(n,d.RI)&&q(a,d.RI)&&!(i=null!==i?!i:!!t||W(u.substring(0,u.length-o))))break;if(n!==d.None&&a!==d.None&&V(n,a))break;o+=D.length}return o||1},v=/\s/,E=/[\u0021-\u0023\u0025-\u002A\u002C-\u002F\u003A\u003B\u003F\u0040\u005B-\u005D\u005F\u007B\u007D\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E3B\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/,p=/['\u2018\u2019]/,g=(u,e,t)=>{if(t){var r=u.length-e;return[u.slice(r,u.length),u.slice(0,r)]}return[u.slice(0,e),u.slice(e)]},m=function u(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(v.test(e))return!1;if(p.test(e)){var n=F(t,r),[a,o]=g(t,n,r);if(u(a,o,r))return!0}return!E.test(e)},y=function*(u){for(var e=u.length-1,t=0;tu>=55296&&u<=56319,b=u=>u>=56320&&u<=57343;!function(u){u[u.None=0]="None",u[u.Extend=1]="Extend",u[u.ZWJ=2]="ZWJ",u[u.RI=4]="RI",u[u.Prepend=8]="Prepend",u[u.SpacingMark=16]="SpacingMark",u[u.L=32]="L",u[u.V=64]="V",u[u.T=128]="T",u[u.LV=256]="LV",u[u.LVT=512]="LVT",u[u.ExtPict=1024]="ExtPict",u[u.Any=2048]="Any"}(d||(d={}));var x=/^(?:[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09BE\u09C1-\u09C4\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01\u0B3C\u0B3E\u0B3F\u0B41-\u0B44\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE\u0BC0\u0BCD\u0BD7\u0C00\u0C04\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CBF\u0CC2\u0CC6\u0CCC\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D3E\u0D41-\u0D44\u0D4D\u0D57\u0D62\u0D63\u0D81\u0DCA\u0DCF\u0DD2-\u0DD4\u0DD6\u0DDF\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1AC0\u1B00-\u1B03\u1B34-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u200C\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA82C\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFF9E\uFF9F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDF46-\uDF50]|\uD804[\uDC01\uDC38-\uDC46\uDC7F-\uDC81\uDCB3-\uDCB6\uDCB9\uDCBA\uDD00-\uDD02\uDD27-\uDD2B\uDD2D-\uDD34\uDD73\uDD80\uDD81\uDDB6-\uDDBE\uDDC9-\uDDCC\uDDCF\uDE2F-\uDE31\uDE34\uDE36\uDE37\uDE3E\uDEDF\uDEE3-\uDEEA\uDF00\uDF01\uDF3B\uDF3C\uDF3E\uDF40\uDF57\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC38-\uDC3F\uDC42-\uDC44\uDC46\uDC5E\uDCB0\uDCB3-\uDCB8\uDCBA\uDCBD\uDCBF\uDCC0\uDCC2\uDCC3\uDDAF\uDDB2-\uDDB5\uDDBC\uDDBD\uDDBF\uDDC0\uDDDC\uDDDD\uDE33-\uDE3A\uDE3D\uDE3F\uDE40\uDEAB\uDEAD\uDEB0-\uDEB5\uDEB7\uDF1D-\uDF1F\uDF22-\uDF25\uDF27-\uDF2B]|\uD806[\uDC2F-\uDC37\uDC39\uDC3A\uDD30\uDD3B\uDD3C\uDD3E\uDD43\uDDD4-\uDDD7\uDDDA\uDDDB\uDDE0\uDE01-\uDE0A\uDE33-\uDE38\uDE3B-\uDE3E\uDE47\uDE51-\uDE56\uDE59-\uDE5B\uDE8A-\uDE96\uDE98\uDE99]|\uD807[\uDC30-\uDC36\uDC38-\uDC3D\uDC3F\uDC92-\uDCA7\uDCAA-\uDCB0\uDCB2\uDCB3\uDCB5\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD90\uDD91\uDD95\uDD97\uDEF3\uDEF4]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF8F-\uDF92\uDFE4]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65\uDD67-\uDD69\uDD6E-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD30-\uDD36\uDEEC-\uDEEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uD83C[\uDFFB-\uDFFF]|\uDB40[\uDC20-\uDC7F\uDD00-\uDDEF])$/,O=/^(?:[\u0600-\u0605\u06DD\u070F\u0890\u0891\u08E2\u0D4E]|\uD804[\uDCBD\uDCCD\uDDC2\uDDC3]|\uD806[\uDD3F\uDD41\uDE3A\uDE84-\uDE89]|\uD807\uDD46)$/,P=/^(?:[\u0903\u093B\u093E-\u0940\u0949-\u094C\u094E\u094F\u0982\u0983\u09BF\u09C0\u09C7\u09C8\u09CB\u09CC\u0A03\u0A3E-\u0A40\u0A83\u0ABE-\u0AC0\u0AC9\u0ACB\u0ACC\u0B02\u0B03\u0B40\u0B47\u0B48\u0B4B\u0B4C\u0BBF\u0BC1\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0C01-\u0C03\u0C41-\u0C44\u0C82\u0C83\u0CBE\u0CC0\u0CC1\u0CC3\u0CC4\u0CC7\u0CC8\u0CCA\u0CCB\u0D02\u0D03\u0D3F\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D82\u0D83\u0DD0\u0DD1\u0DD8-\u0DDE\u0DF2\u0DF3\u0E33\u0EB3\u0F3E\u0F3F\u0F7F\u1031\u103B\u103C\u1056\u1057\u1084\u1715\u1734\u17B6\u17BE-\u17C5\u17C7\u17C8\u1923-\u1926\u1929-\u192B\u1930\u1931\u1933-\u1938\u1A19\u1A1A\u1A55\u1A57\u1A6D-\u1A72\u1B04\u1B3B\u1B3D-\u1B41\u1B43\u1B44\u1B82\u1BA1\u1BA6\u1BA7\u1BAA\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2\u1BF3\u1C24-\u1C2B\u1C34\u1C35\u1CE1\u1CF7\uA823\uA824\uA827\uA880\uA881\uA8B4-\uA8C3\uA952\uA953\uA983\uA9B4\uA9B5\uA9BA\uA9BB\uA9BE-\uA9C0\uAA2F\uAA30\uAA33\uAA34\uAA4D\uAAEB\uAAEE\uAAEF\uAAF5\uABE3\uABE4\uABE6\uABE7\uABE9\uABEA\uABEC]|\uD804[\uDC00\uDC02\uDC82\uDCB0-\uDCB2\uDCB7\uDCB8\uDD2C\uDD45\uDD46\uDD82\uDDB3-\uDDB5\uDDBF\uDDC0\uDDCE\uDE2C-\uDE2E\uDE32\uDE33\uDE35\uDEE0-\uDEE2\uDF02\uDF03\uDF3F\uDF41-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF62\uDF63]|\uD805[\uDC35-\uDC37\uDC40\uDC41\uDC45\uDCB1\uDCB2\uDCB9\uDCBB\uDCBC\uDCBE\uDCC1\uDDB0\uDDB1\uDDB8-\uDDBB\uDDBE\uDE30-\uDE32\uDE3B\uDE3C\uDE3E\uDEAC\uDEAE\uDEAF\uDEB6\uDF26]|\uD806[\uDC2C-\uDC2E\uDC38\uDD31-\uDD35\uDD37\uDD38\uDD3D\uDD40\uDD42\uDDD1-\uDDD3\uDDDC-\uDDDF\uDDE4\uDE39\uDE57\uDE58\uDE97]|\uD807[\uDC2F\uDC3E\uDCA9\uDCB1\uDCB4\uDD8A-\uDD8E\uDD93\uDD94\uDD96\uDEF5\uDEF6]|\uD81B[\uDF51-\uDF87\uDFF0\uDFF1]|\uD834[\uDD66\uDD6D])$/,k=/^[\u1100-\u115F\uA960-\uA97C]$/,j=/^[\u1160-\u11A7\uD7B0-\uD7C6]$/,N=/^[\u11A8-\u11FF\uD7CB-\uD7FB]$/,_=/^[\uAC00\uAC1C\uAC38\uAC54\uAC70\uAC8C\uACA8\uACC4\uACE0\uACFC\uAD18\uAD34\uAD50\uAD6C\uAD88\uADA4\uADC0\uADDC\uADF8\uAE14\uAE30\uAE4C\uAE68\uAE84\uAEA0\uAEBC\uAED8\uAEF4\uAF10\uAF2C\uAF48\uAF64\uAF80\uAF9C\uAFB8\uAFD4\uAFF0\uB00C\uB028\uB044\uB060\uB07C\uB098\uB0B4\uB0D0\uB0EC\uB108\uB124\uB140\uB15C\uB178\uB194\uB1B0\uB1CC\uB1E8\uB204\uB220\uB23C\uB258\uB274\uB290\uB2AC\uB2C8\uB2E4\uB300\uB31C\uB338\uB354\uB370\uB38C\uB3A8\uB3C4\uB3E0\uB3FC\uB418\uB434\uB450\uB46C\uB488\uB4A4\uB4C0\uB4DC\uB4F8\uB514\uB530\uB54C\uB568\uB584\uB5A0\uB5BC\uB5D8\uB5F4\uB610\uB62C\uB648\uB664\uB680\uB69C\uB6B8\uB6D4\uB6F0\uB70C\uB728\uB744\uB760\uB77C\uB798\uB7B4\uB7D0\uB7EC\uB808\uB824\uB840\uB85C\uB878\uB894\uB8B0\uB8CC\uB8E8\uB904\uB920\uB93C\uB958\uB974\uB990\uB9AC\uB9C8\uB9E4\uBA00\uBA1C\uBA38\uBA54\uBA70\uBA8C\uBAA8\uBAC4\uBAE0\uBAFC\uBB18\uBB34\uBB50\uBB6C\uBB88\uBBA4\uBBC0\uBBDC\uBBF8\uBC14\uBC30\uBC4C\uBC68\uBC84\uBCA0\uBCBC\uBCD8\uBCF4\uBD10\uBD2C\uBD48\uBD64\uBD80\uBD9C\uBDB8\uBDD4\uBDF0\uBE0C\uBE28\uBE44\uBE60\uBE7C\uBE98\uBEB4\uBED0\uBEEC\uBF08\uBF24\uBF40\uBF5C\uBF78\uBF94\uBFB0\uBFCC\uBFE8\uC004\uC020\uC03C\uC058\uC074\uC090\uC0AC\uC0C8\uC0E4\uC100\uC11C\uC138\uC154\uC170\uC18C\uC1A8\uC1C4\uC1E0\uC1FC\uC218\uC234\uC250\uC26C\uC288\uC2A4\uC2C0\uC2DC\uC2F8\uC314\uC330\uC34C\uC368\uC384\uC3A0\uC3BC\uC3D8\uC3F4\uC410\uC42C\uC448\uC464\uC480\uC49C\uC4B8\uC4D4\uC4F0\uC50C\uC528\uC544\uC560\uC57C\uC598\uC5B4\uC5D0\uC5EC\uC608\uC624\uC640\uC65C\uC678\uC694\uC6B0\uC6CC\uC6E8\uC704\uC720\uC73C\uC758\uC774\uC790\uC7AC\uC7C8\uC7E4\uC800\uC81C\uC838\uC854\uC870\uC88C\uC8A8\uC8C4\uC8E0\uC8FC\uC918\uC934\uC950\uC96C\uC988\uC9A4\uC9C0\uC9DC\uC9F8\uCA14\uCA30\uCA4C\uCA68\uCA84\uCAA0\uCABC\uCAD8\uCAF4\uCB10\uCB2C\uCB48\uCB64\uCB80\uCB9C\uCBB8\uCBD4\uCBF0\uCC0C\uCC28\uCC44\uCC60\uCC7C\uCC98\uCCB4\uCCD0\uCCEC\uCD08\uCD24\uCD40\uCD5C\uCD78\uCD94\uCDB0\uCDCC\uCDE8\uCE04\uCE20\uCE3C\uCE58\uCE74\uCE90\uCEAC\uCEC8\uCEE4\uCF00\uCF1C\uCF38\uCF54\uCF70\uCF8C\uCFA8\uCFC4\uCFE0\uCFFC\uD018\uD034\uD050\uD06C\uD088\uD0A4\uD0C0\uD0DC\uD0F8\uD114\uD130\uD14C\uD168\uD184\uD1A0\uD1BC\uD1D8\uD1F4\uD210\uD22C\uD248\uD264\uD280\uD29C\uD2B8\uD2D4\uD2F0\uD30C\uD328\uD344\uD360\uD37C\uD398\uD3B4\uD3D0\uD3EC\uD408\uD424\uD440\uD45C\uD478\uD494\uD4B0\uD4CC\uD4E8\uD504\uD520\uD53C\uD558\uD574\uD590\uD5AC\uD5C8\uD5E4\uD600\uD61C\uD638\uD654\uD670\uD68C\uD6A8\uD6C4\uD6E0\uD6FC\uD718\uD734\uD750\uD76C\uD788]$/,T=/^[\uAC01-\uAC1B\uAC1D-\uAC37\uAC39-\uAC53\uAC55-\uAC6F\uAC71-\uAC8B\uAC8D-\uACA7\uACA9-\uACC3\uACC5-\uACDF\uACE1-\uACFB\uACFD-\uAD17\uAD19-\uAD33\uAD35-\uAD4F\uAD51-\uAD6B\uAD6D-\uAD87\uAD89-\uADA3\uADA5-\uADBF\uADC1-\uADDB\uADDD-\uADF7\uADF9-\uAE13\uAE15-\uAE2F\uAE31-\uAE4B\uAE4D-\uAE67\uAE69-\uAE83\uAE85-\uAE9F\uAEA1-\uAEBB\uAEBD-\uAED7\uAED9-\uAEF3\uAEF5-\uAF0F\uAF11-\uAF2B\uAF2D-\uAF47\uAF49-\uAF63\uAF65-\uAF7F\uAF81-\uAF9B\uAF9D-\uAFB7\uAFB9-\uAFD3\uAFD5-\uAFEF\uAFF1-\uB00B\uB00D-\uB027\uB029-\uB043\uB045-\uB05F\uB061-\uB07B\uB07D-\uB097\uB099-\uB0B3\uB0B5-\uB0CF\uB0D1-\uB0EB\uB0ED-\uB107\uB109-\uB123\uB125-\uB13F\uB141-\uB15B\uB15D-\uB177\uB179-\uB193\uB195-\uB1AF\uB1B1-\uB1CB\uB1CD-\uB1E7\uB1E9-\uB203\uB205-\uB21F\uB221-\uB23B\uB23D-\uB257\uB259-\uB273\uB275-\uB28F\uB291-\uB2AB\uB2AD-\uB2C7\uB2C9-\uB2E3\uB2E5-\uB2FF\uB301-\uB31B\uB31D-\uB337\uB339-\uB353\uB355-\uB36F\uB371-\uB38B\uB38D-\uB3A7\uB3A9-\uB3C3\uB3C5-\uB3DF\uB3E1-\uB3FB\uB3FD-\uB417\uB419-\uB433\uB435-\uB44F\uB451-\uB46B\uB46D-\uB487\uB489-\uB4A3\uB4A5-\uB4BF\uB4C1-\uB4DB\uB4DD-\uB4F7\uB4F9-\uB513\uB515-\uB52F\uB531-\uB54B\uB54D-\uB567\uB569-\uB583\uB585-\uB59F\uB5A1-\uB5BB\uB5BD-\uB5D7\uB5D9-\uB5F3\uB5F5-\uB60F\uB611-\uB62B\uB62D-\uB647\uB649-\uB663\uB665-\uB67F\uB681-\uB69B\uB69D-\uB6B7\uB6B9-\uB6D3\uB6D5-\uB6EF\uB6F1-\uB70B\uB70D-\uB727\uB729-\uB743\uB745-\uB75F\uB761-\uB77B\uB77D-\uB797\uB799-\uB7B3\uB7B5-\uB7CF\uB7D1-\uB7EB\uB7ED-\uB807\uB809-\uB823\uB825-\uB83F\uB841-\uB85B\uB85D-\uB877\uB879-\uB893\uB895-\uB8AF\uB8B1-\uB8CB\uB8CD-\uB8E7\uB8E9-\uB903\uB905-\uB91F\uB921-\uB93B\uB93D-\uB957\uB959-\uB973\uB975-\uB98F\uB991-\uB9AB\uB9AD-\uB9C7\uB9C9-\uB9E3\uB9E5-\uB9FF\uBA01-\uBA1B\uBA1D-\uBA37\uBA39-\uBA53\uBA55-\uBA6F\uBA71-\uBA8B\uBA8D-\uBAA7\uBAA9-\uBAC3\uBAC5-\uBADF\uBAE1-\uBAFB\uBAFD-\uBB17\uBB19-\uBB33\uBB35-\uBB4F\uBB51-\uBB6B\uBB6D-\uBB87\uBB89-\uBBA3\uBBA5-\uBBBF\uBBC1-\uBBDB\uBBDD-\uBBF7\uBBF9-\uBC13\uBC15-\uBC2F\uBC31-\uBC4B\uBC4D-\uBC67\uBC69-\uBC83\uBC85-\uBC9F\uBCA1-\uBCBB\uBCBD-\uBCD7\uBCD9-\uBCF3\uBCF5-\uBD0F\uBD11-\uBD2B\uBD2D-\uBD47\uBD49-\uBD63\uBD65-\uBD7F\uBD81-\uBD9B\uBD9D-\uBDB7\uBDB9-\uBDD3\uBDD5-\uBDEF\uBDF1-\uBE0B\uBE0D-\uBE27\uBE29-\uBE43\uBE45-\uBE5F\uBE61-\uBE7B\uBE7D-\uBE97\uBE99-\uBEB3\uBEB5-\uBECF\uBED1-\uBEEB\uBEED-\uBF07\uBF09-\uBF23\uBF25-\uBF3F\uBF41-\uBF5B\uBF5D-\uBF77\uBF79-\uBF93\uBF95-\uBFAF\uBFB1-\uBFCB\uBFCD-\uBFE7\uBFE9-\uC003\uC005-\uC01F\uC021-\uC03B\uC03D-\uC057\uC059-\uC073\uC075-\uC08F\uC091-\uC0AB\uC0AD-\uC0C7\uC0C9-\uC0E3\uC0E5-\uC0FF\uC101-\uC11B\uC11D-\uC137\uC139-\uC153\uC155-\uC16F\uC171-\uC18B\uC18D-\uC1A7\uC1A9-\uC1C3\uC1C5-\uC1DF\uC1E1-\uC1FB\uC1FD-\uC217\uC219-\uC233\uC235-\uC24F\uC251-\uC26B\uC26D-\uC287\uC289-\uC2A3\uC2A5-\uC2BF\uC2C1-\uC2DB\uC2DD-\uC2F7\uC2F9-\uC313\uC315-\uC32F\uC331-\uC34B\uC34D-\uC367\uC369-\uC383\uC385-\uC39F\uC3A1-\uC3BB\uC3BD-\uC3D7\uC3D9-\uC3F3\uC3F5-\uC40F\uC411-\uC42B\uC42D-\uC447\uC449-\uC463\uC465-\uC47F\uC481-\uC49B\uC49D-\uC4B7\uC4B9-\uC4D3\uC4D5-\uC4EF\uC4F1-\uC50B\uC50D-\uC527\uC529-\uC543\uC545-\uC55F\uC561-\uC57B\uC57D-\uC597\uC599-\uC5B3\uC5B5-\uC5CF\uC5D1-\uC5EB\uC5ED-\uC607\uC609-\uC623\uC625-\uC63F\uC641-\uC65B\uC65D-\uC677\uC679-\uC693\uC695-\uC6AF\uC6B1-\uC6CB\uC6CD-\uC6E7\uC6E9-\uC703\uC705-\uC71F\uC721-\uC73B\uC73D-\uC757\uC759-\uC773\uC775-\uC78F\uC791-\uC7AB\uC7AD-\uC7C7\uC7C9-\uC7E3\uC7E5-\uC7FF\uC801-\uC81B\uC81D-\uC837\uC839-\uC853\uC855-\uC86F\uC871-\uC88B\uC88D-\uC8A7\uC8A9-\uC8C3\uC8C5-\uC8DF\uC8E1-\uC8FB\uC8FD-\uC917\uC919-\uC933\uC935-\uC94F\uC951-\uC96B\uC96D-\uC987\uC989-\uC9A3\uC9A5-\uC9BF\uC9C1-\uC9DB\uC9DD-\uC9F7\uC9F9-\uCA13\uCA15-\uCA2F\uCA31-\uCA4B\uCA4D-\uCA67\uCA69-\uCA83\uCA85-\uCA9F\uCAA1-\uCABB\uCABD-\uCAD7\uCAD9-\uCAF3\uCAF5-\uCB0F\uCB11-\uCB2B\uCB2D-\uCB47\uCB49-\uCB63\uCB65-\uCB7F\uCB81-\uCB9B\uCB9D-\uCBB7\uCBB9-\uCBD3\uCBD5-\uCBEF\uCBF1-\uCC0B\uCC0D-\uCC27\uCC29-\uCC43\uCC45-\uCC5F\uCC61-\uCC7B\uCC7D-\uCC97\uCC99-\uCCB3\uCCB5-\uCCCF\uCCD1-\uCCEB\uCCED-\uCD07\uCD09-\uCD23\uCD25-\uCD3F\uCD41-\uCD5B\uCD5D-\uCD77\uCD79-\uCD93\uCD95-\uCDAF\uCDB1-\uCDCB\uCDCD-\uCDE7\uCDE9-\uCE03\uCE05-\uCE1F\uCE21-\uCE3B\uCE3D-\uCE57\uCE59-\uCE73\uCE75-\uCE8F\uCE91-\uCEAB\uCEAD-\uCEC7\uCEC9-\uCEE3\uCEE5-\uCEFF\uCF01-\uCF1B\uCF1D-\uCF37\uCF39-\uCF53\uCF55-\uCF6F\uCF71-\uCF8B\uCF8D-\uCFA7\uCFA9-\uCFC3\uCFC5-\uCFDF\uCFE1-\uCFFB\uCFFD-\uD017\uD019-\uD033\uD035-\uD04F\uD051-\uD06B\uD06D-\uD087\uD089-\uD0A3\uD0A5-\uD0BF\uD0C1-\uD0DB\uD0DD-\uD0F7\uD0F9-\uD113\uD115-\uD12F\uD131-\uD14B\uD14D-\uD167\uD169-\uD183\uD185-\uD19F\uD1A1-\uD1BB\uD1BD-\uD1D7\uD1D9-\uD1F3\uD1F5-\uD20F\uD211-\uD22B\uD22D-\uD247\uD249-\uD263\uD265-\uD27F\uD281-\uD29B\uD29D-\uD2B7\uD2B9-\uD2D3\uD2D5-\uD2EF\uD2F1-\uD30B\uD30D-\uD327\uD329-\uD343\uD345-\uD35F\uD361-\uD37B\uD37D-\uD397\uD399-\uD3B3\uD3B5-\uD3CF\uD3D1-\uD3EB\uD3ED-\uD407\uD409-\uD423\uD425-\uD43F\uD441-\uD45B\uD45D-\uD477\uD479-\uD493\uD495-\uD4AF\uD4B1-\uD4CB\uD4CD-\uD4E7\uD4E9-\uD503\uD505-\uD51F\uD521-\uD53B\uD53D-\uD557\uD559-\uD573\uD575-\uD58F\uD591-\uD5AB\uD5AD-\uD5C7\uD5C9-\uD5E3\uD5E5-\uD5FF\uD601-\uD61B\uD61D-\uD637\uD639-\uD653\uD655-\uD66F\uD671-\uD68B\uD68D-\uD6A7\uD6A9-\uD6C3\uD6C5-\uD6DF\uD6E1-\uD6FB\uD6FD-\uD717\uD719-\uD733\uD735-\uD74F\uD751-\uD76B\uD76D-\uD787\uD789-\uD7A3]$/,R=/^(?:[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u2388\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2605\u2607-\u2612\u2614-\u2685\u2690-\u2705\u2708-\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763-\u2767\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC00-\uDCFF\uDD0D-\uDD0F\uDD2F\uDD6C-\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDAD-\uDDE5\uDE01-\uDE0F\uDE1A\uDE2F\uDE32-\uDE3A\uDE3C-\uDE3F\uDE49-\uDFFA]|\uD83D[\uDC00-\uDD3D\uDD46-\uDE4F\uDE80-\uDEFF\uDF74-\uDF7F\uDFD5-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE-\uDCFF\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDEFF]|\uD83F[\uDC00-\uDFFD])$/,S=(u,e)=>{var t=d.Any;return-1!==u.search(x)&&(t|=d.Extend),8205===e&&(t|=d.ZWJ),e>=127462&&e<=127487&&(t|=d.RI),-1!==u.search(O)&&(t|=d.Prepend),-1!==u.search(P)&&(t|=d.SpacingMark),-1!==u.search(k)&&(t|=d.L),-1!==u.search(j)&&(t|=d.V),-1!==u.search(N)&&(t|=d.T),-1!==u.search(_)&&(t|=d.LV),-1!==u.search(T)&&(t|=d.LVT),-1!==u.search(R)&&(t|=d.ExtPict),t};function q(u,e){return 0!==(u&e)}var I=[[d.L,d.L|d.V|d.LV|d.LVT],[d.LV|d.V,d.V|d.T],[d.LVT|d.T,d.T],[d.Any,d.Extend|d.ZWJ],[d.Any,d.SpacingMark],[d.Prepend,d.Any],[d.ZWJ,d.ExtPict],[d.RI,d.RI]];function V(u,e){return-1===I.findIndex((t=>q(u,t[0])&&q(e,t[1])))}var z=/(?:[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u2388\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2605\u2607-\u2612\u2614-\u2685\u2690-\u2705\u2708-\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763-\u2767\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC00-\uDCFF\uDD0D-\uDD0F\uDD2F\uDD6C-\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDAD-\uDDE5\uDE01-\uDE0F\uDE1A\uDE2F\uDE32-\uDE3A\uDE3C-\uDE3F\uDE49-\uDFFA]|\uD83D[\uDC00-\uDD3D\uDD46-\uDE4F\uDE80-\uDEFF\uDF74-\uDF7F\uDFD5-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE-\uDCFF\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDEFF]|\uD83F[\uDC00-\uDFFD])(?:[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09BE\u09C1-\u09C4\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01\u0B3C\u0B3E\u0B3F\u0B41-\u0B44\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE\u0BC0\u0BCD\u0BD7\u0C00\u0C04\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CBF\u0CC2\u0CC6\u0CCC\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D3E\u0D41-\u0D44\u0D4D\u0D57\u0D62\u0D63\u0D81\u0DCA\u0DCF\u0DD2-\u0DD4\u0DD6\u0DDF\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1AC0\u1B00-\u1B03\u1B34-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u200C\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA82C\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFF9E\uFF9F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDF46-\uDF50]|\uD804[\uDC01\uDC38-\uDC46\uDC7F-\uDC81\uDCB3-\uDCB6\uDCB9\uDCBA\uDD00-\uDD02\uDD27-\uDD2B\uDD2D-\uDD34\uDD73\uDD80\uDD81\uDDB6-\uDDBE\uDDC9-\uDDCC\uDDCF\uDE2F-\uDE31\uDE34\uDE36\uDE37\uDE3E\uDEDF\uDEE3-\uDEEA\uDF00\uDF01\uDF3B\uDF3C\uDF3E\uDF40\uDF57\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC38-\uDC3F\uDC42-\uDC44\uDC46\uDC5E\uDCB0\uDCB3-\uDCB8\uDCBA\uDCBD\uDCBF\uDCC0\uDCC2\uDCC3\uDDAF\uDDB2-\uDDB5\uDDBC\uDDBD\uDDBF\uDDC0\uDDDC\uDDDD\uDE33-\uDE3A\uDE3D\uDE3F\uDE40\uDEAB\uDEAD\uDEB0-\uDEB5\uDEB7\uDF1D-\uDF1F\uDF22-\uDF25\uDF27-\uDF2B]|\uD806[\uDC2F-\uDC37\uDC39\uDC3A\uDD30\uDD3B\uDD3C\uDD3E\uDD43\uDDD4-\uDDD7\uDDDA\uDDDB\uDDE0\uDE01-\uDE0A\uDE33-\uDE38\uDE3B-\uDE3E\uDE47\uDE51-\uDE56\uDE59-\uDE5B\uDE8A-\uDE96\uDE98\uDE99]|\uD807[\uDC30-\uDC36\uDC38-\uDC3D\uDC3F\uDC92-\uDCA7\uDCAA-\uDCB0\uDCB2\uDCB3\uDCB5\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD90\uDD91\uDD95\uDD97\uDEF3\uDEF4]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF8F-\uDF92\uDFE4]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65\uDD67-\uDD69\uDD6E-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD30-\uDD36\uDEEC-\uDEEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uD83C[\uDFFB-\uDFFF]|\uDB40[\uDC20-\uDC7F\uDD00-\uDDEF])*\u200D$/,L=u=>-1!==u.search(z),M=/(?:\uD83C[\uDDE6-\uDDFF])+$/g,W=u=>{var e=u.match(M);return null!==e&&e[0].length/2%2===1},$=u=>(0,r.P)(u)&&tu.isNodeList(u.children)&&!K.isEditor(u),J={isAncestor:u=>(0,r.P)(u)&&tu.isNodeList(u.children),isElement:$,isElementList:u=>Array.isArray(u)&&u.every((u=>J.isElement(u))),isElementProps:u=>void 0!==u.children,isElementType:function(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"type";return $(u)&&u[t]===e},matches(u,e){for(var t in e)if("children"!==t&&u[t]!==e[t])return!1;return!0}},Z=["text"],U=["text"];function Y(u,e){var t=Object.keys(u);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(u);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(u,e).enumerable}))),t.push.apply(t,r)}return t}function G(u){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:{},{voids:t=!1,mode:r="lowest",at:n=u.selection,match:a}=e;if(n){var o=K.path(u,n),i="lowest"===r;for(var[D,s]of K.levels(u,{at:o,voids:t,match:a,reverse:i}))if(!mu.isText(D)&&!ou.equals(o,s))return[D,s]}},addMark(u,e,t){u.addMark(e,t)},after(u,e){var t,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n={anchor:K.point(u,e,{edge:"end"}),focus:K.end(u,[])},{distance:a=1}=r,o=0;for(var i of K.positions(u,G(G({},r),{},{at:n}))){if(o>a)break;0!==o&&(t=i),o++}return t},before(u,e){var t,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n={anchor:K.start(u,[]),focus:K.point(u,e,{edge:"start"})},{distance:a=1}=r,o=0;for(var i of K.positions(u,G(G({},r),{},{at:n,reverse:!0}))){if(o>a)break;0!==o&&(t=i),o++}return t},deleteBackward(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{unit:t="character"}=e;u.deleteBackward(t)},deleteForward(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{unit:t="character"}=e;u.deleteForward(t)},deleteFragment(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{direction:t="forward"}=e;u.deleteFragment(t)},edges:(u,e)=>[K.start(u,e),K.end(u,e)],end:(u,e)=>K.point(u,e,{edge:"end"}),first(u,e){var t=K.path(u,e,{edge:"start"});return K.node(u,t)},fragment(u,e){var t=K.range(u,e);return tu.fragment(u,t)},hasBlocks:(u,e)=>e.children.some((e=>K.isBlock(u,e))),hasInlines:(u,e)=>e.children.some((e=>mu.isText(e)||K.isInline(u,e))),hasTexts:(u,e)=>e.children.every((u=>mu.isText(u))),insertBreak(u){u.insertBreak()},insertSoftBreak(u){u.insertSoftBreak()},insertFragment(u,e){u.insertFragment(e)},insertNode(u,e){u.insertNode(e)},insertText(u,e){u.insertText(e)},isBlock:(u,e)=>J.isElement(e)&&!u.isInline(e),isEditor(u){var e=H.get(u);if(void 0!==e)return e;if(!(0,r.P)(u))return!1;var t="function"===typeof u.addMark&&"function"===typeof u.apply&&"function"===typeof u.deleteBackward&&"function"===typeof u.deleteForward&&"function"===typeof u.deleteFragment&&"function"===typeof u.insertBreak&&"function"===typeof u.insertSoftBreak&&"function"===typeof u.insertFragment&&"function"===typeof u.insertNode&&"function"===typeof u.insertText&&"function"===typeof u.isInline&&"function"===typeof u.isVoid&&"function"===typeof u.normalizeNode&&"function"===typeof u.onChange&&"function"===typeof u.removeMark&&"function"===typeof u.getDirtyPaths&&(null===u.marks||(0,r.P)(u.marks))&&(null===u.selection||fu.isRange(u.selection))&&tu.isNodeList(u.children)&&au.isOperationList(u.operations);return H.set(u,t),t},isEnd(u,e,t){var r=K.end(u,t);return Cu.equals(e,r)},isEdge:(u,e,t)=>K.isStart(u,e,t)||K.isEnd(u,e,t),isEmpty(u,e){var{children:t}=e,[r]=t;return 0===t.length||1===t.length&&mu.isText(r)&&""===r.text&&!u.isVoid(e)},isInline:(u,e)=>J.isElement(e)&&u.isInline(e),isNormalizing(u){var e=s.get(u);return void 0===e||e},isStart(u,e,t){if(0!==e.offset)return!1;var r=K.start(u,t);return Cu.equals(e,r)},isVoid:(u,e)=>J.isElement(e)&&u.isVoid(e),last(u,e){var t=K.path(u,e,{edge:"end"});return K.node(u,t)},leaf(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=K.path(u,e,t);return[tu.leaf(u,r),r]},*levels(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{at:t=u.selection,reverse:r=!1,voids:n=!1}=e,{match:a}=e;if(null==a&&(a=()=>!0),t){var o=[],i=K.path(u,t);for(var[D,s]of tu.levels(u,i))if(a(D,s)&&(o.push([D,s]),!n&&K.isVoid(u,D)))break;r&&o.reverse(),yield*o}},marks(u){var{marks:e,selection:t}=u;if(!t)return null;if(e)return e;if(fu.isExpanded(t)){var[r]=K.nodes(u,{match:mu.isText});if(r){var[n]=r;return A(n,Z)}return{}}var{anchor:a}=t,{path:o}=a,[i]=K.leaf(u,o);if(0===a.offset){var D=K.previous(u,{at:o,match:mu.isText}),s=K.above(u,{match:e=>K.isBlock(u,e)});if(D&&s){var[C,l]=D,[,B]=s;ou.isAncestor(B,l)&&(i=C)}}return A(i,U)},next(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{mode:t="lowest",voids:r=!1}=e,{match:n,at:a=u.selection}=e;if(a){var o=K.after(u,a,{voids:r});if(o){var[,i]=K.last(u,[]),D=[o.path,i];if(ou.isPath(a)&&0===a.length)throw new Error("Cannot get the next node from the root node!");if(null==n)if(ou.isPath(a)){var[s]=K.parent(u,a);n=u=>s.children.includes(u)}else n=()=>!0;var[C]=K.nodes(u,{at:D,match:n,mode:t,voids:r});return C}}},node(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=K.path(u,e,t);return[tu.get(u,r),r]},*nodes(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{at:t=u.selection,mode:r="all",universal:n=!1,reverse:a=!1,voids:o=!1}=e,{match:i}=e;if(i||(i=()=>!0),t){var D,s;if(Q.isSpan(t))D=t[0],s=t[1];else{var C=K.path(u,t,{edge:"start"}),l=K.path(u,t,{edge:"end"});D=a?l:C,s=a?C:l}var B,c=tu.nodes(u,{reverse:a,from:D,to:s,pass:e=>{var[t]=e;return!o&&K.isVoid(u,t)}}),f=[];for(var[h,A]of c){var d=B&&0===ou.compare(A,B[1]);if("highest"!==r||!d)if(i(h,A))if("lowest"===r&&d)B=[h,A];else{var F="lowest"===r?B:[h,A];F&&(n?f.push(F):yield F),B=[h,A]}else if(n&&!d&&mu.isText(h))return}"lowest"===r&&B&&(n?f.push(B):yield B),n&&(yield*f)}},normalize(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{force:t=!1}=e,r=u=>o.get(u)||[],n=u=>{var e=r(u).pop(),t=e.join(",");return(u=>i.get(u)||new Set)(u).delete(t),e};if(K.isNormalizing(u)){if(t){var a=Array.from(tu.nodes(u),(u=>{var[,e]=u;return e})),D=new Set(a.map((u=>u.join(","))));o.set(u,a),i.set(u,D)}0!==r(u).length&&K.withoutNormalizing(u,(()=>{for(var e of r(u))if(tu.has(u,e)){var t=K.node(u,e),[a,o]=t;J.isElement(a)&&0===a.children.length&&u.normalizeNode(t)}for(var i=42*r(u).length,D=0;0!==r(u).length;){if(D>i)throw new Error("\n Could not completely normalize the editor after ".concat(i," iterations! This is usually due to incorrect normalization logic that leaves a node in an invalid state.\n "));var s=n(u);if(tu.has(u,s)){var C=K.node(u,s);u.normalizeNode(C)}D++}}))}},parent(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=K.path(u,e,t),n=ou.parent(r);return K.node(u,n)},path(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{depth:r,edge:n}=t;if(ou.isPath(e))if("start"===n){var[,a]=tu.first(u,e);e=a}else if("end"===n){var[,o]=tu.last(u,e);e=o}return fu.isRange(e)&&(e="start"===n?fu.start(e):"end"===n?fu.end(e):ou.common(e.anchor.path,e.focus.path)),Cu.isPoint(e)&&(e=e.path),null!=r&&(e=e.slice(0,r)),e},hasPath:(u,e)=>tu.has(u,e),pathRef(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{affinity:r="forward"}=t,n={current:e,affinity:r,unref(){var{current:e}=n;return K.pathRefs(u).delete(n),n.current=null,e}};return K.pathRefs(u).add(n),n},pathRefs(u){var e=C.get(u);return e||(e=new Set,C.set(u,e)),e},point(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{edge:r="start"}=t;if(ou.isPath(e)){var n;if("end"===r){var[,a]=tu.last(u,e);n=a}else{var[,o]=tu.first(u,e);n=o}var i=tu.get(u,n);if(!mu.isText(i))throw new Error("Cannot get the ".concat(r," point in the node at path [").concat(e,"] because it has no ").concat(r," text node."));return{path:n,offset:"end"===r?i.text.length:0}}if(fu.isRange(e)){var[D,s]=fu.edges(e);return"start"===r?D:s}return e},pointRef(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{affinity:r="forward"}=t,n={current:e,affinity:r,unref(){var{current:e}=n;return K.pointRefs(u).delete(n),n.current=null,e}};return K.pointRefs(u).add(n),n},pointRefs(u){var e=l.get(u);return e||(e=new Set,l.set(u,e)),e},*positions(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{at:t=u.selection,unit:r="offset",reverse:n=!1,voids:a=!1}=e;if(t){var o=K.range(u,t),[i,D]=fu.edges(o),s=n?D:i,C=!1,l="",B=0,c=0,f=0;for(var[h,A]of K.nodes(u,{at:t,reverse:n,voids:a})){if(J.isElement(h)){if(!a&&u.isVoid(h)){yield K.start(u,A);continue}if(u.isInline(h))continue;if(K.hasInlines(u,h)){var d=ou.isAncestor(A,D.path)?D:K.end(u,A),v=ou.isAncestor(A,i.path)?i:K.start(u,A);l=K.string(u,{anchor:v,focus:d},{voids:a}),C=!0}}if(mu.isText(h)){var E=ou.equals(A,s.path);for(E?(c=n?s.offset:h.text.length-s.offset,f=s.offset):(c=h.text.length,f=n?c:0),(E||C||"offset"===r)&&(yield{path:A,offset:f},C=!1);;){if(0===B){if(""===l)break;B=p(l,r,n),l=g(l,B,n)[1]}if(f=n?f-B:f+B,(c-=B)<0){B=-c;break}B=0,yield{path:A,offset:f}}}}}function p(u,e,t){return"character"===e?F(u,t):"word"===e?function(u){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=0,r=!1;u.length>0;){var n=F(u,e),[a,o]=g(u,n,e);if(m(a,o,e))r=!0,t+=n;else{if(r)break;t+=n}u=o}return t}(u,t):"line"===e||"block"===e?u.length:1}},previous(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{mode:t="lowest",voids:r=!1}=e,{match:n,at:a=u.selection}=e;if(a){var o=K.before(u,a,{voids:r});if(o){var[,i]=K.first(u,[]),D=[o.path,i];if(ou.isPath(a)&&0===a.length)throw new Error("Cannot get the previous node from the root node!");if(null==n)if(ou.isPath(a)){var[s]=K.parent(u,a);n=u=>s.children.includes(u)}else n=()=>!0;var[C]=K.nodes(u,{reverse:!0,at:D,match:n,mode:t,voids:r});return C}}},range:(u,e,t)=>fu.isRange(e)&&!t?e:{anchor:K.start(u,e),focus:K.end(u,t||e)},rangeRef(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{affinity:r="forward"}=t,n={current:e,affinity:r,unref(){var{current:e}=n;return K.rangeRefs(u).delete(n),n.current=null,e}};return K.rangeRefs(u).add(n),n},rangeRefs(u){var e=B.get(u);return e||(e=new Set,B.set(u,e)),e},removeMark(u,e){u.removeMark(e)},setNormalizing(u,e){s.set(u,e)},start:(u,e)=>K.point(u,e,{edge:"start"}),string(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{voids:r=!1}=t,n=K.range(u,e),[a,o]=fu.edges(n),i="";for(var[D,s]of K.nodes(u,{at:n,match:mu.isText,voids:r})){var C=D.text;ou.equals(s,o.path)&&(C=C.slice(0,o.offset)),ou.equals(s,a.path)&&(C=C.slice(a.offset)),i+=C}return i},unhangRange(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{voids:r=!1}=t,[n,a]=fu.edges(e);if(0!==n.offset||0!==a.offset||fu.isCollapsed(e))return e;var o=K.above(u,{at:a,match:e=>K.isBlock(u,e)}),i=o?o[1]:[],D={anchor:K.start(u,n),focus:a},s=!0;for(var[C,l]of K.nodes(u,{at:D,match:mu.isText,reverse:!0,voids:r}))if(s)s=!1;else if(""!==C.text||ou.isBefore(l,i)){a={path:l,offset:C.text.length};break}return{anchor:n,focus:a}},void(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return K.above(u,G(G({},e),{},{match:e=>K.isVoid(u,e)}))},withoutNormalizing(u,e){var t=K.isNormalizing(u);K.setNormalizing(u,!1);try{e()}finally{K.setNormalizing(u,t)}K.normalize(u)}},Q={isSpan:u=>Array.isArray(u)&&2===u.length&&u.every(ou.isPath)},X=["children"],uu=["text"],eu=new WeakMap,tu={ancestor(u,e){var t=tu.get(u,e);if(mu.isText(t))throw new Error("Cannot get the ancestor node at path [".concat(e,"] because it refers to a text node instead: ").concat(du.stringify(t)));return t},*ancestors(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};for(var r of ou.ancestors(e,t)){var n=[tu.ancestor(u,r),r];yield n}},child(u,e){if(mu.isText(u))throw new Error("Cannot get the child of a text node: ".concat(du.stringify(u)));var t=u.children[e];if(null==t)throw new Error("Cannot get child at index `".concat(e,"` in node: ").concat(du.stringify(u)));return t},*children(u,e){for(var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{reverse:r=!1}=t,n=tu.ancestor(u,e),{children:a}=n,o=r?a.length-1:0;r?o>=0:o1&&void 0!==arguments[1]?arguments[1]:{};for(var[t,r]of tu.nodes(u,e))0!==r.length&&(yield[t,r])},*elements(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(var[t,r]of tu.nodes(u,e))J.isElement(t)&&(yield[t,r])},extractProps:u=>J.isAncestor(u)?A(u,X):A(u,uu),first(u,e){for(var t=e.slice(),r=tu.get(u,t);r&&!mu.isText(r)&&0!==r.children.length;)r=r.children[0],t.push(0);return[r,t]},fragment(u,e){if(mu.isText(u))throw new Error("Cannot get a fragment starting from a root text node: ".concat(du.stringify(u)));return(0,n.Uy)({children:u.children},(u=>{var[t,r]=fu.edges(e),n=tu.nodes(u,{reverse:!0,pass:u=>{var[,t]=u;return!fu.includes(e,t)}});for(var[,a]of n){if(!fu.includes(e,a)){var o=tu.parent(u,a),i=a[a.length-1];o.children.splice(i,1)}if(ou.equals(a,r.path)){var D=tu.leaf(u,a);D.text=D.text.slice(0,r.offset)}if(ou.equals(a,t.path)){var s=tu.leaf(u,a);s.text=s.text.slice(t.offset)}}K.isEditor(u)&&(u.selection=null)})).children},get(u,e){for(var t=u,r=0;rmu.isText(u)||J.isElement(u)||K.isEditor(u),isNodeList(u){if(!Array.isArray(u))return!1;var e=eu.get(u);if(void 0!==e)return e;var t=u.every((u=>tu.isNode(u)));return eu.set(u,t),t},last(u,e){for(var t=e.slice(),r=tu.get(u,t);r&&!mu.isText(r)&&0!==r.children.length;){var n=r.children.length-1;r=r.children[n],t.push(n)}return[r,t]},leaf(u,e){var t=tu.get(u,e);if(!mu.isText(t))throw new Error("Cannot get the leaf node at path [".concat(e,"] because it refers to a non-leaf node: ").concat(du.stringify(t)));return t},*levels(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};for(var r of ou.levels(e,t)){var n=tu.get(u,r);yield[n,r]}},matches:(u,e)=>J.isElement(u)&&J.isElementProps(e)&&J.matches(u,e)||mu.isText(u)&&mu.isTextProps(e)&&mu.matches(u,e),*nodes(u){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{pass:t,reverse:r=!1}=e,{from:n=[],to:a}=e,o=new Set,i=[],D=u;!a||!(r?ou.isBefore(i,a):ou.isAfter(i,a));)if(o.has(D)||(yield[D,i]),o.has(D)||mu.isText(D)||0===D.children.length||null!=t&&!1!==t([D,i])){if(0===i.length)break;if(!r){var s=ou.next(i);if(tu.has(u,s)){i=s,D=tu.get(u,i);continue}}if(r&&0!==i[i.length-1])i=ou.previous(i),D=tu.get(u,i);else i=ou.parent(i),D=tu.get(u,i),o.add(D)}else{o.add(D);var C=r?D.children.length-1:0;ou.isAncestor(i,n)&&(C=n[i.length]),i=i.concat(C),D=tu.get(u,i)}},parent(u,e){var t=ou.parent(e),r=tu.get(u,t);if(mu.isText(r))throw new Error("Cannot get the parent of path [".concat(e,"] because it does not exist in the root."));return r},string:u=>mu.isText(u)?u.text:u.children.map(tu.string).join(""),*texts(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(var[t,r]of tu.nodes(u,e))mu.isText(t)&&(yield[t,r])}};function ru(u,e){var t=Object.keys(u);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(u);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(u,e).enumerable}))),t.push.apply(t,r)}return t}function nu(u){for(var e=1;eau.isOperation(u)&&u.type.endsWith("_node"),isOperation(u){if(!(0,r.P)(u))return!1;switch(u.type){case"insert_node":case"remove_node":return ou.isPath(u.path)&&tu.isNode(u.node);case"insert_text":case"remove_text":return"number"===typeof u.offset&&"string"===typeof u.text&&ou.isPath(u.path);case"merge_node":return"number"===typeof u.position&&ou.isPath(u.path)&&(0,r.P)(u.properties);case"move_node":return ou.isPath(u.path)&&ou.isPath(u.newPath);case"set_node":return ou.isPath(u.path)&&(0,r.P)(u.properties)&&(0,r.P)(u.newProperties);case"set_selection":return null===u.properties&&fu.isRange(u.newProperties)||null===u.newProperties&&fu.isRange(u.properties)||(0,r.P)(u.properties)&&(0,r.P)(u.newProperties);case"split_node":return ou.isPath(u.path)&&"number"===typeof u.position&&(0,r.P)(u.properties);default:return!1}},isOperationList:u=>Array.isArray(u)&&u.every((u=>au.isOperation(u))),isSelectionOperation:u=>au.isOperation(u)&&u.type.endsWith("_selection"),isTextOperation:u=>au.isOperation(u)&&u.type.endsWith("_text"),inverse(u){switch(u.type){case"insert_node":return nu(nu({},u),{},{type:"remove_node"});case"insert_text":return nu(nu({},u),{},{type:"remove_text"});case"merge_node":return nu(nu({},u),{},{type:"split_node",path:ou.previous(u.path)});case"move_node":var{newPath:e,path:t}=u;if(ou.equals(e,t))return u;if(ou.isSibling(t,e))return nu(nu({},u),{},{path:e,newPath:t});var r=ou.transform(t,u),n=ou.transform(ou.next(t),u);return nu(nu({},u),{},{path:r,newPath:n});case"remove_node":return nu(nu({},u),{},{type:"insert_node"});case"remove_text":return nu(nu({},u),{},{type:"insert_text"});case"set_node":var{properties:a,newProperties:o}=u;return nu(nu({},u),{},{properties:o,newProperties:a});case"set_selection":var{properties:i,newProperties:D}=u;return nu(nu({},u),{},null==i?{properties:D,newProperties:null}:null==D?{properties:null,newProperties:i}:{properties:D,newProperties:i});case"split_node":return nu(nu({},u),{},{type:"merge_node",path:ou.next(u.path)})}}},ou={ancestors(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{reverse:t=!1}=e,r=ou.levels(u,e);return r=t?r.slice(1):r.slice(0,-1)},common(u,e){for(var t=[],r=0;re[r])return 1}return 0},endsAfter(u,e){var t=u.length-1,r=u.slice(0,t),n=e.slice(0,t),a=u[t],o=e[t];return ou.equals(r,n)&&a>o},endsAt(u,e){var t=u.length,r=u.slice(0,t),n=e.slice(0,t);return ou.equals(r,n)},endsBefore(u,e){var t=u.length-1,r=u.slice(0,t),n=e.slice(0,t),a=u[t],o=e[t];return ou.equals(r,n)&&au.length===e.length&&u.every(((u,t)=>u===e[t])),hasPrevious:u=>u[u.length-1]>0,isAfter:(u,e)=>1===ou.compare(u,e),isAncestor:(u,e)=>u.length-1===ou.compare(u,e),isChild:(u,e)=>u.length===e.length+1&&0===ou.compare(u,e),isCommon:(u,e)=>u.length<=e.length&&0===ou.compare(u,e),isDescendant:(u,e)=>u.length>e.length&&0===ou.compare(u,e),isParent:(u,e)=>u.length+1===e.length&&0===ou.compare(u,e),isPath:u=>Array.isArray(u)&&(0===u.length||"number"===typeof u[0]),isSibling(u,e){if(u.length!==e.length)return!1;var t=u.slice(0,-1),r=e.slice(0,-1);return u[u.length-1]!==e[e.length-1]&&ou.equals(t,r)},levels(u){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{reverse:t=!1}=e,r=[],n=0;n<=u.length;n++)r.push(u.slice(0,n));return t&&r.reverse(),r},next(u){if(0===u.length)throw new Error("Cannot get the next path of a root path [".concat(u,"], because it has no next index."));var e=u[u.length-1];return u.slice(0,-1).concat(e+1)},operationCanTransformPath(u){switch(u.type){case"insert_node":case"remove_node":case"merge_node":case"split_node":case"move_node":return!0;default:return!1}},parent(u){if(0===u.length)throw new Error("Cannot get the parent path of the root path [".concat(u,"]."));return u.slice(0,-1)},previous(u){if(0===u.length)throw new Error("Cannot get the previous path of a root path [".concat(u,"], because it has no previous index."));var e=u[u.length-1];if(e<=0)throw new Error("Cannot get the previous path of a first child path [".concat(u,"] because it would result in a negative index."));return u.slice(0,-1).concat(e-1)},relative(u,e){if(!ou.isAncestor(e,u)&&!ou.equals(u,e))throw new Error("Cannot get the relative path of [".concat(u,"] inside ancestor [").concat(e,"], because it is not above or equal to the path."));return u.slice(e.length)},transform(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return(0,n.Uy)(u,(r=>{var{affinity:n="forward"}=t;if(u&&0!==(null===u||void 0===u?void 0:u.length)){if(null===r)return null;switch(e.type){case"insert_node":var{path:a}=e;(ou.equals(a,r)||ou.endsBefore(a,r)||ou.isAncestor(a,r))&&(r[a.length-1]+=1);break;case"remove_node":var{path:o}=e;if(ou.equals(o,r)||ou.isAncestor(o,r))return null;ou.endsBefore(o,r)&&(r[o.length-1]-=1);break;case"merge_node":var{path:i,position:D}=e;ou.equals(i,r)||ou.endsBefore(i,r)?r[i.length-1]-=1:ou.isAncestor(i,r)&&(r[i.length-1]-=1,r[i.length]+=D);break;case"split_node":var{path:s,position:C}=e;if(ou.equals(s,r)){if("forward"===n)r[r.length-1]+=1;else if("backward"!==n)return null}else ou.endsBefore(s,r)?r[s.length-1]+=1:ou.isAncestor(s,r)&&u[s.length]>=C&&(r[s.length-1]+=1,r[s.length]-=C);break;case"move_node":var{path:l,newPath:B}=e;if(ou.equals(l,B))return;if(ou.isAncestor(l,r)||ou.equals(l,r)){var c=B.slice();return ou.endsBefore(l,B)&&l.lengthe.offset?1:0:t},isAfter:(u,e)=>1===Cu.compare(u,e),isBefore:(u,e)=>-1===Cu.compare(u,e),equals:(u,e)=>u.offset===e.offset&&ou.equals(u.path,e.path),isPoint:u=>(0,r.P)(u)&&"number"===typeof u.offset&&ou.isPath(u.path),transform(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return(0,n.Uy)(u,(u=>{if(null===u)return null;var{affinity:r="forward"}=t,{path:n,offset:a}=u;switch(e.type){case"insert_node":case"move_node":u.path=ou.transform(n,e,t);break;case"insert_text":ou.equals(e.path,n)&&(e.offset1&&void 0!==arguments[1]?arguments[1]:{},{reverse:t=!1}=e,{anchor:r,focus:n}=u;return fu.isBackward(u)===t?[r,n]:[n,r]},end(u){var[,e]=fu.edges(u);return e},equals:(u,e)=>Cu.equals(u.anchor,e.anchor)&&Cu.equals(u.focus,e.focus),includes(u,e){if(fu.isRange(e)){if(fu.includes(u,e.anchor)||fu.includes(u,e.focus))return!0;var[t,r]=fu.edges(u),[n,a]=fu.edges(e);return Cu.isBefore(t,n)&&Cu.isAfter(r,a)}var[o,i]=fu.edges(u),D=!1,s=!1;return Cu.isPoint(e)?(D=Cu.compare(e,o)>=0,s=Cu.compare(e,i)<=0):(D=ou.compare(e,o.path)>=0,s=ou.compare(e,i.path)<=0),D&&s},intersection(u,e){var t=A(u,Bu),[r,n]=fu.edges(u),[o,i]=fu.edges(e),D=Cu.isBefore(r,o)?o:r,s=Cu.isBefore(n,i)?n:i;return Cu.isBefore(s,D)?null:function(u){for(var e=1;e!fu.isCollapsed(u),isForward:u=>!fu.isBackward(u),isRange:u=>(0,r.P)(u)&&Cu.isPoint(u.anchor)&&Cu.isPoint(u.focus),*points(u){yield[u.anchor,"anchor"],yield[u.focus,"focus"]},start(u){var[e]=fu.edges(u);return e},transform(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return(0,n.Uy)(u,(u=>{if(null===u)return null;var r,n,{affinity:a="inward"}=t;if("inward"===a){var o=fu.isCollapsed(u);fu.isForward(u)?(r="forward",n=o?r:"backward"):(r="backward",n=o?r:"forward")}else"outward"===a?fu.isForward(u)?(r="backward",n="forward"):(r="forward",n="backward"):(r=a,n=a);var i=Cu.transform(u.anchor,e,{affinity:r}),D=Cu.transform(u.focus,e,{affinity:n});if(!i||!D)return null;u.anchor=i,u.focus=D}))}},hu={transform(u,e){var{current:t,affinity:r}=u;if(null!=t){var n=fu.transform(t,e,{affinity:r});u.current=n,null==n&&u.unref()}}},Au=void 0,du={setScrubber(u){Au=u},stringify:u=>JSON.stringify(u,Au)},Fu=(u,e)=>{for(var t in u){var n=u[t],a=e[t];if((0,r.P)(n)&&(0,r.P)(a)){if(!Fu(n,a))return!1}else if(Array.isArray(n)&&Array.isArray(a)){if(n.length!==a.length)return!1;for(var o=0;o2&&void 0!==arguments[2]?arguments[2]:{},{loose:r=!1}=t;function n(u){return A(u,vu)}return Fu(r?n(u):u,r?n(e):e)},isText:u=>(0,r.P)(u)&&"string"===typeof u.text,isTextList:u=>Array.isArray(u)&&u.every((u=>mu.isText(u))),isTextProps:u=>void 0!==u.text,matches(u,e){for(var t in e)if("text"!==t&&(!u.hasOwnProperty(t)||u[t]!==e[t]))return!1;return!0},decorations(u,e){var t=[gu({},u)];for(var r of e){var n=A(r,Eu),[a,o]=fu.edges(r),i=[],D=0,s=a.offset,C=o.offset;for(var l of t){var{length:B}=l.text,c=D;if(D+=B,s<=c&&D<=C)Object.assign(l,n),i.push(l);else if(s!==C&&(s===D||C===c)||s>D||Cc){var v=s-c;h=gu(gu({},f),{},{text:f.text.slice(0,v)}),f=gu(gu({},f),{},{text:f.text.slice(v)})}Object.assign(f,n),h&&i.push(h),i.push(f),d&&i.push(d)}}t=i}return t}};function yu(u,e){var t=Object.keys(u);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(u);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(u,e).enumerable}))),t.push.apply(t,r)}return t}function wu(u){for(var e=1;e2&&void 0!==arguments[2]?arguments[2]:{};K.withoutNormalizing(u,(()=>{var{hanging:r=!1,voids:n=!1,mode:a="lowest"}=t,{at:o,match:i,select:D}=t;if(tu.isNode(e)&&(e=[e]),0!==e.length){var[s]=e;if(o||(o=u.selection?u.selection:u.children.length>0?K.end(u,[]):[0],D=!0),null==D&&(D=!1),fu.isRange(o))if(r||(o=K.unhangRange(u,o)),fu.isCollapsed(o))o=o.anchor;else{var[,C]=fu.edges(o),l=K.pointRef(u,C);zu.delete(u,{at:o}),o=l.unref()}if(Cu.isPoint(o)){null==i&&(i=mu.isText(s)?u=>mu.isText(u):u.isInline(s)?e=>mu.isText(e)||K.isInline(u,e):e=>K.isBlock(u,e));var[B]=K.nodes(u,{at:o.path,match:i,mode:a,voids:n});if(!B)return;var[,c]=B,f=K.pathRef(u,c),h=K.isEnd(u,o,c);zu.splitNodes(u,{at:o,match:i,mode:a,voids:n});var A=f.unref();o=h?ou.next(A):A}var d=ou.parent(o),F=o[o.length-1];if(n||!K.void(u,{at:d})){for(var v of e){var E=d.concat(F);F++,u.apply({type:"insert_node",path:E,node:v}),o=ou.next(o)}if(o=ou.previous(o),D){var p=K.end(u,o);p&&zu.select(u,p)}}}}))},liftNodes(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};K.withoutNormalizing(u,(()=>{var{at:t=u.selection,mode:r="lowest",voids:n=!1}=e,{match:a}=e;if(null==a&&(a=ou.isPath(t)?_u(u,t):e=>K.isBlock(u,e)),t){var o=K.nodes(u,{at:t,match:a,mode:r,voids:n}),i=Array.from(o,(e=>{var[,t]=e;return K.pathRef(u,t)}));for(var D of i){var s=D.unref();if(s.length<2)throw new Error("Cannot lift node at a path [".concat(s,"] because it has a depth of less than `2`."));var C=K.node(u,ou.parent(s)),[l,B]=C,c=s[s.length-1],{length:f}=l.children;if(1===f){var h=ou.next(B);zu.moveNodes(u,{at:s,to:h,voids:n}),zu.removeNodes(u,{at:B,voids:n})}else if(0===c)zu.moveNodes(u,{at:s,to:B,voids:n});else if(c===f-1){var A=ou.next(B);zu.moveNodes(u,{at:s,to:A,voids:n})}else{var d=ou.next(s),F=ou.next(B);zu.splitNodes(u,{at:d,voids:n}),zu.moveNodes(u,{at:s,to:F,voids:n})}}}}))},mergeNodes(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};K.withoutNormalizing(u,(()=>{var{match:t,at:r=u.selection}=e,{hanging:n=!1,voids:a=!1,mode:o="lowest"}=e;if(r){if(null==t)if(ou.isPath(r)){var[i]=K.parent(u,r);t=u=>i.children.includes(u)}else t=e=>K.isBlock(u,e);if(!n&&fu.isRange(r)&&(r=K.unhangRange(u,r)),fu.isRange(r))if(fu.isCollapsed(r))r=r.anchor;else{var[,D]=fu.edges(r),s=K.pointRef(u,D);zu.delete(u,{at:r}),r=s.unref(),null==e.at&&zu.select(u,r)}var[C]=K.nodes(u,{at:r,match:t,voids:a,mode:o}),l=K.previous(u,{at:r,match:t,voids:a,mode:o});if(C&&l){var[B,c]=C,[f,h]=l;if(0!==c.length&&0!==h.length){var d,F,v=ou.next(h),E=ou.common(c,h),p=ou.isSibling(c,h),g=Array.from(K.levels(u,{at:c}),(u=>{var[e]=u;return e})).slice(E.length).slice(0,-1),m=K.above(u,{at:c,mode:"highest",match:e=>g.includes(e)&&ju(u,e)}),y=m&&K.pathRef(u,m[1]);if(mu.isText(B)&&mu.isText(f)){var w=A(B,bu);F=f.text.length,d=w}else{if(!J.isElement(B)||!J.isElement(f))throw new Error("Cannot merge the node at path [".concat(c,"] with the previous sibling because it is not the same kind: ").concat(du.stringify(B)," ").concat(du.stringify(f)));w=A(B,xu);F=f.children.length,d=w}p||zu.moveNodes(u,{at:c,to:v,voids:a}),y&&zu.removeNodes(u,{at:y.current,voids:a}),J.isElement(f)&&K.isEmpty(u,f)||mu.isText(f)&&""===f.text&&0!==h[h.length-1]?zu.removeNodes(u,{at:h,voids:a}):u.apply({type:"merge_node",path:v,position:F,properties:d}),y&&y.unref()}}}}))},moveNodes(u,e){K.withoutNormalizing(u,(()=>{var{to:t,at:r=u.selection,mode:n="lowest",voids:a=!1}=e,{match:o}=e;if(r){null==o&&(o=ou.isPath(r)?_u(u,r):e=>K.isBlock(u,e));var i=K.pathRef(u,t),D=K.nodes(u,{at:r,match:o,mode:n,voids:a}),s=Array.from(D,(e=>{var[,t]=e;return K.pathRef(u,t)}));for(var C of s){var l=C.unref(),B=i.current;0!==l.length&&u.apply({type:"move_node",path:l,newPath:B}),i.current&&ou.isSibling(B,l)&&ou.isAfter(B,l)&&(i.current=ou.next(i.current))}i.unref()}}))},removeNodes(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};K.withoutNormalizing(u,(()=>{var{hanging:t=!1,voids:r=!1,mode:n="lowest"}=e,{at:a=u.selection,match:o}=e;if(a){null==o&&(o=ou.isPath(a)?_u(u,a):e=>K.isBlock(u,e)),!t&&fu.isRange(a)&&(a=K.unhangRange(u,a));var i=K.nodes(u,{at:a,match:o,mode:n,voids:r}),D=Array.from(i,(e=>{var[,t]=e;return K.pathRef(u,t)}));for(var s of D){var C=s.unref();if(C){var[l]=K.node(u,C);u.apply({type:"remove_node",path:C,node:l})}}}}))},setNodes(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};K.withoutNormalizing(u,(()=>{var{match:r,at:n=u.selection,compare:a,merge:o}=t,{hanging:i=!1,mode:D="lowest",split:s=!1,voids:C=!1}=t;if(n){if(null==r&&(r=ou.isPath(n)?_u(u,n):e=>K.isBlock(u,e)),!i&&fu.isRange(n)&&(n=K.unhangRange(u,n)),s&&fu.isRange(n)){if(fu.isCollapsed(n)&&K.leaf(u,n.anchor)[0].text.length>0)return;var l=K.rangeRef(u,n,{affinity:"inward"}),[B,c]=fu.edges(n),f="lowest"===D?"lowest":"highest",h=K.isEnd(u,c,c.path);zu.splitNodes(u,{at:c,match:r,mode:f,voids:C,always:!h});var A=K.isStart(u,B,B.path);zu.splitNodes(u,{at:B,match:r,mode:f,voids:C,always:!A}),n=l.unref(),null==t.at&&zu.select(u,n)}for(var[d,F]of(a||(a=(u,e)=>u!==e),K.nodes(u,{at:n,match:r,mode:D,voids:C}))){var v={},E={};if(0!==F.length){var p=!1;for(var g in e)"children"!==g&&"text"!==g&&a(e[g],d[g])&&(p=!0,d.hasOwnProperty(g)&&(v[g]=d[g]),o?null!=e[g]&&(E[g]=o(d[g],e[g])):null!=e[g]&&(E[g]=e[g]));p&&u.apply({type:"set_node",path:F,properties:v,newProperties:E})}}}}))},splitNodes(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};K.withoutNormalizing(u,(()=>{var{mode:t="lowest",voids:r=!1}=e,{match:n,at:a=u.selection,height:o=0,always:i=!1}=e;if(null==n&&(n=e=>K.isBlock(u,e)),fu.isRange(a)&&(a=Nu(u,a)),ou.isPath(a)){var D=a,s=K.point(u,D),[C]=K.parent(u,D);n=u=>u===C,o=s.path.length-D.length+1,a=s,i=!0}if(a){var l,B=K.pointRef(u,a,{affinity:"backward"});try{var[c]=K.nodes(u,{at:a,match:n,mode:t,voids:r});if(!c)return;var f=K.void(u,{at:a,mode:"highest"});if(!r&&f){var[h,A]=f;if(J.isElement(h)&&u.isInline(h)){var d=K.after(u,A);if(!d){var F=ou.next(A);zu.insertNodes(u,{text:""},{at:F,voids:r}),d=K.point(u,F)}a=d,i=!0}o=a.path.length-A.length+1,i=!0}l=K.pointRef(u,a);var v=a.path.length-o,[,E]=c,p=a.path.slice(0,v),g=0===o?a.offset:a.path[v]+0;for(var[m,y]of K.levels(u,{at:p,reverse:!0,voids:r})){var w=!1;if(y.length2&&void 0!==arguments[2]?arguments[2]:{};Array.isArray(e)||(e=[e]);var r={};for(var n of e)r[n]=null;zu.setNodes(u,r,t)},unwrapNodes(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};K.withoutNormalizing(u,(()=>{var{mode:t="lowest",split:r=!1,voids:n=!1}=e,{at:a=u.selection,match:o}=e;if(a){null==o&&(o=ou.isPath(a)?_u(u,a):e=>K.isBlock(u,e)),ou.isPath(a)&&(a=K.range(u,a));var i=fu.isRange(a)?K.rangeRef(u,a):null,D=K.nodes(u,{at:a,match:o,mode:t,voids:n}),s=Array.from(D,(e=>{var[,t]=e;return K.pathRef(u,t)})).reverse(),C=function(e){var t=e.unref(),[a]=K.node(u,t),o=K.range(u,t);r&&i&&(o=fu.intersection(i.current,o)),zu.liftNodes(u,{at:o,match:u=>J.isAncestor(a)&&a.children.includes(u),voids:n})};for(var l of s)C(l);i&&i.unref()}}))},wrapNodes(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};K.withoutNormalizing(u,(()=>{var{mode:r="lowest",split:n=!1,voids:a=!1}=t,{match:o,at:i=u.selection}=t;if(i){if(null==o&&(o=ou.isPath(i)?_u(u,i):u.isInline(e)?e=>K.isInline(u,e)||mu.isText(e):e=>K.isBlock(u,e)),n&&fu.isRange(i)){var[D,s]=fu.edges(i),C=K.rangeRef(u,i,{affinity:"inward"});zu.splitNodes(u,{at:s,match:o,voids:a}),zu.splitNodes(u,{at:D,match:o,voids:a}),i=C.unref(),null==t.at&&zu.select(u,i)}var l=Array.from(K.nodes(u,{at:i,match:u.isInline(e)?e=>K.isBlock(u,e):u=>K.isEditor(u),mode:"lowest",voids:a}));for(var[,B]of l){var c=fu.isRange(i)?fu.intersection(i,K.range(u,B)):i;if(c){var f=Array.from(K.nodes(u,{at:c,match:o,mode:r,voids:a}));if(f.length>0)if("continue"===function(){var[t]=f,r=f[f.length-1],[,n]=t,[,o]=r;if(0===n.length&&0===o.length)return"continue";var i=ou.equals(n,o)?ou.parent(n):ou.common(n,o),D=K.range(u,n,o),s=K.node(u,i),[C]=s,l=i.length+1,B=ou.next(o.slice(0,l)),c=Pu(Pu({},e),{},{children:[]});zu.insertNodes(u,c,{at:B,voids:a}),zu.moveNodes(u,{at:D,match:u=>J.isAncestor(C)&&C.children.includes(u),to:B.concat(0),voids:a})}())continue}}}}))}},ju=(u,e)=>{if(J.isElement(e)){var t=e;return!!K.isVoid(u,e)||1===t.children.length&&ju(u,t.children[0])}return!K.isEditor(e)},Nu=(u,e)=>{if(fu.isCollapsed(e))return e.anchor;var[,t]=fu.edges(e),r=K.pointRef(u,t);return zu.delete(u,{at:e}),r.unref()},_u=(u,e)=>{var[t]=K.node(u,e);return u=>u===t};function Tu(u,e){var t=Object.keys(u);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(u);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(u,e).enumerable}))),t.push.apply(t,r)}return t}function Ru(u){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:{},{edge:t="anchor"}=e,{selection:r}=u;if(r)if("anchor"===t)zu.select(u,r.anchor);else if("focus"===t)zu.select(u,r.focus);else if("start"===t){var[n]=fu.edges(r);zu.select(u,n)}else if("end"===t){var[,a]=fu.edges(r);zu.select(u,a)}},deselect(u){var{selection:e}=u;e&&u.apply({type:"set_selection",properties:e,newProperties:null})},move(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{selection:t}=u,{distance:r=1,unit:n="character",reverse:a=!1}=e,{edge:o=null}=e;if(t){"start"===o&&(o=fu.isBackward(t)?"focus":"anchor"),"end"===o&&(o=fu.isBackward(t)?"anchor":"focus");var{anchor:i,focus:D}=t,s={distance:r,unit:n},C={};if(null==o||"anchor"===o){var l=a?K.before(u,i,s):K.after(u,i,s);l&&(C.anchor=l)}if(null==o||"focus"===o){var B=a?K.before(u,D,s):K.after(u,D,s);B&&(C.focus=B)}zu.setSelection(u,C)}},select(u,e){var{selection:t}=u;if(e=K.range(u,e),t)zu.setSelection(u,e);else{if(!fu.isRange(e))throw new Error("When setting the selection and the current selection is `null` you must provide at least an `anchor` and `focus`, but you passed: ".concat(du.stringify(e)));u.apply({type:"set_selection",properties:t,newProperties:e})}},setPoint(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{selection:r}=u,{edge:n="both"}=t;if(r){"start"===n&&(n=fu.isBackward(r)?"focus":"anchor"),"end"===n&&(n=fu.isBackward(r)?"anchor":"focus");var{anchor:a,focus:o}=r,i="anchor"===n?a:o;zu.setSelection(u,{["anchor"===n?"anchor":"focus"]:Ru(Ru({},i),e)})}},setSelection(u,e){var{selection:t}=u,r={},n={};if(t){for(var a in e)("anchor"===a&&null!=e.anchor&&!Cu.equals(e.anchor,t.anchor)||"focus"===a&&null!=e.focus&&!Cu.equals(e.focus,t.focus)||"anchor"!==a&&"focus"!==a&&e[a]!==t[a])&&(r[a]=t[a],n[a]=e[a]);Object.keys(r).length>0&&u.apply({type:"set_selection",properties:r,newProperties:n})}}},qu={delete(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};K.withoutNormalizing(u,(()=>{var{reverse:t=!1,unit:r="character",distance:n=1,voids:a=!1}=e,{at:o=u.selection,hanging:i=!1}=e;if(o){var D=!1;if(fu.isRange(o)&&fu.isCollapsed(o)&&(D=!0,o=o.anchor),Cu.isPoint(o)){var s=K.void(u,{at:o,mode:"highest"});if(!a&&s){var[,C]=s;o=C}else{var l={unit:r,distance:n};o={anchor:o,focus:t?K.before(u,o,l)||K.start(u,[]):K.after(u,o,l)||K.end(u,[])},i=!0}}if(ou.isPath(o))zu.removeNodes(u,{at:o,voids:a});else if(!fu.isCollapsed(o)){if(!i){var[,B]=fu.edges(o),c=K.end(u,[]);Cu.equals(B,c)||(o=K.unhangRange(u,o,{voids:a}))}var[f,h]=fu.edges(o),A=K.above(u,{match:e=>K.isBlock(u,e),at:f,voids:a}),d=K.above(u,{match:e=>K.isBlock(u,e),at:h,voids:a}),F=A&&d&&!ou.equals(A[1],d[1]),v=ou.equals(f.path,h.path),E=a?null:K.void(u,{at:f,mode:"highest"}),p=a?null:K.void(u,{at:h,mode:"highest"});if(E){var g=K.before(u,f);g&&A&&ou.isAncestor(A[1],g.path)&&(f=g)}if(p){var m=K.after(u,h);m&&d&&ou.isAncestor(d[1],m.path)&&(h=m)}var y,w=[];for(var b of K.nodes(u,{at:o,voids:a})){var[x,O]=b;y&&0===ou.compare(O,y)||(!a&&K.isVoid(u,x)||!ou.isCommon(O,f.path)&&!ou.isCommon(O,h.path))&&(w.push(b),y=O)}var P=Array.from(w,(e=>{var[,t]=e;return K.pathRef(u,t)})),k=K.pointRef(u,f),j=K.pointRef(u,h),N="";if(!v&&!E){var _=k.current,[T]=K.leaf(u,_),{path:R}=_,{offset:S}=f,q=T.text.slice(S);q.length>0&&(u.apply({type:"remove_text",path:R,offset:S,text:q}),N=q)}for(var I of P){var V=I.unref();zu.removeNodes(u,{at:V,voids:a})}if(!p){var z=j.current,[L]=K.leaf(u,z),{path:M}=z,W=v?f.offset:0,$=L.text.slice(W,h.offset);$.length>0&&(u.apply({type:"remove_text",path:M,offset:W,text:$}),N=$)}!v&&F&&j.current&&k.current&&zu.mergeNodes(u,{at:j.current,hanging:!0,voids:a}),D&&t&&"character"===r&&N.length>1&&N.match(/[\u0E00-\u0E7F]+/)&&zu.insertText(u,N.slice(0,N.length-n));var J=k.unref(),Z=j.unref(),U=t?J||Z:Z||J;null==e.at&&U&&zu.select(u,U)}}}))},insertFragment(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};K.withoutNormalizing(u,(()=>{var{hanging:r=!1,voids:n=!1}=t,{at:a=u.selection}=t;if(e.length&&a){if(fu.isRange(a))if(r||(a=K.unhangRange(u,a)),fu.isCollapsed(a))a=a.anchor;else{var[,o]=fu.edges(a);if(!n&&K.void(u,{at:o}))return;var i=K.pointRef(u,o);zu.delete(u,{at:a}),a=i.unref()}else ou.isPath(a)&&(a=K.start(u,a));if(n||!K.void(u,{at:a})){var D=K.above(u,{at:a,match:e=>K.isInline(u,e),mode:"highest",voids:n});if(D){var[,s]=D;if(K.isEnd(u,a,s))a=K.after(u,s);else if(K.isStart(u,a,s)){a=K.before(u,s)}}var C=K.above(u,{match:e=>K.isBlock(u,e),at:a,voids:n}),[,l]=C,B=K.isStart(u,a,l),c=K.isEnd(u,a,l),f=B&&c,h=!B||B&&c,A=!c,[,d]=tu.first({children:e},[]),[,F]=tu.last({children:e},[]),v=[],E=e=>{var[t,r]=e;return!(0===r.length)&&(!!f||!(h&&ou.isAncestor(r,d)&&J.isElement(t)&&!u.isVoid(t)&&!u.isInline(t))&&!(A&&ou.isAncestor(r,F)&&J.isElement(t)&&!u.isVoid(t)&&!u.isInline(t)))};for(var p of tu.nodes({children:e},{pass:E}))E(p)&&v.push(p);var g=[],m=[],y=[],w=!0,b=!1;for(var[x]of v)J.isElement(x)&&!u.isInline(x)?(w=!1,b=!0,m.push(x)):w?g.push(x):y.push(x);var[O]=K.nodes(u,{at:a,match:e=>mu.isText(e)||K.isInline(u,e),mode:"highest",voids:n}),[,P]=O,k=K.isStart(u,a,P),j=K.isEnd(u,a,P),N=K.pathRef(u,c&&!y.length?ou.next(l):l),_=K.pathRef(u,j?ou.next(P):P);zu.splitNodes(u,{at:a,match:e=>b?K.isBlock(u,e):mu.isText(e)||K.isInline(u,e),mode:b?"lowest":"highest",always:b&&(!B||g.length>0)&&(!c||y.length>0),voids:n});var T,R=K.pathRef(u,!k||k&&j?ou.next(P):P);if(zu.insertNodes(u,g,{at:R.current,match:e=>mu.isText(e)||K.isInline(u,e),mode:"highest",voids:n}),f&&!g.length&&m.length&&!y.length&&zu.delete(u,{at:l,voids:n}),zu.insertNodes(u,m,{at:N.current,match:e=>K.isBlock(u,e),mode:"lowest",voids:n}),zu.insertNodes(u,y,{at:_.current,match:e=>mu.isText(e)||K.isInline(u,e),mode:"highest",voids:n}),!t.at)if(y.length>0&&_.current?T=ou.previous(_.current):m.length>0&&N.current?T=ou.previous(N.current):R.current&&(T=ou.previous(R.current)),T){var S=K.end(u,T);zu.select(u,S)}R.unref(),N.unref(),_.unref()}}}))},insertText(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};K.withoutNormalizing(u,(()=>{var{voids:r=!1}=t,{at:n=u.selection}=t;if(n){if(ou.isPath(n)&&(n=K.range(u,n)),fu.isRange(n))if(fu.isCollapsed(n))n=n.anchor;else{var a=fu.end(n);if(!r&&K.void(u,{at:a}))return;var o=fu.start(n),i=K.pointRef(u,o),D=K.pointRef(u,a);zu.delete(u,{at:n,voids:r});var s=i.unref(),C=D.unref();n=s||C,zu.setSelection(u,{anchor:n,focus:n})}if(r||!K.void(u,{at:n})){var{path:l,offset:B}=n;e.length>0&&u.apply({type:"insert_text",path:l,offset:B,text:e})}}}))}};function Iu(u,e){var t=Object.keys(u);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(u);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(u,e).enumerable}))),t.push.apply(t,r)}return t}function Vu(u){for(var e=1;e{switch(t.type){case"insert_node":var{path:r,node:n}=t,a=tu.parent(u,r),o=r[r.length-1];if(o>a.children.length)throw new Error('Cannot apply an "insert_node" operation at path ['.concat(r,"] because the destination is past the end of the node."));if(a.children.splice(o,0,n),e)for(var[i,D]of fu.points(e))e[D]=Cu.transform(i,t);break;case"insert_text":var{path:s,offset:C,text:l}=t;if(0===l.length)break;var B=tu.leaf(u,s),c=B.text.slice(0,C),f=B.text.slice(C);if(B.text=c+l+f,e)for(var[h,A]of fu.points(e))e[A]=Cu.transform(h,t);break;case"merge_node":var{path:d}=t,F=tu.get(u,d),v=ou.previous(d),E=tu.get(u,v),p=tu.parent(u,d),g=d[d.length-1];if(mu.isText(F)&&mu.isText(E))E.text+=F.text;else{if(mu.isText(F)||mu.isText(E))throw new Error('Cannot apply a "merge_node" operation at path ['.concat(d,"] to nodes of different interfaces: ").concat(du.stringify(F)," ").concat(du.stringify(E)));E.children.push(...F.children)}if(p.children.splice(g,1),e)for(var[m,y]of fu.points(e))e[y]=Cu.transform(m,t);break;case"move_node":var{path:w,newPath:b}=t;if(ou.isAncestor(w,b))throw new Error("Cannot move a path [".concat(w,"] to new path [").concat(b,"] because the destination is inside itself."));var x=tu.get(u,w),O=tu.parent(u,w),P=w[w.length-1];O.children.splice(P,1);var k=ou.transform(w,t),j=tu.get(u,ou.parent(k)),N=k[k.length-1];if(j.children.splice(N,0,x),e)for(var[_,T]of fu.points(e))e[T]=Cu.transform(_,t);break;case"remove_node":var{path:R}=t,S=R[R.length-1];if(tu.parent(u,R).children.splice(S,1),e)for(var[q,I]of fu.points(e)){var V=Cu.transform(q,t);if(null!=e&&null!=V)e[I]=V;else{var z=void 0,L=void 0;for(var[M,W]of tu.texts(u)){if(-1!==ou.compare(W,R)){L=[M,W];break}z=[M,W]}var $=!1;z&&L&&($=ou.equals(L[1],R)?!ou.hasPrevious(L[1]):ou.common(z[1],R).length{var u={children:[],operations:[],selection:null,marks:null,isInline:()=>!1,isVoid:()=>!1,onChange:()=>{},apply:e=>{for(var t of Q.pathRefs(u))Du.transform(t,e);for(var r of Q.pointRefs(u))Bu.transform(r,e);for(var n of Q.rangeRefs(u))Au.transform(n,e);var a,s,C=o.get(u)||[],l=i.get(u)||new Set,B=u=>{if(u){var e=u.join(",");s.has(e)||(s.add(e),a.push(u))}};if(iu.operationCanTransformPath(e))for(var c of(a=[],s=new Set,C)){B(iu.transform(c,e))}else a=C,s=l;var f=A(e);for(var h of f)B(h);o.set(u,a),i.set(u,s),Lu.transform(u,e),u.operations.push(e),Q.normalize(u),"set_selection"===e.type&&(u.marks=null),D.get(u)||(D.set(u,!0),Promise.resolve().then((()=>{D.set(u,!1),u.onChange(),u.operations=[]})))},addMark:(e,t)=>{var{selection:r}=u;if(r)if(hu.isExpanded(r))Lu.setNodes(u,{[e]:t},{match:yu.isText,split:!0});else{var n=f(f({},Q.marks(u)||{}),{},{[e]:t});u.marks=n,D.get(u)||u.onChange()}},deleteBackward:e=>{var{selection:t}=u;t&&hu.isCollapsed(t)&&Lu.delete(u,{unit:e,reverse:!0})},deleteForward:e=>{var{selection:t}=u;t&&hu.isCollapsed(t)&&Lu.delete(u,{unit:e})},deleteFragment:e=>{var{selection:t}=u;t&&hu.isExpanded(t)&&Lu.delete(u,{reverse:"backward"===e})},getFragment:()=>{var{selection:e}=u;return e?ru.fragment(u,e):[]},insertBreak:()=>{Lu.splitNodes(u,{always:!0})},insertSoftBreak:()=>{Lu.splitNodes(u,{always:!0})},insertFragment:e=>{Lu.insertFragment(u,e)},insertNode:e=>{Lu.insertNodes(u,e)},insertText:e=>{var{selection:t,marks:r}=u;if(t){if(r){var n=f({text:e},r);Lu.insertNodes(u,n)}else Lu.insertText(u,e);u.marks=null}},normalizeNode:e=>{var[t,r]=e;if(!yu.isText(t))if(Z.isElement(t)&&0===t.children.length){Lu.insertNodes(u,{text:""},{at:r.concat(0),voids:!0})}else for(var n=!Q.isEditor(t)&&(Z.isElement(t)&&(u.isInline(t)||0===t.children.length||yu.isText(t.children[0])||u.isInline(t.children[0]))),a=0,o=0;o{var{selection:t}=u;if(t)if(hu.isExpanded(t))Lu.unsetNodes(u,e,{match:yu.isText,split:!0});else{var r=f({},Q.marks(u)||{});delete r[e],u.marks=r,D.get(u)||u.onChange()}}};return u},A=u=>{switch(u.type){case"insert_text":case"remove_text":case"set_node":var{path:e}=u;return iu.levels(e);case"insert_node":var{node:t,path:r}=u,n=iu.levels(r),a=yu.isText(t)?[]:Array.from(ru.nodes(t),(u=>{var[,e]=u;return r.concat(e)}));return[...n,...a];case"merge_node":var{path:o}=u;return[...iu.ancestors(o),iu.previous(o)];case"move_node":var{path:i,newPath:D}=u;if(iu.equals(i,D))return[];var s=[],C=[];for(var l of iu.ancestors(i)){var B=iu.transform(l,u);s.push(B)}for(var c of iu.ancestors(D)){var f=iu.transform(c,u);C.push(f)}var h=C[C.length-1],A=D[D.length-1],d=h.concat(A);return[...s,...C,d];case"remove_node":var{path:F}=u;return[...iu.ancestors(F)];case"split_node":var{path:v}=u;return[...iu.levels(v),iu.next(v)];default:return[]}};function d(u,e){if(null==u)return{};var t,r,n=function(u,e){if(null==u)return{};var t,r,n={},a=Object.keys(u);for(r=0;r=0||(n[t]=u[t]);return n}(u,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(u);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(u,t)&&(n[t]=u[t])}return n}var F,v=function(u){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=!e,r=e?w(u):u,n=F.None,a=F.None,o=0,i=null;for(var D of r){var s=D.codePointAt(0);if(!s)break;var C=q(D,s);if([n,a]=t?[a,C]:[C,n],I(n,F.ZWJ)&&I(a,F.ExtPict)&&!M(t?u.substring(0,o):u.substring(0,u.length-o)))break;if(I(n,F.RI)&&I(a,F.RI)&&!(i=null!==i?!i:!!t||$(u.substring(0,u.length-o))))break;if(n!==F.None&&a!==F.None&&z(n,a))break;o+=D.length}return o||1},E=/\s/,p=/[\u0021-\u0023\u0025-\u002A\u002C-\u002F\u003A\u003B\u003F\u0040\u005B-\u005D\u005F\u007B\u007D\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E3B\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/,g=/['\u2018\u2019]/,m=(u,e,t)=>{if(t){var r=u.length-e;return[u.slice(r,u.length),u.slice(0,r)]}return[u.slice(0,e),u.slice(e)]},y=function u(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(E.test(e))return!1;if(g.test(e)){var n=v(t,r),[a,o]=m(t,n,r);if(u(a,o,r))return!0}return!p.test(e)},w=function*(u){for(var e=u.length-1,t=0;tu>=55296&&u<=56319,x=u=>u>=56320&&u<=57343;!function(u){u[u.None=0]="None",u[u.Extend=1]="Extend",u[u.ZWJ=2]="ZWJ",u[u.RI=4]="RI",u[u.Prepend=8]="Prepend",u[u.SpacingMark=16]="SpacingMark",u[u.L=32]="L",u[u.V=64]="V",u[u.T=128]="T",u[u.LV=256]="LV",u[u.LVT=512]="LVT",u[u.ExtPict=1024]="ExtPict",u[u.Any=2048]="Any"}(F||(F={}));var O=/^(?:[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09BE\u09C1-\u09C4\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01\u0B3C\u0B3E\u0B3F\u0B41-\u0B44\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE\u0BC0\u0BCD\u0BD7\u0C00\u0C04\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CBF\u0CC2\u0CC6\u0CCC\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D3E\u0D41-\u0D44\u0D4D\u0D57\u0D62\u0D63\u0D81\u0DCA\u0DCF\u0DD2-\u0DD4\u0DD6\u0DDF\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1AC0\u1B00-\u1B03\u1B34-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u200C\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA82C\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFF9E\uFF9F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDF46-\uDF50]|\uD804[\uDC01\uDC38-\uDC46\uDC7F-\uDC81\uDCB3-\uDCB6\uDCB9\uDCBA\uDD00-\uDD02\uDD27-\uDD2B\uDD2D-\uDD34\uDD73\uDD80\uDD81\uDDB6-\uDDBE\uDDC9-\uDDCC\uDDCF\uDE2F-\uDE31\uDE34\uDE36\uDE37\uDE3E\uDEDF\uDEE3-\uDEEA\uDF00\uDF01\uDF3B\uDF3C\uDF3E\uDF40\uDF57\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC38-\uDC3F\uDC42-\uDC44\uDC46\uDC5E\uDCB0\uDCB3-\uDCB8\uDCBA\uDCBD\uDCBF\uDCC0\uDCC2\uDCC3\uDDAF\uDDB2-\uDDB5\uDDBC\uDDBD\uDDBF\uDDC0\uDDDC\uDDDD\uDE33-\uDE3A\uDE3D\uDE3F\uDE40\uDEAB\uDEAD\uDEB0-\uDEB5\uDEB7\uDF1D-\uDF1F\uDF22-\uDF25\uDF27-\uDF2B]|\uD806[\uDC2F-\uDC37\uDC39\uDC3A\uDD30\uDD3B\uDD3C\uDD3E\uDD43\uDDD4-\uDDD7\uDDDA\uDDDB\uDDE0\uDE01-\uDE0A\uDE33-\uDE38\uDE3B-\uDE3E\uDE47\uDE51-\uDE56\uDE59-\uDE5B\uDE8A-\uDE96\uDE98\uDE99]|\uD807[\uDC30-\uDC36\uDC38-\uDC3D\uDC3F\uDC92-\uDCA7\uDCAA-\uDCB0\uDCB2\uDCB3\uDCB5\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD90\uDD91\uDD95\uDD97\uDEF3\uDEF4]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF8F-\uDF92\uDFE4]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65\uDD67-\uDD69\uDD6E-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD30-\uDD36\uDEEC-\uDEEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uD83C[\uDFFB-\uDFFF]|\uDB40[\uDC20-\uDC7F\uDD00-\uDDEF])$/,P=/^(?:[\u0600-\u0605\u06DD\u070F\u0890\u0891\u08E2\u0D4E]|\uD804[\uDCBD\uDCCD\uDDC2\uDDC3]|\uD806[\uDD3F\uDD41\uDE3A\uDE84-\uDE89]|\uD807\uDD46)$/,k=/^(?:[\u0903\u093B\u093E-\u0940\u0949-\u094C\u094E\u094F\u0982\u0983\u09BF\u09C0\u09C7\u09C8\u09CB\u09CC\u0A03\u0A3E-\u0A40\u0A83\u0ABE-\u0AC0\u0AC9\u0ACB\u0ACC\u0B02\u0B03\u0B40\u0B47\u0B48\u0B4B\u0B4C\u0BBF\u0BC1\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0C01-\u0C03\u0C41-\u0C44\u0C82\u0C83\u0CBE\u0CC0\u0CC1\u0CC3\u0CC4\u0CC7\u0CC8\u0CCA\u0CCB\u0D02\u0D03\u0D3F\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D82\u0D83\u0DD0\u0DD1\u0DD8-\u0DDE\u0DF2\u0DF3\u0E33\u0EB3\u0F3E\u0F3F\u0F7F\u1031\u103B\u103C\u1056\u1057\u1084\u1715\u1734\u17B6\u17BE-\u17C5\u17C7\u17C8\u1923-\u1926\u1929-\u192B\u1930\u1931\u1933-\u1938\u1A19\u1A1A\u1A55\u1A57\u1A6D-\u1A72\u1B04\u1B3B\u1B3D-\u1B41\u1B43\u1B44\u1B82\u1BA1\u1BA6\u1BA7\u1BAA\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2\u1BF3\u1C24-\u1C2B\u1C34\u1C35\u1CE1\u1CF7\uA823\uA824\uA827\uA880\uA881\uA8B4-\uA8C3\uA952\uA953\uA983\uA9B4\uA9B5\uA9BA\uA9BB\uA9BE-\uA9C0\uAA2F\uAA30\uAA33\uAA34\uAA4D\uAAEB\uAAEE\uAAEF\uAAF5\uABE3\uABE4\uABE6\uABE7\uABE9\uABEA\uABEC]|\uD804[\uDC00\uDC02\uDC82\uDCB0-\uDCB2\uDCB7\uDCB8\uDD2C\uDD45\uDD46\uDD82\uDDB3-\uDDB5\uDDBF\uDDC0\uDDCE\uDE2C-\uDE2E\uDE32\uDE33\uDE35\uDEE0-\uDEE2\uDF02\uDF03\uDF3F\uDF41-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF62\uDF63]|\uD805[\uDC35-\uDC37\uDC40\uDC41\uDC45\uDCB1\uDCB2\uDCB9\uDCBB\uDCBC\uDCBE\uDCC1\uDDB0\uDDB1\uDDB8-\uDDBB\uDDBE\uDE30-\uDE32\uDE3B\uDE3C\uDE3E\uDEAC\uDEAE\uDEAF\uDEB6\uDF26]|\uD806[\uDC2C-\uDC2E\uDC38\uDD31-\uDD35\uDD37\uDD38\uDD3D\uDD40\uDD42\uDDD1-\uDDD3\uDDDC-\uDDDF\uDDE4\uDE39\uDE57\uDE58\uDE97]|\uD807[\uDC2F\uDC3E\uDCA9\uDCB1\uDCB4\uDD8A-\uDD8E\uDD93\uDD94\uDD96\uDEF5\uDEF6]|\uD81B[\uDF51-\uDF87\uDFF0\uDFF1]|\uD834[\uDD66\uDD6D])$/,j=/^[\u1100-\u115F\uA960-\uA97C]$/,N=/^[\u1160-\u11A7\uD7B0-\uD7C6]$/,_=/^[\u11A8-\u11FF\uD7CB-\uD7FB]$/,T=/^[\uAC00\uAC1C\uAC38\uAC54\uAC70\uAC8C\uACA8\uACC4\uACE0\uACFC\uAD18\uAD34\uAD50\uAD6C\uAD88\uADA4\uADC0\uADDC\uADF8\uAE14\uAE30\uAE4C\uAE68\uAE84\uAEA0\uAEBC\uAED8\uAEF4\uAF10\uAF2C\uAF48\uAF64\uAF80\uAF9C\uAFB8\uAFD4\uAFF0\uB00C\uB028\uB044\uB060\uB07C\uB098\uB0B4\uB0D0\uB0EC\uB108\uB124\uB140\uB15C\uB178\uB194\uB1B0\uB1CC\uB1E8\uB204\uB220\uB23C\uB258\uB274\uB290\uB2AC\uB2C8\uB2E4\uB300\uB31C\uB338\uB354\uB370\uB38C\uB3A8\uB3C4\uB3E0\uB3FC\uB418\uB434\uB450\uB46C\uB488\uB4A4\uB4C0\uB4DC\uB4F8\uB514\uB530\uB54C\uB568\uB584\uB5A0\uB5BC\uB5D8\uB5F4\uB610\uB62C\uB648\uB664\uB680\uB69C\uB6B8\uB6D4\uB6F0\uB70C\uB728\uB744\uB760\uB77C\uB798\uB7B4\uB7D0\uB7EC\uB808\uB824\uB840\uB85C\uB878\uB894\uB8B0\uB8CC\uB8E8\uB904\uB920\uB93C\uB958\uB974\uB990\uB9AC\uB9C8\uB9E4\uBA00\uBA1C\uBA38\uBA54\uBA70\uBA8C\uBAA8\uBAC4\uBAE0\uBAFC\uBB18\uBB34\uBB50\uBB6C\uBB88\uBBA4\uBBC0\uBBDC\uBBF8\uBC14\uBC30\uBC4C\uBC68\uBC84\uBCA0\uBCBC\uBCD8\uBCF4\uBD10\uBD2C\uBD48\uBD64\uBD80\uBD9C\uBDB8\uBDD4\uBDF0\uBE0C\uBE28\uBE44\uBE60\uBE7C\uBE98\uBEB4\uBED0\uBEEC\uBF08\uBF24\uBF40\uBF5C\uBF78\uBF94\uBFB0\uBFCC\uBFE8\uC004\uC020\uC03C\uC058\uC074\uC090\uC0AC\uC0C8\uC0E4\uC100\uC11C\uC138\uC154\uC170\uC18C\uC1A8\uC1C4\uC1E0\uC1FC\uC218\uC234\uC250\uC26C\uC288\uC2A4\uC2C0\uC2DC\uC2F8\uC314\uC330\uC34C\uC368\uC384\uC3A0\uC3BC\uC3D8\uC3F4\uC410\uC42C\uC448\uC464\uC480\uC49C\uC4B8\uC4D4\uC4F0\uC50C\uC528\uC544\uC560\uC57C\uC598\uC5B4\uC5D0\uC5EC\uC608\uC624\uC640\uC65C\uC678\uC694\uC6B0\uC6CC\uC6E8\uC704\uC720\uC73C\uC758\uC774\uC790\uC7AC\uC7C8\uC7E4\uC800\uC81C\uC838\uC854\uC870\uC88C\uC8A8\uC8C4\uC8E0\uC8FC\uC918\uC934\uC950\uC96C\uC988\uC9A4\uC9C0\uC9DC\uC9F8\uCA14\uCA30\uCA4C\uCA68\uCA84\uCAA0\uCABC\uCAD8\uCAF4\uCB10\uCB2C\uCB48\uCB64\uCB80\uCB9C\uCBB8\uCBD4\uCBF0\uCC0C\uCC28\uCC44\uCC60\uCC7C\uCC98\uCCB4\uCCD0\uCCEC\uCD08\uCD24\uCD40\uCD5C\uCD78\uCD94\uCDB0\uCDCC\uCDE8\uCE04\uCE20\uCE3C\uCE58\uCE74\uCE90\uCEAC\uCEC8\uCEE4\uCF00\uCF1C\uCF38\uCF54\uCF70\uCF8C\uCFA8\uCFC4\uCFE0\uCFFC\uD018\uD034\uD050\uD06C\uD088\uD0A4\uD0C0\uD0DC\uD0F8\uD114\uD130\uD14C\uD168\uD184\uD1A0\uD1BC\uD1D8\uD1F4\uD210\uD22C\uD248\uD264\uD280\uD29C\uD2B8\uD2D4\uD2F0\uD30C\uD328\uD344\uD360\uD37C\uD398\uD3B4\uD3D0\uD3EC\uD408\uD424\uD440\uD45C\uD478\uD494\uD4B0\uD4CC\uD4E8\uD504\uD520\uD53C\uD558\uD574\uD590\uD5AC\uD5C8\uD5E4\uD600\uD61C\uD638\uD654\uD670\uD68C\uD6A8\uD6C4\uD6E0\uD6FC\uD718\uD734\uD750\uD76C\uD788]$/,R=/^[\uAC01-\uAC1B\uAC1D-\uAC37\uAC39-\uAC53\uAC55-\uAC6F\uAC71-\uAC8B\uAC8D-\uACA7\uACA9-\uACC3\uACC5-\uACDF\uACE1-\uACFB\uACFD-\uAD17\uAD19-\uAD33\uAD35-\uAD4F\uAD51-\uAD6B\uAD6D-\uAD87\uAD89-\uADA3\uADA5-\uADBF\uADC1-\uADDB\uADDD-\uADF7\uADF9-\uAE13\uAE15-\uAE2F\uAE31-\uAE4B\uAE4D-\uAE67\uAE69-\uAE83\uAE85-\uAE9F\uAEA1-\uAEBB\uAEBD-\uAED7\uAED9-\uAEF3\uAEF5-\uAF0F\uAF11-\uAF2B\uAF2D-\uAF47\uAF49-\uAF63\uAF65-\uAF7F\uAF81-\uAF9B\uAF9D-\uAFB7\uAFB9-\uAFD3\uAFD5-\uAFEF\uAFF1-\uB00B\uB00D-\uB027\uB029-\uB043\uB045-\uB05F\uB061-\uB07B\uB07D-\uB097\uB099-\uB0B3\uB0B5-\uB0CF\uB0D1-\uB0EB\uB0ED-\uB107\uB109-\uB123\uB125-\uB13F\uB141-\uB15B\uB15D-\uB177\uB179-\uB193\uB195-\uB1AF\uB1B1-\uB1CB\uB1CD-\uB1E7\uB1E9-\uB203\uB205-\uB21F\uB221-\uB23B\uB23D-\uB257\uB259-\uB273\uB275-\uB28F\uB291-\uB2AB\uB2AD-\uB2C7\uB2C9-\uB2E3\uB2E5-\uB2FF\uB301-\uB31B\uB31D-\uB337\uB339-\uB353\uB355-\uB36F\uB371-\uB38B\uB38D-\uB3A7\uB3A9-\uB3C3\uB3C5-\uB3DF\uB3E1-\uB3FB\uB3FD-\uB417\uB419-\uB433\uB435-\uB44F\uB451-\uB46B\uB46D-\uB487\uB489-\uB4A3\uB4A5-\uB4BF\uB4C1-\uB4DB\uB4DD-\uB4F7\uB4F9-\uB513\uB515-\uB52F\uB531-\uB54B\uB54D-\uB567\uB569-\uB583\uB585-\uB59F\uB5A1-\uB5BB\uB5BD-\uB5D7\uB5D9-\uB5F3\uB5F5-\uB60F\uB611-\uB62B\uB62D-\uB647\uB649-\uB663\uB665-\uB67F\uB681-\uB69B\uB69D-\uB6B7\uB6B9-\uB6D3\uB6D5-\uB6EF\uB6F1-\uB70B\uB70D-\uB727\uB729-\uB743\uB745-\uB75F\uB761-\uB77B\uB77D-\uB797\uB799-\uB7B3\uB7B5-\uB7CF\uB7D1-\uB7EB\uB7ED-\uB807\uB809-\uB823\uB825-\uB83F\uB841-\uB85B\uB85D-\uB877\uB879-\uB893\uB895-\uB8AF\uB8B1-\uB8CB\uB8CD-\uB8E7\uB8E9-\uB903\uB905-\uB91F\uB921-\uB93B\uB93D-\uB957\uB959-\uB973\uB975-\uB98F\uB991-\uB9AB\uB9AD-\uB9C7\uB9C9-\uB9E3\uB9E5-\uB9FF\uBA01-\uBA1B\uBA1D-\uBA37\uBA39-\uBA53\uBA55-\uBA6F\uBA71-\uBA8B\uBA8D-\uBAA7\uBAA9-\uBAC3\uBAC5-\uBADF\uBAE1-\uBAFB\uBAFD-\uBB17\uBB19-\uBB33\uBB35-\uBB4F\uBB51-\uBB6B\uBB6D-\uBB87\uBB89-\uBBA3\uBBA5-\uBBBF\uBBC1-\uBBDB\uBBDD-\uBBF7\uBBF9-\uBC13\uBC15-\uBC2F\uBC31-\uBC4B\uBC4D-\uBC67\uBC69-\uBC83\uBC85-\uBC9F\uBCA1-\uBCBB\uBCBD-\uBCD7\uBCD9-\uBCF3\uBCF5-\uBD0F\uBD11-\uBD2B\uBD2D-\uBD47\uBD49-\uBD63\uBD65-\uBD7F\uBD81-\uBD9B\uBD9D-\uBDB7\uBDB9-\uBDD3\uBDD5-\uBDEF\uBDF1-\uBE0B\uBE0D-\uBE27\uBE29-\uBE43\uBE45-\uBE5F\uBE61-\uBE7B\uBE7D-\uBE97\uBE99-\uBEB3\uBEB5-\uBECF\uBED1-\uBEEB\uBEED-\uBF07\uBF09-\uBF23\uBF25-\uBF3F\uBF41-\uBF5B\uBF5D-\uBF77\uBF79-\uBF93\uBF95-\uBFAF\uBFB1-\uBFCB\uBFCD-\uBFE7\uBFE9-\uC003\uC005-\uC01F\uC021-\uC03B\uC03D-\uC057\uC059-\uC073\uC075-\uC08F\uC091-\uC0AB\uC0AD-\uC0C7\uC0C9-\uC0E3\uC0E5-\uC0FF\uC101-\uC11B\uC11D-\uC137\uC139-\uC153\uC155-\uC16F\uC171-\uC18B\uC18D-\uC1A7\uC1A9-\uC1C3\uC1C5-\uC1DF\uC1E1-\uC1FB\uC1FD-\uC217\uC219-\uC233\uC235-\uC24F\uC251-\uC26B\uC26D-\uC287\uC289-\uC2A3\uC2A5-\uC2BF\uC2C1-\uC2DB\uC2DD-\uC2F7\uC2F9-\uC313\uC315-\uC32F\uC331-\uC34B\uC34D-\uC367\uC369-\uC383\uC385-\uC39F\uC3A1-\uC3BB\uC3BD-\uC3D7\uC3D9-\uC3F3\uC3F5-\uC40F\uC411-\uC42B\uC42D-\uC447\uC449-\uC463\uC465-\uC47F\uC481-\uC49B\uC49D-\uC4B7\uC4B9-\uC4D3\uC4D5-\uC4EF\uC4F1-\uC50B\uC50D-\uC527\uC529-\uC543\uC545-\uC55F\uC561-\uC57B\uC57D-\uC597\uC599-\uC5B3\uC5B5-\uC5CF\uC5D1-\uC5EB\uC5ED-\uC607\uC609-\uC623\uC625-\uC63F\uC641-\uC65B\uC65D-\uC677\uC679-\uC693\uC695-\uC6AF\uC6B1-\uC6CB\uC6CD-\uC6E7\uC6E9-\uC703\uC705-\uC71F\uC721-\uC73B\uC73D-\uC757\uC759-\uC773\uC775-\uC78F\uC791-\uC7AB\uC7AD-\uC7C7\uC7C9-\uC7E3\uC7E5-\uC7FF\uC801-\uC81B\uC81D-\uC837\uC839-\uC853\uC855-\uC86F\uC871-\uC88B\uC88D-\uC8A7\uC8A9-\uC8C3\uC8C5-\uC8DF\uC8E1-\uC8FB\uC8FD-\uC917\uC919-\uC933\uC935-\uC94F\uC951-\uC96B\uC96D-\uC987\uC989-\uC9A3\uC9A5-\uC9BF\uC9C1-\uC9DB\uC9DD-\uC9F7\uC9F9-\uCA13\uCA15-\uCA2F\uCA31-\uCA4B\uCA4D-\uCA67\uCA69-\uCA83\uCA85-\uCA9F\uCAA1-\uCABB\uCABD-\uCAD7\uCAD9-\uCAF3\uCAF5-\uCB0F\uCB11-\uCB2B\uCB2D-\uCB47\uCB49-\uCB63\uCB65-\uCB7F\uCB81-\uCB9B\uCB9D-\uCBB7\uCBB9-\uCBD3\uCBD5-\uCBEF\uCBF1-\uCC0B\uCC0D-\uCC27\uCC29-\uCC43\uCC45-\uCC5F\uCC61-\uCC7B\uCC7D-\uCC97\uCC99-\uCCB3\uCCB5-\uCCCF\uCCD1-\uCCEB\uCCED-\uCD07\uCD09-\uCD23\uCD25-\uCD3F\uCD41-\uCD5B\uCD5D-\uCD77\uCD79-\uCD93\uCD95-\uCDAF\uCDB1-\uCDCB\uCDCD-\uCDE7\uCDE9-\uCE03\uCE05-\uCE1F\uCE21-\uCE3B\uCE3D-\uCE57\uCE59-\uCE73\uCE75-\uCE8F\uCE91-\uCEAB\uCEAD-\uCEC7\uCEC9-\uCEE3\uCEE5-\uCEFF\uCF01-\uCF1B\uCF1D-\uCF37\uCF39-\uCF53\uCF55-\uCF6F\uCF71-\uCF8B\uCF8D-\uCFA7\uCFA9-\uCFC3\uCFC5-\uCFDF\uCFE1-\uCFFB\uCFFD-\uD017\uD019-\uD033\uD035-\uD04F\uD051-\uD06B\uD06D-\uD087\uD089-\uD0A3\uD0A5-\uD0BF\uD0C1-\uD0DB\uD0DD-\uD0F7\uD0F9-\uD113\uD115-\uD12F\uD131-\uD14B\uD14D-\uD167\uD169-\uD183\uD185-\uD19F\uD1A1-\uD1BB\uD1BD-\uD1D7\uD1D9-\uD1F3\uD1F5-\uD20F\uD211-\uD22B\uD22D-\uD247\uD249-\uD263\uD265-\uD27F\uD281-\uD29B\uD29D-\uD2B7\uD2B9-\uD2D3\uD2D5-\uD2EF\uD2F1-\uD30B\uD30D-\uD327\uD329-\uD343\uD345-\uD35F\uD361-\uD37B\uD37D-\uD397\uD399-\uD3B3\uD3B5-\uD3CF\uD3D1-\uD3EB\uD3ED-\uD407\uD409-\uD423\uD425-\uD43F\uD441-\uD45B\uD45D-\uD477\uD479-\uD493\uD495-\uD4AF\uD4B1-\uD4CB\uD4CD-\uD4E7\uD4E9-\uD503\uD505-\uD51F\uD521-\uD53B\uD53D-\uD557\uD559-\uD573\uD575-\uD58F\uD591-\uD5AB\uD5AD-\uD5C7\uD5C9-\uD5E3\uD5E5-\uD5FF\uD601-\uD61B\uD61D-\uD637\uD639-\uD653\uD655-\uD66F\uD671-\uD68B\uD68D-\uD6A7\uD6A9-\uD6C3\uD6C5-\uD6DF\uD6E1-\uD6FB\uD6FD-\uD717\uD719-\uD733\uD735-\uD74F\uD751-\uD76B\uD76D-\uD787\uD789-\uD7A3]$/,S=/^(?:[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u2388\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2605\u2607-\u2612\u2614-\u2685\u2690-\u2705\u2708-\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763-\u2767\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC00-\uDCFF\uDD0D-\uDD0F\uDD2F\uDD6C-\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDAD-\uDDE5\uDE01-\uDE0F\uDE1A\uDE2F\uDE32-\uDE3A\uDE3C-\uDE3F\uDE49-\uDFFA]|\uD83D[\uDC00-\uDD3D\uDD46-\uDE4F\uDE80-\uDEFF\uDF74-\uDF7F\uDFD5-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE-\uDCFF\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDEFF]|\uD83F[\uDC00-\uDFFD])$/,q=(u,e)=>{var t=F.Any;return-1!==u.search(O)&&(t|=F.Extend),8205===e&&(t|=F.ZWJ),e>=127462&&e<=127487&&(t|=F.RI),-1!==u.search(P)&&(t|=F.Prepend),-1!==u.search(k)&&(t|=F.SpacingMark),-1!==u.search(j)&&(t|=F.L),-1!==u.search(N)&&(t|=F.V),-1!==u.search(_)&&(t|=F.T),-1!==u.search(T)&&(t|=F.LV),-1!==u.search(R)&&(t|=F.LVT),-1!==u.search(S)&&(t|=F.ExtPict),t};function I(u,e){return 0!==(u&e)}var V=[[F.L,F.L|F.V|F.LV|F.LVT],[F.LV|F.V,F.V|F.T],[F.LVT|F.T,F.T],[F.Any,F.Extend|F.ZWJ],[F.Any,F.SpacingMark],[F.Prepend,F.Any],[F.ZWJ,F.ExtPict],[F.RI,F.RI]];function z(u,e){return-1===V.findIndex((t=>I(u,t[0])&&I(e,t[1])))}var L=/(?:[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u2388\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2605\u2607-\u2612\u2614-\u2685\u2690-\u2705\u2708-\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763-\u2767\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC00-\uDCFF\uDD0D-\uDD0F\uDD2F\uDD6C-\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDAD-\uDDE5\uDE01-\uDE0F\uDE1A\uDE2F\uDE32-\uDE3A\uDE3C-\uDE3F\uDE49-\uDFFA]|\uD83D[\uDC00-\uDD3D\uDD46-\uDE4F\uDE80-\uDEFF\uDF74-\uDF7F\uDFD5-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE-\uDCFF\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDEFF]|\uD83F[\uDC00-\uDFFD])(?:[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09BE\u09C1-\u09C4\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01\u0B3C\u0B3E\u0B3F\u0B41-\u0B44\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE\u0BC0\u0BCD\u0BD7\u0C00\u0C04\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CBF\u0CC2\u0CC6\u0CCC\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D3E\u0D41-\u0D44\u0D4D\u0D57\u0D62\u0D63\u0D81\u0DCA\u0DCF\u0DD2-\u0DD4\u0DD6\u0DDF\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1AC0\u1B00-\u1B03\u1B34-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u200C\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA82C\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFF9E\uFF9F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDF46-\uDF50]|\uD804[\uDC01\uDC38-\uDC46\uDC7F-\uDC81\uDCB3-\uDCB6\uDCB9\uDCBA\uDD00-\uDD02\uDD27-\uDD2B\uDD2D-\uDD34\uDD73\uDD80\uDD81\uDDB6-\uDDBE\uDDC9-\uDDCC\uDDCF\uDE2F-\uDE31\uDE34\uDE36\uDE37\uDE3E\uDEDF\uDEE3-\uDEEA\uDF00\uDF01\uDF3B\uDF3C\uDF3E\uDF40\uDF57\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC38-\uDC3F\uDC42-\uDC44\uDC46\uDC5E\uDCB0\uDCB3-\uDCB8\uDCBA\uDCBD\uDCBF\uDCC0\uDCC2\uDCC3\uDDAF\uDDB2-\uDDB5\uDDBC\uDDBD\uDDBF\uDDC0\uDDDC\uDDDD\uDE33-\uDE3A\uDE3D\uDE3F\uDE40\uDEAB\uDEAD\uDEB0-\uDEB5\uDEB7\uDF1D-\uDF1F\uDF22-\uDF25\uDF27-\uDF2B]|\uD806[\uDC2F-\uDC37\uDC39\uDC3A\uDD30\uDD3B\uDD3C\uDD3E\uDD43\uDDD4-\uDDD7\uDDDA\uDDDB\uDDE0\uDE01-\uDE0A\uDE33-\uDE38\uDE3B-\uDE3E\uDE47\uDE51-\uDE56\uDE59-\uDE5B\uDE8A-\uDE96\uDE98\uDE99]|\uD807[\uDC30-\uDC36\uDC38-\uDC3D\uDC3F\uDC92-\uDCA7\uDCAA-\uDCB0\uDCB2\uDCB3\uDCB5\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD90\uDD91\uDD95\uDD97\uDEF3\uDEF4]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF8F-\uDF92\uDFE4]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65\uDD67-\uDD69\uDD6E-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD30-\uDD36\uDEEC-\uDEEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uD83C[\uDFFB-\uDFFF]|\uDB40[\uDC20-\uDC7F\uDD00-\uDDEF])*\u200D$/,M=u=>-1!==u.search(L),W=/(?:\uD83C[\uDDE6-\uDDFF])+$/g,$=u=>{var e=u.match(W);return null!==e&&e[0].length/2%2===1},J=u=>(0,r.P)(u)&&ru.isNodeList(u.children)&&!Q.isEditor(u),Z={isAncestor:u=>(0,r.P)(u)&&ru.isNodeList(u.children),isElement:J,isElementList:u=>Array.isArray(u)&&u.every((u=>Z.isElement(u))),isElementProps:u=>void 0!==u.children,isElementType:function(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"type";return J(u)&&u[t]===e},matches(u,e){for(var t in e)if("children"!==t&&u[t]!==e[t])return!1;return!0}},U=["text"],Y=["text"];function G(u,e){var t=Object.keys(u);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(u);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(u,e).enumerable}))),t.push.apply(t,r)}return t}function H(u){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:{},{voids:t=!1,mode:r="lowest",at:n=u.selection,match:a}=e;if(n){var o=Q.path(u,n),i="lowest"===r;for(var[D,s]of Q.levels(u,{at:o,voids:t,match:a,reverse:i}))if(!yu.isText(D)&&!iu.equals(o,s))return[D,s]}},addMark(u,e,t){u.addMark(e,t)},after(u,e){var t,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n={anchor:Q.point(u,e,{edge:"end"}),focus:Q.end(u,[])},{distance:a=1}=r,o=0;for(var i of Q.positions(u,H(H({},r),{},{at:n}))){if(o>a)break;0!==o&&(t=i),o++}return t},before(u,e){var t,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n={anchor:Q.start(u,[]),focus:Q.point(u,e,{edge:"start"})},{distance:a=1}=r,o=0;for(var i of Q.positions(u,H(H({},r),{},{at:n,reverse:!0}))){if(o>a)break;0!==o&&(t=i),o++}return t},deleteBackward(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{unit:t="character"}=e;u.deleteBackward(t)},deleteForward(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{unit:t="character"}=e;u.deleteForward(t)},deleteFragment(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{direction:t="forward"}=e;u.deleteFragment(t)},edges:(u,e)=>[Q.start(u,e),Q.end(u,e)],end:(u,e)=>Q.point(u,e,{edge:"end"}),first(u,e){var t=Q.path(u,e,{edge:"start"});return Q.node(u,t)},fragment(u,e){var t=Q.range(u,e);return ru.fragment(u,t)},hasBlocks:(u,e)=>e.children.some((e=>Q.isBlock(u,e))),hasInlines:(u,e)=>e.children.some((e=>yu.isText(e)||Q.isInline(u,e))),hasTexts:(u,e)=>e.children.every((u=>yu.isText(u))),insertBreak(u){u.insertBreak()},insertSoftBreak(u){u.insertSoftBreak()},insertFragment(u,e){u.insertFragment(e)},insertNode(u,e){u.insertNode(e)},insertText(u,e){u.insertText(e)},isBlock:(u,e)=>Z.isElement(e)&&!u.isInline(e),isEditor(u){var e=K.get(u);if(void 0!==e)return e;if(!(0,r.P)(u))return!1;var t="function"===typeof u.addMark&&"function"===typeof u.apply&&"function"===typeof u.deleteBackward&&"function"===typeof u.deleteForward&&"function"===typeof u.deleteFragment&&"function"===typeof u.insertBreak&&"function"===typeof u.insertSoftBreak&&"function"===typeof u.insertFragment&&"function"===typeof u.insertNode&&"function"===typeof u.insertText&&"function"===typeof u.isInline&&"function"===typeof u.isVoid&&"function"===typeof u.normalizeNode&&"function"===typeof u.onChange&&"function"===typeof u.removeMark&&(null===u.marks||(0,r.P)(u.marks))&&(null===u.selection||hu.isRange(u.selection))&&ru.isNodeList(u.children)&&ou.isOperationList(u.operations);return K.set(u,t),t},isEnd(u,e,t){var r=Q.end(u,t);return lu.equals(e,r)},isEdge:(u,e,t)=>Q.isStart(u,e,t)||Q.isEnd(u,e,t),isEmpty(u,e){var{children:t}=e,[r]=t;return 0===t.length||1===t.length&&yu.isText(r)&&""===r.text&&!u.isVoid(e)},isInline:(u,e)=>Z.isElement(e)&&u.isInline(e),isNormalizing(u){var e=s.get(u);return void 0===e||e},isStart(u,e,t){if(0!==e.offset)return!1;var r=Q.start(u,t);return lu.equals(e,r)},isVoid:(u,e)=>Z.isElement(e)&&u.isVoid(e),last(u,e){var t=Q.path(u,e,{edge:"end"});return Q.node(u,t)},leaf(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=Q.path(u,e,t);return[ru.leaf(u,r),r]},*levels(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{at:t=u.selection,reverse:r=!1,voids:n=!1}=e,{match:a}=e;if(null==a&&(a=()=>!0),t){var o=[],i=Q.path(u,t);for(var[D,s]of ru.levels(u,i))if(a(D,s)&&(o.push([D,s]),!n&&Q.isVoid(u,D)))break;r&&o.reverse(),yield*o}},marks(u){var{marks:e,selection:t}=u;if(!t)return null;if(e)return e;if(hu.isExpanded(t)){var[r]=Q.nodes(u,{match:yu.isText});if(r){var[n]=r;return d(n,U)}return{}}var{anchor:a}=t,{path:o}=a,[i]=Q.leaf(u,o);if(0===a.offset){var D=Q.previous(u,{at:o,match:yu.isText}),s=Q.above(u,{match:e=>Q.isBlock(u,e)});if(D&&s){var[C,l]=D,[,B]=s;iu.isAncestor(B,l)&&(i=C)}}return d(i,Y)},next(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{mode:t="lowest",voids:r=!1}=e,{match:n,at:a=u.selection}=e;if(a){var o=Q.after(u,a,{voids:r});if(o){var[,i]=Q.last(u,[]),D=[o.path,i];if(iu.isPath(a)&&0===a.length)throw new Error("Cannot get the next node from the root node!");if(null==n)if(iu.isPath(a)){var[s]=Q.parent(u,a);n=u=>s.children.includes(u)}else n=()=>!0;var[C]=Q.nodes(u,{at:D,match:n,mode:t,voids:r});return C}}},node(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=Q.path(u,e,t);return[ru.get(u,r),r]},*nodes(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{at:t=u.selection,mode:r="all",universal:n=!1,reverse:a=!1,voids:o=!1}=e,{match:i}=e;if(i||(i=()=>!0),t){var D,s;if(X.isSpan(t))D=t[0],s=t[1];else{var C=Q.path(u,t,{edge:"start"}),l=Q.path(u,t,{edge:"end"});D=a?l:C,s=a?C:l}var B,c=ru.nodes(u,{reverse:a,from:D,to:s,pass:e=>{var[t]=e;return!o&&Q.isVoid(u,t)}}),f=[];for(var[h,A]of c){var d=B&&0===iu.compare(A,B[1]);if("highest"!==r||!d)if(i(h,A))if("lowest"===r&&d)B=[h,A];else{var F="lowest"===r?B:[h,A];F&&(n?f.push(F):yield F),B=[h,A]}else if(n&&!d&&yu.isText(h))return}"lowest"===r&&B&&(n?f.push(B):yield B),n&&(yield*f)}},normalize(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{force:t=!1}=e,r=u=>o.get(u)||[],n=u=>{var e=r(u).pop(),t=e.join(",");return(u=>i.get(u)||new Set)(u).delete(t),e};if(Q.isNormalizing(u)){if(t){var a=Array.from(ru.nodes(u),(u=>{var[,e]=u;return e})),D=new Set(a.map((u=>u.join(","))));o.set(u,a),i.set(u,D)}0!==r(u).length&&Q.withoutNormalizing(u,(()=>{for(var e of r(u))if(ru.has(u,e)){var t=Q.node(u,e),[a,o]=t;Z.isElement(a)&&0===a.children.length&&u.normalizeNode(t)}for(var i=42*r(u).length,D=0;0!==r(u).length;){if(D>i)throw new Error("\n Could not completely normalize the editor after ".concat(i," iterations! This is usually due to incorrect normalization logic that leaves a node in an invalid state.\n "));var s=n(u);if(ru.has(u,s)){var C=Q.node(u,s);u.normalizeNode(C)}D++}}))}},parent(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=Q.path(u,e,t),n=iu.parent(r);return Q.node(u,n)},path(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{depth:r,edge:n}=t;if(iu.isPath(e))if("start"===n){var[,a]=ru.first(u,e);e=a}else if("end"===n){var[,o]=ru.last(u,e);e=o}return hu.isRange(e)&&(e="start"===n?hu.start(e):"end"===n?hu.end(e):iu.common(e.anchor.path,e.focus.path)),lu.isPoint(e)&&(e=e.path),null!=r&&(e=e.slice(0,r)),e},hasPath:(u,e)=>ru.has(u,e),pathRef(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{affinity:r="forward"}=t,n={current:e,affinity:r,unref(){var{current:e}=n;return Q.pathRefs(u).delete(n),n.current=null,e}};return Q.pathRefs(u).add(n),n},pathRefs(u){var e=C.get(u);return e||(e=new Set,C.set(u,e)),e},point(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{edge:r="start"}=t;if(iu.isPath(e)){var n;if("end"===r){var[,a]=ru.last(u,e);n=a}else{var[,o]=ru.first(u,e);n=o}var i=ru.get(u,n);if(!yu.isText(i))throw new Error("Cannot get the ".concat(r," point in the node at path [").concat(e,"] because it has no ").concat(r," text node."));return{path:n,offset:"end"===r?i.text.length:0}}if(hu.isRange(e)){var[D,s]=hu.edges(e);return"start"===r?D:s}return e},pointRef(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{affinity:r="forward"}=t,n={current:e,affinity:r,unref(){var{current:e}=n;return Q.pointRefs(u).delete(n),n.current=null,e}};return Q.pointRefs(u).add(n),n},pointRefs(u){var e=l.get(u);return e||(e=new Set,l.set(u,e)),e},*positions(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{at:t=u.selection,unit:r="offset",reverse:n=!1,voids:a=!1}=e;if(t){var o=Q.range(u,t),[i,D]=hu.edges(o),s=n?D:i,C=!1,l="",B=0,c=0,f=0;for(var[h,A]of Q.nodes(u,{at:t,reverse:n,voids:a})){if(Z.isElement(h)){if(!a&&u.isVoid(h)){yield Q.start(u,A);continue}if(u.isInline(h))continue;if(Q.hasInlines(u,h)){var d=iu.isAncestor(A,D.path)?D:Q.end(u,A),F=iu.isAncestor(A,i.path)?i:Q.start(u,A);l=Q.string(u,{anchor:F,focus:d},{voids:a}),C=!0}}if(yu.isText(h)){var E=iu.equals(A,s.path);for(E?(c=n?s.offset:h.text.length-s.offset,f=s.offset):(c=h.text.length,f=n?c:0),(E||C||"offset"===r)&&(yield{path:A,offset:f},C=!1);;){if(0===B){if(""===l)break;B=p(l,r,n),l=m(l,B,n)[1]}if(f=n?f-B:f+B,(c-=B)<0){B=-c;break}B=0,yield{path:A,offset:f}}}}}function p(u,e,t){return"character"===e?v(u,t):"word"===e?function(u){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=0,r=!1;u.length>0;){var n=v(u,e),[a,o]=m(u,n,e);if(y(a,o,e))r=!0,t+=n;else{if(r)break;t+=n}u=o}return t}(u,t):"line"===e||"block"===e?u.length:1}},previous(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{mode:t="lowest",voids:r=!1}=e,{match:n,at:a=u.selection}=e;if(a){var o=Q.before(u,a,{voids:r});if(o){var[,i]=Q.first(u,[]),D=[o.path,i];if(iu.isPath(a)&&0===a.length)throw new Error("Cannot get the previous node from the root node!");if(null==n)if(iu.isPath(a)){var[s]=Q.parent(u,a);n=u=>s.children.includes(u)}else n=()=>!0;var[C]=Q.nodes(u,{reverse:!0,at:D,match:n,mode:t,voids:r});return C}}},range:(u,e,t)=>hu.isRange(e)&&!t?e:{anchor:Q.start(u,e),focus:Q.end(u,t||e)},rangeRef(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{affinity:r="forward"}=t,n={current:e,affinity:r,unref(){var{current:e}=n;return Q.rangeRefs(u).delete(n),n.current=null,e}};return Q.rangeRefs(u).add(n),n},rangeRefs(u){var e=B.get(u);return e||(e=new Set,B.set(u,e)),e},removeMark(u,e){u.removeMark(e)},setNormalizing(u,e){s.set(u,e)},start:(u,e)=>Q.point(u,e,{edge:"start"}),string(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{voids:r=!1}=t,n=Q.range(u,e),[a,o]=hu.edges(n),i="";for(var[D,s]of Q.nodes(u,{at:n,match:yu.isText,voids:r})){var C=D.text;iu.equals(s,o.path)&&(C=C.slice(0,o.offset)),iu.equals(s,a.path)&&(C=C.slice(a.offset)),i+=C}return i},unhangRange(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{voids:r=!1}=t,[n,a]=hu.edges(e);if(0!==n.offset||0!==a.offset||hu.isCollapsed(e))return e;var o=Q.above(u,{at:a,match:e=>Q.isBlock(u,e)}),i=o?o[1]:[],D={anchor:Q.start(u,n),focus:a},s=!0;for(var[C,l]of Q.nodes(u,{at:D,match:yu.isText,reverse:!0,voids:r}))if(s)s=!1;else if(""!==C.text||iu.isBefore(l,i)){a={path:l,offset:C.text.length};break}return{anchor:n,focus:a}},void(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Q.above(u,H(H({},e),{},{match:e=>Q.isVoid(u,e)}))},withoutNormalizing(u,e){var t=Q.isNormalizing(u);Q.setNormalizing(u,!1);try{e()}finally{Q.setNormalizing(u,t)}Q.normalize(u)}},X={isSpan:u=>Array.isArray(u)&&2===u.length&&u.every(iu.isPath)},uu=["children"],eu=["text"],tu=new WeakMap,ru={ancestor(u,e){var t=ru.get(u,e);if(yu.isText(t))throw new Error("Cannot get the ancestor node at path [".concat(e,"] because it refers to a text node instead: ").concat(Fu.stringify(t)));return t},*ancestors(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};for(var r of iu.ancestors(e,t)){var n=[ru.ancestor(u,r),r];yield n}},child(u,e){if(yu.isText(u))throw new Error("Cannot get the child of a text node: ".concat(Fu.stringify(u)));var t=u.children[e];if(null==t)throw new Error("Cannot get child at index `".concat(e,"` in node: ").concat(Fu.stringify(u)));return t},*children(u,e){for(var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{reverse:r=!1}=t,n=ru.ancestor(u,e),{children:a}=n,o=r?a.length-1:0;r?o>=0:o1&&void 0!==arguments[1]?arguments[1]:{};for(var[t,r]of ru.nodes(u,e))0!==r.length&&(yield[t,r])},*elements(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(var[t,r]of ru.nodes(u,e))Z.isElement(t)&&(yield[t,r])},extractProps:u=>Z.isAncestor(u)?d(u,uu):d(u,eu),first(u,e){for(var t=e.slice(),r=ru.get(u,t);r&&!yu.isText(r)&&0!==r.children.length;)r=r.children[0],t.push(0);return[r,t]},fragment(u,e){if(yu.isText(u))throw new Error("Cannot get a fragment starting from a root text node: ".concat(Fu.stringify(u)));return(0,n.Uy)({children:u.children},(u=>{var[t,r]=hu.edges(e),n=ru.nodes(u,{reverse:!0,pass:u=>{var[,t]=u;return!hu.includes(e,t)}});for(var[,a]of n){if(!hu.includes(e,a)){var o=ru.parent(u,a),i=a[a.length-1];o.children.splice(i,1)}if(iu.equals(a,r.path)){var D=ru.leaf(u,a);D.text=D.text.slice(0,r.offset)}if(iu.equals(a,t.path)){var s=ru.leaf(u,a);s.text=s.text.slice(t.offset)}}Q.isEditor(u)&&(u.selection=null)})).children},get(u,e){for(var t=u,r=0;ryu.isText(u)||Z.isElement(u)||Q.isEditor(u),isNodeList(u){if(!Array.isArray(u))return!1;var e=tu.get(u);if(void 0!==e)return e;var t=u.every((u=>ru.isNode(u)));return tu.set(u,t),t},last(u,e){for(var t=e.slice(),r=ru.get(u,t);r&&!yu.isText(r)&&0!==r.children.length;){var n=r.children.length-1;r=r.children[n],t.push(n)}return[r,t]},leaf(u,e){var t=ru.get(u,e);if(!yu.isText(t))throw new Error("Cannot get the leaf node at path [".concat(e,"] because it refers to a non-leaf node: ").concat(Fu.stringify(t)));return t},*levels(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};for(var r of iu.levels(e,t)){var n=ru.get(u,r);yield[n,r]}},matches:(u,e)=>Z.isElement(u)&&Z.isElementProps(e)&&Z.matches(u,e)||yu.isText(u)&&yu.isTextProps(e)&&yu.matches(u,e),*nodes(u){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{pass:t,reverse:r=!1}=e,{from:n=[],to:a}=e,o=new Set,i=[],D=u;!a||!(r?iu.isBefore(i,a):iu.isAfter(i,a));)if(o.has(D)||(yield[D,i]),o.has(D)||yu.isText(D)||0===D.children.length||null!=t&&!1!==t([D,i])){if(0===i.length)break;if(!r){var s=iu.next(i);if(ru.has(u,s)){i=s,D=ru.get(u,i);continue}}if(r&&0!==i[i.length-1])i=iu.previous(i),D=ru.get(u,i);else i=iu.parent(i),D=ru.get(u,i),o.add(D)}else{o.add(D);var C=r?D.children.length-1:0;iu.isAncestor(i,n)&&(C=n[i.length]),i=i.concat(C),D=ru.get(u,i)}},parent(u,e){var t=iu.parent(e),r=ru.get(u,t);if(yu.isText(r))throw new Error("Cannot get the parent of path [".concat(e,"] because it does not exist in the root."));return r},string:u=>yu.isText(u)?u.text:u.children.map(ru.string).join(""),*texts(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(var[t,r]of ru.nodes(u,e))yu.isText(t)&&(yield[t,r])}};function nu(u,e){var t=Object.keys(u);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(u);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(u,e).enumerable}))),t.push.apply(t,r)}return t}function au(u){for(var e=1;eou.isOperation(u)&&u.type.endsWith("_node"),isOperation(u){if(!(0,r.P)(u))return!1;switch(u.type){case"insert_node":case"remove_node":return iu.isPath(u.path)&&ru.isNode(u.node);case"insert_text":case"remove_text":return"number"===typeof u.offset&&"string"===typeof u.text&&iu.isPath(u.path);case"merge_node":return"number"===typeof u.position&&iu.isPath(u.path)&&(0,r.P)(u.properties);case"move_node":return iu.isPath(u.path)&&iu.isPath(u.newPath);case"set_node":return iu.isPath(u.path)&&(0,r.P)(u.properties)&&(0,r.P)(u.newProperties);case"set_selection":return null===u.properties&&hu.isRange(u.newProperties)||null===u.newProperties&&hu.isRange(u.properties)||(0,r.P)(u.properties)&&(0,r.P)(u.newProperties);case"split_node":return iu.isPath(u.path)&&"number"===typeof u.position&&(0,r.P)(u.properties);default:return!1}},isOperationList:u=>Array.isArray(u)&&u.every((u=>ou.isOperation(u))),isSelectionOperation:u=>ou.isOperation(u)&&u.type.endsWith("_selection"),isTextOperation:u=>ou.isOperation(u)&&u.type.endsWith("_text"),inverse(u){switch(u.type){case"insert_node":return au(au({},u),{},{type:"remove_node"});case"insert_text":return au(au({},u),{},{type:"remove_text"});case"merge_node":return au(au({},u),{},{type:"split_node",path:iu.previous(u.path)});case"move_node":var{newPath:e,path:t}=u;if(iu.equals(e,t))return u;if(iu.isSibling(t,e))return au(au({},u),{},{path:e,newPath:t});var r=iu.transform(t,u),n=iu.transform(iu.next(t),u);return au(au({},u),{},{path:r,newPath:n});case"remove_node":return au(au({},u),{},{type:"insert_node"});case"remove_text":return au(au({},u),{},{type:"insert_text"});case"set_node":var{properties:a,newProperties:o}=u;return au(au({},u),{},{properties:o,newProperties:a});case"set_selection":var{properties:i,newProperties:D}=u;return au(au({},u),{},null==i?{properties:D,newProperties:null}:null==D?{properties:null,newProperties:i}:{properties:D,newProperties:i});case"split_node":return au(au({},u),{},{type:"merge_node",path:iu.next(u.path)})}}},iu={ancestors(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{reverse:t=!1}=e,r=iu.levels(u,e);return r=t?r.slice(1):r.slice(0,-1)},common(u,e){for(var t=[],r=0;re[r])return 1}return 0},endsAfter(u,e){var t=u.length-1,r=u.slice(0,t),n=e.slice(0,t),a=u[t],o=e[t];return iu.equals(r,n)&&a>o},endsAt(u,e){var t=u.length,r=u.slice(0,t),n=e.slice(0,t);return iu.equals(r,n)},endsBefore(u,e){var t=u.length-1,r=u.slice(0,t),n=e.slice(0,t),a=u[t],o=e[t];return iu.equals(r,n)&&au.length===e.length&&u.every(((u,t)=>u===e[t])),hasPrevious:u=>u[u.length-1]>0,isAfter:(u,e)=>1===iu.compare(u,e),isAncestor:(u,e)=>u.length-1===iu.compare(u,e),isChild:(u,e)=>u.length===e.length+1&&0===iu.compare(u,e),isCommon:(u,e)=>u.length<=e.length&&0===iu.compare(u,e),isDescendant:(u,e)=>u.length>e.length&&0===iu.compare(u,e),isParent:(u,e)=>u.length+1===e.length&&0===iu.compare(u,e),isPath:u=>Array.isArray(u)&&(0===u.length||"number"===typeof u[0]),isSibling(u,e){if(u.length!==e.length)return!1;var t=u.slice(0,-1),r=e.slice(0,-1);return u[u.length-1]!==e[e.length-1]&&iu.equals(t,r)},levels(u){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{reverse:t=!1}=e,r=[],n=0;n<=u.length;n++)r.push(u.slice(0,n));return t&&r.reverse(),r},next(u){if(0===u.length)throw new Error("Cannot get the next path of a root path [".concat(u,"], because it has no next index."));var e=u[u.length-1];return u.slice(0,-1).concat(e+1)},operationCanTransformPath(u){switch(u.type){case"insert_node":case"remove_node":case"merge_node":case"split_node":case"move_node":return!0;default:return!1}},parent(u){if(0===u.length)throw new Error("Cannot get the parent path of the root path [".concat(u,"]."));return u.slice(0,-1)},previous(u){if(0===u.length)throw new Error("Cannot get the previous path of a root path [".concat(u,"], because it has no previous index."));var e=u[u.length-1];if(e<=0)throw new Error("Cannot get the previous path of a first child path [".concat(u,"] because it would result in a negative index."));return u.slice(0,-1).concat(e-1)},relative(u,e){if(!iu.isAncestor(e,u)&&!iu.equals(u,e))throw new Error("Cannot get the relative path of [".concat(u,"] inside ancestor [").concat(e,"], because it is not above or equal to the path."));return u.slice(e.length)},transform(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return(0,n.Uy)(u,(r=>{var{affinity:n="forward"}=t;if(u&&0!==(null===u||void 0===u?void 0:u.length)){if(null===r)return null;switch(e.type){case"insert_node":var{path:a}=e;(iu.equals(a,r)||iu.endsBefore(a,r)||iu.isAncestor(a,r))&&(r[a.length-1]+=1);break;case"remove_node":var{path:o}=e;if(iu.equals(o,r)||iu.isAncestor(o,r))return null;iu.endsBefore(o,r)&&(r[o.length-1]-=1);break;case"merge_node":var{path:i,position:D}=e;iu.equals(i,r)||iu.endsBefore(i,r)?r[i.length-1]-=1:iu.isAncestor(i,r)&&(r[i.length-1]-=1,r[i.length]+=D);break;case"split_node":var{path:s,position:C}=e;if(iu.equals(s,r)){if("forward"===n)r[r.length-1]+=1;else if("backward"!==n)return null}else iu.endsBefore(s,r)?r[s.length-1]+=1:iu.isAncestor(s,r)&&u[s.length]>=C&&(r[s.length-1]+=1,r[s.length]-=C);break;case"move_node":var{path:l,newPath:B}=e;if(iu.equals(l,B))return;if(iu.isAncestor(l,r)||iu.equals(l,r)){var c=B.slice();return iu.endsBefore(l,B)&&l.lengthe.offset?1:0:t},isAfter:(u,e)=>1===lu.compare(u,e),isBefore:(u,e)=>-1===lu.compare(u,e),equals:(u,e)=>u.offset===e.offset&&iu.equals(u.path,e.path),isPoint:u=>(0,r.P)(u)&&"number"===typeof u.offset&&iu.isPath(u.path),transform(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return(0,n.Uy)(u,(u=>{if(null===u)return null;var{affinity:r="forward"}=t,{path:n,offset:a}=u;switch(e.type){case"insert_node":case"move_node":u.path=iu.transform(n,e,t);break;case"insert_text":iu.equals(e.path,n)&&(e.offset1&&void 0!==arguments[1]?arguments[1]:{},{reverse:t=!1}=e,{anchor:r,focus:n}=u;return hu.isBackward(u)===t?[r,n]:[n,r]},end(u){var[,e]=hu.edges(u);return e},equals:(u,e)=>lu.equals(u.anchor,e.anchor)&&lu.equals(u.focus,e.focus),includes(u,e){if(hu.isRange(e)){if(hu.includes(u,e.anchor)||hu.includes(u,e.focus))return!0;var[t,r]=hu.edges(u),[n,a]=hu.edges(e);return lu.isBefore(t,n)&&lu.isAfter(r,a)}var[o,i]=hu.edges(u),D=!1,s=!1;return lu.isPoint(e)?(D=lu.compare(e,o)>=0,s=lu.compare(e,i)<=0):(D=iu.compare(e,o.path)>=0,s=iu.compare(e,i.path)<=0),D&&s},intersection(u,e){var t=d(u,cu),[r,n]=hu.edges(u),[o,i]=hu.edges(e),D=lu.isBefore(r,o)?o:r,s=lu.isBefore(n,i)?n:i;return lu.isBefore(s,D)?null:function(u){for(var e=1;e!hu.isCollapsed(u),isForward:u=>!hu.isBackward(u),isRange:u=>(0,r.P)(u)&&lu.isPoint(u.anchor)&&lu.isPoint(u.focus),*points(u){yield[u.anchor,"anchor"],yield[u.focus,"focus"]},start(u){var[e]=hu.edges(u);return e},transform(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return(0,n.Uy)(u,(u=>{if(null===u)return null;var r,n,{affinity:a="inward"}=t;if("inward"===a){var o=hu.isCollapsed(u);hu.isForward(u)?(r="forward",n=o?r:"backward"):(r="backward",n=o?r:"forward")}else"outward"===a?hu.isForward(u)?(r="backward",n="forward"):(r="forward",n="backward"):(r=a,n=a);var i=lu.transform(u.anchor,e,{affinity:r}),D=lu.transform(u.focus,e,{affinity:n});if(!i||!D)return null;u.anchor=i,u.focus=D}))}},Au={transform(u,e){var{current:t,affinity:r}=u;if(null!=t){var n=hu.transform(t,e,{affinity:r});u.current=n,null==n&&u.unref()}}},du=void 0,Fu={setScrubber(u){du=u},stringify:u=>JSON.stringify(u,du)},vu=(u,e)=>{for(var t in u){var n=u[t],a=e[t];if((0,r.P)(n)&&(0,r.P)(a)){if(!vu(n,a))return!1}else if(Array.isArray(n)&&Array.isArray(a)){if(n.length!==a.length)return!1;for(var o=0;o2&&void 0!==arguments[2]?arguments[2]:{},{loose:r=!1}=t;function n(u){return d(u,Eu)}return vu(r?n(u):u,r?n(e):e)},isText:u=>(0,r.P)(u)&&"string"===typeof u.text,isTextList:u=>Array.isArray(u)&&u.every((u=>yu.isText(u))),isTextProps:u=>void 0!==u.text,matches(u,e){for(var t in e)if("text"!==t&&(!u.hasOwnProperty(t)||u[t]!==e[t]))return!1;return!0},decorations(u,e){var t=[mu({},u)];for(var r of e){var n=d(r,pu),[a,o]=hu.edges(r),i=[],D=0,s=a.offset,C=o.offset;for(var l of t){var{length:B}=l.text,c=D;if(D+=B,s<=c&&D<=C)Object.assign(l,n),i.push(l);else if(s!==C&&(s===D||C===c)||s>D||Cc){var v=s-c;h=mu(mu({},f),{},{text:f.text.slice(0,v)}),f=mu(mu({},f),{},{text:f.text.slice(v)})}Object.assign(f,n),h&&i.push(h),i.push(f),A&&i.push(A)}}t=i}return t}};function wu(u,e){var t=Object.keys(u);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(u);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(u,e).enumerable}))),t.push.apply(t,r)}return t}function bu(u){for(var e=1;e2&&void 0!==arguments[2]?arguments[2]:{};Q.withoutNormalizing(u,(()=>{var{hanging:r=!1,voids:n=!1,mode:a="lowest"}=t,{at:o,match:i,select:D}=t;if(ru.isNode(e)&&(e=[e]),0!==e.length){var[s]=e;if(o||(o=u.selection?u.selection:u.children.length>0?Q.end(u,[]):[0],D=!0),null==D&&(D=!1),hu.isRange(o))if(r||(o=Q.unhangRange(u,o)),hu.isCollapsed(o))o=o.anchor;else{var[,C]=hu.edges(o),l=Q.pointRef(u,C);Lu.delete(u,{at:o}),o=l.unref()}if(lu.isPoint(o)){null==i&&(i=yu.isText(s)?u=>yu.isText(u):u.isInline(s)?e=>yu.isText(e)||Q.isInline(u,e):e=>Q.isBlock(u,e));var[B]=Q.nodes(u,{at:o.path,match:i,mode:a,voids:n});if(!B)return;var[,c]=B,f=Q.pathRef(u,c),h=Q.isEnd(u,o,c);Lu.splitNodes(u,{at:o,match:i,mode:a,voids:n});var A=f.unref();o=h?iu.next(A):A}var d=iu.parent(o),F=o[o.length-1];if(n||!Q.void(u,{at:d})){for(var v of e){var E=d.concat(F);F++,u.apply({type:"insert_node",path:E,node:v}),o=iu.next(o)}if(o=iu.previous(o),D){var p=Q.end(u,o);p&&Lu.select(u,p)}}}}))},liftNodes(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Q.withoutNormalizing(u,(()=>{var{at:t=u.selection,mode:r="lowest",voids:n=!1}=e,{match:a}=e;if(null==a&&(a=iu.isPath(t)?Tu(u,t):e=>Q.isBlock(u,e)),t){var o=Q.nodes(u,{at:t,match:a,mode:r,voids:n}),i=Array.from(o,(e=>{var[,t]=e;return Q.pathRef(u,t)}));for(var D of i){var s=D.unref();if(s.length<2)throw new Error("Cannot lift node at a path [".concat(s,"] because it has a depth of less than `2`."));var C=Q.node(u,iu.parent(s)),[l,B]=C,c=s[s.length-1],{length:f}=l.children;if(1===f){var h=iu.next(B);Lu.moveNodes(u,{at:s,to:h,voids:n}),Lu.removeNodes(u,{at:B,voids:n})}else if(0===c)Lu.moveNodes(u,{at:s,to:B,voids:n});else if(c===f-1){var A=iu.next(B);Lu.moveNodes(u,{at:s,to:A,voids:n})}else{var d=iu.next(s),F=iu.next(B);Lu.splitNodes(u,{at:d,voids:n}),Lu.moveNodes(u,{at:s,to:F,voids:n})}}}}))},mergeNodes(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Q.withoutNormalizing(u,(()=>{var{match:t,at:r=u.selection}=e,{hanging:n=!1,voids:a=!1,mode:o="lowest"}=e;if(r){if(null==t)if(iu.isPath(r)){var[i]=Q.parent(u,r);t=u=>i.children.includes(u)}else t=e=>Q.isBlock(u,e);if(!n&&hu.isRange(r)&&(r=Q.unhangRange(u,r)),hu.isRange(r))if(hu.isCollapsed(r))r=r.anchor;else{var[,D]=hu.edges(r),s=Q.pointRef(u,D);Lu.delete(u,{at:r}),r=s.unref(),null==e.at&&Lu.select(u,r)}var[C]=Q.nodes(u,{at:r,match:t,voids:a,mode:o}),l=Q.previous(u,{at:r,match:t,voids:a,mode:o});if(C&&l){var[B,c]=C,[f,h]=l;if(0!==c.length&&0!==h.length){var A,F,v=iu.next(h),E=iu.common(c,h),p=iu.isSibling(c,h),g=Array.from(Q.levels(u,{at:c}),(u=>{var[e]=u;return e})).slice(E.length).slice(0,-1),m=Q.above(u,{at:c,mode:"highest",match:e=>g.includes(e)&&Nu(u,e)}),y=m&&Q.pathRef(u,m[1]);if(yu.isText(B)&&yu.isText(f)){var w=d(B,xu);F=f.text.length,A=w}else{if(!Z.isElement(B)||!Z.isElement(f))throw new Error("Cannot merge the node at path [".concat(c,"] with the previous sibling because it is not the same kind: ").concat(Fu.stringify(B)," ").concat(Fu.stringify(f)));w=d(B,Ou);F=f.children.length,A=w}p||Lu.moveNodes(u,{at:c,to:v,voids:a}),y&&Lu.removeNodes(u,{at:y.current,voids:a}),Z.isElement(f)&&Q.isEmpty(u,f)||yu.isText(f)&&""===f.text&&0!==h[h.length-1]?Lu.removeNodes(u,{at:h,voids:a}):u.apply({type:"merge_node",path:v,position:F,properties:A}),y&&y.unref()}}}}))},moveNodes(u,e){Q.withoutNormalizing(u,(()=>{var{to:t,at:r=u.selection,mode:n="lowest",voids:a=!1}=e,{match:o}=e;if(r){null==o&&(o=iu.isPath(r)?Tu(u,r):e=>Q.isBlock(u,e));var i=Q.pathRef(u,t),D=Q.nodes(u,{at:r,match:o,mode:n,voids:a}),s=Array.from(D,(e=>{var[,t]=e;return Q.pathRef(u,t)}));for(var C of s){var l=C.unref(),B=i.current;0!==l.length&&u.apply({type:"move_node",path:l,newPath:B}),i.current&&iu.isSibling(B,l)&&iu.isAfter(B,l)&&(i.current=iu.next(i.current))}i.unref()}}))},removeNodes(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Q.withoutNormalizing(u,(()=>{var{hanging:t=!1,voids:r=!1,mode:n="lowest"}=e,{at:a=u.selection,match:o}=e;if(a){null==o&&(o=iu.isPath(a)?Tu(u,a):e=>Q.isBlock(u,e)),!t&&hu.isRange(a)&&(a=Q.unhangRange(u,a));var i=Q.nodes(u,{at:a,match:o,mode:n,voids:r}),D=Array.from(i,(e=>{var[,t]=e;return Q.pathRef(u,t)}));for(var s of D){var C=s.unref();if(C){var[l]=Q.node(u,C);u.apply({type:"remove_node",path:C,node:l})}}}}))},setNodes(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Q.withoutNormalizing(u,(()=>{var{match:r,at:n=u.selection,compare:a,merge:o}=t,{hanging:i=!1,mode:D="lowest",split:s=!1,voids:C=!1}=t;if(n){if(null==r&&(r=iu.isPath(n)?Tu(u,n):e=>Q.isBlock(u,e)),!i&&hu.isRange(n)&&(n=Q.unhangRange(u,n)),s&&hu.isRange(n)){if(hu.isCollapsed(n)&&Q.leaf(u,n.anchor)[0].text.length>0)return;var l=Q.rangeRef(u,n,{affinity:"inward"}),[B,c]=hu.edges(n),f="lowest"===D?"lowest":"highest",h=Q.isEnd(u,c,c.path);Lu.splitNodes(u,{at:c,match:r,mode:f,voids:C,always:!h});var A=Q.isStart(u,B,B.path);Lu.splitNodes(u,{at:B,match:r,mode:f,voids:C,always:!A}),n=l.unref(),null==t.at&&Lu.select(u,n)}for(var[d,F]of(a||(a=(u,e)=>u!==e),Q.nodes(u,{at:n,match:r,mode:D,voids:C}))){var v={},E={};if(0!==F.length){var p=!1;for(var g in e)"children"!==g&&"text"!==g&&a(e[g],d[g])&&(p=!0,d.hasOwnProperty(g)&&(v[g]=d[g]),o?null!=e[g]&&(E[g]=o(d[g],e[g])):null!=e[g]&&(E[g]=e[g]));p&&u.apply({type:"set_node",path:F,properties:v,newProperties:E})}}}}))},splitNodes(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Q.withoutNormalizing(u,(()=>{var{mode:t="lowest",voids:r=!1}=e,{match:n,at:a=u.selection,height:o=0,always:i=!1}=e;if(null==n&&(n=e=>Q.isBlock(u,e)),hu.isRange(a)&&(a=_u(u,a)),iu.isPath(a)){var D=a,s=Q.point(u,D),[C]=Q.parent(u,D);n=u=>u===C,o=s.path.length-D.length+1,a=s,i=!0}if(a){var l,B=Q.pointRef(u,a,{affinity:"backward"});try{var[c]=Q.nodes(u,{at:a,match:n,mode:t,voids:r});if(!c)return;var f=Q.void(u,{at:a,mode:"highest"});if(!r&&f){var[h,A]=f;if(Z.isElement(h)&&u.isInline(h)){var d=Q.after(u,A);if(!d){var F=iu.next(A);Lu.insertNodes(u,{text:""},{at:F,voids:r}),d=Q.point(u,F)}a=d,i=!0}o=a.path.length-A.length+1,i=!0}l=Q.pointRef(u,a);var v=a.path.length-o,[,E]=c,p=a.path.slice(0,v),g=0===o?a.offset:a.path[v]+0;for(var[m,y]of Q.levels(u,{at:p,reverse:!0,voids:r})){var w=!1;if(y.length2&&void 0!==arguments[2]?arguments[2]:{};Array.isArray(e)||(e=[e]);var r={};for(var n of e)r[n]=null;Lu.setNodes(u,r,t)},unwrapNodes(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Q.withoutNormalizing(u,(()=>{var{mode:t="lowest",split:r=!1,voids:n=!1}=e,{at:a=u.selection,match:o}=e;if(a){null==o&&(o=iu.isPath(a)?Tu(u,a):e=>Q.isBlock(u,e)),iu.isPath(a)&&(a=Q.range(u,a));var i=hu.isRange(a)?Q.rangeRef(u,a):null,D=Q.nodes(u,{at:a,match:o,mode:t,voids:n}),s=Array.from(D,(e=>{var[,t]=e;return Q.pathRef(u,t)})).reverse(),C=function(e){var t=e.unref(),[a]=Q.node(u,t),o=Q.range(u,t);r&&i&&(o=hu.intersection(i.current,o)),Lu.liftNodes(u,{at:o,match:u=>Z.isAncestor(a)&&a.children.includes(u),voids:n})};for(var l of s)C(l);i&&i.unref()}}))},wrapNodes(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Q.withoutNormalizing(u,(()=>{var{mode:r="lowest",split:n=!1,voids:a=!1}=t,{match:o,at:i=u.selection}=t;if(i){if(null==o&&(o=iu.isPath(i)?Tu(u,i):u.isInline(e)?e=>Q.isInline(u,e)||yu.isText(e):e=>Q.isBlock(u,e)),n&&hu.isRange(i)){var[D,s]=hu.edges(i),C=Q.rangeRef(u,i,{affinity:"inward"});Lu.splitNodes(u,{at:s,match:o,voids:a}),Lu.splitNodes(u,{at:D,match:o,voids:a}),i=C.unref(),null==t.at&&Lu.select(u,i)}var l=Array.from(Q.nodes(u,{at:i,match:u.isInline(e)?e=>Q.isBlock(u,e):u=>Q.isEditor(u),mode:"lowest",voids:a}));for(var[,B]of l){var c=hu.isRange(i)?hu.intersection(i,Q.range(u,B)):i;if(c){var f=Array.from(Q.nodes(u,{at:c,match:o,mode:r,voids:a}));if(f.length>0)if("continue"===function(){var[t]=f,r=f[f.length-1],[,n]=t,[,o]=r;if(0===n.length&&0===o.length)return"continue";var i=iu.equals(n,o)?iu.parent(n):iu.common(n,o),D=Q.range(u,n,o),s=Q.node(u,i),[C]=s,l=i.length+1,B=iu.next(o.slice(0,l)),c=ku(ku({},e),{},{children:[]});Lu.insertNodes(u,c,{at:B,voids:a}),Lu.moveNodes(u,{at:D,match:u=>Z.isAncestor(C)&&C.children.includes(u),to:B.concat(0),voids:a})}())continue}}}}))}},Nu=(u,e)=>{if(Z.isElement(e)){var t=e;return!!Q.isVoid(u,e)||1===t.children.length&&Nu(u,t.children[0])}return!Q.isEditor(e)},_u=(u,e)=>{if(hu.isCollapsed(e))return e.anchor;var[,t]=hu.edges(e),r=Q.pointRef(u,t);return Lu.delete(u,{at:e}),r.unref()},Tu=(u,e)=>{var[t]=Q.node(u,e);return u=>u===t};function Ru(u,e){var t=Object.keys(u);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(u);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(u,e).enumerable}))),t.push.apply(t,r)}return t}function Su(u){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:{},{edge:t="anchor"}=e,{selection:r}=u;if(r)if("anchor"===t)Lu.select(u,r.anchor);else if("focus"===t)Lu.select(u,r.focus);else if("start"===t){var[n]=hu.edges(r);Lu.select(u,n)}else if("end"===t){var[,a]=hu.edges(r);Lu.select(u,a)}},deselect(u){var{selection:e}=u;e&&u.apply({type:"set_selection",properties:e,newProperties:null})},move(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{selection:t}=u,{distance:r=1,unit:n="character",reverse:a=!1}=e,{edge:o=null}=e;if(t){"start"===o&&(o=hu.isBackward(t)?"focus":"anchor"),"end"===o&&(o=hu.isBackward(t)?"anchor":"focus");var{anchor:i,focus:D}=t,s={distance:r,unit:n},C={};if(null==o||"anchor"===o){var l=a?Q.before(u,i,s):Q.after(u,i,s);l&&(C.anchor=l)}if(null==o||"focus"===o){var B=a?Q.before(u,D,s):Q.after(u,D,s);B&&(C.focus=B)}Lu.setSelection(u,C)}},select(u,e){var{selection:t}=u;if(e=Q.range(u,e),t)Lu.setSelection(u,e);else{if(!hu.isRange(e))throw new Error("When setting the selection and the current selection is `null` you must provide at least an `anchor` and `focus`, but you passed: ".concat(Fu.stringify(e)));u.apply({type:"set_selection",properties:t,newProperties:e})}},setPoint(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{selection:r}=u,{edge:n="both"}=t;if(r){"start"===n&&(n=hu.isBackward(r)?"focus":"anchor"),"end"===n&&(n=hu.isBackward(r)?"anchor":"focus");var{anchor:a,focus:o}=r,i="anchor"===n?a:o;Lu.setSelection(u,{["anchor"===n?"anchor":"focus"]:Su(Su({},i),e)})}},setSelection(u,e){var{selection:t}=u,r={},n={};if(t){for(var a in e)("anchor"===a&&null!=e.anchor&&!lu.equals(e.anchor,t.anchor)||"focus"===a&&null!=e.focus&&!lu.equals(e.focus,t.focus)||"anchor"!==a&&"focus"!==a&&e[a]!==t[a])&&(r[a]=t[a],n[a]=e[a]);Object.keys(r).length>0&&u.apply({type:"set_selection",properties:r,newProperties:n})}}},Iu={delete(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Q.withoutNormalizing(u,(()=>{var{reverse:t=!1,unit:r="character",distance:n=1,voids:a=!1}=e,{at:o=u.selection,hanging:i=!1}=e;if(o){var D=!1;if(hu.isRange(o)&&hu.isCollapsed(o)&&(D=!0,o=o.anchor),lu.isPoint(o)){var s=Q.void(u,{at:o,mode:"highest"});if(!a&&s){var[,C]=s;o=C}else{var l={unit:r,distance:n};o={anchor:o,focus:t?Q.before(u,o,l)||Q.start(u,[]):Q.after(u,o,l)||Q.end(u,[])},i=!0}}if(iu.isPath(o))Lu.removeNodes(u,{at:o,voids:a});else if(!hu.isCollapsed(o)){if(!i){var[,B]=hu.edges(o),c=Q.end(u,[]);lu.equals(B,c)||(o=Q.unhangRange(u,o,{voids:a}))}var[f,h]=hu.edges(o),A=Q.above(u,{match:e=>Q.isBlock(u,e),at:f,voids:a}),d=Q.above(u,{match:e=>Q.isBlock(u,e),at:h,voids:a}),F=A&&d&&!iu.equals(A[1],d[1]),v=iu.equals(f.path,h.path),E=a?null:Q.void(u,{at:f,mode:"highest"}),p=a?null:Q.void(u,{at:h,mode:"highest"});if(E){var g=Q.before(u,f);g&&A&&iu.isAncestor(A[1],g.path)&&(f=g)}if(p){var m=Q.after(u,h);m&&d&&iu.isAncestor(d[1],m.path)&&(h=m)}var y,w=[];for(var b of Q.nodes(u,{at:o,voids:a})){var[x,O]=b;y&&0===iu.compare(O,y)||(!a&&Q.isVoid(u,x)||!iu.isCommon(O,f.path)&&!iu.isCommon(O,h.path))&&(w.push(b),y=O)}var P=Array.from(w,(e=>{var[,t]=e;return Q.pathRef(u,t)})),k=Q.pointRef(u,f),j=Q.pointRef(u,h),N="";if(!v&&!E){var _=k.current,[T]=Q.leaf(u,_),{path:R}=_,{offset:S}=f,q=T.text.slice(S);q.length>0&&(u.apply({type:"remove_text",path:R,offset:S,text:q}),N=q)}for(var I of P){var V=I.unref();Lu.removeNodes(u,{at:V,voids:a})}if(!p){var z=j.current,[L]=Q.leaf(u,z),{path:M}=z,W=v?f.offset:0,$=L.text.slice(W,h.offset);$.length>0&&(u.apply({type:"remove_text",path:M,offset:W,text:$}),N=$)}!v&&F&&j.current&&k.current&&Lu.mergeNodes(u,{at:j.current,hanging:!0,voids:a}),D&&t&&"character"===r&&N.length>1&&N.match(/[\u0E00-\u0E7F]+/)&&Lu.insertText(u,N.slice(0,N.length-n));var J=k.unref(),Z=j.unref(),U=t?J||Z:Z||J;null==e.at&&U&&Lu.select(u,U)}}}))},insertFragment(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Q.withoutNormalizing(u,(()=>{var{hanging:r=!1,voids:n=!1}=t,{at:a=u.selection}=t;if(e.length&&a){if(hu.isRange(a))if(r||(a=Q.unhangRange(u,a)),hu.isCollapsed(a))a=a.anchor;else{var[,o]=hu.edges(a);if(!n&&Q.void(u,{at:o}))return;var i=Q.pointRef(u,o);Lu.delete(u,{at:a}),a=i.unref()}else iu.isPath(a)&&(a=Q.start(u,a));if(n||!Q.void(u,{at:a})){var D=Q.above(u,{at:a,match:e=>Q.isInline(u,e),mode:"highest",voids:n});if(D){var[,s]=D;if(Q.isEnd(u,a,s))a=Q.after(u,s);else if(Q.isStart(u,a,s)){a=Q.before(u,s)}}var C=Q.above(u,{match:e=>Q.isBlock(u,e),at:a,voids:n}),[,l]=C,B=Q.isStart(u,a,l),c=Q.isEnd(u,a,l),f=B&&c,h=!B||B&&c,A=!c,[,d]=ru.first({children:e},[]),[,F]=ru.last({children:e},[]),v=[],E=e=>{var[t,r]=e;return!(0===r.length)&&(!!f||!(h&&iu.isAncestor(r,d)&&Z.isElement(t)&&!u.isVoid(t)&&!u.isInline(t))&&!(A&&iu.isAncestor(r,F)&&Z.isElement(t)&&!u.isVoid(t)&&!u.isInline(t)))};for(var p of ru.nodes({children:e},{pass:E}))E(p)&&v.push(p);var g=[],m=[],y=[],w=!0,b=!1;for(var[x]of v)Z.isElement(x)&&!u.isInline(x)?(w=!1,b=!0,m.push(x)):w?g.push(x):y.push(x);var[O]=Q.nodes(u,{at:a,match:e=>yu.isText(e)||Q.isInline(u,e),mode:"highest",voids:n}),[,P]=O,k=Q.isStart(u,a,P),j=Q.isEnd(u,a,P),N=Q.pathRef(u,c&&!y.length?iu.next(l):l),_=Q.pathRef(u,j?iu.next(P):P);Lu.splitNodes(u,{at:a,match:e=>b?Q.isBlock(u,e):yu.isText(e)||Q.isInline(u,e),mode:b?"lowest":"highest",always:b&&(!B||g.length>0)&&(!c||y.length>0),voids:n});var T,R=Q.pathRef(u,!k||k&&j?iu.next(P):P);if(Lu.insertNodes(u,g,{at:R.current,match:e=>yu.isText(e)||Q.isInline(u,e),mode:"highest",voids:n}),f&&!g.length&&m.length&&!y.length&&Lu.delete(u,{at:l,voids:n}),Lu.insertNodes(u,m,{at:N.current,match:e=>Q.isBlock(u,e),mode:"lowest",voids:n}),Lu.insertNodes(u,y,{at:_.current,match:e=>yu.isText(e)||Q.isInline(u,e),mode:"highest",voids:n}),!t.at)if(y.length>0&&_.current?T=iu.previous(_.current):m.length>0&&N.current?T=iu.previous(N.current):R.current&&(T=iu.previous(R.current)),T){var S=Q.end(u,T);Lu.select(u,S)}R.unref(),N.unref(),_.unref()}}}))},insertText(u,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Q.withoutNormalizing(u,(()=>{var{voids:r=!1}=t,{at:n=u.selection}=t;if(n){if(iu.isPath(n)&&(n=Q.range(u,n)),hu.isRange(n))if(hu.isCollapsed(n))n=n.anchor;else{var a=hu.end(n);if(!r&&Q.void(u,{at:a}))return;var o=hu.start(n),i=Q.pointRef(u,o),D=Q.pointRef(u,a);Lu.delete(u,{at:n,voids:r});var s=i.unref(),C=D.unref();n=s||C,Lu.setSelection(u,{anchor:n,focus:n})}if(r||!Q.void(u,{at:n})){var{path:l,offset:B}=n;e.length>0&&u.apply({type:"insert_text",path:l,offset:B,text:e})}}}))}};function Vu(u,e){var t=Object.keys(u);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(u);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(u,e).enumerable}))),t.push.apply(t,r)}return t}function zu(u){for(var e=1;e{switch(t.type){case"insert_node":var{path:r,node:n}=t,a=ru.parent(u,r),o=r[r.length-1];if(o>a.children.length)throw new Error('Cannot apply an "insert_node" operation at path ['.concat(r,"] because the destination is past the end of the node."));if(a.children.splice(o,0,n),e)for(var[i,D]of hu.points(e))e[D]=lu.transform(i,t);break;case"insert_text":var{path:s,offset:C,text:l}=t;if(0===l.length)break;var B=ru.leaf(u,s),c=B.text.slice(0,C),f=B.text.slice(C);if(B.text=c+l+f,e)for(var[h,A]of hu.points(e))e[A]=lu.transform(h,t);break;case"merge_node":var{path:d}=t,F=ru.get(u,d),v=iu.previous(d),E=ru.get(u,v),p=ru.parent(u,d),g=d[d.length-1];if(yu.isText(F)&&yu.isText(E))E.text+=F.text;else{if(yu.isText(F)||yu.isText(E))throw new Error('Cannot apply a "merge_node" operation at path ['.concat(d,"] to nodes of different interfaces: ").concat(Fu.stringify(F)," ").concat(Fu.stringify(E)));E.children.push(...F.children)}if(p.children.splice(g,1),e)for(var[m,y]of hu.points(e))e[y]=lu.transform(m,t);break;case"move_node":var{path:w,newPath:b}=t;if(iu.isAncestor(w,b))throw new Error("Cannot move a path [".concat(w,"] to new path [").concat(b,"] because the destination is inside itself."));var x=ru.get(u,w),O=ru.parent(u,w),P=w[w.length-1];O.children.splice(P,1);var k=iu.transform(w,t),j=ru.get(u,iu.parent(k)),N=k[k.length-1];if(j.children.splice(N,0,x),e)for(var[_,T]of hu.points(e))e[T]=lu.transform(_,t);break;case"remove_node":var{path:R}=t,S=R[R.length-1];if(ru.parent(u,R).children.splice(S,1),e)for(var[q,I]of hu.points(e)){var V=lu.transform(q,t);if(null!=e&&null!=V)e[I]=V;else{var z=void 0,L=void 0;for(var[M,W]of ru.texts(u)){if(-1!==iu.compare(W,R)){L=[M,W];break}z=[M,W]}var $=!1;z&&L&&($=iu.equals(L[1],R)?!iu.hasPrevious(L[1]):iu.common(z[1],R).lengthOwncast Admin

What is your stream about today?

What is your stream about today?
Offline

Access Tokens

Access tokens are used to allow external, 3rd party tools to perform specific actions on your Owncast server. They should be kept secure and never included in client code, instead they should be kept on a server that you control.
Read more about how to use these tokens, with examples, at our documentation.
NameTokenScopesLast Used
No Data

\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Access Tokens

Access tokens are used to allow external, 3rd party tools to perform specific actions on your Owncast server. They should be kept secure and never included in client code, instead they should be kept on a server that you control.
Read more about how to use these tokens, with examples, at our documentation.
NameTokenScopesLast Used
No Data

\ No newline at end of file diff --git a/static/web/admin/actions/index.html b/static/web/admin/actions/index.html index fe2e568ce..3ff43be48 100644 --- a/static/web/admin/actions/index.html +++ b/static/web/admin/actions/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

External Actions

External action URLs are 3rd party UI you can display, embedded, into your Owncast page when a user clicks on a button to launch your action.
Read more about how to use actions, with examples, at our documentation.
NameDescriptionURLIconColorOpens
No Data

\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

External Actions

External action URLs are 3rd party UI you can display, embedded, into your Owncast page when a user clicks on a button to launch your action.
Read more about how to use actions, with examples, at our documentation.
NameDescriptionURLIconColorOpens
No Data

\ No newline at end of file diff --git a/static/web/admin/chat/messages/index.html b/static/web/admin/chat/messages/index.html index 50529db74..f378e96ab 100644 --- a/static/web/admin/chat/messages/index.html +++ b/static/web/admin/chat/messages/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Chat Messages

Manage the messages from viewers that show up on your stream.

Check multiple messages to change their visibility to:
Time
User
Message
No Data
\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Chat Messages

Manage the messages from viewers that show up on your stream.

Check multiple messages to change their visibility to:
Time
User
Message
No Data
\ No newline at end of file diff --git a/static/web/admin/chat/users/index.html b/static/web/admin/chat/users/index.html index c0b0c9fd1..64a4c2a3c 100644 --- a/static/web/admin/chat/users/index.html +++ b/static/web/admin/chat/users/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

When a stream is active and chat is enabled, connected chat clients will be displayed here.

\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

When a stream is active and chat is enabled, connected chat clients will be displayed here.

\ No newline at end of file diff --git a/static/web/admin/config-chat/index.html b/static/web/admin/config-chat/index.html index 9d41df7cc..1712acd58 100644 --- a/static/web/admin/config-chat/index.html +++ b/static/web/admin/config-chat/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline
\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline
\ No newline at end of file diff --git a/static/web/admin/config-federation/index.html b/static/web/admin/config-federation/index.html index 8082287a2..eb0520f89 100644 --- a/static/web/admin/config-federation/index.html +++ b/static/web/admin/config-federation/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline
\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline
\ No newline at end of file diff --git a/static/web/admin/config-notify/index.html b/static/web/admin/config-notify/index.html index f76609c82..fdb9f9075 100644 --- a/static/web/admin/config-notify/index.html +++ b/static/web/admin/config-notify/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Notifications

Let your viewers know when you go live by supporting any of the below notification channels. Learn more about live notifications.


The full url to your Owncast server is required to enable social features. Must use SSL (https). Once people start following your instance you should not change this.

The full url to your Owncast server is required to enable social features. Must use SSL (https). Once people start following your instance you should not change this.

Browser Alerts

Viewers can opt into being notified when you go live with their browser.

Not all browsers support this.

Enable browser notifications

The text to send when you go live.

Twitter

Let your Twitter followers know each time you go live.

Enable Twitter

The text to send when you go live.

Discord

Let your Discord channel know each time you go live.

Create a webhook under Edit Channel / Integrations on your Discord channel and provide it below.

Enable Discord

The webhook assigned to your channel.

The text to send when you go live.

Fediverse Social

Enabling the Fediverse social features will not just alert people to when you go live, but also enable other functionality.

Fediverse social features: Disabled

Configure

Custom

Build your own notifications by using custom webhooks.

Create
\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Notifications

Let your viewers know when you go live by supporting any of the below notification channels. Learn more about live notifications.


The full url to your Owncast server is required to enable social features. Must use SSL (https). Once people start following your instance you should not change this.

The full url to your Owncast server is required to enable social features. Must use SSL (https). Once people start following your instance you should not change this.

Browser Alerts

Viewers can opt into being notified when you go live with their browser.

Not all browsers support this.

Enable browser notifications

The text to send when you go live.

Twitter

Let your Twitter followers know each time you go live.

Enable Twitter

The text to send when you go live.

Discord

Let your Discord channel know each time you go live.

Create a webhook under Edit Channel / Integrations on your Discord channel and provide it below.

Enable Discord

The webhook assigned to your channel.

The text to send when you go live.

Fediverse Social

Enabling the Fediverse social features will not just alert people to when you go live, but also enable other functionality.

Fediverse social features: Disabled

Configure

Custom

Build your own notifications by using custom webhooks.

Create
\ No newline at end of file diff --git a/static/web/admin/config-public-details/index.html b/static/web/admin/config-public-details/index.html index c7a17944b..5530df2fc 100644 --- a/static/web/admin/config-public-details/index.html +++ b/static/web/admin/config-public-details/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

General Settings

The following are displayed on your site to describe your stream and its content. Learn more.

Custom Page Content

Edit the content of your page by using simple Markdown syntax.


Customize your page styling with CSS

Customize the look and feel of your Owncast instance by overriding the CSS styles of various components on the page. Refer to the CSS & Components guide.

Please input plain CSS text, as this will be directly injected onto your page during load.


\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

General Settings

The following are displayed on your site to describe your stream and its content. Learn more.

Custom Page Content

Edit the content of your page by using simple Markdown syntax.


Customize your page styling with CSS

Customize the look and feel of your Owncast instance by overriding the CSS styles of various components on the page. Refer to the CSS & Components guide.

Please input plain CSS text, as this will be directly injected onto your page during load.


\ No newline at end of file diff --git a/static/web/admin/config-server-details/index.html b/static/web/admin/config-server-details/index.html index 0d1c6533f..d39f40d2b 100644 --- a/static/web/admin/config-server-details/index.html +++ b/static/web/admin/config-server-details/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Server Settings

You should change your stream key from the default and keep it safe. For most people it's likely the other settings will not need to be changed.

\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Server Settings

You should change your stream key from the default and keep it safe. For most people it's likely the other settings will not need to be changed.

\ No newline at end of file diff --git a/static/web/admin/config-social-items/index.html b/static/web/admin/config-social-items/index.html index eaa89879e..629a4cdb8 100644 --- a/static/web/admin/config-social-items/index.html +++ b/static/web/admin/config-social-items/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Social Items

\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Social Items

\ No newline at end of file diff --git a/static/web/admin/config-storage/index.html b/static/web/admin/config-storage/index.html index 68573f477..57ed881db 100644 --- a/static/web/admin/config-storage/index.html +++ b/static/web/admin/config-storage/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Storage

Owncast supports optionally using external storage providers to stream your video. Learn more about this by visiting our Storage Documentation.

Configuring this incorrectly will likely cause your video to be unplayable. Double check the documentation for your storage provider on how to configure the bucket you created for Owncast.

Keep in mind this is for live streaming, not for archival, recording or VOD purposes.

\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Storage

Owncast supports optionally using external storage providers to stream your video. Learn more about this by visiting our Storage Documentation.

Configuring this incorrectly will likely cause your video to be unplayable. Double check the documentation for your storage provider on how to configure the bucket you created for Owncast.

Keep in mind this is for live streaming, not for archival, recording or VOD purposes.

\ No newline at end of file diff --git a/static/web/admin/config-video/index.html b/static/web/admin/config-video/index.html index cc920ed58..328225a58 100644 --- a/static/web/admin/config-video/index.html +++ b/static/web/admin/config-video/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Video configuration

Before changing your video configuration visit the video documentation to learn how it impacts your stream performance. The general rule is to start conservatively by having one middle quality stream output variant and experiment with adding more of varied qualities.

Stream output

NameVideo bitrateCPU Usage
No name800 kbpsMedium

Latency Buffer

While it's natural to want to keep your latency as low as possible, you may experience reduced error tolerance and stability the lower you go. The lowest setting is not recommended.

For interactive live streams you may want to experiment with a lower latency, for non-interactive broadcasts you may want to increase it. Read to learn more.

LowestHighest

\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Video configuration

Before changing your video configuration visit the video documentation to learn how it impacts your stream performance. The general rule is to start conservatively by having one middle quality stream output variant and experiment with adding more of varied qualities.

Stream output

NameVideo bitrateCPU Usage
No name800 kbpsMedium

Latency Buffer

While it's natural to want to keep your latency as low as possible, you may experience reduced error tolerance and stability the lower you go. The lowest setting is not recommended.

For interactive live streams you may want to experiment with a lower latency, for non-interactive broadcasts you may want to increase it. Read to learn more.

LowestHighest

\ No newline at end of file diff --git a/static/web/admin/federation/actions/index.html b/static/web/admin/federation/actions/index.html index d6ba509a5..0353864cc 100644 --- a/static/web/admin/federation/actions/index.html +++ b/static/web/admin/federation/actions/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Fediverse Actions

Below is a list of actions that were taken by others in response to your posts as well as people who requested to follow you.
ActionFromWhen
No Data
\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Fediverse Actions

Below is a list of actions that were taken by others in response to your posts as well as people who requested to follow you.
ActionFromWhen
No Data
\ No newline at end of file diff --git a/static/web/admin/federation/followers/index.html b/static/web/admin/federation/followers/index.html index 9adc6fe54..d72144fc4 100644 --- a/static/web/admin/federation/followers/index.html +++ b/static/web/admin/federation/followers/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

The following accounts get notified when you go live or send a post.

NameURL
Added
Remove
No Data
\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

The following accounts get notified when you go live or send a post.

NameURL
Added
Remove
No Data
\ No newline at end of file diff --git a/static/web/admin/hardware-info/index.html b/static/web/admin/hardware-info/index.html index 8dfbaa57e..df7c2eb85 100644 --- a/static/web/admin/hardware-info/index.html +++ b/static/web/admin/hardware-info/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Hardware Info


CPU
0%
Memory
0%
Disk
0%
Loading...
\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Hardware Info


CPU
0%
Memory
0%
Disk
0%
Loading...
\ No newline at end of file diff --git a/static/web/admin/help/index.html b/static/web/admin/help/index.html index e09436cd2..5319a14a9 100644 --- a/static/web/admin/help/index.html +++ b/static/web/admin/help/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

How can we help you?

Troubleshooting

Fix your problems

Documentation

Read the Docs

Common tasks

I want to configure my owncast instance
Help configuring my broadcasting software
I want to embed my stream into another site
I want to customize my website
I want to tweak my video output
I want to use an external storage provider

Other

I found a bug
If you found a bug, then please let us know
I have a general question
Most general questions are answered in our FAQ or exist in our discussions
I want to build add-ons for Owncast
You can build your own bots, overlays, tools and add-ons with our developer APIs. 
\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

How can we help you?

Troubleshooting

Fix your problems

Documentation

Read the Docs

Common tasks

I want to configure my owncast instance
Help configuring my broadcasting software
I want to embed my stream into another site
I want to customize my website
I want to tweak my video output
I want to use an external storage provider

Other

I found a bug
If you found a bug, then please let us know
I have a general question
Most general questions are answered in our FAQ or exist in our discussions
I want to build add-ons for Owncast
You can build your own bots, overlays, tools and add-ons with our developer APIs. 
\ No newline at end of file diff --git a/static/web/admin/index.html b/static/web/admin/index.html index 87d929c6a..908ba6317 100644 --- a/static/web/admin/index.html +++ b/static/web/admin/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

No stream is active

You should start one.

Use your broadcasting software
Chat is disabled
Chat will continue to be disabled until you begin a live stream.
Find an audience on the Owncast Directory
List yourself in the Owncast Directory and show off your stream. Enable it in settings.
fediverse
Add your Owncast instance to the Fediverse
Enable Owncast social features to have your instance join the Fediverse, allowing people to follow, share and engage with your live stream.

News & Updates from Owncast

\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

No stream is active

You should start one.

Use your broadcasting software
Chat is disabled
Chat will continue to be disabled until you begin a live stream.
Find an audience on the Owncast Directory
List yourself in the Owncast Directory and show off your stream. Enable it in settings.
fediverse
Add your Owncast instance to the Fediverse
Enable Owncast social features to have your instance join the Fediverse, allowing people to follow, share and engage with your live stream.

News & Updates from Owncast

\ No newline at end of file diff --git a/static/web/admin/logs/index.html b/static/web/admin/logs/index.html index c81fba2cf..0119e65d9 100644 --- a/static/web/admin/logs/index.html +++ b/static/web/admin/logs/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline
\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline
\ No newline at end of file diff --git a/static/web/admin/stream-health/index.html b/static/web/admin/stream-health/index.html index d41dd43a0..ef5fda73e 100644 --- a/static/web/admin/stream-health/index.html +++ b/static/web/admin/stream-health/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Stream Performance

\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Stream Performance

\ No newline at end of file diff --git a/static/web/admin/upgrade/index.html b/static/web/admin/upgrade/index.html index 3e285b553..8b7060255 100644 --- a/static/web/admin/upgrade/index.html +++ b/static/web/admin/upgrade/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Thu Jan 01 1970

Downloads

NameSize
No Data
\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Thu Jan 01 1970

Downloads

NameSize
No Data
\ No newline at end of file diff --git a/static/web/admin/viewer-info/index.html b/static/web/admin/viewer-info/index.html index 36fede0f2..88c954297 100644 --- a/static/web/admin/viewer-info/index.html +++ b/static/web/admin/viewer-info/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Viewer Info


Max viewers last stream
0
All-time max viewers
0
User AgentLocation
Watch Time
No Data
\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Viewer Info


Max viewers last stream
0
All-time max viewers
0
User AgentLocation
Watch Time
No Data
\ No newline at end of file diff --git a/static/web/admin/webhooks/index.html b/static/web/admin/webhooks/index.html index 817e95e7d..271f64478 100644 --- a/static/web/admin/webhooks/index.html +++ b/static/web/admin/webhooks/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Webhooks

A webhook is a callback made to an external API in response to an event that takes place within Owncast. This can be used to build chat bots or sending automatic notifications that you've started streaming.
Read more about how to use webhooks, with examples, at our documentation.
URLEvents
No Data

\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Webhooks

A webhook is a callback made to an external API in response to an event that takes place within Owncast. This can be used to build chat bots or sending automatic notifications that you've started streaming.
Read more about how to use webhooks, with examples, at our documentation.
URLEvents
No Data

\ No newline at end of file diff --git a/static/web/embed/chat/readonly/index.html b/static/web/embed/chat/readonly/index.html index 560fedb55..2616fbdc2 100644 --- a/static/web/embed/chat/readonly/index.html +++ b/static/web/embed/chat/readonly/index.html @@ -1 +1 @@ -
chat container goes here
\ No newline at end of file +
chat container goes here
\ No newline at end of file diff --git a/static/web/embed/chat/readwrite/index.html b/static/web/embed/chat/readwrite/index.html index ad02d7aca..f265110b2 100644 --- a/static/web/embed/chat/readwrite/index.html +++ b/static/web/embed/chat/readwrite/index.html @@ -1 +1 @@ -
fully featured chat embed goes here
\ No newline at end of file +
fully featured chat embed goes here
\ No newline at end of file diff --git a/static/web/embed/video/index.html b/static/web/embed/video/index.html index db796edd9..eae45e6ce 100644 --- a/static/web/embed/video/index.html +++ b/static/web/embed/video/index.html @@ -1 +1 @@ -
is currently offline.
Stream is offline text goes here.
Offline
\ No newline at end of file +
is currently offline.
Stream is offline text goes here.
Offline
\ No newline at end of file diff --git a/static/web/index.html b/static/web/index.html index 3e14413c2..f6e8f2aef 100644 --- a/static/web/index.html +++ b/static/web/index.html @@ -1 +1 @@ -
Chat offline
is currently offline.
Please follow and ask to get notified when the stream is live.
Offline
Logo
Preview
\ No newline at end of file +
Chat offline
is currently offline.
Please follow and ask to get notified when the stream is live.
Offline
Logo
Preview
\ No newline at end of file