graphwise-reactodia 0.0.1-TR6 → 0.0.1-TR7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- import{r as e,h as t,H as n,g as i}from"./p-Cypw7ydc.js";var r,o,a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},s={exports:{}},l={};function c(){if(r)return l;r=1;var e=Symbol.for("react.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),a=Symbol.for("react.provider"),s=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),u=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),f=Symbol.iterator,p={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,v={};function m(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||p}function b(){}function w(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||p}m.prototype.isReactComponent={},m.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},m.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},b.prototype=m.prototype;var y=w.prototype=new b;y.constructor=w,g(y,m.prototype),y.isPureReactComponent=!0;var _=Array.isArray,k=Object.prototype.hasOwnProperty,x={current:null},S={key:!0,ref:!0,__self:!0,__source:!0};function C(t,n,i){var r,o={},a=null,s=null;if(null!=n)for(r in void 0!==n.ref&&(s=n.ref),void 0!==n.key&&(a=""+n.key),n)k.call(n,r)&&!S.hasOwnProperty(r)&&(o[r]=n[r]);var l=arguments.length-2;if(1===l)o.children=i;else if(1<l){for(var c=Array(l),d=0;d<l;d++)c[d]=arguments[d+2];o.children=c}if(t&&t.defaultProps)for(r in l=t.defaultProps)void 0===o[r]&&(o[r]=l[r]);return{$$typeof:e,type:t,key:a,ref:s,props:o,_owner:x.current}}function L(t){return"object"==typeof t&&null!==t&&t.$$typeof===e}var M=/\/+/g;function E(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function z(n,i,r,o,a){var s=typeof n;"undefined"!==s&&"boolean"!==s||(n=null);var l=!1;if(null===n)l=!0;else switch(s){case"string":case"number":l=!0;break;case"object":switch(n.$$typeof){case e:case t:l=!0}}if(l)return a=a(l=n),n=""===o?"."+E(l,0):o,_(a)?(r="",null!=n&&(r=n.replace(M,"$&/")+"/"),z(a,i,r,"",(function(e){return e}))):null!=a&&(L(a)&&(a=function(t,n){return{$$typeof:e,type:t.type,key:n,ref:t.ref,props:t.props,_owner:t._owner}}(a,r+(!a.key||l&&l.key===a.key?"":(""+a.key).replace(M,"$&/")+"/")+n)),i.push(a)),1;if(l=0,o=""===o?".":o+":",_(n))for(var c=0;c<n.length;c++){var d=o+E(s=n[c],c);l+=z(s,i,r,d,a)}else if(d=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=f&&e[f]||e["@@iterator"])?e:null}(n),"function"==typeof d)for(n=d.call(n),c=0;!(s=n.next()).done;)l+=z(s=s.value,i,r,d=o+E(s,c++),a);else if("object"===s)throw i=String(n),Error("Objects are not valid as a React child (found: "+("[object Object]"===i?"object with keys {"+Object.keys(n).join(", ")+"}":i)+"). If you meant to render a collection of children, use an array instead.");return l}function $(e,t,n){if(null==e)return e;var i=[],r=0;return z(e,i,"","",(function(e){return t.call(n,e,r++)})),i}function N(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var T={current:null},A={transition:null},I={ReactCurrentDispatcher:T,ReactCurrentBatchConfig:A,ReactCurrentOwner:x};function V(){throw Error("act(...) is not supported in production builds of React.")}return l.Children={map:$,forEach:function(e,t,n){$(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return $(e,(function(){t++})),t},toArray:function(e){return $(e,(function(e){return e}))||[]},only:function(e){if(!L(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},l.Component=m,l.Fragment=n,l.Profiler=o,l.PureComponent=w,l.StrictMode=i,l.Suspense=d,l.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=I,l.act=V,l.cloneElement=function(t,n,i){if(null==t)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+t+".");var r=g({},t.props),o=t.key,a=t.ref,s=t._owner;if(null!=n){if(void 0!==n.ref&&(a=n.ref,s=x.current),void 0!==n.key&&(o=""+n.key),t.type&&t.type.defaultProps)var l=t.type.defaultProps;for(c in n)k.call(n,c)&&!S.hasOwnProperty(c)&&(r[c]=void 0===n[c]&&void 0!==l?l[c]:n[c])}var c=arguments.length-2;if(1===c)r.children=i;else if(1<c){l=Array(c);for(var d=0;d<c;d++)l[d]=arguments[d+2];r.children=l}return{$$typeof:e,type:t.type,key:o,ref:a,props:r,_owner:s}},l.createContext=function(e){return(e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:a,_context:e},e.Consumer=e},l.createElement=C,l.createFactory=function(e){var t=C.bind(null,e);return t.type=e,t},l.createRef=function(){return{current:null}},l.forwardRef=function(e){return{$$typeof:c,render:e}},l.isValidElement=L,l.lazy=function(e){return{$$typeof:h,_payload:{_status:-1,_result:e},_init:N}},l.memo=function(e,t){return{$$typeof:u,type:e,compare:void 0===t?null:t}},l.startTransition=function(e){var t=A.transition;A.transition={};try{e()}finally{A.transition=t}},l.unstable_act=V,l.useCallback=function(e,t){return T.current.useCallback(e,t)},l.useContext=function(e){return T.current.useContext(e)},l.useDebugValue=function(){},l.useDeferredValue=function(e){return T.current.useDeferredValue(e)},l.useEffect=function(e,t){return T.current.useEffect(e,t)},l.useId=function(){return T.current.useId()},l.useImperativeHandle=function(e,t,n){return T.current.useImperativeHandle(e,t,n)},l.useInsertionEffect=function(e,t){return T.current.useInsertionEffect(e,t)},l.useLayoutEffect=function(e,t){return T.current.useLayoutEffect(e,t)},l.useMemo=function(e,t){return T.current.useMemo(e,t)},l.useReducer=function(e,t,n){return T.current.useReducer(e,t,n)},l.useRef=function(e){return T.current.useRef(e)},l.useState=function(e){return T.current.useState(e)},l.useSyncExternalStore=function(e,t,n){return T.current.useSyncExternalStore(e,t,n)},l.useTransition=function(){return T.current.useTransition()},l.version="18.3.1",l}function d(){return o||(o=1,s.exports=c()),s.exports}var u,h,f,p,g,v=d(),m={},b={exports:{}},w={},y={exports:{}},_={};function k(){if(f)return w;f=1;var e=d(),t=(h||(h=1,y.exports=(u||(u=1,function(e){function t(e,t){var n=e.length;e.push(t);e:for(;0<n;){var i=n-1>>>1,o=e[i];if(!(0<r(o,t)))break e;e[i]=t,e[n]=o,n=i}}function n(e){return 0===e.length?null:e[0]}function i(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var i=0,o=e.length,a=o>>>1;i<a;){var s=2*(i+1)-1,l=e[s],c=s+1,d=e[c];if(0>r(l,n))c<o&&0>r(d,l)?(e[i]=d,e[c]=n,i=c):(e[i]=l,e[s]=n,i=s);else{if(!(c<o&&0>r(d,n)))break e;e[i]=d,e[c]=n,i=c}}}return t}function r(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var o=performance;e.unstable_now=function(){return o.now()}}else{var a=Date,s=a.now();e.unstable_now=function(){return a.now()-s}}var l=[],c=[],d=1,u=null,h=3,f=!1,p=!1,g=!1,v="function"==typeof setTimeout?setTimeout:null,m="function"==typeof clearTimeout?clearTimeout:null,b="undefined"!=typeof setImmediate?setImmediate:null;function w(e){for(var r=n(c);null!==r;){if(null===r.callback)i(c);else{if(!(r.startTime<=e))break;i(c),r.sortIndex=r.expirationTime,t(l,r)}r=n(c)}}function y(e){if(g=!1,w(e),!p)if(null!==n(l))p=!0,T(_);else{var t=n(c);null!==t&&A(y,t.startTime-e)}}function _(t,r){p=!1,g&&(g=!1,m(C),C=-1),f=!0;var o=h;try{for(w(r),u=n(l);null!==u&&(!(u.expirationTime>r)||t&&!E());){var a=u.callback;if("function"==typeof a){u.callback=null,h=u.priorityLevel;var s=a(u.expirationTime<=r);r=e.unstable_now(),"function"==typeof s?u.callback=s:u===n(l)&&i(l),w(r)}else i(l);u=n(l)}if(null!==u)var d=!0;else{var v=n(c);null!==v&&A(y,v.startTime-r),d=!1}return d}finally{u=null,h=o,f=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var k,x=!1,S=null,C=-1,L=5,M=-1;function E(){return!(e.unstable_now()-M<L)}function z(){if(null!==S){var t=e.unstable_now();M=t;var n=!0;try{n=S(!0,t)}finally{n?k():(x=!1,S=null)}}else x=!1}if("function"==typeof b)k=function(){b(z)};else if("undefined"!=typeof MessageChannel){var $=new MessageChannel,N=$.port2;$.port1.onmessage=z,k=function(){N.postMessage(null)}}else k=function(){v(z,0)};function T(e){S=e,x||(x=!0,k())}function A(t,n){C=v((function(){t(e.unstable_now())}),n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_continueExecution=function(){p||f||(p=!0,T(_))},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):L=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return h},e.unstable_getFirstCallbackNode=function(){return n(l)},e.unstable_next=function(e){switch(h){case 1:case 2:case 3:var t=3;break;default:t=h}var n=h;h=t;try{return e()}finally{h=n}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=h;h=e;try{return t()}finally{h=n}},e.unstable_scheduleCallback=function(i,r,o){var a=e.unstable_now();switch(o="object"==typeof o&&null!==o&&"number"==typeof(o=o.delay)&&0<o?a+o:a,i){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return i={id:d++,callback:r,priorityLevel:i,startTime:o,expirationTime:s=o+s,sortIndex:-1},o>a?(i.sortIndex=o,t(c,i),null===n(l)&&i===n(c)&&(g?(m(C),C=-1):g=!0,A(y,o-a))):(i.sortIndex=s,t(l,i),p||f||(p=!0,T(_))),i},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=h;return function(){var n=h;h=t;try{return e.apply(this,arguments)}finally{h=n}}}}(_)),_)),y.exports);function n(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var i=new Set,r={};function o(e,t){a(e,t),a(e+"Capture",t)}function a(e,t){for(r[e]=t,e=0;e<t.length;e++)i.add(t[e])}var s=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),l=Object.prototype.hasOwnProperty,c=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,p={},g={};function v(e,t,n,i,r,o,a){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=i,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=a}var m={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){m[e]=new v(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];m[t]=new v(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){m[e]=new v(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){m[e]=new v(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){m[e]=new v(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){m[e]=new v(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){m[e]=new v(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){m[e]=new v(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){m[e]=new v(e,5,!1,e.toLowerCase(),null,!1,!1)}));var b=/[\-:]([a-z])/g;function k(e){return e[1].toUpperCase()}function x(e,t,n,i){var r=m.hasOwnProperty(t)?m[t]:null;(null!==r?0!==r.type:i||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,n,i){if(null==t||function(e,t,n,i){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!i&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,i))return!0;if(i)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,r,i)&&(n=null),i||null===r?function(e){return!!l.call(g,e)||!l.call(p,e)&&(c.test(e)?g[e]=!0:(p[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):r.mustUseProperty?e[r.propertyName]=null===n?3!==r.type&&"":n:(t=r.attributeName,i=r.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(r=r.type)||4===r&&!0===n?"":""+n,i?e.setAttributeNS(i,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(b,k);m[t]=new v(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(b,k);m[t]=new v(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(b,k);m[t]=new v(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){m[e]=new v(e,1,!1,e.toLowerCase(),null,!1,!1)})),m.xlinkHref=new v("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){m[e]=new v(e,1,!1,e.toLowerCase(),null,!0,!0)}));var S=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,C=Symbol.for("react.element"),L=Symbol.for("react.portal"),M=Symbol.for("react.fragment"),E=Symbol.for("react.strict_mode"),z=Symbol.for("react.profiler"),$=Symbol.for("react.provider"),N=Symbol.for("react.context"),T=Symbol.for("react.forward_ref"),A=Symbol.for("react.suspense"),I=Symbol.for("react.suspense_list"),V=Symbol.for("react.memo"),P=Symbol.for("react.lazy"),H=Symbol.for("react.offscreen"),R=Symbol.iterator;function D(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=R&&e[R]||e["@@iterator"])?e:null}var B,O=Object.assign;function j(e){if(void 0===B)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);B=t&&t[1]||""}return"\n"+B+e}var F=!1;function U(e,t){if(!e||F)return"";F=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){var i=e}Reflect.construct(e,[],t)}else{try{t.call()}catch(e){i=e}e.call(t.prototype)}else{try{throw Error()}catch(e){i=e}e()}}catch(t){if(t&&i&&"string"==typeof t.stack){for(var r=t.stack.split("\n"),o=i.stack.split("\n"),a=r.length-1,s=o.length-1;1<=a&&0<=s&&r[a]!==o[s];)s--;for(;1<=a&&0<=s;a--,s--)if(r[a]!==o[s]){if(1!==a||1!==s)do{if(a--,0>--s||r[a]!==o[s]){var l="\n"+r[a].replace(" at new "," at ");return e.displayName&&l.includes("<anonymous>")&&(l=l.replace("<anonymous>",e.displayName)),l}}while(1<=a&&0<=s);break}}}finally{F=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?j(e):""}function q(e){switch(e.tag){case 5:return j(e.type);case 16:return j("Lazy");case 13:return j("Suspense");case 19:return j("SuspenseList");case 0:case 2:case 15:return U(e.type,!1);case 11:return U(e.type.render,!1);case 1:return U(e.type,!0);default:return""}}function W(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case M:return"Fragment";case L:return"Portal";case z:return"Profiler";case E:return"StrictMode";case A:return"Suspense";case I:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case N:return(e.displayName||"Context")+".Consumer";case $:return(e._context.displayName||"Context")+".Provider";case T:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case V:return null!==(t=e.displayName||null)?t:W(e.type)||"Memo";case P:t=e._payload,e=e._init;try{return W(e(t))}catch(e){}}return null}function G(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return W(t);case 8:return t===E?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function Z(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function K(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function X(e){e._valueTracker||(e._valueTracker=function(e){var t=K(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var r=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(e){i=""+e,o.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return i},setValue:function(e){i=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function Q(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),i="";return e&&(i=K(e)?e.checked?"true":"false":e.value),(e=i)!==n&&(t.setValue(e),!0)}function Y(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function J(e,t){var n=t.checked;return O({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function ee(e,t){var n=null==t.defaultValue?"":t.defaultValue,i=null!=t.checked?t.checked:t.defaultChecked;n=Z(null!=t.value?t.value:n),e._wrapperState={initialChecked:i,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function te(e,t){null!=(t=t.checked)&&x(e,"checked",t,!1)}function ne(e,t){te(e,t);var n=Z(t.value),i=t.type;if(null!=n)"number"===i?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===i||"reset"===i)return void e.removeAttribute("value");t.hasOwnProperty("value")?re(e,t.type,n):t.hasOwnProperty("defaultValue")&&re(e,t.type,Z(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function ie(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var i=t.type;if(("submit"===i||"reset"===i)&&null==t.value)return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function re(e,t,n){"number"===t&&Y(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var oe=Array.isArray;function ae(e,t,n,i){if(e=e.options,t){t={};for(var r=0;r<n.length;r++)t["$"+n[r]]=!0;for(n=0;n<e.length;n++)r=t.hasOwnProperty("$"+e[n].value),e[n].selected!==r&&(e[n].selected=r),r&&i&&(e[n].defaultSelected=!0)}else{for(n=""+Z(n),t=null,r=0;r<e.length;r++){if(e[r].value===n)return e[r].selected=!0,void(i&&(e[r].defaultSelected=!0));null!==t||e[r].disabled||(t=e[r])}null!==t&&(t.selected=!0)}}function se(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(n(91));return O({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function le(e,t){var i=t.value;if(null==i){if(i=t.children,t=t.defaultValue,null!=i){if(null!=t)throw Error(n(92));if(oe(i)){if(1<i.length)throw Error(n(93));i=i[0]}t=i}null==t&&(t=""),i=t}e._wrapperState={initialValue:Z(i)}}function ce(e,t){var n=Z(t.value),i=Z(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=i&&(e.defaultValue=""+i)}function de(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function ue(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function he(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?ue(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var fe,pe,ge=(pe=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((fe=fe||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=fe.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t){MSApp.execUnsafeLocalFunction((function(){return pe(e,t)}))}:pe);function ve(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var me={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},be=["Webkit","ms","Moz","O"];function we(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||me.hasOwnProperty(e)&&me[e]?(""+t).trim():t+"px"}function ye(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var i=0===n.indexOf("--"),r=we(n,t[n],i);"float"===n&&(n="cssFloat"),i?e.setProperty(n,r):e[n]=r}}Object.keys(me).forEach((function(e){be.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),me[t]=me[e]}))}));var _e=O({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ke(e,t){if(t){if(_e[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(n(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(n(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(n(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(n(62))}}function xe(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Se=null;function Ce(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var Le=null,Me=null,Ee=null;function ze(e){if(e=xr(e)){if("function"!=typeof Le)throw Error(n(280));var t=e.stateNode;t&&(t=Cr(t),Le(e.stateNode,e.type,t))}}function $e(e){Me?Ee?Ee.push(e):Ee=[e]:Me=e}function Ne(){if(Me){var e=Me,t=Ee;if(Ee=Me=null,ze(e),t)for(e=0;e<t.length;e++)ze(t[e])}}function Te(e,t){return e(t)}function Ae(){}var Ie=!1;function Ve(e,t,n){if(Ie)return e(t,n);Ie=!0;try{return Te(e,t,n)}finally{Ie=!1,(null!==Me||null!==Ee)&&(Ae(),Ne())}}function Pe(e,t){var i=e.stateNode;if(null===i)return null;var r=Cr(i);if(null===r)return null;i=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(i&&"function"!=typeof i)throw Error(n(231,t,typeof i));return i}var He=!1;if(s)try{var Re={};Object.defineProperty(Re,"passive",{get:function(){He=!0}}),window.addEventListener("test",Re,Re),window.removeEventListener("test",Re,Re)}catch(pe){He=!1}function De(e,t,n,i,r,o,a,s,l){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(e){this.onError(e)}}var Be=!1,Oe=null,je=!1,Fe=null,Ue={onError:function(e){Be=!0,Oe=e}};function qe(e,t,n,i,r,o,a,s,l){Be=!1,Oe=null,De.apply(Ue,arguments)}function We(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{!!(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function Ge(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&null!==(e=e.alternate)&&(t=e.memoizedState),null!==t)return t.dehydrated}return null}function Ze(e){if(We(e)!==e)throw Error(n(188))}function Ke(e){return e=function(e){var t=e.alternate;if(!t){if(null===(t=We(e)))throw Error(n(188));return t!==e?null:e}for(var i=e,r=t;;){var o=i.return;if(null===o)break;var a=o.alternate;if(null===a){if(null!==(r=o.return)){i=r;continue}break}if(o.child===a.child){for(a=o.child;a;){if(a===i)return Ze(o),e;if(a===r)return Ze(o),t;a=a.sibling}throw Error(n(188))}if(i.return!==r.return)i=o,r=a;else{for(var s=!1,l=o.child;l;){if(l===i){s=!0,i=o,r=a;break}if(l===r){s=!0,r=o,i=a;break}l=l.sibling}if(!s){for(l=a.child;l;){if(l===i){s=!0,i=a,r=o;break}if(l===r){s=!0,r=a,i=o;break}l=l.sibling}if(!s)throw Error(n(189))}}if(i.alternate!==r)throw Error(n(190))}if(3!==i.tag)throw Error(n(188));return i.stateNode.current===i?e:t}(e),null!==e?Xe(e):null}function Xe(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=Xe(e);if(null!==t)return t;e=e.sibling}return null}var Qe=t.unstable_scheduleCallback,Ye=t.unstable_cancelCallback,Je=t.unstable_shouldYield,et=t.unstable_requestPaint,tt=t.unstable_now,nt=t.unstable_getCurrentPriorityLevel,it=t.unstable_ImmediatePriority,rt=t.unstable_UserBlockingPriority,ot=t.unstable_NormalPriority,at=t.unstable_LowPriority,st=t.unstable_IdlePriority,lt=null,ct=null,dt=Math.clz32?Math.clz32:function(e){return 0===(e>>>=0)?32:31-(ut(e)/ht|0)|0},ut=Math.log,ht=Math.LN2,ft=64,pt=4194304;function gt(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function vt(e,t){var n=e.pendingLanes;if(0===n)return 0;var i=0,r=e.suspendedLanes,o=e.pingedLanes,a=268435455&n;if(0!==a){var s=a&~r;0!==s?i=gt(s):0!=(o&=a)&&(i=gt(o))}else 0!=(a=n&~r)?i=gt(a):0!==o&&(i=gt(o));if(0===i)return 0;if(0!==t&&t!==i&&!(t&r)&&((r=i&-i)>=(o=t&-t)||16===r&&4194240&o))return t;if(4&i&&(i|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=i;0<t;)i|=e[n=31-dt(t)],t&=~(r=1<<n);return i}function mt(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function bt(e){return 0!=(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function wt(){var e=ft;return!(4194240&(ft<<=1))&&(ft=64),e}function yt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function _t(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-dt(t)]=n}function kt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var i=31-dt(n),r=1<<i;r&t|e[i]&t&&(e[i]|=t),n&=~r}}var xt=0;function St(e){return 1<(e&=-e)?4<e?268435455&e?16:536870912:4:1}var Ct,Lt,Mt,Et,zt,$t=!1,Nt=[],Tt=null,At=null,It=null,Vt=new Map,Pt=new Map,Ht=[],Rt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Dt(e,t){switch(e){case"focusin":case"focusout":Tt=null;break;case"dragenter":case"dragleave":At=null;break;case"mouseover":case"mouseout":It=null;break;case"pointerover":case"pointerout":Vt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Pt.delete(t.pointerId)}}function Bt(e,t,n,i,r,o){return null===e||e.nativeEvent!==o?(e={blockedOn:t,domEventName:n,eventSystemFlags:i,nativeEvent:o,targetContainers:[r]},null!==t&&null!==(t=xr(t))&&Lt(t),e):(e.eventSystemFlags|=i,t=e.targetContainers,null!==r&&-1===t.indexOf(r)&&t.push(r),e)}function Ot(e){var t=kr(e.target);if(null!==t){var n=We(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=Ge(n)))return e.blockedOn=t,void zt(e.priority,(function(){Mt(n)}))}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function jt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Jt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=xr(n))&&Lt(t),e.blockedOn=n,!1;var i=new(n=e.nativeEvent).constructor(n.type,n);Se=i,n.target.dispatchEvent(i),Se=null,t.shift()}return!0}function Ft(e,t,n){jt(e)&&n.delete(t)}function Ut(){$t=!1,null!==Tt&&jt(Tt)&&(Tt=null),null!==At&&jt(At)&&(At=null),null!==It&&jt(It)&&(It=null),Vt.forEach(Ft),Pt.forEach(Ft)}function qt(e,n){e.blockedOn===n&&(e.blockedOn=null,$t||($t=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,Ut)))}function Wt(e){function t(t){return qt(t,e)}if(0<Nt.length){qt(Nt[0],e);for(var n=1;n<Nt.length;n++){var i=Nt[n];i.blockedOn===e&&(i.blockedOn=null)}}for(null!==Tt&&qt(Tt,e),null!==At&&qt(At,e),null!==It&&qt(It,e),Vt.forEach(t),Pt.forEach(t),n=0;n<Ht.length;n++)(i=Ht[n]).blockedOn===e&&(i.blockedOn=null);for(;0<Ht.length&&null===(n=Ht[0]).blockedOn;)Ot(n),null===n.blockedOn&&Ht.shift()}var Gt=S.ReactCurrentBatchConfig,Zt=!0;function Kt(e,t,n,i){var r=xt,o=Gt.transition;Gt.transition=null;try{xt=1,Qt(e,t,n,i)}finally{xt=r,Gt.transition=o}}function Xt(e,t,n,i){var r=xt,o=Gt.transition;Gt.transition=null;try{xt=4,Qt(e,t,n,i)}finally{xt=r,Gt.transition=o}}function Qt(e,t,n,i){if(Zt){var r=Jt(e,t,n,i);if(null===r)Zi(e,t,i,Yt,n),Dt(e,i);else if(function(e,t,n,i,r){switch(t){case"focusin":return Tt=Bt(Tt,e,t,n,i,r),!0;case"dragenter":return At=Bt(At,e,t,n,i,r),!0;case"mouseover":return It=Bt(It,e,t,n,i,r),!0;case"pointerover":var o=r.pointerId;return Vt.set(o,Bt(Vt.get(o)||null,e,t,n,i,r)),!0;case"gotpointercapture":return Pt.set(o=r.pointerId,Bt(Pt.get(o)||null,e,t,n,i,r)),!0}return!1}(r,e,t,n,i))i.stopPropagation();else if(Dt(e,i),4&t&&-1<Rt.indexOf(e)){for(;null!==r;){var o=xr(r);if(null!==o&&Ct(o),null===(o=Jt(e,t,n,i))&&Zi(e,t,i,Yt,n),o===r)break;r=o}null!==r&&i.stopPropagation()}else Zi(e,t,i,null,n)}}var Yt=null;function Jt(e,t,n,i){if(Yt=null,null!==(e=kr(e=Ce(i))))if(null===(t=We(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=Ge(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Yt=e,null}function en(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(nt()){case it:return 1;case rt:return 4;case ot:case at:return 16;case st:return 536870912;default:return 16}default:return 16}}var tn=null,nn=null,rn=null;function on(){if(rn)return rn;var e,t,n=nn,i=n.length,r="value"in tn?tn.value:tn.textContent,o=r.length;for(e=0;e<i&&n[e]===r[e];e++);var a=i-e;for(t=1;t<=a&&n[i-t]===r[o-t];t++);return rn=r.slice(e,1<t?1-t:void 0)}function an(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function sn(){return!0}function ln(){return!1}function cn(e){function t(t,n,i,r,o){for(var a in this._reactName=t,this._targetInst=i,this.type=n,this.nativeEvent=r,this.target=o,this.currentTarget=null,e)e.hasOwnProperty(a)&&(this[a]=(t=e[a])?t(r):r[a]);return this.isDefaultPrevented=(null!=r.defaultPrevented?r.defaultPrevented:!1===r.returnValue)?sn:ln,this.isPropagationStopped=ln,this}return O(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=sn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=sn)},persist:function(){},isPersistent:sn}),t}var dn,un,hn,fn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},pn=cn(fn),gn=O({},fn,{view:0,detail:0}),vn=cn(gn),mn=O({},gn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zn,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==hn&&(hn&&"mousemove"===e.type?(dn=e.screenX-hn.screenX,un=e.screenY-hn.screenY):un=dn=0,hn=e),dn)},movementY:function(e){return"movementY"in e?e.movementY:un}}),bn=cn(mn),wn=cn(O({},mn,{dataTransfer:0})),yn=cn(O({},gn,{relatedTarget:0})),_n=cn(O({},fn,{animationName:0,elapsedTime:0,pseudoElement:0})),kn=O({},fn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),xn=cn(kn),Sn=cn(O({},fn,{data:0})),Cn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Ln={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Mn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function En(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Mn[e])&&!!t[e]}function zn(){return En}var $n=O({},gn,{key:function(e){if(e.key){var t=Cn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=an(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?Ln[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zn,charCode:function(e){return"keypress"===e.type?an(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?an(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),Nn=cn($n),Tn=cn(O({},mn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),An=cn(O({},gn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zn})),In=cn(O({},fn,{propertyName:0,elapsedTime:0,pseudoElement:0})),Vn=O({},mn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Pn=cn(Vn),Hn=[9,13,27,32],Rn=s&&"CompositionEvent"in window,Dn=null;s&&"documentMode"in document&&(Dn=document.documentMode);var Bn=s&&"TextEvent"in window&&!Dn,On=s&&(!Rn||Dn&&8<Dn&&11>=Dn),jn=String.fromCharCode(32),Fn=!1;function Un(e,t){switch(e){case"keyup":return-1!==Hn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function qn(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Wn=!1,Gn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Zn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Gn[e.type]:"textarea"===t}function Kn(e,t,n,i){$e(i),0<(t=Xi(t,"onChange")).length&&(n=new pn("onChange","change",null,n,i),e.push({event:n,listeners:t}))}var Xn=null,Qn=null;function Yn(e){ji(e,0)}function Jn(e){if(Q(Sr(e)))return e}function ei(e,t){if("change"===e)return t}var ti=!1;if(s){var ni;if(s){var ii="oninput"in document;if(!ii){var ri=document.createElement("div");ri.setAttribute("oninput","return;"),ii="function"==typeof ri.oninput}ni=ii}else ni=!1;ti=ni&&(!document.documentMode||9<document.documentMode)}function oi(){Xn&&(Xn.detachEvent("onpropertychange",ai),Qn=Xn=null)}function ai(e){if("value"===e.propertyName&&Jn(Qn)){var t=[];Kn(t,Qn,e,Ce(e)),Ve(Yn,t)}}function si(e,t,n){"focusin"===e?(oi(),Qn=n,(Xn=t).attachEvent("onpropertychange",ai)):"focusout"===e&&oi()}function li(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Jn(Qn)}function ci(e,t){if("click"===e)return Jn(t)}function di(e,t){if("input"===e||"change"===e)return Jn(t)}var ui="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function hi(e,t){if(ui(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),i=Object.keys(t);if(n.length!==i.length)return!1;for(i=0;i<n.length;i++){var r=n[i];if(!l.call(t,r)||!ui(e[r],t[r]))return!1}return!0}function fi(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function pi(e,t){var n,i=fi(e);for(e=0;i;){if(3===i.nodeType){if(n=e+i.textContent.length,e<=t&&n>=t)return{node:i,offset:t-e};e=n}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=fi(i)}}function gi(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?gi(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function vi(){for(var e=window,t=Y();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(e){n=!1}if(!n)break;t=Y((e=t.contentWindow).document)}return t}function mi(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function bi(e){var t=vi(),n=e.focusedElem,i=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&gi(n.ownerDocument.documentElement,n)){if(null!==i&&mi(n))if(t=i.start,void 0===(e=i.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var r=n.textContent.length,o=Math.min(i.start,r);i=void 0===i.end?o:Math.min(i.end,r),!e.extend&&o>i&&(r=i,i=o,o=r),r=pi(n,o);var a=pi(n,i);r&&a&&(1!==e.rangeCount||e.anchorNode!==r.node||e.anchorOffset!==r.offset||e.focusNode!==a.node||e.focusOffset!==a.offset)&&((t=t.createRange()).setStart(r.node,r.offset),e.removeAllRanges(),o>i?(e.addRange(t),e.extend(a.node,a.offset)):(t.setEnd(a.node,a.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var wi=s&&"documentMode"in document&&11>=document.documentMode,yi=null,_i=null,ki=null,xi=!1;function Si(e,t,n){var i=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;xi||null==yi||yi!==Y(i)||(i="selectionStart"in(i=yi)&&mi(i)?{start:i.selectionStart,end:i.selectionEnd}:{anchorNode:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset},ki&&hi(ki,i)||(ki=i,0<(i=Xi(_i,"onSelect")).length&&(t=new pn("onSelect","select",null,t,n),e.push({event:t,listeners:i}),t.target=yi)))}function Ci(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Li={animationend:Ci("Animation","AnimationEnd"),animationiteration:Ci("Animation","AnimationIteration"),animationstart:Ci("Animation","AnimationStart"),transitionend:Ci("Transition","TransitionEnd")},Mi={},Ei={};function zi(e){if(Mi[e])return Mi[e];if(!Li[e])return e;var t,n=Li[e];for(t in n)if(n.hasOwnProperty(t)&&t in Ei)return Mi[e]=n[t];return e}s&&(Ei=document.createElement("div").style,"AnimationEvent"in window||(delete Li.animationend.animation,delete Li.animationiteration.animation,delete Li.animationstart.animation),"TransitionEvent"in window||delete Li.transitionend.transition);var $i=zi("animationend"),Ni=zi("animationiteration"),Ti=zi("animationstart"),Ai=zi("transitionend"),Ii=new Map,Vi="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Pi(e,t){Ii.set(e,t),o(t,[e])}for(var Hi=0;Hi<Vi.length;Hi++){var Ri=Vi[Hi];Pi(Ri.toLowerCase(),"on"+(Ri[0].toUpperCase()+Ri.slice(1)))}Pi($i,"onAnimationEnd"),Pi(Ni,"onAnimationIteration"),Pi(Ti,"onAnimationStart"),Pi("dblclick","onDoubleClick"),Pi("focusin","onFocus"),Pi("focusout","onBlur"),Pi(Ai,"onTransitionEnd"),a("onMouseEnter",["mouseout","mouseover"]),a("onMouseLeave",["mouseout","mouseover"]),a("onPointerEnter",["pointerout","pointerover"]),a("onPointerLeave",["pointerout","pointerover"]),o("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),o("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),o("onBeforeInput",["compositionend","keypress","textInput","paste"]),o("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),o("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),o("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Di="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Bi=new Set("cancel close invalid load scroll toggle".split(" ").concat(Di));function Oi(e,t,i){var r=e.type||"unknown-event";e.currentTarget=i,function(e,t,i,r,o,a,s,l,c){if(qe.apply(this,arguments),Be){if(!Be)throw Error(n(198));var d=Oe;Be=!1,Oe=null,je||(je=!0,Fe=d)}}(r,t,void 0,e),e.currentTarget=null}function ji(e,t){t=!!(4&t);for(var n=0;n<e.length;n++){var i=e[n],r=i.event;i=i.listeners;e:{var o=void 0;if(t)for(var a=i.length-1;0<=a;a--){var s=i[a],l=s.instance,c=s.currentTarget;if(s=s.listener,l!==o&&r.isPropagationStopped())break e;Oi(r,s,c),o=l}else for(a=0;a<i.length;a++){if(l=(s=i[a]).instance,c=s.currentTarget,s=s.listener,l!==o&&r.isPropagationStopped())break e;Oi(r,s,c),o=l}}}if(je)throw e=Fe,je=!1,Fe=null,e}function Fi(e,t){var n=t[wr];void 0===n&&(n=t[wr]=new Set);var i=e+"__bubble";n.has(i)||(Gi(t,e,2,!1),n.add(i))}function Ui(e,t,n){var i=0;t&&(i|=4),Gi(n,e,i,t)}var qi="_reactListening"+Math.random().toString(36).slice(2);function Wi(e){if(!e[qi]){e[qi]=!0,i.forEach((function(t){"selectionchange"!==t&&(Bi.has(t)||Ui(t,!1,e),Ui(t,!0,e))}));var t=9===e.nodeType?e:e.ownerDocument;null===t||t[qi]||(t[qi]=!0,Ui("selectionchange",!1,t))}}function Gi(e,t,n,i){switch(en(t)){case 1:var r=Kt;break;case 4:r=Xt;break;default:r=Qt}n=r.bind(null,t,n,e),r=void 0,!He||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(r=!0),e.addEventListener(t,n,i?void 0===r||{capture:!0,passive:r}:void 0!==r&&{passive:r})}function Zi(e,t,n,i,r){var o=i;if(!(1&t||2&t||null===i))e:for(;;){if(null===i)return;var a=i.tag;if(3===a||4===a){var s=i.stateNode.containerInfo;if(s===r||8===s.nodeType&&s.parentNode===r)break;if(4===a)for(a=i.return;null!==a;){var l=a.tag;if((3===l||4===l)&&((l=a.stateNode.containerInfo)===r||8===l.nodeType&&l.parentNode===r))return;a=a.return}for(;null!==s;){if(null===(a=kr(s)))return;if(5===(l=a.tag)||6===l){i=o=a;continue e}s=s.parentNode}}i=i.return}Ve((function(){var i=o,r=Ce(n),a=[];e:{var s=Ii.get(e);if(void 0!==s){var l=pn,c=e;switch(e){case"keypress":if(0===an(n))break e;case"keydown":case"keyup":l=Nn;break;case"focusin":c="focus",l=yn;break;case"focusout":c="blur",l=yn;break;case"beforeblur":case"afterblur":l=yn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":l=bn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":l=wn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":l=An;break;case $i:case Ni:case Ti:l=_n;break;case Ai:l=In;break;case"scroll":l=vn;break;case"wheel":l=Pn;break;case"copy":case"cut":case"paste":l=xn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":l=Tn}var d=!!(4&t),u=!d&&"scroll"===e,h=d?null!==s?s+"Capture":null:s;d=[];for(var f,p=i;null!==p;){var g=(f=p).stateNode;if(5===f.tag&&null!==g&&(f=g,null!==h&&null!=(g=Pe(p,h))&&d.push(Ki(p,g,f))),u)break;p=p.return}0<d.length&&(s=new l(s,c,null,n,r),a.push({event:s,listeners:d}))}}if(!(7&t)){if(l="mouseout"===e||"pointerout"===e,(!(s="mouseover"===e||"pointerover"===e)||n===Se||!(c=n.relatedTarget||n.fromElement)||!kr(c)&&!c[br])&&(l||s)&&(s=r.window===r?r:(s=r.ownerDocument)?s.defaultView||s.parentWindow:window,l?(l=i,null!==(c=(c=n.relatedTarget||n.toElement)?kr(c):null)&&(c!==(u=We(c))||5!==c.tag&&6!==c.tag)&&(c=null)):(l=null,c=i),l!==c)){if(d=bn,g="onMouseLeave",h="onMouseEnter",p="mouse","pointerout"!==e&&"pointerover"!==e||(d=Tn,g="onPointerLeave",h="onPointerEnter",p="pointer"),u=null==l?s:Sr(l),f=null==c?s:Sr(c),(s=new d(g,p+"leave",l,n,r)).target=u,s.relatedTarget=f,g=null,kr(r)===i&&((d=new d(h,p+"enter",c,n,r)).target=f,d.relatedTarget=u,g=d),u=g,l&&c)e:{for(h=c,p=0,f=d=l;f;f=Qi(f))p++;for(f=0,g=h;g;g=Qi(g))f++;for(;0<p-f;)d=Qi(d),p--;for(;0<f-p;)h=Qi(h),f--;for(;p--;){if(d===h||null!==h&&d===h.alternate)break e;d=Qi(d),h=Qi(h)}d=null}else d=null;null!==l&&Yi(a,s,l,d,!1),null!==c&&null!==u&&Yi(a,u,c,d,!0)}if("select"===(l=(s=i?Sr(i):window).nodeName&&s.nodeName.toLowerCase())||"input"===l&&"file"===s.type)var v=ei;else if(Zn(s))if(ti)v=di;else{v=li;var m=si}else(l=s.nodeName)&&"input"===l.toLowerCase()&&("checkbox"===s.type||"radio"===s.type)&&(v=ci);switch(v&&(v=v(e,i))?Kn(a,v,n,r):(m&&m(e,s,i),"focusout"===e&&(m=s._wrapperState)&&m.controlled&&"number"===s.type&&re(s,"number",s.value)),m=i?Sr(i):window,e){case"focusin":(Zn(m)||"true"===m.contentEditable)&&(yi=m,_i=i,ki=null);break;case"focusout":ki=_i=yi=null;break;case"mousedown":xi=!0;break;case"contextmenu":case"mouseup":case"dragend":xi=!1,Si(a,n,r);break;case"selectionchange":if(wi)break;case"keydown":case"keyup":Si(a,n,r)}var b;if(Rn)e:{switch(e){case"compositionstart":var w="onCompositionStart";break e;case"compositionend":w="onCompositionEnd";break e;case"compositionupdate":w="onCompositionUpdate";break e}w=void 0}else Wn?Un(e,n)&&(w="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(w="onCompositionStart");w&&(On&&"ko"!==n.locale&&(Wn||"onCompositionStart"!==w?"onCompositionEnd"===w&&Wn&&(b=on()):(nn="value"in(tn=r)?tn.value:tn.textContent,Wn=!0)),0<(m=Xi(i,w)).length&&(w=new Sn(w,e,null,n,r),a.push({event:w,listeners:m}),(b||null!==(b=qn(n)))&&(w.data=b))),(b=Bn?function(e,t){switch(e){case"compositionend":return qn(t);case"keypress":return 32!==t.which?null:(Fn=!0,jn);case"textInput":return(e=t.data)===jn&&Fn?null:e;default:return null}}(e,n):function(e,t){if(Wn)return"compositionend"===e||!Rn&&Un(e,t)?(e=on(),rn=nn=tn=null,Wn=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return On&&"ko"!==t.locale?null:t.data}}(e,n))&&0<(i=Xi(i,"onBeforeInput")).length&&(r=new Sn("onBeforeInput","beforeinput",null,n,r),a.push({event:r,listeners:i}),r.data=b)}ji(a,t)}))}function Ki(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Xi(e,t){for(var n=t+"Capture",i=[];null!==e;){var r=e,o=r.stateNode;5===r.tag&&null!==o&&(r=o,null!=(o=Pe(e,n))&&i.unshift(Ki(e,o,r)),null!=(o=Pe(e,t))&&i.push(Ki(e,o,r))),e=e.return}return i}function Qi(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Yi(e,t,n,i,r){for(var o=t._reactName,a=[];null!==n&&n!==i;){var s=n,l=s.alternate,c=s.stateNode;if(null!==l&&l===i)break;5===s.tag&&null!==c&&(s=c,r?null!=(l=Pe(n,o))&&a.unshift(Ki(n,l,s)):r||null!=(l=Pe(n,o))&&a.push(Ki(n,l,s))),n=n.return}0!==a.length&&e.push({event:t,listeners:a})}var Ji=/\r\n?/g,er=/\u0000|\uFFFD/g;function tr(e){return("string"==typeof e?e:""+e).replace(Ji,"\n").replace(er,"")}function nr(e,t,i){if(t=tr(t),tr(e)!==t&&i)throw Error(n(425))}function ir(){}var rr=null,or=null;function ar(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var sr="function"==typeof setTimeout?setTimeout:void 0,lr="function"==typeof clearTimeout?clearTimeout:void 0,cr="function"==typeof Promise?Promise:void 0,dr="function"==typeof queueMicrotask?queueMicrotask:void 0!==cr?function(e){return cr.resolve(null).then(e).catch(ur)}:sr;function ur(e){setTimeout((function(){throw e}))}function hr(e,t){var n=t,i=0;do{var r=n.nextSibling;if(e.removeChild(n),r&&8===r.nodeType)if("/$"===(n=r.data)){if(0===i)return e.removeChild(r),void Wt(t);i--}else"$"!==n&&"$?"!==n&&"$!"!==n||i++;n=r}while(n);Wt(t)}function fr(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function pr(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var gr=Math.random().toString(36).slice(2),vr="__reactFiber$"+gr,mr="__reactProps$"+gr,br="__reactContainer$"+gr,wr="__reactEvents$"+gr,yr="__reactListeners$"+gr,_r="__reactHandles$"+gr;function kr(e){var t=e[vr];if(t)return t;for(var n=e.parentNode;n;){if(t=n[br]||n[vr]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=pr(e);null!==e;){if(n=e[vr])return n;e=pr(e)}return t}n=(e=n).parentNode}return null}function xr(e){return!(e=e[vr]||e[br])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function Sr(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(n(33))}function Cr(e){return e[mr]||null}var Lr=[],Mr=-1;function Er(e){return{current:e}}function zr(e){0>Mr||(e.current=Lr[Mr],Lr[Mr]=null,Mr--)}function $r(e,t){Mr++,Lr[Mr]=e.current,e.current=t}var Nr={},Tr=Er(Nr),Ar=Er(!1),Ir=Nr;function Vr(e,t){var n=e.type.contextTypes;if(!n)return Nr;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var r,o={};for(r in n)o[r]=t[r];return i&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function Pr(e){return null!=e.childContextTypes}function Hr(){zr(Ar),zr(Tr)}function Rr(e,t,i){if(Tr.current!==Nr)throw Error(n(168));$r(Tr,t),$r(Ar,i)}function Dr(e,t,i){var r=e.stateNode;if(t=t.childContextTypes,"function"!=typeof r.getChildContext)return i;for(var o in r=r.getChildContext())if(!(o in t))throw Error(n(108,G(e)||"Unknown",o));return O({},i,r)}function Br(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Nr,Ir=Tr.current,$r(Tr,e),$r(Ar,Ar.current),!0}function Or(e,t,i){var r=e.stateNode;if(!r)throw Error(n(169));i?(e=Dr(e,t,Ir),r.__reactInternalMemoizedMergedChildContext=e,zr(Ar),zr(Tr),$r(Tr,e)):zr(Ar),$r(Ar,i)}var jr=null,Fr=!1,Ur=!1;function qr(e){null===jr?jr=[e]:jr.push(e)}function Wr(){if(!Ur&&null!==jr){Ur=!0;var e=0,t=xt;try{var n=jr;for(xt=1;e<n.length;e++){var i=n[e];do{i=i(!0)}while(null!==i)}jr=null,Fr=!1}catch(t){throw null!==jr&&(jr=jr.slice(e+1)),Qe(it,Wr),t}finally{xt=t,Ur=!1}}return null}var Gr=[],Zr=0,Kr=null,Xr=0,Qr=[],Yr=0,Jr=null,eo=1,to="";function no(e,t){Gr[Zr++]=Xr,Gr[Zr++]=Kr,Kr=e,Xr=t}function io(e,t,n){Qr[Yr++]=eo,Qr[Yr++]=to,Qr[Yr++]=Jr,Jr=e;var i=eo;e=to;var r=32-dt(i)-1;i&=~(1<<r),n+=1;var o=32-dt(t)+r;if(30<o){var a=r-r%5;o=(i&(1<<a)-1).toString(32),i>>=a,r-=a,eo=1<<32-dt(t)+r|n<<r|i,to=o+e}else eo=1<<o|n<<r|i,to=e}function ro(e){null!==e.return&&(no(e,1),io(e,1,0))}function oo(e){for(;e===Kr;)Kr=Gr[--Zr],Gr[Zr]=null,Xr=Gr[--Zr],Gr[Zr]=null;for(;e===Jr;)Jr=Qr[--Yr],Qr[Yr]=null,to=Qr[--Yr],Qr[Yr]=null,eo=Qr[--Yr],Qr[Yr]=null}var ao=null,so=null,lo=!1,co=null;function uo(e,t){var n=Vc(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function ho(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,ao=e,so=fr(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,ao=e,so=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(e.memoizedState={dehydrated:t,treeContext:n=null!==Jr?{id:eo,overflow:to}:null,retryLane:1073741824},(n=Vc(18,null,null,0)).stateNode=t,n.return=e,e.child=n,ao=e,so=null,!0);default:return!1}}function fo(e){return!(!(1&e.mode)||128&e.flags)}function po(e){if(lo){var t=so;if(t){var i=t;if(!ho(e,t)){if(fo(e))throw Error(n(418));t=fr(i.nextSibling);var r=ao;t&&ho(e,t)?uo(r,i):(e.flags=-4097&e.flags|2,lo=!1,ao=e)}}else{if(fo(e))throw Error(n(418));e.flags=-4097&e.flags|2,lo=!1,ao=e}}}function go(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;ao=e}function vo(e){if(e!==ao)return!1;if(!lo)return go(e),lo=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!ar(e.type,e.memoizedProps)),t&&(t=so)){if(fo(e))throw mo(),Error(n(418));for(;t;)uo(e,t),t=fr(t.nextSibling)}if(go(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(n(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var i=e.data;if("/$"===i){if(0===t){so=fr(e.nextSibling);break e}t--}else"$"!==i&&"$!"!==i&&"$?"!==i||t++}e=e.nextSibling}so=null}}else so=ao?fr(e.stateNode.nextSibling):null;return!0}function mo(){for(var e=so;e;)e=fr(e.nextSibling)}function bo(){so=ao=null,lo=!1}function wo(e){null===co?co=[e]:co.push(e)}var yo=S.ReactCurrentBatchConfig;function _o(e,t,i){if(null!==(e=i.ref)&&"function"!=typeof e&&"object"!=typeof e){if(i._owner){if(i=i._owner){if(1!==i.tag)throw Error(n(309));var r=i.stateNode}if(!r)throw Error(n(147,e));var o=r,a=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===a?t.ref:(t=function(e){var t=o.refs;null===e?delete t[a]:t[a]=e},t._stringRef=a,t)}if("string"!=typeof e)throw Error(n(284));if(!i._owner)throw Error(n(290,e))}return e}function ko(e,t){throw e=Object.prototype.toString.call(t),Error(n(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function xo(e){return(0,e._init)(e._payload)}function So(e){function t(t,n){if(e){var i=t.deletions;null===i?(t.deletions=[n],t.flags|=16):i.push(n)}}function i(n,i){if(!e)return null;for(;null!==i;)t(n,i),i=i.sibling;return null}function r(e,t){for(e=new Map;null!==t;)e.set(null!==t.key?t.key:t.index,t),t=t.sibling;return e}function o(e,t){return(e=Hc(e,t)).index=0,e.sibling=null,e}function a(t,n,i){return t.index=i,e?null!==(i=t.alternate)?(i=i.index)<n?(t.flags|=2,n):i:(t.flags|=2,n):(t.flags|=1048576,n)}function s(t){return e&&null===t.alternate&&(t.flags|=2),t}function l(e,t,n,i){return null===t||6!==t.tag?((t=Oc(n,e.mode,i)).return=e,t):((t=o(t,n)).return=e,t)}function c(e,t,n,i){var r=n.type;return r===M?u(e,t,n.props.children,i,n.key):null!==t&&(t.elementType===r||"object"==typeof r&&null!==r&&r.$$typeof===P&&xo(r)===t.type)?((i=o(t,n.props)).ref=_o(e,t,n),i.return=e,i):((i=Rc(n.type,n.key,n.props,null,e.mode,i)).ref=_o(e,t,n),i.return=e,i)}function d(e,t,n,i){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=jc(n,e.mode,i)).return=e,t):((t=o(t,n.children||[])).return=e,t)}function u(e,t,n,i,r){return null===t||7!==t.tag?((t=Dc(n,e.mode,i,r)).return=e,t):((t=o(t,n)).return=e,t)}function h(e,t,n){if("string"==typeof t&&""!==t||"number"==typeof t)return(t=Oc(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case C:return(n=Rc(t.type,t.key,t.props,null,e.mode,n)).ref=_o(e,null,t),n.return=e,n;case L:return(t=jc(t,e.mode,n)).return=e,t;case P:return h(e,(0,t._init)(t._payload),n)}if(oe(t)||D(t))return(t=Dc(t,e.mode,n,null)).return=e,t;ko(e,t)}return null}function f(e,t,n,i){var r=null!==t?t.key:null;if("string"==typeof n&&""!==n||"number"==typeof n)return null!==r?null:l(e,t,""+n,i);if("object"==typeof n&&null!==n){switch(n.$$typeof){case C:return n.key===r?c(e,t,n,i):null;case L:return n.key===r?d(e,t,n,i):null;case P:return f(e,t,(r=n._init)(n._payload),i)}if(oe(n)||D(n))return null!==r?null:u(e,t,n,i,null);ko(e,n)}return null}function p(e,t,n,i,r){if("string"==typeof i&&""!==i||"number"==typeof i)return l(t,e=e.get(n)||null,""+i,r);if("object"==typeof i&&null!==i){switch(i.$$typeof){case C:return c(t,e=e.get(null===i.key?n:i.key)||null,i,r);case L:return d(t,e=e.get(null===i.key?n:i.key)||null,i,r);case P:return p(e,t,n,(0,i._init)(i._payload),r)}if(oe(i)||D(i))return u(t,e=e.get(n)||null,i,r,null);ko(t,i)}return null}function g(n,o,s,l){for(var c=null,d=null,u=o,g=o=0,v=null;null!==u&&g<s.length;g++){u.index>g?(v=u,u=null):v=u.sibling;var m=f(n,u,s[g],l);if(null===m){null===u&&(u=v);break}e&&u&&null===m.alternate&&t(n,u),o=a(m,o,g),null===d?c=m:d.sibling=m,d=m,u=v}if(g===s.length)return i(n,u),lo&&no(n,g),c;if(null===u){for(;g<s.length;g++)null!==(u=h(n,s[g],l))&&(o=a(u,o,g),null===d?c=u:d.sibling=u,d=u);return lo&&no(n,g),c}for(u=r(n,u);g<s.length;g++)null!==(v=p(u,n,g,s[g],l))&&(e&&null!==v.alternate&&u.delete(null===v.key?g:v.key),o=a(v,o,g),null===d?c=v:d.sibling=v,d=v);return e&&u.forEach((function(e){return t(n,e)})),lo&&no(n,g),c}function v(o,s,l,c){var d=D(l);if("function"!=typeof d)throw Error(n(150));if(null==(l=d.call(l)))throw Error(n(151));for(var u=d=null,g=s,v=s=0,m=null,b=l.next();null!==g&&!b.done;v++,b=l.next()){g.index>v?(m=g,g=null):m=g.sibling;var w=f(o,g,b.value,c);if(null===w){null===g&&(g=m);break}e&&g&&null===w.alternate&&t(o,g),s=a(w,s,v),null===u?d=w:u.sibling=w,u=w,g=m}if(b.done)return i(o,g),lo&&no(o,v),d;if(null===g){for(;!b.done;v++,b=l.next())null!==(b=h(o,b.value,c))&&(s=a(b,s,v),null===u?d=b:u.sibling=b,u=b);return lo&&no(o,v),d}for(g=r(o,g);!b.done;v++,b=l.next())null!==(b=p(g,o,v,b.value,c))&&(e&&null!==b.alternate&&g.delete(null===b.key?v:b.key),s=a(b,s,v),null===u?d=b:u.sibling=b,u=b);return e&&g.forEach((function(e){return t(o,e)})),lo&&no(o,v),d}return function e(n,r,a,l){if("object"==typeof a&&null!==a&&a.type===M&&null===a.key&&(a=a.props.children),"object"==typeof a&&null!==a){switch(a.$$typeof){case C:e:{for(var c=a.key,d=r;null!==d;){if(d.key===c){if((c=a.type)===M){if(7===d.tag){i(n,d.sibling),(r=o(d,a.props.children)).return=n,n=r;break e}}else if(d.elementType===c||"object"==typeof c&&null!==c&&c.$$typeof===P&&xo(c)===d.type){i(n,d.sibling),(r=o(d,a.props)).ref=_o(n,d,a),r.return=n,n=r;break e}i(n,d);break}t(n,d),d=d.sibling}a.type===M?((r=Dc(a.props.children,n.mode,l,a.key)).return=n,n=r):((l=Rc(a.type,a.key,a.props,null,n.mode,l)).ref=_o(n,r,a),l.return=n,n=l)}return s(n);case L:e:{for(d=a.key;null!==r;){if(r.key===d){if(4===r.tag&&r.stateNode.containerInfo===a.containerInfo&&r.stateNode.implementation===a.implementation){i(n,r.sibling),(r=o(r,a.children||[])).return=n,n=r;break e}i(n,r);break}t(n,r),r=r.sibling}(r=jc(a,n.mode,l)).return=n,n=r}return s(n);case P:return e(n,r,(d=a._init)(a._payload),l)}if(oe(a))return g(n,r,a,l);if(D(a))return v(n,r,a,l);ko(n,a)}return"string"==typeof a&&""!==a||"number"==typeof a?(a=""+a,null!==r&&6===r.tag?(i(n,r.sibling),(r=o(r,a)).return=n,n=r):(i(n,r),(r=Oc(a,n.mode,l)).return=n,n=r),s(n)):i(n,r)}}var Co=So(!0),Lo=So(!1),Mo=Er(null),Eo=null,zo=null,$o=null;function No(){$o=zo=Eo=null}function To(e){var t=Mo.current;zr(Mo),e._currentValue=t}function Ao(e,t,n){for(;null!==e;){var i=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==i&&(i.childLanes|=t)):null!==i&&(i.childLanes&t)!==t&&(i.childLanes|=t),e===n)break;e=e.return}}function Io(e,t){Eo=e,$o=zo=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(!!(e.lanes&t)&&(xs=!0),e.firstContext=null)}function Vo(e){var t=e._currentValue;if($o!==e)if(e={context:e,memoizedValue:t,next:null},null===zo){if(null===Eo)throw Error(n(308));zo=e,Eo.dependencies={lanes:0,firstContext:e}}else zo=zo.next=e;return t}var Po=null;function Ho(e){null===Po?Po=[e]:Po.push(e)}function Ro(e,t,n,i){var r=t.interleaved;return null===r?(n.next=n,Ho(t)):(n.next=r.next,r.next=n),t.interleaved=n,Do(e,i)}function Do(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var Bo=!1;function Oo(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function jo(e,t){t.updateQueue===(e=e.updateQueue)&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Fo(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Uo(e,t,n){var i=e.updateQueue;if(null===i)return null;if(i=i.shared,2&Tl){var r=i.pending;return null===r?t.next=t:(t.next=r.next,r.next=t),i.pending=t,Do(e,n)}return null===(r=i.interleaved)?(t.next=t,Ho(i)):(t.next=r.next,r.next=t),i.interleaved=t,Do(e,n)}function qo(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,4194240&n)){var i=t.lanes;t.lanes=n|=i&=e.pendingLanes,kt(e,n)}}function Wo(e,t){var n=e.updateQueue,i=e.alternate;if(null===i||n!==(i=i.updateQueue))null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t;else{var r=null,o=null;if(null!==(n=n.firstBaseUpdate)){do{var a={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===o?r=o=a:o=o.next=a,n=n.next}while(null!==n);null===o?r=o=t:o=o.next=t}else r=o=t;e.updateQueue=n={baseState:i.baseState,firstBaseUpdate:r,lastBaseUpdate:o,shared:i.shared,effects:i.effects}}}function Go(e,t,n,i){var r=e.updateQueue;Bo=!1;var o=r.firstBaseUpdate,a=r.lastBaseUpdate,s=r.shared.pending;if(null!==s){r.shared.pending=null;var l=s,c=l.next;l.next=null,null===a?o=c:a.next=c,a=l;var d=e.alternate;null!==d&&(s=(d=d.updateQueue).lastBaseUpdate)!==a&&(null===s?d.firstBaseUpdate=c:s.next=c,d.lastBaseUpdate=l)}if(null!==o){var u=r.baseState;for(a=0,d=c=l=null,s=o;;){var h=s.lane,f=s.eventTime;if((i&h)===h){null!==d&&(d=d.next={eventTime:f,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var p=e,g=s;switch(h=t,f=n,g.tag){case 1:if("function"==typeof(p=g.payload)){u=p.call(f,u,h);break e}u=p;break e;case 3:p.flags=-65537&p.flags|128;case 0:if(null==(h="function"==typeof(p=g.payload)?p.call(f,u,h):p))break e;u=O({},u,h);break e;case 2:Bo=!0}}null!==s.callback&&0!==s.lane&&(e.flags|=64,null===(h=r.effects)?r.effects=[s]:h.push(s))}else f={eventTime:f,lane:h,tag:s.tag,payload:s.payload,callback:s.callback,next:null},null===d?(c=d=f,l=u):d=d.next=f,a|=h;if(null===(s=s.next)){if(null===(s=r.shared.pending))break;s=(h=s).next,h.next=null,r.lastBaseUpdate=h,r.shared.pending=null}}if(null===d&&(l=u),r.baseState=l,r.firstBaseUpdate=c,r.lastBaseUpdate=d,null!==(t=r.shared.interleaved)){r=t;do{a|=r.lane,r=r.next}while(r!==t)}else null===o&&(r.shared.lanes=0);Bl|=a,e.lanes=a,e.memoizedState=u}}function Zo(e,t,i){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],o=r.callback;if(null!==o){if(r.callback=null,r=i,"function"!=typeof o)throw Error(n(191,o));o.call(r)}}}var Ko={},Xo=Er(Ko),Qo=Er(Ko),Yo=Er(Ko);function Jo(e){if(e===Ko)throw Error(n(174));return e}function ea(e,t){switch($r(Yo,t),$r(Qo,e),$r(Xo,Ko),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:he(null,"");break;default:t=he(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}zr(Xo),$r(Xo,t)}function ta(){zr(Xo),zr(Qo),zr(Yo)}function na(e){Jo(Yo.current);var t=Jo(Xo.current),n=he(t,e.type);t!==n&&($r(Qo,e),$r(Xo,n))}function ia(e){Qo.current===e&&(zr(Xo),zr(Qo))}var ra=Er(0);function oa(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(128&t.flags)return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var aa=[];function sa(){for(var e=0;e<aa.length;e++)aa[e]._workInProgressVersionPrimary=null;aa.length=0}var la=S.ReactCurrentDispatcher,ca=S.ReactCurrentBatchConfig,da=0,ua=null,ha=null,fa=null,pa=!1,ga=!1,va=0,ma=0;function ba(){throw Error(n(321))}function wa(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!ui(e[n],t[n]))return!1;return!0}function ya(e,t,i,r,o,a){if(da=a,ua=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,la.current=null===e||null===e.memoizedState?is:rs,e=i(r,o),ga){a=0;do{if(ga=!1,va=0,25<=a)throw Error(n(301));a+=1,fa=ha=null,t.updateQueue=null,la.current=os,e=i(r,o)}while(ga)}if(la.current=ns,t=null!==ha&&null!==ha.next,da=0,fa=ha=ua=null,pa=!1,t)throw Error(n(300));return e}function _a(){var e=0!==va;return va=0,e}function ka(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===fa?ua.memoizedState=fa=e:fa=fa.next=e,fa}function xa(){if(null===ha){var e=ua.alternate;e=null!==e?e.memoizedState:null}else e=ha.next;var t=null===fa?ua.memoizedState:fa.next;if(null!==t)fa=t,ha=e;else{if(null===e)throw Error(n(310));e={memoizedState:(ha=e).memoizedState,baseState:ha.baseState,baseQueue:ha.baseQueue,queue:ha.queue,next:null},null===fa?ua.memoizedState=fa=e:fa=fa.next=e}return fa}function Sa(e,t){return"function"==typeof t?t(e):t}function Ca(e){var t=xa(),i=t.queue;if(null===i)throw Error(n(311));i.lastRenderedReducer=e;var r=ha,o=r.baseQueue,a=i.pending;if(null!==a){if(null!==o){var s=o.next;o.next=a.next,a.next=s}r.baseQueue=o=a,i.pending=null}if(null!==o){r=r.baseState;var l=s=null,c=null,d=a=o.next;do{var u=d.lane;if((da&u)===u)null!==c&&(c=c.next={lane:0,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null}),r=d.hasEagerState?d.eagerState:e(r,d.action);else{var h={lane:u,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null};null===c?(l=c=h,s=r):c=c.next=h,ua.lanes|=u,Bl|=u}d=d.next}while(null!==d&&d!==a);null===c?s=r:c.next=l,ui(r,t.memoizedState)||(xs=!0),t.memoizedState=r,t.baseState=s,t.baseQueue=c,i.lastRenderedState=r}if(null!==(e=i.interleaved)){o=e;do{ua.lanes|=a=o.lane,Bl|=a,o=o.next}while(o!==e)}else null===o&&(i.lanes=0);return[t.memoizedState,i.dispatch]}function La(e){var t=xa(),i=t.queue;if(null===i)throw Error(n(311));i.lastRenderedReducer=e;var r=i.dispatch,o=i.pending,a=t.memoizedState;if(null!==o){i.pending=null;var s=o=o.next;do{a=e(a,s.action),s=s.next}while(s!==o);ui(a,t.memoizedState)||(xs=!0),t.memoizedState=a,null===t.baseQueue&&(t.baseState=a),i.lastRenderedState=a}return[a,r]}function Ma(){}function Ea(e,t){var i=ua,r=xa(),o=t(),a=!ui(r.memoizedState,o);if(a&&(r.memoizedState=o,xs=!0),Ba(Na.bind(null,i,r=r.queue,e),[e]),r.getSnapshot!==t||a||null!==fa&&1&fa.memoizedState.tag){if(i.flags|=2048,Va(9,$a.bind(null,i,r,o,t),void 0,null),null===Al)throw Error(n(349));30&da||za(i,t,o)}return o}function za(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=ua.updateQueue)?(ua.updateQueue=t={lastEffect:null,stores:null},t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function $a(e,t,n,i){t.value=n,t.getSnapshot=i,Ta(t)&&Aa(e)}function Na(e,t,n){return n((function(){Ta(t)&&Aa(e)}))}function Ta(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!ui(e,n)}catch(e){return!0}}function Aa(e){var t=Do(e,1);null!==t&&ac(t,e,1,-1)}function Ia(e){var t=ka();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,t.queue=e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Sa,lastRenderedState:e},e=e.dispatch=Ya.bind(null,ua,e),[t.memoizedState,e]}function Va(e,t,n,i){return e={tag:e,create:t,destroy:n,deps:i,next:null},null===(t=ua.updateQueue)?(ua.updateQueue=t={lastEffect:null,stores:null},t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(i=n.next,n.next=e,e.next=i,t.lastEffect=e),e}function Pa(){return xa().memoizedState}function Ha(e,t,n,i){var r=ka();ua.flags|=e,r.memoizedState=Va(1|t,n,void 0,void 0===i?null:i)}function Ra(e,t,n,i){var r=xa();i=void 0===i?null:i;var o=void 0;if(null!==ha){var a=ha.memoizedState;if(o=a.destroy,null!==i&&wa(i,a.deps))return void(r.memoizedState=Va(t,n,o,i))}ua.flags|=e,r.memoizedState=Va(1|t,n,o,i)}function Da(e,t){return Ha(8390656,8,e,t)}function Ba(e,t){return Ra(2048,8,e,t)}function Oa(e,t){return Ra(4,2,e,t)}function ja(e,t){return Ra(4,4,e,t)}function Fa(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Ua(e,t,n){return n=null!=n?n.concat([e]):null,Ra(4,4,Fa.bind(null,t,e),n)}function qa(){}function Wa(e,t){var n=xa();t=void 0===t?null:t;var i=n.memoizedState;return null!==i&&null!==t&&wa(t,i[1])?i[0]:(n.memoizedState=[e,t],e)}function Ga(e,t){var n=xa();t=void 0===t?null:t;var i=n.memoizedState;return null!==i&&null!==t&&wa(t,i[1])?i[0]:(e=e(),n.memoizedState=[e,t],e)}function Za(e,t,n){return 21&da?(ui(n,t)||(n=wt(),ua.lanes|=n,Bl|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,xs=!0),e.memoizedState=n)}function Ka(e,t){var n=xt;xt=0!==n&&4>n?n:4,e(!0);var i=ca.transition;ca.transition={};try{e(!1),t()}finally{xt=n,ca.transition=i}}function Xa(){return xa().memoizedState}function Qa(e,t,n){var i=oc(e);n={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null},Ja(e)?es(t,n):null!==(n=Ro(e,t,n,i))&&(ac(n,e,i,rc()),ts(n,t,i))}function Ya(e,t,n){var i=oc(e),r={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null};if(Ja(e))es(t,r);else{var o=e.alternate;if(0===e.lanes&&(null===o||0===o.lanes)&&null!==(o=t.lastRenderedReducer))try{var a=t.lastRenderedState,s=o(a,n);if(r.hasEagerState=!0,r.eagerState=s,ui(s,a)){var l=t.interleaved;return null===l?(r.next=r,Ho(t)):(r.next=l.next,l.next=r),void(t.interleaved=r)}}catch(e){}null!==(n=Ro(e,t,r,i))&&(ac(n,e,i,r=rc()),ts(n,t,i))}}function Ja(e){var t=e.alternate;return e===ua||null!==t&&t===ua}function es(e,t){ga=pa=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function ts(e,t,n){if(4194240&n){var i=t.lanes;t.lanes=n|=i&=e.pendingLanes,kt(e,n)}}var ns={readContext:Vo,useCallback:ba,useContext:ba,useEffect:ba,useImperativeHandle:ba,useInsertionEffect:ba,useLayoutEffect:ba,useMemo:ba,useReducer:ba,useRef:ba,useState:ba,useDebugValue:ba,useDeferredValue:ba,useTransition:ba,useMutableSource:ba,useSyncExternalStore:ba,useId:ba,unstable_isNewReconciler:!1},is={readContext:Vo,useCallback:function(e,t){return ka().memoizedState=[e,void 0===t?null:t],e},useContext:Vo,useEffect:Da,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,Ha(4194308,4,Fa.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ha(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ha(4,2,e,t)},useMemo:function(e,t){var n=ka();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var i=ka();return t=void 0!==n?n(t):t,i.memoizedState=i.baseState=t,i.queue=e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},e=e.dispatch=Qa.bind(null,ua,e),[i.memoizedState,e]},useRef:function(e){return ka().memoizedState={current:e}},useState:Ia,useDebugValue:qa,useDeferredValue:function(e){return ka().memoizedState=e},useTransition:function(){var e=Ia(!1),t=e[0];return e=Ka.bind(null,e[1]),ka().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,i){var r=ua,o=ka();if(lo){if(void 0===i)throw Error(n(407));i=i()}else{if(i=t(),null===Al)throw Error(n(349));30&da||za(r,t,i)}o.memoizedState=i;var a={value:i,getSnapshot:t};return o.queue=a,Da(Na.bind(null,r,a,e),[e]),r.flags|=2048,Va(9,$a.bind(null,r,a,i,t),void 0,null),i},useId:function(){var e=ka(),t=Al.identifierPrefix;if(lo){var n=to;t=":"+t+"R"+(n=(eo&~(1<<32-dt(eo)-1)).toString(32)+n),0<(n=va++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=ma++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},rs={readContext:Vo,useCallback:Wa,useContext:Vo,useEffect:Ba,useImperativeHandle:Ua,useInsertionEffect:Oa,useLayoutEffect:ja,useMemo:Ga,useReducer:Ca,useRef:Pa,useState:function(){return Ca(Sa)},useDebugValue:qa,useDeferredValue:function(e){return Za(xa(),ha.memoizedState,e)},useTransition:function(){return[Ca(Sa)[0],xa().memoizedState]},useMutableSource:Ma,useSyncExternalStore:Ea,useId:Xa,unstable_isNewReconciler:!1},os={readContext:Vo,useCallback:Wa,useContext:Vo,useEffect:Ba,useImperativeHandle:Ua,useInsertionEffect:Oa,useLayoutEffect:ja,useMemo:Ga,useReducer:La,useRef:Pa,useState:function(){return La(Sa)},useDebugValue:qa,useDeferredValue:function(e){var t=xa();return null===ha?t.memoizedState=e:Za(t,ha.memoizedState,e)},useTransition:function(){return[La(Sa)[0],xa().memoizedState]},useMutableSource:Ma,useSyncExternalStore:Ea,useId:Xa,unstable_isNewReconciler:!1};function as(e,t){if(e&&e.defaultProps){for(var n in t=O({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}function ss(e,t,n,i){n=null==(n=n(i,t=e.memoizedState))?t:O({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var ls={isMounted:function(e){return!!(e=e._reactInternals)&&We(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var i=rc(),r=oc(e),o=Fo(i,r);o.payload=t,null!=n&&(o.callback=n),null!==(t=Uo(e,o,r))&&(ac(t,e,r,i),qo(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var i=rc(),r=oc(e),o=Fo(i,r);o.tag=1,o.payload=t,null!=n&&(o.callback=n),null!==(t=Uo(e,o,r))&&(ac(t,e,r,i),qo(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=rc(),i=oc(e),r=Fo(n,i);r.tag=2,null!=t&&(r.callback=t),null!==(t=Uo(e,r,i))&&(ac(t,e,i,n),qo(t,e,i))}};function cs(e,t,n,i,r,o,a){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(i,o,a):!(t.prototype&&t.prototype.isPureReactComponent&&hi(n,i)&&hi(r,o))}function ds(e,t,n){var i=!1,r=Nr,o=t.contextType;return"object"==typeof o&&null!==o?o=Vo(o):(r=Pr(t)?Ir:Tr.current,o=(i=null!=(i=t.contextTypes))?Vr(e,r):Nr),t=new t(n,o),e.memoizedState=null!=t.state?t.state:null,t.updater=ls,e.stateNode=t,t._reactInternals=e,i&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=r,e.__reactInternalMemoizedMaskedChildContext=o),t}function us(e,t,n,i){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,i),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,i),t.state!==e&&ls.enqueueReplaceState(t,t.state,null)}function hs(e,t,n,i){var r=e.stateNode;r.props=n,r.state=e.memoizedState,r.refs={},Oo(e);var o=t.contextType;"object"==typeof o&&null!==o?r.context=Vo(o):(o=Pr(t)?Ir:Tr.current,r.context=Vr(e,o)),r.state=e.memoizedState,"function"==typeof(o=t.getDerivedStateFromProps)&&(ss(e,t,o,n),r.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof r.getSnapshotBeforeUpdate||"function"!=typeof r.UNSAFE_componentWillMount&&"function"!=typeof r.componentWillMount||(t=r.state,"function"==typeof r.componentWillMount&&r.componentWillMount(),"function"==typeof r.UNSAFE_componentWillMount&&r.UNSAFE_componentWillMount(),t!==r.state&&ls.enqueueReplaceState(r,r.state,null),Go(e,n,r,i),r.state=e.memoizedState),"function"==typeof r.componentDidMount&&(e.flags|=4194308)}function fs(e,t){try{var n="",i=t;do{n+=q(i),i=i.return}while(i);var r=n}catch(e){r="\nError generating stack: "+e.message+"\n"+e.stack}return{value:e,source:t,stack:r,digest:null}}function ps(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function gs(e,t){try{console.error(t.value)}catch(e){setTimeout((function(){throw e}))}}var vs="function"==typeof WeakMap?WeakMap:Map;function ms(e,t,n){(n=Fo(-1,n)).tag=3,n.payload={element:null};var i=t.value;return n.callback=function(){Zl||(Zl=!0,Kl=i),gs(0,t)},n}function bs(e,t,n){(n=Fo(-1,n)).tag=3;var i=e.type.getDerivedStateFromError;if("function"==typeof i){var r=t.value;n.payload=function(){return i(r)},n.callback=function(){gs(0,t)}}var o=e.stateNode;return null!==o&&"function"==typeof o.componentDidCatch&&(n.callback=function(){gs(0,t),"function"!=typeof i&&(null===Xl?Xl=new Set([this]):Xl.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function ws(e,t,n){var i=e.pingCache;if(null===i){i=e.pingCache=new vs;var r=new Set;i.set(t,r)}else void 0===(r=i.get(t))&&(r=new Set,i.set(t,r));r.has(n)||(r.add(n),e=zc.bind(null,e,t,n),t.then(e,e))}function ys(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function _s(e,t,n,i,r){return 1&e.mode?(e.flags|=65536,e.lanes=r,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=Fo(-1,1)).tag=2,Uo(n,t,1))),n.lanes|=1),e)}var ks=S.ReactCurrentOwner,xs=!1;function Ss(e,t,n,i){t.child=null===e?Lo(t,null,n,i):Co(t,e.child,n,i)}function Cs(e,t,n,i,r){n=n.render;var o=t.ref;return Io(t,r),i=ya(e,t,n,i,o,r),n=_a(),null===e||xs?(lo&&n&&ro(t),t.flags|=1,Ss(e,t,i,r),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,Zs(e,t,r))}function Ls(e,t,n,i,r){if(null===e){var o=n.type;return"function"!=typeof o||Pc(o)||void 0!==o.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Rc(n.type,null,i,t,t.mode,r)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=o,Ms(e,t,o,i,r))}return o=e.child,e.lanes&r||!(n=null!==(n=n.compare)?n:hi)(o.memoizedProps,i)||e.ref!==t.ref?(t.flags|=1,(e=Hc(o,i)).ref=t.ref,e.return=t,t.child=e):Zs(e,t,r)}function Ms(e,t,n,i,r){if(null!==e){var o=e.memoizedProps;if(hi(o,i)&&e.ref===t.ref){if(xs=!1,t.pendingProps=i=o,!(e.lanes&r))return t.lanes=e.lanes,Zs(e,t,r);131072&e.flags&&(xs=!0)}}return $s(e,t,n,i,r)}function Es(e,t,n){var i=t.pendingProps,r=i.children,o=null!==e?e.memoizedState:null;if("hidden"===i.mode)if(1&t.mode){if(!(1073741824&n))return e=null!==o?o.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,$r(Hl,Pl),Pl|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},i=null!==o?o.baseLanes:n,$r(Hl,Pl),Pl|=i}else t.memoizedState={baseLanes:0,cachePool:null,transitions:null},$r(Hl,Pl),Pl|=n;else null!==o?(i=o.baseLanes|n,t.memoizedState=null):i=n,$r(Hl,Pl),Pl|=i;return Ss(e,t,r,n),t.child}function zs(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function $s(e,t,n,i,r){var o=Pr(n)?Ir:Tr.current;return o=Vr(t,o),Io(t,r),n=ya(e,t,n,i,o,r),i=_a(),null===e||xs?(lo&&i&&ro(t),t.flags|=1,Ss(e,t,n,r),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,Zs(e,t,r))}function Ns(e,t,n,i,r){if(Pr(n)){var o=!0;Br(t)}else o=!1;if(Io(t,r),null===t.stateNode)Gs(e,t),ds(t,n,i),hs(t,n,i,r),i=!0;else if(null===e){var a=t.stateNode,s=t.memoizedProps;a.props=s;var l=a.context,c=n.contextType;c="object"==typeof c&&null!==c?Vo(c):Vr(t,c=Pr(n)?Ir:Tr.current);var d=n.getDerivedStateFromProps,u="function"==typeof d||"function"==typeof a.getSnapshotBeforeUpdate;u||"function"!=typeof a.UNSAFE_componentWillReceiveProps&&"function"!=typeof a.componentWillReceiveProps||(s!==i||l!==c)&&us(t,a,i,c),Bo=!1;var h=t.memoizedState;a.state=h,Go(t,i,a,r),l=t.memoizedState,s!==i||h!==l||Ar.current||Bo?("function"==typeof d&&(ss(t,n,d,i),l=t.memoizedState),(s=Bo||cs(t,n,s,i,h,l,c))?(u||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||("function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount()),"function"==typeof a.componentDidMount&&(t.flags|=4194308)):("function"==typeof a.componentDidMount&&(t.flags|=4194308),t.memoizedProps=i,t.memoizedState=l),a.props=i,a.state=l,a.context=c,i=s):("function"==typeof a.componentDidMount&&(t.flags|=4194308),i=!1)}else{a=t.stateNode,jo(e,t),s=t.memoizedProps,c=t.type===t.elementType?s:as(t.type,s),a.props=c,u=t.pendingProps,h=a.context,l="object"==typeof(l=n.contextType)&&null!==l?Vo(l):Vr(t,l=Pr(n)?Ir:Tr.current);var f=n.getDerivedStateFromProps;(d="function"==typeof f||"function"==typeof a.getSnapshotBeforeUpdate)||"function"!=typeof a.UNSAFE_componentWillReceiveProps&&"function"!=typeof a.componentWillReceiveProps||(s!==u||h!==l)&&us(t,a,i,l),Bo=!1,a.state=h=t.memoizedState,Go(t,i,a,r);var p=t.memoizedState;s!==u||h!==p||Ar.current||Bo?("function"==typeof f&&(ss(t,n,f,i),p=t.memoizedState),(c=Bo||cs(t,n,c,i,h,p,l)||!1)?(d||"function"!=typeof a.UNSAFE_componentWillUpdate&&"function"!=typeof a.componentWillUpdate||("function"==typeof a.componentWillUpdate&&a.componentWillUpdate(i,p,l),"function"==typeof a.UNSAFE_componentWillUpdate&&a.UNSAFE_componentWillUpdate(i,p,l)),"function"==typeof a.componentDidUpdate&&(t.flags|=4),"function"==typeof a.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof a.componentDidUpdate||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),"function"!=typeof a.getSnapshotBeforeUpdate||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),t.memoizedProps=i,t.memoizedState=p),a.props=i,a.state=p,a.context=l,i=c):("function"!=typeof a.componentDidUpdate||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),"function"!=typeof a.getSnapshotBeforeUpdate||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),i=!1)}return Ts(e,t,n,i,o,r)}function Ts(e,t,n,i,r,o){zs(e,t);var a=!!(128&t.flags);if(!i&&!a)return r&&Or(t,n,!1),Zs(e,t,o);i=t.stateNode,ks.current=t;var s=a&&"function"!=typeof n.getDerivedStateFromError?null:i.render();return t.flags|=1,null!==e&&a?(t.child=Co(t,e.child,null,o),t.child=Co(t,null,s,o)):Ss(e,t,s,o),t.memoizedState=i.state,r&&Or(t,n,!0),t.child}function As(e){var t=e.stateNode;t.pendingContext?Rr(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Rr(0,t.context,!1),ea(e,t.containerInfo)}function Is(e,t,n,i,r){return bo(),wo(r),t.flags|=256,Ss(e,t,n,i),t.child}var Vs,Ps,Hs,Rs,Ds={dehydrated:null,treeContext:null,retryLane:0};function Bs(e){return{baseLanes:e,cachePool:null,transitions:null}}function Os(e,t,i){var r,o=t.pendingProps,a=ra.current,s=!1,l=!!(128&t.flags);if((r=l)||(r=(null===e||null!==e.memoizedState)&&!!(2&a)),r?(s=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(a|=1),$r(ra,1&a),null===e)return po(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(t.lanes=1&t.mode?"$!"===e.data?8:1073741824:1,null):(l=o.children,e=o.fallback,s?(s=t.child,l={mode:"hidden",children:l},1&(o=t.mode)||null===s?s=Bc(l,o,0,null):(s.childLanes=0,s.pendingProps=l),e=Dc(e,o,i,null),s.return=t,e.return=t,s.sibling=e,t.child=s,t.child.memoizedState=Bs(i),t.memoizedState=Ds,e):js(t,l));if(null!==(a=e.memoizedState)&&null!==(r=a.dehydrated))return function(e,t,i,r,o,a,s){if(i)return 256&t.flags?(t.flags&=-257,Fs(e,t,s,r=ps(Error(n(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(a=r.fallback,r=Bc({mode:"visible",children:r.children},o=t.mode,0,null),(a=Dc(a,o,s,null)).flags|=2,r.return=t,a.return=t,r.sibling=a,t.child=r,1&t.mode&&Co(t,e.child,null,s),t.child.memoizedState=Bs(s),t.memoizedState=Ds,a);if(!(1&t.mode))return Fs(e,t,s,null);if("$!"===o.data){if(r=o.nextSibling&&o.nextSibling.dataset)var l=r.dgst;return r=l,Fs(e,t,s,r=ps(a=Error(n(419)),r,void 0))}if(l=!!(s&e.childLanes),xs||l){if(null!==(r=Al)){switch(s&-s){case 4:o=2;break;case 16:o=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}0!==(o=o&(r.suspendedLanes|s)?0:o)&&o!==a.retryLane&&(a.retryLane=o,Do(e,o),ac(r,e,o,-1))}return wc(),Fs(e,t,s,r=ps(Error(n(421))))}return"$?"===o.data?(t.flags|=128,t.child=e.child,t=Nc.bind(null,e),o._reactRetry=t,null):(e=a.treeContext,so=fr(o.nextSibling),ao=t,lo=!0,co=null,null!==e&&(Qr[Yr++]=eo,Qr[Yr++]=to,Qr[Yr++]=Jr,eo=e.id,to=e.overflow,Jr=t),(t=js(t,r.children)).flags|=4096,t)}(e,t,l,o,r,a,i);if(s){s=o.fallback,r=(a=e.child).sibling;var c={mode:"hidden",children:o.children};return 1&(l=t.mode)||t.child===a?(o=Hc(a,c)).subtreeFlags=14680064&a.subtreeFlags:((o=t.child).childLanes=0,o.pendingProps=c,t.deletions=null),null!==r?s=Hc(r,s):(s=Dc(s,l,i,null)).flags|=2,s.return=t,o.return=t,o.sibling=s,t.child=o,o=s,s=t.child,l=null===(l=e.child.memoizedState)?Bs(i):{baseLanes:l.baseLanes|i,cachePool:null,transitions:l.transitions},s.memoizedState=l,s.childLanes=e.childLanes&~i,t.memoizedState=Ds,o}return e=(s=e.child).sibling,o=Hc(s,{mode:"visible",children:o.children}),!(1&t.mode)&&(o.lanes=i),o.return=t,o.sibling=null,null!==e&&(null===(i=t.deletions)?(t.deletions=[e],t.flags|=16):i.push(e)),t.child=o,t.memoizedState=null,o}function js(e,t){return(t=Bc({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function Fs(e,t,n,i){return null!==i&&wo(i),Co(t,e.child,null,n),(e=js(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function Us(e,t,n){e.lanes|=t;var i=e.alternate;null!==i&&(i.lanes|=t),Ao(e.return,t,n)}function qs(e,t,n,i,r){var o=e.memoizedState;null===o?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:i,tail:n,tailMode:r}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=i,o.tail=n,o.tailMode=r)}function Ws(e,t,n){var i=t.pendingProps,r=i.revealOrder,o=i.tail;if(Ss(e,t,i.children,n),2&(i=ra.current))i=1&i|2,t.flags|=128;else{if(null!==e&&128&e.flags)e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Us(e,n,t);else if(19===e.tag)Us(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}i&=1}if($r(ra,i),1&t.mode)switch(r){case"forwards":for(n=t.child,r=null;null!==n;)null!==(e=n.alternate)&&null===oa(e)&&(r=n),n=n.sibling;null===(n=r)?(r=t.child,t.child=null):(r=n.sibling,n.sibling=null),qs(t,!1,r,n,o);break;case"backwards":for(n=null,r=t.child,t.child=null;null!==r;){if(null!==(e=r.alternate)&&null===oa(e)){t.child=r;break}e=r.sibling,r.sibling=n,n=r,r=e}qs(t,!0,n,null,o);break;case"together":qs(t,!1,null,null,void 0);break;default:t.memoizedState=null}else t.memoizedState=null;return t.child}function Gs(e,t){!(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Zs(e,t,i){if(null!==e&&(t.dependencies=e.dependencies),Bl|=t.lanes,!(i&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(n(153));if(null!==t.child){for(i=Hc(e=t.child,e.pendingProps),t.child=i,i.return=t;null!==e.sibling;)(i=i.sibling=Hc(e=e.sibling,e.pendingProps)).return=t;i.sibling=null}return t.child}function Ks(e,t){if(!lo)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var i=null;null!==n;)null!==n.alternate&&(i=n),n=n.sibling;null===i?t||null===e.tail?e.tail=null:e.tail.sibling=null:i.sibling=null}}function Xs(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,i=0;if(t)for(var r=e.child;null!==r;)n|=r.lanes|r.childLanes,i|=14680064&r.subtreeFlags,i|=14680064&r.flags,r.return=e,r=r.sibling;else for(r=e.child;null!==r;)n|=r.lanes|r.childLanes,i|=r.subtreeFlags,i|=r.flags,r.return=e,r=r.sibling;return e.subtreeFlags|=i,e.childLanes=n,t}function Qs(e,t,i){var o=t.pendingProps;switch(oo(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Xs(t),null;case 1:case 17:return Pr(t.type)&&Hr(),Xs(t),null;case 3:return o=t.stateNode,ta(),zr(Ar),zr(Tr),sa(),o.pendingContext&&(o.context=o.pendingContext,o.pendingContext=null),null!==e&&null!==e.child||(vo(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&!(256&t.flags)||(t.flags|=1024,null!==co&&(dc(co),co=null))),Ps(e,t),Xs(t),null;case 5:ia(t);var a=Jo(Yo.current);if(i=t.type,null!==e&&null!=t.stateNode)Hs(e,t,i,o,a),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!o){if(null===t.stateNode)throw Error(n(166));return Xs(t),null}if(e=Jo(Xo.current),vo(t)){i=t.type;var s=t.memoizedProps;switch((o=t.stateNode)[vr]=t,o[mr]=s,e=!!(1&t.mode),i){case"dialog":Fi("cancel",o),Fi("close",o);break;case"iframe":case"object":case"embed":Fi("load",o);break;case"video":case"audio":for(a=0;a<Di.length;a++)Fi(Di[a],o);break;case"source":Fi("error",o);break;case"img":case"image":case"link":Fi("error",o),Fi("load",o);break;case"details":Fi("toggle",o);break;case"input":ee(o,s),Fi("invalid",o);break;case"select":o._wrapperState={wasMultiple:!!s.multiple},Fi("invalid",o);break;case"textarea":le(o,s),Fi("invalid",o)}for(var l in ke(i,s),a=null,s)if(s.hasOwnProperty(l)){var c=s[l];"children"===l?"string"==typeof c?o.textContent!==c&&(!0!==s.suppressHydrationWarning&&nr(o.textContent,c,e),a=["children",c]):"number"==typeof c&&o.textContent!==""+c&&(!0!==s.suppressHydrationWarning&&nr(o.textContent,c,e),a=["children",""+c]):r.hasOwnProperty(l)&&null!=c&&"onScroll"===l&&Fi("scroll",o)}switch(i){case"input":X(o),ie(o,s,!0);break;case"textarea":X(o),de(o);break;case"select":case"option":break;default:"function"==typeof s.onClick&&(o.onclick=ir)}t.updateQueue=o=a,null!==o&&(t.flags|=4)}else{l=9===a.nodeType?a:a.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=ue(i)),"http://www.w3.org/1999/xhtml"===e?"script"===i?((e=l.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof o.is?e=l.createElement(i,{is:o.is}):(e=l.createElement(i),"select"===i&&(l=e,o.multiple?l.multiple=!0:o.size&&(l.size=o.size))):e=l.createElementNS(e,i),e[vr]=t,e[mr]=o,Vs(e,t,!1,!1),t.stateNode=e;e:{switch(l=xe(i,o),i){case"dialog":Fi("cancel",e),Fi("close",e),a=o;break;case"iframe":case"object":case"embed":Fi("load",e),a=o;break;case"video":case"audio":for(a=0;a<Di.length;a++)Fi(Di[a],e);a=o;break;case"source":Fi("error",e),a=o;break;case"img":case"image":case"link":Fi("error",e),Fi("load",e),a=o;break;case"details":Fi("toggle",e),a=o;break;case"input":ee(e,o),a=J(e,o),Fi("invalid",e);break;case"option":default:a=o;break;case"select":e._wrapperState={wasMultiple:!!o.multiple},a=O({},o,{value:void 0}),Fi("invalid",e);break;case"textarea":le(e,o),a=se(e,o),Fi("invalid",e)}for(s in ke(i,a),c=a)if(c.hasOwnProperty(s)){var d=c[s];"style"===s?ye(e,d):"dangerouslySetInnerHTML"===s?null!=(d=d?d.__html:void 0)&&ge(e,d):"children"===s?"string"==typeof d?("textarea"!==i||""!==d)&&ve(e,d):"number"==typeof d&&ve(e,""+d):"suppressContentEditableWarning"!==s&&"suppressHydrationWarning"!==s&&"autoFocus"!==s&&(r.hasOwnProperty(s)?null!=d&&"onScroll"===s&&Fi("scroll",e):null!=d&&x(e,s,d,l))}switch(i){case"input":X(e),ie(e,o,!1);break;case"textarea":X(e),de(e);break;case"option":null!=o.value&&e.setAttribute("value",""+Z(o.value));break;case"select":e.multiple=!!o.multiple,null!=(s=o.value)?ae(e,!!o.multiple,s,!1):null!=o.defaultValue&&ae(e,!!o.multiple,o.defaultValue,!0);break;default:"function"==typeof a.onClick&&(e.onclick=ir)}switch(i){case"button":case"input":case"select":case"textarea":o=!!o.autoFocus;break e;case"img":o=!0;break e;default:o=!1}}o&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return Xs(t),null;case 6:if(e&&null!=t.stateNode)Rs(e,t,e.memoizedProps,o);else{if("string"!=typeof o&&null===t.stateNode)throw Error(n(166));if(i=Jo(Yo.current),Jo(Xo.current),vo(t)){if(i=t.memoizedProps,(o=t.stateNode)[vr]=t,(s=o.nodeValue!==i)&&null!==(e=ao))switch(e.tag){case 3:nr(o.nodeValue,i,!!(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&nr(o.nodeValue,i,!!(1&e.mode))}s&&(t.flags|=4)}else(o=(9===i.nodeType?i:i.ownerDocument).createTextNode(o))[vr]=t,t.stateNode=o}return Xs(t),null;case 13:if(zr(ra),o=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(lo&&null!==so&&1&t.mode&&!(128&t.flags))mo(),bo(),t.flags|=98560,s=!1;else if(s=vo(t),null!==o&&null!==o.dehydrated){if(null===e){if(!s)throw Error(n(318));if(!(s=null!==(s=t.memoizedState)?s.dehydrated:null))throw Error(n(317));s[vr]=t}else bo(),!(128&t.flags)&&(t.memoizedState=null),t.flags|=4;Xs(t),s=!1}else null!==co&&(dc(co),co=null),s=!0;if(!s)return 65536&t.flags?t:null}return 128&t.flags?(t.lanes=i,t):((o=null!==o)!=(null!==e&&null!==e.memoizedState)&&o&&(t.child.flags|=8192,1&t.mode&&(null===e||1&ra.current?0===Rl&&(Rl=3):wc())),null!==t.updateQueue&&(t.flags|=4),Xs(t),null);case 4:return ta(),Ps(e,t),null===e&&Wi(t.stateNode.containerInfo),Xs(t),null;case 10:return To(t.type._context),Xs(t),null;case 19:if(zr(ra),null===(s=t.memoizedState))return Xs(t),null;if(o=!!(128&t.flags),null===(l=s.rendering))if(o)Ks(s,!1);else{if(0!==Rl||null!==e&&128&e.flags)for(e=t.child;null!==e;){if(null!==(l=oa(e))){for(t.flags|=128,Ks(s,!1),null!==(o=l.updateQueue)&&(t.updateQueue=o,t.flags|=4),t.subtreeFlags=0,o=i,i=t.child;null!==i;)e=o,(s=i).flags&=14680066,null===(l=s.alternate)?(s.childLanes=0,s.lanes=e,s.child=null,s.subtreeFlags=0,s.memoizedProps=null,s.memoizedState=null,s.updateQueue=null,s.dependencies=null,s.stateNode=null):(s.childLanes=l.childLanes,s.lanes=l.lanes,s.child=l.child,s.subtreeFlags=0,s.deletions=null,s.memoizedProps=l.memoizedProps,s.memoizedState=l.memoizedState,s.updateQueue=l.updateQueue,s.type=l.type,s.dependencies=null===(e=l.dependencies)?null:{lanes:e.lanes,firstContext:e.firstContext}),i=i.sibling;return $r(ra,1&ra.current|2),t.child}e=e.sibling}null!==s.tail&&tt()>Wl&&(t.flags|=128,o=!0,Ks(s,!1),t.lanes=4194304)}else{if(!o)if(null!==(e=oa(l))){if(t.flags|=128,o=!0,null!==(i=e.updateQueue)&&(t.updateQueue=i,t.flags|=4),Ks(s,!0),null===s.tail&&"hidden"===s.tailMode&&!l.alternate&&!lo)return Xs(t),null}else 2*tt()-s.renderingStartTime>Wl&&1073741824!==i&&(t.flags|=128,o=!0,Ks(s,!1),t.lanes=4194304);s.isBackwards?(l.sibling=t.child,t.child=l):(null!==(i=s.last)?i.sibling=l:t.child=l,s.last=l)}return null!==s.tail?(s.rendering=t=s.tail,s.tail=t.sibling,s.renderingStartTime=tt(),t.sibling=null,i=ra.current,$r(ra,o?1&i|2:1&i),t):(Xs(t),null);case 22:case 23:return gc(),o=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==o&&(t.flags|=8192),o&&1&t.mode?!!(1073741824&Pl)&&(Xs(t),6&t.subtreeFlags&&(t.flags|=8192)):Xs(t),null;case 24:case 25:return null}throw Error(n(156,t.tag))}function Ys(e,t){switch(oo(t),t.tag){case 1:return Pr(t.type)&&Hr(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return ta(),zr(Ar),zr(Tr),sa(),65536&(e=t.flags)&&!(128&e)?(t.flags=-65537&e|128,t):null;case 5:return ia(t),null;case 13:if(zr(ra),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(n(340));bo()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return zr(ra),null;case 4:return ta(),null;case 10:return To(t.type._context),null;case 22:case 23:return gc(),null;default:return null}}Vs=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Ps=function(){},Hs=function(e,t,n,i){var o=e.memoizedProps;if(o!==i){e=t.stateNode,Jo(Xo.current);var a,s=null;switch(n){case"input":o=J(e,o),i=J(e,i),s=[];break;case"select":o=O({},o,{value:void 0}),i=O({},i,{value:void 0}),s=[];break;case"textarea":o=se(e,o),i=se(e,i),s=[];break;default:"function"!=typeof o.onClick&&"function"==typeof i.onClick&&(e.onclick=ir)}for(d in ke(n,i),n=null,o)if(!i.hasOwnProperty(d)&&o.hasOwnProperty(d)&&null!=o[d])if("style"===d){var l=o[d];for(a in l)l.hasOwnProperty(a)&&(n||(n={}),n[a]="")}else"dangerouslySetInnerHTML"!==d&&"children"!==d&&"suppressContentEditableWarning"!==d&&"suppressHydrationWarning"!==d&&"autoFocus"!==d&&(r.hasOwnProperty(d)?s||(s=[]):(s=s||[]).push(d,null));for(d in i){var c=i[d];if(l=null!=o?o[d]:void 0,i.hasOwnProperty(d)&&c!==l&&(null!=c||null!=l))if("style"===d)if(l){for(a in l)!l.hasOwnProperty(a)||c&&c.hasOwnProperty(a)||(n||(n={}),n[a]="");for(a in c)c.hasOwnProperty(a)&&l[a]!==c[a]&&(n||(n={}),n[a]=c[a])}else n||(s||(s=[]),s.push(d,n)),n=c;else"dangerouslySetInnerHTML"===d?(l=l?l.__html:void 0,null!=(c=c?c.__html:void 0)&&l!==c&&(s=s||[]).push(d,c)):"children"===d?"string"!=typeof c&&"number"!=typeof c||(s=s||[]).push(d,""+c):"suppressContentEditableWarning"!==d&&"suppressHydrationWarning"!==d&&(r.hasOwnProperty(d)?(null!=c&&"onScroll"===d&&Fi("scroll",e),s||l===c||(s=[])):(s=s||[]).push(d,c))}n&&(s=s||[]).push("style",n);var d=s;(t.updateQueue=d)&&(t.flags|=4)}},Rs=function(e,t,n,i){n!==i&&(t.flags|=4)};var Js=!1,el=!1,tl="function"==typeof WeakSet?WeakSet:Set,nl=null;function il(e,t){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(n){Ec(e,t,n)}else n.current=null}function rl(e,t,n){try{n()}catch(n){Ec(e,t,n)}}var ol=!1;function al(e,t,n){var i=t.updateQueue;if(null!==(i=null!==i?i.lastEffect:null)){var r=i=i.next;do{if((r.tag&e)===e){var o=r.destroy;r.destroy=void 0,void 0!==o&&rl(t,n,o)}r=r.next}while(r!==i)}}function sl(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{(n.tag&e)===e&&(n.destroy=(0,n.create)()),n=n.next}while(n!==t)}}function ll(e){var t=e.ref;null!==t&&(e=e.stateNode,"function"==typeof t?t(e):t.current=e)}function cl(e){var t=e.alternate;null!==t&&(e.alternate=null,cl(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&null!==(t=e.stateNode)&&(delete t[vr],delete t[mr],delete t[wr],delete t[yr],delete t[_r]),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function dl(e){return 5===e.tag||3===e.tag||4===e.tag}function ul(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||dl(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function hl(e,t,n){var i=e.tag;if(5===i||6===i)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=ir));else if(4!==i&&null!==(e=e.child))for(hl(e,t,n),e=e.sibling;null!==e;)hl(e,t,n),e=e.sibling}function fl(e,t,n){var i=e.tag;if(5===i||6===i)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==i&&null!==(e=e.child))for(fl(e,t,n),e=e.sibling;null!==e;)fl(e,t,n),e=e.sibling}var pl=null,gl=!1;function vl(e,t,n){for(n=n.child;null!==n;)ml(e,t,n),n=n.sibling}function ml(e,t,n){if(ct&&"function"==typeof ct.onCommitFiberUnmount)try{ct.onCommitFiberUnmount(lt,n)}catch(e){}switch(n.tag){case 5:el||il(n,t);case 6:var i=pl,r=gl;pl=null,vl(e,t,n),gl=r,null!==(pl=i)&&(gl?(n=n.stateNode,8===(e=pl).nodeType?e.parentNode.removeChild(n):e.removeChild(n)):pl.removeChild(n.stateNode));break;case 18:null!==pl&&(gl?(n=n.stateNode,8===(e=pl).nodeType?hr(e.parentNode,n):1===e.nodeType&&hr(e,n),Wt(e)):hr(pl,n.stateNode));break;case 4:i=pl,r=gl,pl=n.stateNode.containerInfo,gl=!0,vl(e,t,n),pl=i,gl=r;break;case 0:case 11:case 14:case 15:if(!el&&null!==(i=n.updateQueue)&&null!==(i=i.lastEffect)){r=i=i.next;do{var o=r,a=o.destroy;o=o.tag,void 0!==a&&(2&o||4&o)&&rl(n,t,a),r=r.next}while(r!==i)}vl(e,t,n);break;case 1:if(!el&&(il(n,t),"function"==typeof(i=n.stateNode).componentWillUnmount))try{i.props=n.memoizedProps,i.state=n.memoizedState,i.componentWillUnmount()}catch(e){Ec(n,t,e)}vl(e,t,n);break;case 21:vl(e,t,n);break;case 22:1&n.mode?(el=(i=el)||null!==n.memoizedState,vl(e,t,n),el=i):vl(e,t,n);break;default:vl(e,t,n)}}function bl(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new tl),t.forEach((function(t){var i=Tc.bind(null,e,t);n.has(t)||(n.add(t),t.then(i,i))}))}}function wl(e,t){var i=t.deletions;if(null!==i)for(var r=0;r<i.length;r++){var o=i[r];try{var a=e,s=t,l=s;e:for(;null!==l;){switch(l.tag){case 5:pl=l.stateNode,gl=!1;break e;case 3:case 4:pl=l.stateNode.containerInfo,gl=!0;break e}l=l.return}if(null===pl)throw Error(n(160));ml(a,s,o),pl=null,gl=!1;var c=o.alternate;null!==c&&(c.return=null),o.return=null}catch(e){Ec(o,t,e)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)yl(t,e),t=t.sibling}function yl(e,t){var i=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(wl(t,e),_l(e),4&r){try{al(3,e,e.return),sl(3,e)}catch(t){Ec(e,e.return,t)}try{al(5,e,e.return)}catch(t){Ec(e,e.return,t)}}break;case 1:wl(t,e),_l(e),512&r&&null!==i&&il(i,i.return);break;case 5:if(wl(t,e),_l(e),512&r&&null!==i&&il(i,i.return),32&e.flags){var o=e.stateNode;try{ve(o,"")}catch(t){Ec(e,e.return,t)}}if(4&r&&null!=(o=e.stateNode)){var a=e.memoizedProps,s=null!==i?i.memoizedProps:a,l=e.type,c=e.updateQueue;if(e.updateQueue=null,null!==c)try{"input"===l&&"radio"===a.type&&null!=a.name&&te(o,a),xe(l,s);var d=xe(l,a);for(s=0;s<c.length;s+=2){var u=c[s],h=c[s+1];"style"===u?ye(o,h):"dangerouslySetInnerHTML"===u?ge(o,h):"children"===u?ve(o,h):x(o,u,h,d)}switch(l){case"input":ne(o,a);break;case"textarea":ce(o,a);break;case"select":var f=o._wrapperState.wasMultiple;o._wrapperState.wasMultiple=!!a.multiple;var p=a.value;null!=p?ae(o,!!a.multiple,p,!1):f!==!!a.multiple&&(null!=a.defaultValue?ae(o,!!a.multiple,a.defaultValue,!0):ae(o,!!a.multiple,a.multiple?[]:"",!1))}o[mr]=a}catch(t){Ec(e,e.return,t)}}break;case 6:if(wl(t,e),_l(e),4&r){if(null===e.stateNode)throw Error(n(162));o=e.stateNode,a=e.memoizedProps;try{o.nodeValue=a}catch(t){Ec(e,e.return,t)}}break;case 3:if(wl(t,e),_l(e),4&r&&null!==i&&i.memoizedState.isDehydrated)try{Wt(t.containerInfo)}catch(t){Ec(e,e.return,t)}break;case 4:default:wl(t,e),_l(e);break;case 13:wl(t,e),_l(e),8192&(o=e.child).flags&&(o.stateNode.isHidden=a=null!==o.memoizedState,!a||null!==o.alternate&&null!==o.alternate.memoizedState||(ql=tt())),4&r&&bl(e);break;case 22:if(u=null!==i&&null!==i.memoizedState,1&e.mode?(el=(d=el)||u,wl(t,e),el=d):wl(t,e),_l(e),8192&r){if((e.stateNode.isHidden=d=null!==e.memoizedState)&&!u&&1&e.mode)for(nl=e,u=e.child;null!==u;){for(h=nl=u;null!==nl;){switch(p=(f=nl).child,f.tag){case 0:case 11:case 14:case 15:al(4,f,f.return);break;case 1:il(f,f.return);var g=f.stateNode;if("function"==typeof g.componentWillUnmount){r=f,i=f.return;try{g.props=(t=r).memoizedProps,g.state=t.memoizedState,g.componentWillUnmount()}catch(e){Ec(r,i,e)}}break;case 5:il(f,f.return);break;case 22:if(null!==f.memoizedState){Cl(h);continue}}null!==p?(p.return=f,nl=p):Cl(h)}u=u.sibling}e:for(u=null,h=e;;){if(5===h.tag){if(null===u){u=h;try{o=h.stateNode,d?"function"==typeof(a=o.style).setProperty?a.setProperty("display","none","important"):a.display="none":(l=h.stateNode,s=null!=(c=h.memoizedProps.style)&&c.hasOwnProperty("display")?c.display:null,l.style.display=we("display",s))}catch(t){Ec(e,e.return,t)}}}else if(6===h.tag){if(null===u)try{h.stateNode.nodeValue=d?"":h.memoizedProps}catch(t){Ec(e,e.return,t)}}else if((22!==h.tag&&23!==h.tag||null===h.memoizedState||h===e)&&null!==h.child){h.child.return=h,h=h.child;continue}if(h===e)break e;for(;null===h.sibling;){if(null===h.return||h.return===e)break e;u===h&&(u=null),h=h.return}u===h&&(u=null),h.sibling.return=h.return,h=h.sibling}}break;case 19:wl(t,e),_l(e),4&r&&bl(e);case 21:}}function _l(e){var t=e.flags;if(2&t){try{e:{for(var i=e.return;null!==i;){if(dl(i)){var r=i;break e}i=i.return}throw Error(n(160))}switch(r.tag){case 5:var o=r.stateNode;32&r.flags&&(ve(o,""),r.flags&=-33),fl(e,ul(e),o);break;case 3:case 4:var a=r.stateNode.containerInfo;hl(e,ul(e),a);break;default:throw Error(n(161))}}catch(t){Ec(e,e.return,t)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function kl(e){nl=e,xl(e)}function xl(e){for(var t=!!(1&e.mode);null!==nl;){var n=nl,i=n.child;if(22===n.tag&&t){var r=null!==n.memoizedState||Js;if(!r){var o=n.alternate,a=null!==o&&null!==o.memoizedState||el;o=Js;var s=el;if(Js=r,(el=a)&&!s)for(nl=n;null!==nl;)a=(r=nl).child,22===r.tag&&null!==r.memoizedState?Ll(n):null!==a?(a.return=r,nl=a):Ll(n);for(;null!==i;)nl=i,xl(i),i=i.sibling;nl=n,Js=o,el=s}Sl(e)}else 8772&n.subtreeFlags&&null!==i?(i.return=n,nl=i):Sl(e)}}function Sl(e){for(;null!==nl;){var t=nl;if(8772&t.flags){var i=t.alternate;try{if(8772&t.flags)switch(t.tag){case 0:case 11:case 15:el||sl(5,t);break;case 1:var r=t.stateNode;if(4&t.flags&&!el)if(null===i)r.componentDidMount();else{var o=t.elementType===t.type?i.memoizedProps:as(t.type,i.memoizedProps);r.componentDidUpdate(o,i.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var a=t.updateQueue;null!==a&&Zo(t,a,r);break;case 3:var s=t.updateQueue;if(null!==s){if(i=null,null!==t.child)switch(t.child.tag){case 5:case 1:i=t.child.stateNode}Zo(t,s,i)}break;case 5:if(null===i&&4&t.flags){i=t.stateNode;var l=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":l.autoFocus&&i.focus();break;case"img":l.src&&(i.src=l.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var c=t.alternate;if(null!==c){var d=c.memoizedState;if(null!==d){var u=d.dehydrated;null!==u&&Wt(u)}}}break;default:throw Error(n(163))}el||512&t.flags&&ll(t)}catch(e){Ec(t,t.return,e)}}if(t===e){nl=null;break}if(null!==(i=t.sibling)){i.return=t.return,nl=i;break}nl=t.return}}function Cl(e){for(;null!==nl;){var t=nl;if(t===e){nl=null;break}var n=t.sibling;if(null!==n){n.return=t.return,nl=n;break}nl=t.return}}function Ll(e){for(;null!==nl;){var t=nl;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{sl(4,t)}catch(e){Ec(t,n,e)}break;case 1:var i=t.stateNode;if("function"==typeof i.componentDidMount){var r=t.return;try{i.componentDidMount()}catch(e){Ec(t,r,e)}}var o=t.return;try{ll(t)}catch(e){Ec(t,o,e)}break;case 5:var a=t.return;try{ll(t)}catch(e){Ec(t,a,e)}}}catch(e){Ec(t,t.return,e)}if(t===e){nl=null;break}var s=t.sibling;if(null!==s){s.return=t.return,nl=s;break}nl=t.return}}var Ml,El=Math.ceil,zl=S.ReactCurrentDispatcher,$l=S.ReactCurrentOwner,Nl=S.ReactCurrentBatchConfig,Tl=0,Al=null,Il=null,Vl=0,Pl=0,Hl=Er(0),Rl=0,Dl=null,Bl=0,Ol=0,jl=0,Fl=null,Ul=null,ql=0,Wl=1/0,Gl=null,Zl=!1,Kl=null,Xl=null,Ql=!1,Yl=null,Jl=0,ec=0,tc=null,nc=-1,ic=0;function rc(){return 6&Tl?tt():-1!==nc?nc:nc=tt()}function oc(e){return 1&e.mode?2&Tl&&0!==Vl?Vl&-Vl:null!==yo.transition?(0===ic&&(ic=wt()),ic):0!==(e=xt)?e:e=void 0===(e=window.event)?16:en(e.type):1}function ac(e,t,i,r){if(50<ec)throw ec=0,tc=null,Error(n(185));_t(e,i,r),2&Tl&&e===Al||(e===Al&&(!(2&Tl)&&(Ol|=i),4===Rl&&uc(e,Vl)),sc(e,r),1===i&&0===Tl&&!(1&t.mode)&&(Wl=tt()+500,Fr&&Wr()))}function sc(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,i=e.pingedLanes,r=e.expirationTimes,o=e.pendingLanes;0<o;){var a=31-dt(o),s=1<<a,l=r[a];-1===l?s&n&&!(s&i)||(r[a]=mt(s,t)):l<=t&&(e.expiredLanes|=s),o&=~s}}(e,t);var i=vt(e,e===Al?Vl:0);if(0===i)null!==n&&Ye(n),e.callbackNode=null,e.callbackPriority=0;else if(e.callbackPriority!==(t=i&-i)){if(null!=n&&Ye(n),1===t)0===e.tag?function(e){Fr=!0,qr(e)}(hc.bind(null,e)):qr(hc.bind(null,e)),dr((function(){!(6&Tl)&&Wr()})),n=null;else{switch(St(i)){case 1:n=it;break;case 4:n=rt;break;case 16:default:n=ot;break;case 536870912:n=st}n=Ac(n,lc.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function lc(e,t){if(nc=-1,ic=0,6&Tl)throw Error(n(327));var i=e.callbackNode;if(Lc()&&e.callbackNode!==i)return null;var r=vt(e,e===Al?Vl:0);if(0===r)return null;if(30&r||r&e.expiredLanes||t)t=yc(e,r);else{t=r;var o=Tl;Tl|=2;var a=bc();for(Al===e&&Vl===t||(Gl=null,Wl=tt()+500,vc(e,t));;)try{kc();break}catch(t){mc(e,t)}No(),zl.current=a,Tl=o,null!==Il?t=0:(Al=null,Vl=0,t=Rl)}if(0!==t){if(2===t&&0!==(o=bt(e))&&(r=o,t=cc(e,o)),1===t)throw i=Dl,vc(e,0),uc(e,r),sc(e,tt()),i;if(6===t)uc(e,r);else{if(o=e.current.alternate,!(30&r||function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var i=0;i<n.length;i++){var r=n[i],o=r.getSnapshot;r=r.value;try{if(!ui(o(),r))return!1}catch(e){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(o)||(t=yc(e,r),2===t&&(a=bt(e),0!==a&&(r=a,t=cc(e,a))),1!==t)))throw i=Dl,vc(e,0),uc(e,r),sc(e,tt()),i;switch(e.finishedWork=o,e.finishedLanes=r,t){case 0:case 1:throw Error(n(345));case 2:case 5:Cc(e,Ul,Gl);break;case 3:if(uc(e,r),(130023424&r)===r&&10<(t=ql+500-tt())){if(0!==vt(e,0))break;if(((o=e.suspendedLanes)&r)!==r){rc(),e.pingedLanes|=e.suspendedLanes&o;break}e.timeoutHandle=sr(Cc.bind(null,e,Ul,Gl),t);break}Cc(e,Ul,Gl);break;case 4:if(uc(e,r),(4194240&r)===r)break;for(t=e.eventTimes,o=-1;0<r;){var s=31-dt(r);a=1<<s,(s=t[s])>o&&(o=s),r&=~a}if(r=o,10<(r=(120>(r=tt()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*El(r/1960))-r)){e.timeoutHandle=sr(Cc.bind(null,e,Ul,Gl),r);break}Cc(e,Ul,Gl);break;default:throw Error(n(329))}}}return sc(e,tt()),e.callbackNode===i?lc.bind(null,e):null}function cc(e,t){var n=Fl;return e.current.memoizedState.isDehydrated&&(vc(e,t).flags|=256),2!==(e=yc(e,t))&&(t=Ul,Ul=n,null!==t&&dc(t)),e}function dc(e){null===Ul?Ul=e:Ul.push.apply(Ul,e)}function uc(e,t){for(t&=~jl,e.suspendedLanes|=t&=~Ol,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-dt(t),i=1<<n;e[n]=-1,t&=~i}}function hc(e){if(6&Tl)throw Error(n(327));Lc();var t=vt(e,0);if(!(1&t))return sc(e,tt()),null;var i=yc(e,t);if(0!==e.tag&&2===i){var r=bt(e);0!==r&&(t=r,i=cc(e,r))}if(1===i)throw i=Dl,vc(e,0),uc(e,t),sc(e,tt()),i;if(6===i)throw Error(n(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Cc(e,Ul,Gl),sc(e,tt()),null}function fc(e,t){var n=Tl;Tl|=1;try{return e(t)}finally{0===(Tl=n)&&(Wl=tt()+500,Fr&&Wr())}}function pc(e){null!==Yl&&0===Yl.tag&&!(6&Tl)&&Lc();var t=Tl;Tl|=1;var n=Nl.transition,i=xt;try{if(Nl.transition=null,xt=1,e)return e()}finally{xt=i,Nl.transition=n,!(6&(Tl=t))&&Wr()}}function gc(){Pl=Hl.current,zr(Hl)}function vc(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,lr(n)),null!==Il)for(n=Il.return;null!==n;){var i=n;switch(oo(i),i.tag){case 1:null!=(i=i.type.childContextTypes)&&Hr();break;case 3:ta(),zr(Ar),zr(Tr),sa();break;case 5:ia(i);break;case 4:ta();break;case 13:case 19:zr(ra);break;case 10:To(i.type._context);break;case 22:case 23:gc()}n=n.return}if(Al=e,Il=e=Hc(e.current,null),Vl=Pl=t,Rl=0,Dl=null,jl=Ol=Bl=0,Ul=Fl=null,null!==Po){for(t=0;t<Po.length;t++)if(null!==(i=(n=Po[t]).interleaved)){n.interleaved=null;var r=n.pending;if(null!==r){var o=r.next;r.next=i.next,i.next=o}n.pending=i}Po=null}return e}function mc(e,t){for(;;){var i=Il;try{if(No(),la.current=ns,pa){for(var r=ua.memoizedState;null!==r;){var o=r.queue;null!==o&&(o.pending=null),r=r.next}pa=!1}if(da=0,fa=ha=ua=null,ga=!1,va=0,$l.current=null,null===i||null===i.return){Rl=1,Dl=t,Il=null;break}e:{var a=e,s=i.return,l=i,c=t;if(t=Vl,l.flags|=32768,null!==c&&"object"==typeof c&&"function"==typeof c.then){var d=c,u=l,h=u.tag;if(!(1&u.mode||0!==h&&11!==h&&15!==h)){var f=u.alternate;f?(u.updateQueue=f.updateQueue,u.memoizedState=f.memoizedState,u.lanes=f.lanes):(u.updateQueue=null,u.memoizedState=null)}var p=ys(s);if(null!==p){p.flags&=-257,_s(p,s,l,0,t),1&p.mode&&ws(a,d,t),c=d;var g=(t=p).updateQueue;if(null===g){var v=new Set;v.add(c),t.updateQueue=v}else g.add(c);break e}if(!(1&t)){ws(a,d,t),wc();break e}c=Error(n(426))}else if(lo&&1&l.mode){var m=ys(s);if(null!==m){!(65536&m.flags)&&(m.flags|=256),_s(m,s,l,0,t),wo(fs(c,l));break e}}a=c=fs(c,l),4!==Rl&&(Rl=2),null===Fl?Fl=[a]:Fl.push(a),a=s;do{switch(a.tag){case 3:a.flags|=65536,a.lanes|=t&=-t,Wo(a,ms(0,c,t));break e;case 1:l=c;var b=a.stateNode;if(!(128&a.flags||"function"!=typeof a.type.getDerivedStateFromError&&(null===b||"function"!=typeof b.componentDidCatch||null!==Xl&&Xl.has(b)))){a.flags|=65536,a.lanes|=t&=-t,Wo(a,bs(a,l,t));break e}}a=a.return}while(null!==a)}Sc(i)}catch(e){t=e,Il===i&&null!==i&&(Il=i=i.return);continue}break}}function bc(){var e=zl.current;return zl.current=ns,null===e?ns:e}function wc(){0!==Rl&&3!==Rl&&2!==Rl||(Rl=4),null===Al||!(268435455&Bl)&&!(268435455&Ol)||uc(Al,Vl)}function yc(e,t){var i=Tl;Tl|=2;var r=bc();for(Al===e&&Vl===t||(Gl=null,vc(e,t));;)try{_c();break}catch(t){mc(e,t)}if(No(),Tl=i,zl.current=r,null!==Il)throw Error(n(261));return Al=null,Vl=0,Rl}function _c(){for(;null!==Il;)xc(Il)}function kc(){for(;null!==Il&&!Je();)xc(Il)}function xc(e){var t=Ml(e.alternate,e,Pl);e.memoizedProps=e.pendingProps,null===t?Sc(e):Il=t,$l.current=null}function Sc(e){var t=e;do{var n=t.alternate;if(e=t.return,32768&t.flags){if(null!==(n=Ys(n,t)))return n.flags&=32767,void(Il=n);if(null===e)return Rl=6,void(Il=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}else if(null!==(n=Qs(n,t,Pl)))return void(Il=n);if(null!==(t=t.sibling))return void(Il=t);Il=t=e}while(null!==t);0===Rl&&(Rl=5)}function Cc(e,t,i){var r=xt,o=Nl.transition;try{Nl.transition=null,xt=1,function(e,t,i,r){do{Lc()}while(null!==Yl);if(6&Tl)throw Error(n(327));var o=e.finishedLanes;if(null===(i=e.finishedWork))return null;if(e.finishedWork=null,e.finishedLanes=0,i===e.current)throw Error(n(177));e.callbackNode=null,e.callbackPriority=0;var a=i.lanes|i.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var i=e.eventTimes;for(e=e.expirationTimes;0<n;){var r=31-dt(n),o=1<<r;t[r]=0,i[r]=-1,e[r]=-1,n&=~o}}(e,a),e===Al&&(Il=Al=null,Vl=0),!(2064&i.subtreeFlags)&&!(2064&i.flags)||Ql||(Ql=!0,Ac(ot,(function(){return Lc(),null}))),a=!!(15990&i.flags),15990&i.subtreeFlags||a){a=Nl.transition,Nl.transition=null;var s=xt;xt=1;var l=Tl;Tl|=4,$l.current=null,function(e,t){if(rr=Zt,mi(e=vi())){if("selectionStart"in e)var i={start:e.selectionStart,end:e.selectionEnd};else{var r=(i=(i=e.ownerDocument)&&i.defaultView||window).getSelection&&i.getSelection();if(r&&0!==r.rangeCount){i=r.anchorNode;var o=r.anchorOffset,a=r.focusNode;r=r.focusOffset;var s=0,l=-1,c=-1,d=0,u=0,h=e,f=null;e:for(;;){for(var p;h!==i||0!==o&&3!==h.nodeType||(l=s+o),h!==a||0!==r&&3!==h.nodeType||(c=s+r),3===h.nodeType&&(s+=h.nodeValue.length),null!==(p=h.firstChild);)f=h,h=p;for(;;){if(h===e)break e;if(f===i&&++d===o&&(l=s),f===a&&++u===r&&(c=s),null!==(p=h.nextSibling))break;f=(h=f).parentNode}h=p}i=-1===l||-1===c?null:{start:l,end:c}}else i=null}i=i||{start:0,end:0}}else i=null;for(or={focusedElem:e,selectionRange:i},Zt=!1,nl=t;null!==nl;)if(e=(t=nl).child,1028&t.subtreeFlags&&null!==e)e.return=t,nl=e;else for(;null!==nl;){t=nl;try{var g=t.alternate;if(1024&t.flags)switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==g){var v=g.memoizedProps,m=g.memoizedState,b=t.stateNode,w=b.getSnapshotBeforeUpdate(t.elementType===t.type?v:as(t.type,v),m);b.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var y=t.stateNode.containerInfo;1===y.nodeType?y.textContent="":9===y.nodeType&&y.documentElement&&y.removeChild(y.documentElement);break;default:throw Error(n(163))}}catch(e){Ec(t,t.return,e)}if(null!==(e=t.sibling)){e.return=t.return,nl=e;break}nl=t.return}g=ol,ol=!1}(e,i),yl(i,e),bi(or),Zt=!!rr,or=rr=null,e.current=i,kl(i),et(),Tl=l,xt=s,Nl.transition=a}else e.current=i;if(Ql&&(Ql=!1,Yl=e,Jl=o),0===(a=e.pendingLanes)&&(Xl=null),function(e){if(ct&&"function"==typeof ct.onCommitFiberRoot)try{ct.onCommitFiberRoot(lt,e,void 0,!(128&~e.current.flags))}catch(e){}}(i.stateNode),sc(e,tt()),null!==t)for(r=e.onRecoverableError,i=0;i<t.length;i++)r((o=t[i]).value,{componentStack:o.stack,digest:o.digest});if(Zl)throw Zl=!1,e=Kl,Kl=null,e;!!(1&Jl)&&0!==e.tag&&Lc(),1&(a=e.pendingLanes)?e===tc?ec++:(ec=0,tc=e):ec=0,Wr()}(e,t,i,r)}finally{Nl.transition=o,xt=r}return null}function Lc(){if(null!==Yl){var e=St(Jl),t=Nl.transition,i=xt;try{if(Nl.transition=null,xt=16>e?16:e,null===Yl)var r=!1;else{if(e=Yl,Yl=null,Jl=0,6&Tl)throw Error(n(331));var o=Tl;for(Tl|=4,nl=e.current;null!==nl;){var a=nl,s=a.child;if(16&nl.flags){var l=a.deletions;if(null!==l){for(var c=0;c<l.length;c++){var d=l[c];for(nl=d;null!==nl;){var u=nl;switch(u.tag){case 0:case 11:case 15:al(8,u,a)}var h=u.child;if(null!==h)h.return=u,nl=h;else for(;null!==nl;){var f=(u=nl).sibling,p=u.return;if(cl(u),u===d){nl=null;break}if(null!==f){f.return=p,nl=f;break}nl=p}}}var g=a.alternate;if(null!==g){var v=g.child;if(null!==v){g.child=null;do{var m=v.sibling;v.sibling=null,v=m}while(null!==v)}}nl=a}}if(2064&a.subtreeFlags&&null!==s)s.return=a,nl=s;else e:for(;null!==nl;){if(2048&(a=nl).flags)switch(a.tag){case 0:case 11:case 15:al(9,a,a.return)}var b=a.sibling;if(null!==b){b.return=a.return,nl=b;break e}nl=a.return}}var w=e.current;for(nl=w;null!==nl;){var y=(s=nl).child;if(2064&s.subtreeFlags&&null!==y)y.return=s,nl=y;else e:for(s=w;null!==nl;){if(2048&(l=nl).flags)try{switch(l.tag){case 0:case 11:case 15:sl(9,l)}}catch(e){Ec(l,l.return,e)}if(l===s){nl=null;break e}var _=l.sibling;if(null!==_){_.return=l.return,nl=_;break e}nl=l.return}}if(Tl=o,Wr(),ct&&"function"==typeof ct.onPostCommitFiberRoot)try{ct.onPostCommitFiberRoot(lt,e)}catch(e){}r=!0}return r}finally{xt=i,Nl.transition=t}}return!1}function Mc(e,t,n){e=Uo(e,t=ms(0,t=fs(n,t),1),1),t=rc(),null!==e&&(_t(e,1,t),sc(e,t))}function Ec(e,t,n){if(3===e.tag)Mc(e,e,n);else for(;null!==t;){if(3===t.tag){Mc(t,e,n);break}if(1===t.tag){var i=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof i.componentDidCatch&&(null===Xl||!Xl.has(i))){t=Uo(t,e=bs(t,e=fs(n,e),1),1),e=rc(),null!==t&&(_t(t,1,e),sc(t,e));break}}t=t.return}}function zc(e,t,n){var i=e.pingCache;null!==i&&i.delete(t),t=rc(),e.pingedLanes|=e.suspendedLanes&n,Al===e&&(Vl&n)===n&&(4===Rl||3===Rl&&(130023424&Vl)===Vl&&500>tt()-ql?vc(e,0):jl|=n),sc(e,t)}function $c(e,t){0===t&&(1&e.mode?(t=pt,!(130023424&(pt<<=1))&&(pt=4194304)):t=1);var n=rc();null!==(e=Do(e,t))&&(_t(e,t,n),sc(e,n))}function Nc(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),$c(e,n)}function Tc(e,t){var i=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;null!==o&&(i=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(n(314))}null!==r&&r.delete(t),$c(e,i)}function Ac(e,t){return Qe(e,t)}function Ic(e,t,n,i){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Vc(e,t,n,i){return new Ic(e,t,n,i)}function Pc(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Hc(e,t){var n=e.alternate;return null===n?((n=Vc(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,n.dependencies=null===(t=e.dependencies)?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Rc(e,t,i,r,o,a){var s=2;if(r=e,"function"==typeof e)Pc(e)&&(s=1);else if("string"==typeof e)s=5;else e:switch(e){case M:return Dc(i.children,o,a,t);case E:s=8,o|=8;break;case z:return(e=Vc(12,i,t,2|o)).elementType=z,e.lanes=a,e;case A:return(e=Vc(13,i,t,o)).elementType=A,e.lanes=a,e;case I:return(e=Vc(19,i,t,o)).elementType=I,e.lanes=a,e;case H:return Bc(i,o,a,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case $:s=10;break e;case N:s=9;break e;case T:s=11;break e;case V:s=14;break e;case P:s=16,r=null;break e}throw Error(n(130,null==e?e:typeof e,""))}return(t=Vc(s,i,t,o)).elementType=e,t.type=r,t.lanes=a,t}function Dc(e,t,n,i){return(e=Vc(7,e,i,t)).lanes=n,e}function Bc(e,t,n,i){return(e=Vc(22,e,i,t)).elementType=H,e.lanes=n,e.stateNode={isHidden:!1},e}function Oc(e,t,n){return(e=Vc(6,e,null,t)).lanes=n,e}function jc(e,t,n){return(t=Vc(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Fc(e,t,n,i,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=yt(0),this.expirationTimes=yt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=yt(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Uc(e,t,n,i,r,o,a,s,l){return e=new Fc(e,t,n,s,l),1===t?(t=1,!0===o&&(t|=8)):t=0,o=Vc(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:i,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Oo(o),e}function qc(e){if(!e)return Nr;e:{if(We(e=e._reactInternals)!==e||1!==e.tag)throw Error(n(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Pr(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(n(171))}if(1===e.tag){var i=e.type;if(Pr(i))return Dr(e,i,t)}return t}function Wc(e,t,n,i,r,o,a,s,l){return(e=Uc(n,i,!0,e,0,o,0,s,l)).context=qc(null),n=e.current,(o=Fo(i=rc(),r=oc(n))).callback=null!=t?t:null,Uo(n,o,r),e.current.lanes=r,_t(e,r,i),sc(e,i),e}function Gc(e,t,n,i){var r=t.current,o=rc(),a=oc(r);return n=qc(n),null===t.context?t.context=n:t.pendingContext=n,(t=Fo(o,a)).payload={element:e},null!==(i=void 0===i?null:i)&&(t.callback=i),null!==(e=Uo(r,t,a))&&(ac(e,r,a,o),qo(e,r,a)),a}function Zc(e){return(e=e.current).child?e.child.stateNode:null}function Kc(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function Xc(e,t){Kc(e,t),(e=e.alternate)&&Kc(e,t)}Ml=function(e,t,i){if(null!==e)if(e.memoizedProps!==t.pendingProps||Ar.current)xs=!0;else{if(!(e.lanes&i||128&t.flags))return xs=!1,function(e,t,n){switch(t.tag){case 3:As(t),bo();break;case 5:na(t);break;case 1:Pr(t.type)&&Br(t);break;case 4:ea(t,t.stateNode.containerInfo);break;case 10:var i=t.type._context,r=t.memoizedProps.value;$r(Mo,i._currentValue),i._currentValue=r;break;case 13:if(null!==(i=t.memoizedState))return null!==i.dehydrated?($r(ra,1&ra.current),t.flags|=128,null):n&t.child.childLanes?Os(e,t,n):($r(ra,1&ra.current),null!==(e=Zs(e,t,n))?e.sibling:null);$r(ra,1&ra.current);break;case 19:if(i=!!(n&t.childLanes),128&e.flags){if(i)return Ws(e,t,n);t.flags|=128}if(null!==(r=t.memoizedState)&&(r.rendering=null,r.tail=null,r.lastEffect=null),$r(ra,ra.current),i)break;return null;case 22:case 23:return t.lanes=0,Es(e,t,n)}return Zs(e,t,n)}(e,t,i);xs=!!(131072&e.flags)}else xs=!1,lo&&1048576&t.flags&&io(t,Xr,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Gs(e,t),e=t.pendingProps;var o=Vr(t,Tr.current);Io(t,i),o=ya(null,t,r,e,o,i);var a=_a();return t.flags|=1,"object"==typeof o&&null!==o&&"function"==typeof o.render&&void 0===o.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Pr(r)?(a=!0,Br(t)):a=!1,t.memoizedState=null!=o.state?o.state:null,Oo(t),o.updater=ls,t.stateNode=o,o._reactInternals=t,hs(t,r,e,i),t=Ts(null,t,r,!0,a,i)):(t.tag=0,lo&&a&&ro(t),Ss(null,t,o,i),t=t.child),t;case 16:r=t.elementType;e:{switch(Gs(e,t),e=t.pendingProps,r=(o=r._init)(r._payload),t.type=r,o=t.tag=function(e){if("function"==typeof e)return Pc(e)?1:0;if(null!=e){if((e=e.$$typeof)===T)return 11;if(e===V)return 14}return 2}(r),e=as(r,e),o){case 0:t=$s(null,t,r,e,i);break e;case 1:t=Ns(null,t,r,e,i);break e;case 11:t=Cs(null,t,r,e,i);break e;case 14:t=Ls(null,t,r,as(r.type,e),i);break e}throw Error(n(306,r,""))}return t;case 0:return o=t.pendingProps,$s(e,t,r=t.type,o=t.elementType===r?o:as(r,o),i);case 1:return o=t.pendingProps,Ns(e,t,r=t.type,o=t.elementType===r?o:as(r,o),i);case 3:e:{if(As(t),null===e)throw Error(n(387));r=t.pendingProps,o=(a=t.memoizedState).element,jo(e,t),Go(t,r,null,i);var s=t.memoizedState;if(r=s.element,a.isDehydrated){if(t.updateQueue.baseState=a={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.memoizedState=a,256&t.flags){t=Is(e,t,r,i,o=fs(Error(n(423)),t));break e}if(r!==o){t=Is(e,t,r,i,o=fs(Error(n(424)),t));break e}for(so=fr(t.stateNode.containerInfo.firstChild),ao=t,lo=!0,co=null,i=Lo(t,null,r,i),t.child=i;i;)i.flags=-3&i.flags|4096,i=i.sibling}else{if(bo(),r===o){t=Zs(e,t,i);break e}Ss(e,t,r,i)}t=t.child}return t;case 5:return na(t),null===e&&po(t),a=null!==e?e.memoizedProps:null,s=(o=t.pendingProps).children,ar(r=t.type,o)?s=null:null!==a&&ar(r,a)&&(t.flags|=32),zs(e,t),Ss(e,t,s,i),t.child;case 6:return null===e&&po(t),null;case 13:return Os(e,t,i);case 4:return ea(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=Co(t,null,r,i):Ss(e,t,r,i),t.child;case 11:return o=t.pendingProps,Cs(e,t,r=t.type,o=t.elementType===r?o:as(r,o),i);case 7:return Ss(e,t,t.pendingProps,i),t.child;case 8:case 12:return Ss(e,t,t.pendingProps.children,i),t.child;case 10:e:{if(a=t.memoizedProps,s=(o=t.pendingProps).value,$r(Mo,(r=t.type._context)._currentValue),r._currentValue=s,null!==a)if(ui(a.value,s)){if(a.children===o.children&&!Ar.current){t=Zs(e,t,i);break e}}else for(null!==(a=t.child)&&(a.return=t);null!==a;){var l=a.dependencies;if(null!==l){s=a.child;for(var c=l.firstContext;null!==c;){if(c.context===r){if(1===a.tag){(c=Fo(-1,i&-i)).tag=2;var d=a.updateQueue;if(null!==d){var u=(d=d.shared).pending;null===u?c.next=c:(c.next=u.next,u.next=c),d.pending=c}}a.lanes|=i,null!==(c=a.alternate)&&(c.lanes|=i),Ao(a.return,i,t),l.lanes|=i;break}c=c.next}}else if(10===a.tag)s=a.type===t.type?null:a.child;else if(18===a.tag){if(null===(s=a.return))throw Error(n(341));s.lanes|=i,null!==(l=s.alternate)&&(l.lanes|=i),Ao(s,i,t),s=a.sibling}else s=a.child;if(null!==s)s.return=a;else for(s=a;null!==s;){if(s===t){s=null;break}if(null!==(a=s.sibling)){a.return=s.return,s=a;break}s=s.return}a=s}Ss(e,t,o.children,i),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,Io(t,i),r=r(o=Vo(o)),t.flags|=1,Ss(e,t,r,i),t.child;case 14:return o=as(r=t.type,t.pendingProps),Ls(e,t,r,o=as(r.type,o),i);case 15:return Ms(e,t,t.type,t.pendingProps,i);case 17:return o=t.pendingProps,o=t.elementType===(r=t.type)?o:as(r,o),Gs(e,t),t.tag=1,Pr(r)?(e=!0,Br(t)):e=!1,Io(t,i),ds(t,r,o),hs(t,r,o,i),Ts(null,t,r,!0,e,i);case 19:return Ws(e,t,i);case 22:return Es(e,t,i)}throw Error(n(156,t.tag))};var Qc="function"==typeof reportError?reportError:function(e){console.error(e)};function Yc(e){this._internalRoot=e}function Jc(e){this._internalRoot=e}function ed(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function td(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function nd(){}function id(e,t,n,i,r){var o=n._reactRootContainer;if(o){var a=o;if("function"==typeof r){var s=r;r=function(){var e=Zc(a);s.call(e)}}Gc(t,a,e,r)}else a=function(e,t,n,i,r){if(r){if("function"==typeof i){var o=i;i=function(){var e=Zc(a);o.call(e)}}var a=Wc(t,i,e,0,null,!1,0,"",nd);return e._reactRootContainer=a,e[br]=a.current,Wi(8===e.nodeType?e.parentNode:e),pc(),a}for(;r=e.lastChild;)e.removeChild(r);if("function"==typeof i){var s=i;i=function(){var e=Zc(l);s.call(e)}}var l=Uc(e,0,!1,null,0,!1,0,"",nd);return e._reactRootContainer=l,e[br]=l.current,Wi(8===e.nodeType?e.parentNode:e),pc((function(){Gc(t,l,n,i)})),l}(n,t,e,r,i);return Zc(a)}Jc.prototype.render=Yc.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(n(409));Gc(e,t,null,null)},Jc.prototype.unmount=Yc.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;pc((function(){Gc(null,e,null,null)})),t[br]=null}},Jc.prototype.unstable_scheduleHydration=function(e){if(e){var t=Et();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Ht.length&&0!==t&&t<Ht[n].priority;n++);Ht.splice(n,0,e),0===n&&Ot(e)}},Ct=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=gt(t.pendingLanes);0!==n&&(kt(t,1|n),sc(t,tt()),!(6&Tl)&&(Wl=tt()+500,Wr()))}break;case 13:pc((function(){var t=Do(e,1);if(null!==t){var n=rc();ac(t,e,1,n)}})),Xc(e,1)}},Lt=function(e){if(13===e.tag){var t=Do(e,134217728);null!==t&&ac(t,e,134217728,rc()),Xc(e,134217728)}},Mt=function(e){if(13===e.tag){var t=oc(e),n=Do(e,t);null!==n&&ac(n,e,t,rc()),Xc(e,t)}},Et=function(){return xt},zt=function(e,t){var n=xt;try{return xt=e,t()}finally{xt=n}},Le=function(e,t,i){switch(t){case"input":if(ne(e,i),t=i.name,"radio"===i.type&&null!=t){for(i=e;i.parentNode;)i=i.parentNode;for(i=i.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<i.length;t++){var r=i[t];if(r!==e&&r.form===e.form){var o=Cr(r);if(!o)throw Error(n(90));Q(r),ne(r,o)}}}break;case"textarea":ce(e,i);break;case"select":null!=(t=i.value)&&ae(e,!!i.multiple,t,!1)}},Te=fc,Ae=pc;var rd={usingClientEntryPoint:!1,Events:[xr,Sr,Cr,$e,Ne,fc]},od={findFiberByHostInstance:kr,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},ad={bundleType:od.bundleType,version:od.version,rendererPackageName:od.rendererPackageName,rendererConfig:od.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:S.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Ke(e))?null:e.stateNode},findFiberByHostInstance:od.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var sd=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!sd.isDisabled&&sd.supportsFiber)try{lt=sd.inject(ad),ct=sd}catch(pe){}}return w.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=rd,w.createPortal=function(e,t){var i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!ed(t))throw Error(n(200));return function(e,t,n){var i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:L,key:null==i?null:""+i,children:e,containerInfo:t,implementation:n}}(e,t,null,i)},w.createRoot=function(e,t){if(!ed(e))throw Error(n(299));var i=!1,r="",o=Qc;return null!=t&&(!0===t.unstable_strictMode&&(i=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onRecoverableError&&(o=t.onRecoverableError)),t=Uc(e,1,!1,null,0,i,0,r,o),e[br]=t.current,Wi(8===e.nodeType?e.parentNode:e),new Yc(t)},w.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(n(188));throw e=Object.keys(e).join(","),Error(n(268,e))}return null===(e=Ke(t))?null:e.stateNode},w.flushSync=function(e){return pc(e)},w.hydrate=function(e,t,i){if(!td(t))throw Error(n(200));return id(null,e,t,!0,i)},w.hydrateRoot=function(e,t,i){if(!ed(e))throw Error(n(405));var r=null!=i&&i.hydratedSources||null,o=!1,a="",s=Qc;if(null!=i&&(!0===i.unstable_strictMode&&(o=!0),void 0!==i.identifierPrefix&&(a=i.identifierPrefix),void 0!==i.onRecoverableError&&(s=i.onRecoverableError)),t=Wc(t,null,e,1,null!=i?i:null,o,0,a,s),e[br]=t.current,Wi(e),r)for(e=0;e<r.length;e++)o=(o=(i=r[e])._getVersion)(i._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[i,o]:t.mutableSourceEagerHydrationData.push(i,o);return new Jc(t)},w.render=function(e,t,i){if(!td(t))throw Error(n(200));return id(null,e,t,!1,i)},w.unmountComponentAtNode=function(e){if(!td(e))throw Error(n(40));return!!e._reactRootContainer&&(pc((function(){id(null,null,e,!1,(function(){e._reactRootContainer=null,e[br]=null}))})),!0)},w.unstable_batchedUpdates=fc,w.unstable_renderSubtreeIntoContainer=function(e,t,i,r){if(!td(i))throw Error(n(200));if(null==e||void 0===e._reactInternals)throw Error(n(38));return id(e,t,i,!1,r)},w.version="18.3.1-next-f1338f8080-20240426",w}function x(){return p||(p=1,function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),b.exports=k()),b.exports}var S,C,L=function(){if(g)return m;g=1;var e=x();return m.createRoot=e.createRoot,m.hydrateRoot=e.hydrateRoot,m}(),M=Object.create,E=Object.defineProperty,z=Object.getOwnPropertyDescriptor,$=Object.getOwnPropertyNames,N=Object.getPrototypeOf,T=Object.prototype.hasOwnProperty,A=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),I=(e,t,n)=>(n=null!=e?M(N(e)):{},((e,t,n,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(var r,o=$(t),a=0,s=o.length;a<s;a++)T.call(e,r=o[a])||undefined===r||E(e,r,{get:(e=>t[e]).bind(null,r),enumerable:!(i=z(t,r))||i.enumerable});return e})(E(n,"default",{value:e,enumerable:!0}),e)),V={exports:{}},P={},H=(C||(C=1,V.exports=function(){if(S)return P;S=1;var e=d(),t=Symbol.for("react.element"),n=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,r=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function a(e,n,a){var s,l={},c=null,d=null;for(s in void 0!==a&&(c=""+a),void 0!==n.key&&(c=""+n.key),void 0!==n.ref&&(d=n.ref),n)i.call(n,s)&&!o.hasOwnProperty(s)&&(l[s]=n[s]);if(e&&e.defaultProps)for(s in n=e.defaultProps)void 0===l[s]&&(l[s]=n[s]);return{$$typeof:t,type:e,key:c,ref:d,props:l,_owner:r.current}}return P.Fragment=n,P.jsx=a,P.jsxs=a,P}()),V.exports);function R(e,t){return Math.imul(e,31)+t|0}function D(e){return e>>>1&1073741824|3221225471&e}function B(e,t){return function(e,t=2166136261){let n,i,r=2147483647&t;for(n=0,i=e.length;n<i;n++)r^=e.charCodeAt(n),r+=(r<<1)+(r<<4)+(r<<7)+(r<<8)+(r<<24);return r>>>0}(e,t)}const O=new ArrayBuffer(8),j=new Uint32Array(O),F=new Float64Array(O);class U{constructor(e,t,n){if(this._hashKey=e,this._equalKeys=t,this._keys=new Map,this._map=new Map,n)for(const[e,t]of n)this.set(e,t)}get size(){return this._map.size}has(e){const{_hashKey:t,_equalKeys:n}=this,i=this._keys.get(t(e));if(i)for(const t of i)if(n(t,e))return!0;return!1}get(e){const{_hashKey:t,_equalKeys:n}=this,i=this._keys.get(t(e));if(i)for(const t of i)if(n(t,e))return this._map.get(t)}set(e,t){const{_hashKey:n,_equalKeys:i}=this,r=n(e);let o=this._keys.get(r);if(o){let n=-1;for(let t=0;t<o.length;t++)if(i(o[t],e)){n=t;break}n>=0?this._map.set(o[n],t):(o.push(e),this._map.set(e,t))}else o=[e],this._keys.set(r,o),this._map.set(e,t);return this}delete(e){const{_hashKey:t,_equalKeys:n}=this,i=t(e),r=this._keys.get(i);if(r)for(let t=0;t<r.length;t++)if(n(r[t],e)){const[e]=r.splice(t,1);return this._map.delete(e),0===r.length&&this._keys.delete(i),!0}return!1}clear(){this._keys.clear(),this._map.clear()}clone(){return new U(this._hashKey,this._equalKeys,this)}forEach(e){for(const[t,n]of this)e(n,t,this)}keys(){return this._map.keys()}values(){return this._map.values()}entries(){return this._map.entries()}[Symbol.iterator](){return this.entries()}}class q{constructor(e,t,n){if(this._hashCode=e,this._equals=t,this._map=new U(e,t),n)for(const e of n)this.add(e)}get size(){return this._map.size}has(e){return this._map.has(e)}add(e){return this._map.set(e,!0),this}delete(e){return this._map.delete(e)}clear(){this._map.clear()}clone(){const e=new q(this._hashCode,this._equals);return this.forEach((t=>e.add(t))),e}forEach(e){this._map.forEach(((t,n)=>e(n,n,this)))}keys(){return this._map.keys()}values(){return this._map.keys()}*entries(){for(const e of this.keys())yield[e,e]}[Symbol.iterator](){return this._map.keys()}}var W="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},G=[],Z=[],K="undefined"!=typeof Uint8Array?Uint8Array:Array,X=!1;function Q(){X=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0;t<64;++t)G[t]=e[t],Z[e.charCodeAt(t)]=t;Z["-".charCodeAt(0)]=62,Z["_".charCodeAt(0)]=63}function Y(e,t,n){for(var i,r=[],o=t;o<n;o+=3)r.push(G[(i=(e[o]<<16)+(e[o+1]<<8)+e[o+2])>>18&63]+G[i>>12&63]+G[i>>6&63]+G[63&i]);return r.join("")}function J(e,t,n,i,r){var o,a,s=8*r-i-1,l=(1<<s)-1,c=l>>1,d=-7,u=n?r-1:0,h=n?-1:1,f=e[t+u];for(u+=h,o=f&(1<<-d)-1,f>>=-d,d+=s;d>0;o=256*o+e[t+u],u+=h,d-=8);for(a=o&(1<<-d)-1,o>>=-d,d+=i;d>0;a=256*a+e[t+u],u+=h,d-=8);if(0===o)o=1-c;else{if(o===l)return a?NaN:1/0*(f?-1:1);a+=Math.pow(2,i),o-=c}return(f?-1:1)*a*Math.pow(2,o-i)}function ee(e,t,n,i,r,o){var a,s,l,c=8*o-r-1,d=(1<<c)-1,u=d>>1,h=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,f=i?0:o-1,p=i?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=d):(a=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-a))<1&&(a--,l*=2),(t+=a+u>=1?h/l:h*Math.pow(2,1-u))*l>=2&&(a++,l/=2),a+u>=d?(s=0,a=d):a+u>=1?(s=(t*l-1)*Math.pow(2,r),a+=u):(s=t*Math.pow(2,u-1)*Math.pow(2,r),a=0));r>=8;e[n+f]=255&s,f+=p,s/=256,r-=8);for(a=a<<r|s,c+=r;c>0;e[n+f]=255&a,f+=p,a/=256,c-=8);e[n+f-p]|=128*g}var te={}.toString,ne=Array.isArray||function(e){return"[object Array]"==te.call(e)};function ie(){return oe.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function re(e,t){if(ie()<t)throw new RangeError("Invalid typed array length");return oe.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=oe.prototype:(null===e&&(e=new oe(t)),e.length=t),e}function oe(e,t,n){if(!(oe.TYPED_ARRAY_SUPPORT||this instanceof oe))return new oe(e,t,n);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return le(this,e)}return ae(this,e,t,n)}function ae(e,t,n,i){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,i){if(n<0||t.byteLength<n)throw new RangeError("'offset' is out of bounds");if(t.byteLength<n+(i||0))throw new RangeError("'length' is out of bounds");return t=void 0===n&&void 0===i?new Uint8Array(t):void 0===i?new Uint8Array(t,n):new Uint8Array(t,n,i),oe.TYPED_ARRAY_SUPPORT?(e=t).__proto__=oe.prototype:e=ce(e,t),e}(e,t,n,i):"string"==typeof t?function(e,t,n){if("string"==typeof n&&""!==n||(n="utf8"),!oe.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var i=0|he(t,n),r=(e=re(e,i)).write(t,n);return r!==i&&(e=e.slice(0,r)),e}(e,t,n):function(e,t){if(ue(t)){var n=0|de(t.length);return 0===(e=re(e,n)).length||t.copy(e,0,0,n),e}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(i=t.length)!=i?re(e,0):ce(e,t);if("Buffer"===t.type&&ne(t.data))return ce(e,t.data)}var i;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function se(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function le(e,t){if(se(t),e=re(e,t<0?0:0|de(t)),!oe.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function ce(e,t){var n=t.length<0?0:0|de(t.length);e=re(e,n);for(var i=0;i<n;i+=1)e[i]=255&t[i];return e}function de(e){if(e>=ie())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+ie().toString(16)+" bytes");return 0|e}function ue(e){return!(null==e||!e._isBuffer)}function he(e,t){if(ue(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var i=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return Re(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return De(e).length;default:if(i)return Re(e).length;t=(""+t).toLowerCase(),i=!0}}function fe(e,t,n){var i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return Ee(this,t,n);case"utf8":case"utf-8":return Se(this,t,n);case"ascii":return Le(this,t,n);case"latin1":case"binary":return Me(this,t,n);case"base64":return xe(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ze(this,t,n);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function pe(e,t,n){var i=e[t];e[t]=e[n],e[n]=i}function ge(e,t,n,i,r){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof t&&(t=oe.from(t,i)),ue(t))return 0===t.length?-1:ve(e,t,n,i,r);if("number"==typeof t)return t&=255,oe.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):ve(e,[t],n,i,r);throw new TypeError("val must be string, number or Buffer")}function ve(e,t,n,i,r){var o,a=1,s=e.length,l=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;a=2,s/=2,l/=2,n/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(r){var d=-1;for(o=n;o<s;o++)if(c(e,o)===c(t,-1===d?0:o-d)){if(-1===d&&(d=o),o-d+1===l)return d*a}else-1!==d&&(o-=o-d),d=-1}else for(n+l>s&&(n=s-l),o=n;o>=0;o--){for(var u=!0,h=0;h<l;h++)if(c(e,o+h)!==c(t,h)){u=!1;break}if(u)return o}return-1}function me(e,t,n,i){n=Number(n)||0;var r=e.length-n;i?(i=Number(i))>r&&(i=r):i=r;var o=t.length;if(o%2!=0)throw new TypeError("Invalid hex string");i>o/2&&(i=o/2);for(var a=0;a<i;++a){var s=parseInt(t.substr(2*a,2),16);if(isNaN(s))return a;e[n+a]=s}return a}function be(e,t,n,i){return Be(Re(t,e.length-n),e,n,i)}function we(e,t,n,i){return Be(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,i)}function ye(e,t,n,i){return we(e,t,n,i)}function _e(e,t,n,i){return Be(De(t),e,n,i)}function ke(e,t,n,i){return Be(function(e,t){for(var n,i,r=[],o=0;o<e.length&&!((t-=2)<0);++o)i=(n=e.charCodeAt(o))>>8,r.push(n%256),r.push(i);return r}(t,e.length-n),e,n,i)}function xe(e,t,n){return function(e){var t;X||Q();for(var n=e.length,i=n%3,r="",o=[],a=16383,s=0,l=n-i;s<l;s+=a)o.push(Y(e,s,s+a>l?l:s+a));return 1===i?(r+=G[(t=e[n-1])>>2],r+=G[t<<4&63],r+="=="):2===i&&(r+=G[(t=(e[n-2]<<8)+e[n-1])>>10],r+=G[t>>4&63],r+=G[t<<2&63],r+="="),o.push(r),o.join("")}(0===t&&n===e.length?e:e.slice(t,n))}function Se(e,t,n){n=Math.min(e.length,n);for(var i=[],r=t;r<n;){var o,a,s,l,c=e[r],d=null,u=c>239?4:c>223?3:c>191?2:1;if(r+u<=n)switch(u){case 1:c<128&&(d=c);break;case 2:128==(192&(o=e[r+1]))&&(l=(31&c)<<6|63&o)>127&&(d=l);break;case 3:a=e[r+2],128==(192&(o=e[r+1]))&&128==(192&a)&&(l=(15&c)<<12|(63&o)<<6|63&a)>2047&&(l<55296||l>57343)&&(d=l);break;case 4:a=e[r+2],s=e[r+3],128==(192&(o=e[r+1]))&&128==(192&a)&&128==(192&s)&&(l=(15&c)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&l<1114112&&(d=l)}null===d?(d=65533,u=1):d>65535&&(i.push((d-=65536)>>>10&1023|55296),d=56320|1023&d),i.push(d),r+=u}return function(e){var t=e.length;if(t<=Ce)return String.fromCharCode.apply(String,e);for(var n="",i=0;i<t;)n+=String.fromCharCode.apply(String,e.slice(i,i+=Ce));return n}(i)}oe.TYPED_ARRAY_SUPPORT=void 0===W.TYPED_ARRAY_SUPPORT||W.TYPED_ARRAY_SUPPORT,oe.poolSize=8192,oe._augment=function(e){return e.__proto__=oe.prototype,e},oe.from=function(e,t,n){return ae(null,e,t,n)},oe.TYPED_ARRAY_SUPPORT&&(oe.prototype.__proto__=Uint8Array.prototype,oe.__proto__=Uint8Array),oe.alloc=function(e,t,n){return function(e,t,n,i){return se(t),t<=0?re(e,t):void 0!==n?"string"==typeof i?re(e,t).fill(n,i):re(e,t).fill(n):re(e,t)}(null,e,t,n)},oe.allocUnsafe=function(e){return le(null,e)},oe.allocUnsafeSlow=function(e){return le(null,e)},oe.isBuffer=function(e){return null!=e&&(!!e._isBuffer||Oe(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&Oe(e.slice(0,0))}(e))},oe.compare=function(e,t){if(!ue(e)||!ue(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,i=t.length,r=0,o=Math.min(n,i);r<o;++r)if(e[r]!==t[r]){n=e[r],i=t[r];break}return n<i?-1:i<n?1:0},oe.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},oe.concat=function(e,t){if(!ne(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return oe.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var i=oe.allocUnsafe(t),r=0;for(n=0;n<e.length;++n){var o=e[n];if(!ue(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(i,r),r+=o.length}return i},oe.byteLength=he,oe.prototype._isBuffer=!0,oe.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)pe(this,t,t+1);return this},oe.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)pe(this,t,t+3),pe(this,t+1,t+2);return this},oe.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)pe(this,t,t+7),pe(this,t+1,t+6),pe(this,t+2,t+5),pe(this,t+3,t+4);return this},oe.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?Se(this,0,e):fe.apply(this,arguments)},oe.prototype.equals=function(e){if(!ue(e))throw new TypeError("Argument must be a Buffer");return this===e||0===oe.compare(this,e)},oe.prototype.inspect=function(){var e="";return this.length>0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),"<Buffer "+e+">"},oe.prototype.compare=function(e,t,n,i,r){if(!ue(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return-1;if(t>=n)return 1;if(this===e)return 0;for(var o=(r>>>=0)-(i>>>=0),a=(n>>>=0)-(t>>>=0),s=Math.min(o,a),l=this.slice(i,r),c=e.slice(t,n),d=0;d<s;++d)if(l[d]!==c[d]){o=l[d],a=c[d];break}return o<a?-1:a<o?1:0},oe.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},oe.prototype.indexOf=function(e,t,n){return ge(this,e,t,n,!0)},oe.prototype.lastIndexOf=function(e,t,n){return ge(this,e,t,n,!1)},oe.prototype.write=function(e,t,n,i){if(void 0===t)i="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)i=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}var r=this.length-t;if((void 0===n||n>r)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return me(this,e,t,n);case"utf8":case"utf-8":return be(this,e,t,n);case"ascii":return we(this,e,t,n);case"latin1":case"binary":return ye(this,e,t,n);case"base64":return _e(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ke(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},oe.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Ce=4096;function Le(e,t,n){var i="";n=Math.min(e.length,n);for(var r=t;r<n;++r)i+=String.fromCharCode(127&e[r]);return i}function Me(e,t,n){var i="";n=Math.min(e.length,n);for(var r=t;r<n;++r)i+=String.fromCharCode(e[r]);return i}function Ee(e,t,n){var i,r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var o="",a=t;a<n;++a)o+=(i=e[a])<16?"0"+i.toString(16):i.toString(16);return o}function ze(e,t,n){for(var i=e.slice(t,n),r="",o=0;o<i.length;o+=2)r+=String.fromCharCode(i[o]+256*i[o+1]);return r}function $e(e,t,n){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function Ne(e,t,n,i,r,o){if(!ue(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||t<o)throw new RangeError('"value" argument is out of bounds');if(n+i>e.length)throw new RangeError("Index out of range")}function Te(e,t,n,i){t<0&&(t=65535+t+1);for(var r=0,o=Math.min(e.length-n,2);r<o;++r)e[n+r]=(t&255<<8*(i?r:1-r))>>>8*(i?r:1-r)}function Ae(e,t,n,i){t<0&&(t=4294967295+t+1);for(var r=0,o=Math.min(e.length-n,4);r<o;++r)e[n+r]=t>>>8*(i?r:3-r)&255}function Ie(e,t,n,i){if(n+i>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function Ve(e,t,n,i,r){return r||Ie(e,0,n,4),ee(e,t,n,i,23,4),n+4}function Pe(e,t,n,i,r){return r||Ie(e,0,n,8),ee(e,t,n,i,52,8),n+8}oe.prototype.slice=function(e,t){var n,i=this.length;if((e=~~e)<0?(e+=i)<0&&(e=0):e>i&&(e=i),(t=void 0===t?i:~~t)<0?(t+=i)<0&&(t=0):t>i&&(t=i),t<e&&(t=e),oe.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=oe.prototype;else{var r=t-e;n=new oe(r,void 0);for(var o=0;o<r;++o)n[o]=this[o+e]}return n},oe.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||$e(e,t,this.length);for(var i=this[e],r=1,o=0;++o<t&&(r*=256);)i+=this[e+o]*r;return i},oe.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||$e(e,t,this.length);for(var i=this[e+--t],r=1;t>0&&(r*=256);)i+=this[e+--t]*r;return i},oe.prototype.readUInt8=function(e,t){return t||$e(e,1,this.length),this[e]},oe.prototype.readUInt16LE=function(e,t){return t||$e(e,2,this.length),this[e]|this[e+1]<<8},oe.prototype.readUInt16BE=function(e,t){return t||$e(e,2,this.length),this[e]<<8|this[e+1]},oe.prototype.readUInt32LE=function(e,t){return t||$e(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},oe.prototype.readUInt32BE=function(e,t){return t||$e(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},oe.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||$e(e,t,this.length);for(var i=this[e],r=1,o=0;++o<t&&(r*=256);)i+=this[e+o]*r;return i>=(r*=128)&&(i-=Math.pow(2,8*t)),i},oe.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||$e(e,t,this.length);for(var i=t,r=1,o=this[e+--i];i>0&&(r*=256);)o+=this[e+--i]*r;return o>=(r*=128)&&(o-=Math.pow(2,8*t)),o},oe.prototype.readInt8=function(e,t){return t||$e(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},oe.prototype.readInt16LE=function(e,t){t||$e(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},oe.prototype.readInt16BE=function(e,t){t||$e(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},oe.prototype.readInt32LE=function(e,t){return t||$e(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},oe.prototype.readInt32BE=function(e,t){return t||$e(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},oe.prototype.readFloatLE=function(e,t){return t||$e(e,4,this.length),J(this,e,!0,23,4)},oe.prototype.readFloatBE=function(e,t){return t||$e(e,4,this.length),J(this,e,!1,23,4)},oe.prototype.readDoubleLE=function(e,t){return t||$e(e,8,this.length),J(this,e,!0,52,8)},oe.prototype.readDoubleBE=function(e,t){return t||$e(e,8,this.length),J(this,e,!1,52,8)},oe.prototype.writeUIntLE=function(e,t,n,i){e=+e,t|=0,n|=0,i||Ne(this,e,t,n,Math.pow(2,8*n)-1,0);var r=1,o=0;for(this[t]=255&e;++o<n&&(r*=256);)this[t+o]=e/r&255;return t+n},oe.prototype.writeUIntBE=function(e,t,n,i){e=+e,t|=0,n|=0,i||Ne(this,e,t,n,Math.pow(2,8*n)-1,0);var r=n-1,o=1;for(this[t+r]=255&e;--r>=0&&(o*=256);)this[t+r]=e/o&255;return t+n},oe.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||Ne(this,e,t,1,255,0),oe.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},oe.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||Ne(this,e,t,2,65535,0),oe.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Te(this,e,t,!0),t+2},oe.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||Ne(this,e,t,2,65535,0),oe.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Te(this,e,t,!1),t+2},oe.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||Ne(this,e,t,4,4294967295,0),oe.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):Ae(this,e,t,!0),t+4},oe.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||Ne(this,e,t,4,4294967295,0),oe.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Ae(this,e,t,!1),t+4},oe.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t|=0,!i){var r=Math.pow(2,8*n-1);Ne(this,e,t,n,r-1,-r)}var o=0,a=1,s=0;for(this[t]=255&e;++o<n&&(a*=256);)e<0&&0===s&&0!==this[t+o-1]&&(s=1),this[t+o]=(e/a|0)-s&255;return t+n},oe.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t|=0,!i){var r=Math.pow(2,8*n-1);Ne(this,e,t,n,r-1,-r)}var o=n-1,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a|0)-s&255;return t+n},oe.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||Ne(this,e,t,1,127,-128),oe.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},oe.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||Ne(this,e,t,2,32767,-32768),oe.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Te(this,e,t,!0),t+2},oe.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||Ne(this,e,t,2,32767,-32768),oe.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Te(this,e,t,!1),t+2},oe.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||Ne(this,e,t,4,2147483647,-2147483648),oe.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):Ae(this,e,t,!0),t+4},oe.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||Ne(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),oe.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Ae(this,e,t,!1),t+4},oe.prototype.writeFloatLE=function(e,t,n){return Ve(this,e,t,!0,n)},oe.prototype.writeFloatBE=function(e,t,n){return Ve(this,e,t,!1,n)},oe.prototype.writeDoubleLE=function(e,t,n){return Pe(this,e,t,!0,n)},oe.prototype.writeDoubleBE=function(e,t,n){return Pe(this,e,t,!1,n)},oe.prototype.copy=function(e,t,n,i){if(n||(n=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i<n&&(i=n),i===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t<i-n&&(i=e.length-t+n);var r,o=i-n;if(this===e&&n<t&&t<i)for(r=o-1;r>=0;--r)e[r+t]=this[r+n];else if(o<1e3||!oe.TYPED_ARRAY_SUPPORT)for(r=0;r<o;++r)e[r+t]=this[r+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+o),t);return o},oe.prototype.fill=function(e,t,n,i){if("string"==typeof e){if("string"==typeof t?(i=t,t=0,n=this.length):"string"==typeof n&&(i=n,n=this.length),1===e.length){var r=e.charCodeAt(0);r<256&&(e=r)}if(void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!oe.isEncoding(i))throw new TypeError("Unknown encoding: "+i)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;var o;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(o=t;o<n;++o)this[o]=e;else{var a=ue(e)?e:Re(new oe(e,i).toString()),s=a.length;for(o=0;o<n-t;++o)this[o+t]=a[o%s]}return this};var He=/[^+\/0-9A-Za-z-_]/g;function Re(e,t){var n;t=t||1/0;for(var i=e.length,r=null,o=[],a=0;a<i;++a){if((n=e.charCodeAt(a))>55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===i){(t-=3)>-1&&o.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(t-=3)>-1&&o.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function De(e){return function(e){var t,n,i,r,o,a;X||Q();var s=e.length;if(s%4>0)throw new Error("Invalid string. Length must be a multiple of 4");a=new K(3*s/4-(o="="===e[s-2]?2:"="===e[s-1]?1:0)),i=o>0?s-4:s;var l=0;for(t=0,n=0;t<i;t+=4,n+=3)r=Z[e.charCodeAt(t)]<<18|Z[e.charCodeAt(t+1)]<<12|Z[e.charCodeAt(t+2)]<<6|Z[e.charCodeAt(t+3)],a[l++]=r>>16&255,a[l++]=r>>8&255,a[l++]=255&r;return 2===o?(r=Z[e.charCodeAt(t)]<<2|Z[e.charCodeAt(t+1)]>>4,a[l++]=255&r):1===o&&(r=Z[e.charCodeAt(t)]<<10|Z[e.charCodeAt(t+1)]<<4|Z[e.charCodeAt(t+2)]>>2,a[l++]=r>>8&255,a[l++]=255&r),a}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(He,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function Be(e,t,n,i){for(var r=0;r<i&&!(r+n>=t.length||r>=e.length);++r)t[r+n]=e[r];return r}function Oe(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}const je="http://www.w3.org/1999/02/22-rdf-syntax-ns#",Fe="http://www.w3.org/2001/XMLSchema#",Ue="http://www.w3.org/2000/10/swap/";var qe={xsd:{decimal:`${Fe}decimal`,boolean:`${Fe}boolean`,double:`${Fe}double`,integer:`${Fe}integer`,string:`${Fe}string`},rdf:{type:`${je}type`,nil:`${je}nil`,first:`${je}first`,rest:`${je}rest`,langString:`${je}langString`},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:`${Ue}reify#forSome`,forAll:`${Ue}reify#forAll`},log:{implies:`${Ue}log#implies`,isImpliedBy:`${Ue}log#isImpliedBy`}};const{xsd:We}=qe,Ge=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\([^])/g,Ze={"\\":"\\","'":"'",'"':'"',n:"\n",r:"\r",t:"\t",f:"\f",b:"\b",_:"_","~":"~",".":".","-":"-","!":"!",$:"$","&":"&","(":"(",")":")","*":"*","+":"+",",":",",";":";","=":"=","/":"/","?":"?","#":"#","@":"@","%":"%"},Ke=/[\x00-\x20<>\\"\{\}\|\^\`]/,Xe={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},Qe=/$0^/;class Ye{constructor(e){if(this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,this._isImpliedBy=(e=e||{}).isImpliedBy,this._lineMode=!!e.lineMode){this._n3Mode=!1;for(const e in this)!(e in Xe)&&this[e]instanceof RegExp&&(this[e]=Qe)}else this._n3Mode=!1!==e.n3;this.comments=!!e.comments,this._literalClosingPos=0}_tokenizeToEnd(e,t){let n=this._input,i=n.length;for(;;){let e,a;for(;e=this._newline.exec(n);)this.comments&&(a=this._comment.exec(e[0]))&&r("comment",a[1],"",this._line,e[0].length),n=n.substr(e[0].length,n.length),i=n.length,this._line++;if(!e&&(e=this._whitespace.exec(n))&&(n=n.substr(e[0].length,n.length)),this._endOfFile.test(n))return t&&(this.comments&&(a=this._comment.exec(n))&&r("comment",a[1],"",this._line,n.length),n=null,r("eof","","",this._line,0)),this._input=n;const s=this._line,l=n[0];let c="",d="",u="",h=null,f=0,p=!1;switch(l){case"^":if(n.length<3)break;if("^"!==n[1]){this._n3Mode&&(f=1,c="^");break}if(this._previousMarker="^^",n=n.substr(2),"<"!==n[0]){p=!0;break}case"<":if(h=this._unescapedIri.exec(n))c="IRI",d=h[1];else if(h=this._iri.exec(n)){if(d=this._unescape(h[1]),null===d||Ke.test(d))return o(this);c="IRI"}else n.length>1&&"<"===n[1]?(c="<<",f=2):this._n3Mode&&n.length>1&&"="===n[1]&&(f=2,this._isImpliedBy?(c="abbreviation",d="<"):(c="inverse",d=">"));break;case">":n.length>1&&">"===n[1]&&(c=">>",f=2);break;case"_":((h=this._blank.exec(n))||t&&(h=this._blank.exec(`${n} `)))&&(c="blank",u="_",d=h[1]);break;case'"':if(h=this._simpleQuotedString.exec(n))d=h[1];else if(({value:d,matchLength:f}=this._parseLiteral(n)),null===d)return o(this);null===h&&0===f||(c="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){if(h=this._simpleApostropheString.exec(n))d=h[1];else if(({value:d,matchLength:f}=this._parseLiteral(n)),null===d)return o(this);null===h&&0===f||(c="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(h=this._variable.exec(n))&&(c="var",d=h[0]);break;case"@":"literal"===this._previousMarker&&(h=this._langcode.exec(n))?(c="langcode",d=h[1]):(h=this._keyword.exec(n))&&(c=h[0]);break;case".":if(1===n.length?t:n[1]<"0"||n[1]>"9"){c=".",f=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(h=this._number.exec(n)||t&&(h=this._number.exec(`${n} `)))&&(c="literal",d=h[0],u="string"==typeof h[1]?We.double:"string"==typeof h[2]?We.decimal:We.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(h=this._sparqlKeyword.exec(n))?c=h[0].toUpperCase():p=!0;break;case"f":case"t":(h=this._boolean.exec(n))?(c="literal",d=h[0],u=We.boolean):p=!0;break;case"a":(h=this._shortPredicates.exec(n))?(c="abbreviation",d="a"):p=!0;break;case"=":this._n3Mode&&n.length>1&&(c="abbreviation",">"!==n[1]?(f=1,d="="):(f=2,d=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"}":this._lineMode||(f=1,c=l);break;case"{":!this._lineMode&&n.length>=2&&("|"===n[1]?(c="{|",f=2):(c=l,f=1));break;case"|":n.length>=2&&"}"===n[1]&&(c="|}",f=2);break;default:p=!0}if(p&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(h=this._prefix.exec(n))?((h=this._prefixed.exec(n))||t&&(h=this._prefixed.exec(`${n} `)))&&(c="prefixed",u=h[1]||"",d=this._unescape(h[2])):(c="prefix",d=h[1]||"")),"^^"===this._previousMarker)switch(c){case"prefixed":c="type";break;case"IRI":c="typeIRI";break;default:c=""}if(!c)return t||!/^'''|^"""/.test(n)&&/\n|\r/.test(n)?o(this):this._input=n;const g=f||h[0].length,v=r(c,d,u,s,g);this.previousToken=v,this._previousMarker=c,n=n.substr(g,n.length)}function r(t,r,o,a,s){const l=n?i-n.length:i,c={type:t,value:r,prefix:o,line:a,start:l,end:l+s};return e(null,c),c}function o(t){e(t._syntaxError(/^\S*/.exec(n)[0]))}}_unescape(e){let t=!1;const n=e.replace(Ge,((e,n,i,r)=>{if("string"==typeof n)return String.fromCharCode(Number.parseInt(n,16));if("string"==typeof i){let e=Number.parseInt(i,16);return e<=65535?String.fromCharCode(Number.parseInt(i,16)):String.fromCharCode(55296+((e-=65536)>>10),56320+(1023&e))}return r in Ze?Ze[r]:(t=!0,"")}));return t?null:n}_parseLiteral(e){if(e.length>=3){const t=e.match(/^(?:"""|"|'''|'|)/)[0],n=t.length;let i=Math.max(this._literalClosingPos,n);for(;(i=e.indexOf(t,i))>0;){let t=0;for(;"\\"===e[i-t-1];)t++;if(t%2==0){const t=e.substring(n,i),r=t.split(/\r\n|\r|\n/).length-1,o=i+n;if(1===n&&0!==r||3===n&&this._lineMode)break;return this._line+=r,{value:this._unescape(t),matchLength:o}}i++}this._literalClosingPos=e.length-n+1}return{value:"",matchLength:0}}_syntaxError(e){this._input=null;const t=new Error(`Unexpected "${e}" on line ${this._line}.`);return t.context={token:void 0,line:this._line,previousToken:this.previousToken},t}_readStartingBom(e){return e.startsWith("\ufeff")?e.substr(1):e}tokenize(e,t){if(this._line=1,"string"==typeof e){if(this._input=this._readStartingBom(e),"function"!=typeof t){const e=[];let t;if(this._tokenizeToEnd(((n,i)=>n?t=n:e.push(i)),!0),t)throw t;return e}queueMicrotask((()=>this._tokenizeToEnd(t,!0)))}else this._pendingBuffer=null,"function"==typeof e.setEncoding&&e.setEncoding("utf8"),e.on("data",(e=>{null!==this._input&&0!==e.length&&(this._pendingBuffer&&(e=oe.concat([this._pendingBuffer,e]),this._pendingBuffer=null),128&e[e.length-1]?this._pendingBuffer=e:(void 0===this._input?this._input=this._readStartingBom("string"==typeof e?e:e.toString()):this._input+=e,this._tokenizeToEnd(t,!1)))})),e.on("end",(()=>{"string"==typeof this._input&&this._tokenizeToEnd(t,!0)})),e.on("error",t)}}const{rdf:Je,xsd:et}=qe;let tt,nt=0;const it={namedNode:dt,blankNode:ut,variable:ft,literal:ht,defaultGraph:function(){return tt},quad:pt,triple:pt,fromTerm:gt,fromQuad:vt};class rt{constructor(e){this.id=e}get value(){return this.id}equals(e){return e instanceof rt?this.id===e.id:!!e&&this.termType===e.termType&&this.value===e.value}hashCode(){return 0}toJSON(){return{termType:this.termType,value:this.value}}}class ot extends rt{get termType(){return"NamedNode"}}class at extends rt{get termType(){return"Literal"}get value(){return this.id.substring(1,this.id.lastIndexOf('"'))}get language(){const e=this.id;let t=e.lastIndexOf('"')+1;return t<e.length&&"@"===e[t++]?e.substr(t).toLowerCase():""}get datatype(){return new ot(this.datatypeString)}get datatypeString(){const e=this.id,t=e.lastIndexOf('"')+1,n=t<e.length?e[t]:"";return"^"===n?e.substr(t+2):"@"!==n?et.string:Je.langString}equals(e){return e instanceof at?this.id===e.id:!!e&&!!e.datatype&&this.termType===e.termType&&this.value===e.value&&this.language===e.language&&this.datatype.value===e.datatype.value}toJSON(){return{termType:this.termType,value:this.value,language:this.language,datatype:{termType:"NamedNode",value:this.datatypeString}}}}class st extends rt{constructor(e){super(`_:${e}`)}get termType(){return"BlankNode"}get value(){return this.id.substr(2)}}class lt extends rt{constructor(e){super(`?${e}`)}get termType(){return"Variable"}get value(){return this.id.substr(1)}}tt=new class extends rt{constructor(){return super(""),tt||this}get termType(){return"DefaultGraph"}equals(e){return this===e||!!e&&this.termType===e.termType}};class ct extends rt{constructor(e,t,n,i){super(""),this._subject=e,this._predicate=t,this._object=n,this._graph=i||tt}get termType(){return"Quad"}get subject(){return this._subject}get predicate(){return this._predicate}get object(){return this._object}get graph(){return this._graph}toJSON(){return{termType:this.termType,subject:this._subject.toJSON(),predicate:this._predicate.toJSON(),object:this._object.toJSON(),graph:this._graph.toJSON()}}equals(e){return!!e&&this._subject.equals(e.subject)&&this._predicate.equals(e.predicate)&&this._object.equals(e.object)&&this._graph.equals(e.graph)}}function dt(e){return new ot(e)}function ut(e){return new st(e||"n3-"+nt++)}function ht(e,t){if("string"==typeof t)return new at(`"${e}"@${t.toLowerCase()}`);let n=t?t.value:"";return""===n&&("boolean"==typeof e?n=et.boolean:"number"==typeof e&&(Number.isFinite(e)?n=Number.isInteger(e)?et.integer:et.double:(n=et.double,Number.isNaN(e)||(e=e>0?"INF":"-INF")))),new at(""===n||n===et.string?`"${e}"`:`"${e}"^^${n}`)}function ft(e){return new lt(e)}function pt(e,t,n,i){return new ct(e,t,n,i)}function gt(e){if(e instanceof rt)return e;switch(e.termType){case"NamedNode":return dt(e.value);case"BlankNode":return ut(e.value);case"Variable":return ft(e.value);case"DefaultGraph":return tt;case"Literal":return ht(e.value,e.language||e.datatype);case"Quad":return vt(e);default:throw new Error(`Unexpected termType: ${e.termType}`)}}function vt(e){if(e instanceof ct)return e;if("Quad"!==e.termType)throw new Error(`Unexpected termType: ${e.termType}`);return pt(gt(e.subject),gt(e.predicate),gt(e.object),gt(e.graph))}let mt=0;class bt{constructor(e){this._contextStack=[],this._graph=null,this._setBase((e=e||{}).baseIRI),e.factory&&yt(this,e.factory);const t="string"==typeof e.format?e.format.match(/\w*$/)[0].toLowerCase():"",n=/turtle/.test(t),i=/trig/.test(t),r=/triple/.test(t),o=/quad/.test(t),a=this._n3Mode=/n3/.test(t),s=r||o;(this._supportsNamedGraphs=!(n||a))||(this._readPredicateOrNamedGraph=this._readPredicate),this._supportsQuads=!(n||i||r||a),this._isImpliedBy=e.isImpliedBy,this._supportsRDFStar=""===t||/star|\*$/.test(t),s&&(this._resolveRelativeIRI=()=>null),this._blankNodePrefix="string"!=typeof e.blankNodePrefix?"":e.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=e.lexer||new Ye({lineMode:s,n3:a,isImpliedBy:this._isImpliedBy}),this._explicitQuantifiers=!!e.explicitQuantifiers}static _resetBlankNodePrefix(){mt=0}_setBase(e){if(e){const t=e.indexOf("#");t>=0&&(e=e.substr(0,t)),this._base=e,this._basePath=e.indexOf("/")<0?e:e.replace(/[^\/?]*(?:\?.*)?$/,""),e=e.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=e[0],this._baseScheme=e[1]}else this._base="",this._basePath=""}_saveContext(e,t,n,i,r){const o=this._n3Mode;this._contextStack.push({type:e,subject:n,predicate:i,object:r,graph:t,inverse:!!o&&this._inversePredicate,blankPrefix:o?this._prefixes._:"",quantified:o?this._quantified:null}),o&&(this._inversePredicate=!1,this._prefixes._=this._graph?`${this._graph.value}.`:".",this._quantified=Object.create(this._quantified))}_restoreContext(e,t){const n=this._contextStack.pop();if(!n||n.type!==e)return this._error(`Unexpected ${t.type}`,t);this._subject=n.subject,this._predicate=n.predicate,this._object=n.object,this._graph=n.graph,this._n3Mode&&(this._inversePredicate=n.inverse,this._prefixes._=n.blankPrefix,this._quantified=n.quantified)}_readInTopContext(e){switch(e.type){case"eof":return null!==this._graph?this._error("Unclosed graph",e):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(e)}}_readEntity(e,t){let n;switch(e.type){case"IRI":case"typeIRI":const t=this._resolveIRI(e.value);if(null===t)return this._error("Invalid IRI",e);n=this._factory.namedNode(t);break;case"type":case"prefixed":const i=this._prefixes[e.prefix];if(void 0===i)return this._error(`Undefined prefix "${e.prefix}:"`,e);n=this._factory.namedNode(i+e.value);break;case"blank":n=this._factory.blankNode(this._prefixes[e.prefix]+e.value);break;case"var":n=this._factory.variable(e.value.substr(1));break;default:return this._error(`Expected entity but got ${e.type}`,e)}return!t&&this._n3Mode&&n.id in this._quantified&&(n=this._quantified[n.id]),n}_readSubject(e){switch(this._predicate=null,e.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._factory.blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._factory.blankNode(),null,null),this._readSubject):this._error("Unexpected graph",e);case"}":return this._readPunctuation(e);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier="blankNode",this._readQuantifierList):this._error('Unexpected "@forSome"',e);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier="variable",this._readQuantifierList):this._error('Unexpected "@forAll"',e);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",e);if(0===e.prefix.length)return this._literalValue=e.value,this._completeSubjectLiteral;this._subject=this._factory.literal(e.value,this._factory.namedNode(e.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF-star syntax",e);default:if(void 0===(this._subject=this._readEntity(e)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}_readPredicate(e){const t=e.type;switch(t){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[e.value];break;case".":case"]":case"}":return null===this._predicate?this._error(`Unexpected ${t}`,e):(this._subject=null,"]"===t?this._readBlankNodeTail(e):this._readPunctuation(e));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",e);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._factory.blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",e);default:if(void 0===(this._predicate=this._readEntity(e)))return}return this._readObject}_readObject(e){switch(e.type){case"literal":if(0===e.prefix.length)return this._literalValue=e.value,this._readDataTypeOrLang;this._object=this._factory.literal(e.value,this._factory.namedNode(e.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._factory.blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._factory.blankNode()),this._readSubject):this._error("Unexpected graph",e);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF-star syntax",e);default:if(void 0===(this._object=this._readEntity(e)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}_readPredicateOrNamedGraph(e){return"{"===e.type?this._readGraph(e):this._readPredicate(e)}_readGraph(e){return"{"!==e.type?this._error(`Expected graph but got ${e.type}`,e):(this._graph=this._subject,this._subject=null,this._readSubject)}_readBlankNodeHead(e){return"]"===e.type?(this._subject=null,this._readBlankNodeTail(e)):(this._predicate=null,this._readPredicate(e))}_readBlankNodeTail(e){if("]"!==e.type)return this._readBlankNodePunctuation(e);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);const t=null===this._predicate;return this._restoreContext("blank",e),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:t?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}_readPredicateAfterBlank(e){switch(e.type){case".":case"}":return this._subject=null,this._readPunctuation(e);default:return this._readPredicate(e)}}_readListItem(e){let t=null,n=null,i=this._readListItem;const r=this._subject,o=this._contextStack,a=o[o.length-1];switch(e.type){case"[":this._saveContext("blank",this._graph,n=this._factory.blankNode(),this.RDF_FIRST,this._subject=t=this._factory.blankNode()),i=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,n=this._factory.blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext("list",e),0!==o.length&&"list"===o[o.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(i=this._readPredicate,this._subject===this.RDF_NIL)return i}else if(i=this._getContextEndReader(),this._object===this.RDF_NIL)return i;n=this.RDF_NIL;break;case"literal":0===e.prefix.length?(this._literalValue=e.value,i=this._readListItemDataTypeOrLang):(t=this._factory.literal(e.value,this._factory.namedNode(e.prefix)),i=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._factory.blankNode()),this._readSubject):this._error("Unexpected graph",e);default:if(void 0===(t=this._readEntity(e)))return}if(null===n&&(this._subject=n=this._factory.blankNode()),null===r?null===a.predicate?a.subject=n:a.object=n:this._emit(r,this.RDF_REST,n,this._graph),null!==t){if(this._n3Mode&&("IRI"===e.type||"prefixed"===e.type))return this._saveContext("item",this._graph,n,this.RDF_FIRST,t),this._subject=t,this._predicate=null,this._getPathReader(this._readListItem);this._emit(n,this.RDF_FIRST,t,this._graph)}return i}_readDataTypeOrLang(e){return this._completeObjectLiteral(e,!1)}_readListItemDataTypeOrLang(e){return this._completeObjectLiteral(e,!0)}_completeLiteral(e){let t=this._factory.literal(this._literalValue);switch(e.type){case"type":case"typeIRI":const n=this._readEntity(e);if(void 0===n)return;t=this._factory.literal(this._literalValue,n),e=null;break;case"langcode":t=this._factory.literal(this._literalValue,e.value),e=null}return{token:e,literal:t}}_completeSubjectLiteral(e){return this._subject=this._completeLiteral(e).literal,this._readPredicateOrNamedGraph}_completeObjectLiteral(e,t){const n=this._completeLiteral(e);if(n)return this._object=n.literal,t&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===n.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(n.token))}_readFormulaTail(e){return"}"!==e.type?this._readPunctuation(e):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext("formula",e),null===this._object?this._readPredicate:this._getContextEndReader())}_readPunctuation(e){let t,n=this._graph;const i=this._subject,r=this._inversePredicate;switch(e.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",e);if(this._n3Mode)return this._readFormulaTail(e);this._graph=null;case".":this._subject=null,t=this._contextStack.length?this._readSubject:this._readInTopContext,r&&(this._inversePredicate=!1);break;case";":t=this._readPredicate;break;case",":t=this._readObject;break;case"{|":if(!this._supportsRDFStar)return this._error("Unexpected RDF-star syntax",e);this._subject=this._factory.quad(i,this._predicate,this._object,this.DEFAULTGRAPH),t=this._readPredicate;break;case"|}":if("Quad"!==this._subject.termType)return this._error("Unexpected asserted triple closing",e);this._subject=null,t=this._readPunctuation;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(n=this._readEntity(e))){t=this._readQuadPunctuation;break}return this._error(`Expected punctuation to follow "${this._object.id}"`,e)}if(null!==i){const e=this._predicate,t=this._object;r?this._emit(t,e,i,n):this._emit(i,e,t,n)}return t}_readBlankNodePunctuation(e){let t;switch(e.type){case";":t=this._readPredicate;break;case",":t=this._readObject;break;default:return this._error(`Expected punctuation to follow "${this._object.id}"`,e)}return this._emit(this._subject,this._predicate,this._object,this._graph),t}_readQuadPunctuation(e){return"."!==e.type?this._error("Expected dot to follow quad",e):this._readInTopContext}_readPrefix(e){return"prefix"!==e.type?this._error("Expected prefix to follow @prefix",e):(this._prefix=e.value,this._readPrefixIRI)}_readPrefixIRI(e){if("IRI"!==e.type)return this._error(`Expected IRI to follow prefix "${this._prefix}:"`,e);const t=this._readEntity(e);return this._prefixes[this._prefix]=t.value,this._prefixCallback(this._prefix,t),this._readDeclarationPunctuation}_readBaseIRI(e){const t="IRI"===e.type&&this._resolveIRI(e.value);return t?(this._setBase(t),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",e)}_readNamedGraphLabel(e){switch(e.type){case"IRI":case"blank":case"prefixed":return this._readSubject(e),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",e)}}_readNamedGraphBlankLabel(e){return"]"!==e.type?this._error("Invalid graph label",e):(this._subject=this._factory.blankNode(),this._readGraph)}_readDeclarationPunctuation(e){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(e)):"."!==e.type?this._error("Expected declaration to end with a dot",e):this._readInTopContext}_readQuantifierList(e){let t;switch(e.type){case"IRI":case"prefixed":if(void 0!==(t=this._readEntity(e,!0)))break;default:return this._error(`Unexpected ${e.type}`,e)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._factory.blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._factory.blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,t,this.QUANTIFIERS_GRAPH)):this._quantified[t.id]=this._factory[this._quantifier](this._factory.blankNode().value),this._readQuantifierPunctuation}_readQuantifierPunctuation(e){return","===e.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(e))}_getPathReader(e){return this._afterPath=e,this._readPath}_readPath(e){switch(e.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:const t=this._contextStack,n=t.length&&t[t.length-1];if(n&&"item"===n.type){const t=this._subject;this._restoreContext("item",e),this._emit(this._subject,this.RDF_FIRST,t,this._graph)}return this._afterPath(e)}}_readForwardPath(e){let t,n;const i=this._factory.blankNode();if(void 0!==(n=this._readEntity(e)))return null===this._predicate?(t=this._subject,this._subject=i):(t=this._object,this._object=i),this._emit(t,n,i,this._graph),this._readPath}_readBackwardPath(e){const t=this._factory.blankNode();let n,i;if(void 0!==(n=this._readEntity(e)))return null===this._predicate?(i=this._subject,this._subject=t):(i=this._object,this._object=t),this._emit(t,n,i,this._graph),this._readPath}_readRDFStarTailOrGraph(e){return">>"!==e.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(e))?this._readRDFStarTail:this._error(`Expected >> to follow "${this._object.id}"`,e):this._readRDFStarTail(e)}_readRDFStarTail(e){if(">>"!==e.type)return this._error(`Expected >> but got ${e.type}`,e);const t=this._factory.quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext("<<",e),null===this._subject?(this._subject=t,this._readPredicate):(this._object=t,this._getContextEndReader())}_getContextEndReader(){const e=this._contextStack;if(!e.length)return this._readPunctuation;switch(e[e.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}_emit(e,t,n,i){this._callback(null,this._factory.quad(e,t,n,i||this.DEFAULTGRAPH))}_error(e,t){const n=new Error(`${e} on line ${t.line}.`);n.context={token:t,line:t.line,previousToken:this._lexer.previousToken},this._callback(n),this._callback=wt}_resolveIRI(e){return/^[a-z][a-z0-9+.-]*:/i.test(e)?e:this._resolveRelativeIRI(e)}_resolveRelativeIRI(e){if(!e.length)return this._base;switch(e[0]){case"#":return this._base+e;case"?":return this._base.replace(/(?:\?.*)?$/,e);case"/":return("/"===e[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(e);default:return/^[^/:]*:/.test(e)?null:this._removeDotSegments(this._basePath+e)}}_removeDotSegments(e){if(!/(^|\/)\.\.?($|[/#?])/.test(e))return e;const t=e.length;let n="",i=-1,r=-1,o=0,a="/";for(;i<t;){switch(a){case":":if(r<0&&"/"===e[++i]&&"/"===e[++i])for(;(r=i+1)<t&&"/"!==e[r];)i=r;break;case"?":case"#":i=t;break;case"/":if("."===e[i+1])switch(a=e[1+ ++i],a){case"/":n+=e.substring(o,i-1),o=i+1;break;case void 0:case"?":case"#":return n+e.substring(o,i)+e.substr(i+1);case".":if(a=e[1+ ++i],void 0===a||"/"===a||"?"===a||"#"===a){if(n+=e.substring(o,i-2),(o=n.lastIndexOf("/"))>=r&&(n=n.substr(0,o)),"/"!==a)return`${n}/${e.substr(i+1)}`;o=i+1}}}a=e[++i]}return n+e.substring(o)}parse(e,t,n){let i,r,o;if(t&&(t.onQuad||t.onPrefix||t.onComment)?(i=t.onQuad,r=t.onPrefix,o=t.onComment):(i=t,r=n),this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):`b${mt++}_`,this._prefixCallback=r||wt,this._inversePredicate=!1,this._quantified=Object.create(null),!i){const t=[];let n;if(this._callback=(e,i)=>{e?n=e:i&&t.push(i)},this._lexer.tokenize(e).every((e=>this._readCallback=this._readCallback(e))),n)throw n;return t}let a=(e,t)=>{null!==e?(this._callback(e),this._callback=wt):this._readCallback&&(this._readCallback=this._readCallback(t))};o&&(this._lexer.comments=!0,a=(e,t)=>{null!==e?(this._callback(e),this._callback=wt):this._readCallback&&("comment"===t.type?o(t.value):this._readCallback=this._readCallback(t))}),this._callback=i,this._lexer.tokenize(e,a)}}function wt(){}function yt(e,t){e._factory=t,e.DEFAULTGRAPH=t.defaultGraph(),e.RDF_FIRST=t.namedNode(qe.rdf.first),e.RDF_REST=t.namedNode(qe.rdf.rest),e.RDF_NIL=t.namedNode(qe.rdf.nil),e.N3_FORALL=t.namedNode(qe.r.forAll),e.N3_FORSOME=t.namedNode(qe.r.forSome),e.ABBREVIATIONS={a:t.namedNode(qe.rdf.type),"=":t.namedNode(qe.owl.sameAs),">":t.namedNode(qe.log.implies),"<":t.namedNode(qe.log.isImpliedBy)},e.QUANTIFIERS_GRAPH=t.namedNode("urn:n3:quantifiers")}function _t(e,t,n){let i=e.get(t);i||(i=[],e.set(t,i)),i.push(n)}function kt(e,t,n){let i=e.get(t);i||(i=new Set,e.set(t,i)),i.add(n)}function xt(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}yt(bt.prototype,it);var St=class{mapping=new Map;ordered=[];reorder(e){this.ordered.sort(e)}get items(){return this.ordered}get(e){return this.mapping.get(e)}push(e,t){if(this.mapping.has(e)){const n=this.mapping.get(e);if(n===t)return;const i=this.ordered.indexOf(n);this.ordered.splice(i,1)}this.mapping.set(e,t),this.ordered.push(t)}delete(e){if(!this.mapping.has(e))return;const t=this.mapping.get(e),n=this.ordered.indexOf(t);return this.ordered.splice(n,1),this.mapping.delete(e),t}};function Ct(e,t,n,i){return $t(Et(e,t,i),n)}var Lt=()=>{},Mt=()=>Lt;function Et(e,t,n){return v.useCallback((n=>e?(e.on(t,n),()=>e.off(t,n)):Lt),n?[e,t,...n]:[e,t])}function zt(e){return v.useCallback((t=>{let n;const i=()=>{n=void 0,t()},r=e((()=>{void 0===n&&(n=requestAnimationFrame(i))}));return()=>{void 0!==n&&cancelAnimationFrame(n),r()}}),[e])}function $t(e,t){return v.useSyncExternalStore(e,t)}function Nt(e,t,n){const i=v.useRef(void 0);return v.useSyncExternalStore(e,(()=>{const e=t();if(i.current){const[t]=i.current;if(n(t,e))return t}return i.current=[e],e}))}function Tt(e){const{input:t,load:n}=e,i=At(n),[r,o]=v.useState({data:void 0,status:"loading"});return v.useEffect((()=>{const e=new AbortController,n=e.signal,r=i.current(t,{signal:n});return r?(o((e=>({...e,status:"loading",error:void 0}))),r.then((e=>{n.aborted||o({data:e,status:"completed",error:void 0})}),(e=>{n.aborted||o((t=>({...t,status:"error",error:e})))}))):o({data:void 0,status:"completed",error:void 0}),()=>e.abort()}),t),r}function At(e){const t=v.useRef(e);return v.useEffect((()=>{t.current=e})),t}var It=v.createContext(null);function Vt(e){const{translation:t,children:n}=e;return H.jsx(It.Provider,{value:t,children:n})}function Pt(){const e=v.useContext(It);if(!e)throw new Error("Reactodia: missing <TranslationProvider> context");return e}var Ht=class e{key;placeholders;constructor(e,t){this.key=e,this.placeholders=t}static text(t,n){return new e(t,n)}resolve(e){return e.text(this.key,this.placeholders)}},Rt=class{subscribe;observedKeys=new Map;constructor(e){this.subscribe=e}setSubscribe(e){this.subscribe=e}observe(e){if(0===e.length&&0===this.observedKeys.size)return;const t=new Map;for(const n of e){if(t.has(n))continue;let e=this.observedKeys.get(n);e||(e=this.subscribe(n)),e&&t.set(n,e)}this.observedKeys.forEach(((e,n)=>{t.has(n)||e()})),this.observedKeys=t}stopListening(){this.observe([])}};function Dt(e,t,n){const[,i]=v.useState(0),r=v.useRef(void 0);let o=r.current;if(!o){const t=()=>i((e=>e+1));o={observer:new Rt((i=>e(i,n,t))),forceUpdate:t,lastStore:e},r.current=o}if(o.lastStore!==e){const{observer:t,forceUpdate:i}=o;t.setSubscribe((t=>e(t,n,i))),o.lastStore=e}o.observer.observe(t),v.useEffect((()=>()=>r.current?.observer.stopListening()),[])}var Bt=it;function Ot(e){let t=0;switch(e.termType){case"NamedNode":case"BlankNode":case"Variable":t=B(e.value);break;case"Literal":t=B(e.value),e.datatype&&(t=R(t,B(e.datatype.value))),e.language&&(t=R(t,B(e.language)));break;case"Quad":t=R(t,Ot(e.subject)),t=R(t,Ot(e.predicate)),t=R(t,Ot(e.object)),t=R(t,Ot(e.graph))}return D(t)}function jt(e,t){if(e.termType!==t.termType)return!1;switch(e.termType){case"NamedNode":case"BlankNode":case"Variable":case"DefaultGraph":{const{value:n}=t;return e.value===n}case"Literal":{const{value:n,language:i,datatype:r}=t;return e.value===n&&e.datatype.value===r.value&&e.language===i}case"Quad":{const{subject:n,predicate:i,object:r,graph:o}=t;return jt(e.subject,n)&&jt(e.predicate,i)&&jt(e.object,r)&&jt(e.graph,o)}}}function Ft(e){return e.startsWith("urn:reactodia:blank:")}function Ut(e){const[t,n]=e;let i=B(t);return i=R(i,B(n)),D(i)}function qt(e,t){const[n,i]=e,[r,o]=t;return n===r&&i===o}function Wt(e,t){return e.linkTypeId===t.linkTypeId&&e.sourceId===t.sourceId&&e.targetId===t.targetId}function Gt(e){const{linkTypeId:t,sourceId:n,targetId:i}=e;let r=B(t);return r=R(r,B(n)),r=R(r,B(i)),r}var Zt={label:"http://www.w3.org/2000/01/rdf-schema#label"},Kt={thumbnailUrl:"http://schema.org/thumbnailUrl"},Xt="reactodia-spinner";function Qt(e){const{position:t={x:0,y:0},size:n=50,statusText:i,errorOccurred:r}=e;return H.jsxs("g",{className:Xt,"data-error":r,transform:`translate(${t.x},${t.y})`,children:[H.jsx("g",{className:`${Xt}__arrow`,children:H.jsx("path",{d:"m3.47,-19.7 a20,20 0 1,1 -6.95,0 m0,0 l-6,5 m6,-5 l-8,-0"+(r?"M-8,-8L8,8M-8,8L8,-8":""),transform:`scale(0.02)scale(${n})`,fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round"})}),H.jsx("text",{className:`${Xt}__text`,style:{dominantBaseline:"middle"},fill:"currentColor",x:n/2+5,children:i})]})}function Yt(e){const{width:t,height:n,errorOccurred:i}=e;return H.jsx("svg",{width:t,height:n,children:H.jsx(Qt,{size:Math.min(t,n),position:{x:t/2,y:n/2},errorOccurred:i})})}var Jt=class{model;translation;labelProperties;imageProperties;EMPTY_LABELS=[];constructor(e){const{model:t,translation:n,labelProperties:i=[Zt.label],imageProperties:r=[Kt.thumbnailUrl]}=e;this.model=t,this.translation=n,this.labelProperties=i,this.imageProperties=r}selectEntityLabel(e){for(const t of this.labelProperties)if(Object.prototype.hasOwnProperty.call(e.properties,t)){const n=e.properties[t],i=n?en(n):this.EMPTY_LABELS;if(i.length>0)return i}return this.EMPTY_LABELS}selectEntityImageUrl(e){for(const t of this.imageProperties)if(Object.prototype.hasOwnProperty.call(e.properties,t)){const n=e.properties[t];if(n&&n.length>0)return n[0].value}}formatIri(e){return Ft(e)?this.translation.text("default_data_locale.iri_blank",{value:e}):this.translation.text("default_data_locale.iri",{value:e})}formatEntityLabel(e,t){const n=this.selectEntityLabel(e);return this.translation.formatLabel(n,e.id,t)}formatEntityTypeList(e,t){const n=e.types.map((e=>{const n=this.model.getElementType(e)?.data?.label;return this.translation.formatLabel(n,e,t)}));return n.sort(),n.join(", ")}prepareAnchor(e){return{href:e,target:"_blank",rel:"noreferrer"}}resolveAssetUrl(e,t){return Promise.resolve(e)}};function en(e){for(const t of e)if("Literal"!==t.termType)return e.filter((e=>"Literal"===e.termType));return e}var tn=(e,t,n)=>{const i=t.createElementType(e);return i.events.on("changeData",n),()=>i.events.off("changeData",n)},nn=(e,t,n)=>{const i=t.createPropertyType(e);return i.events.on("changeData",n),()=>i.events.off("changeData",n)},rn=(e,t,n)=>{const i=t.createLinkType(e);return i.events.on("changeData",n),()=>i.events.off("changeData",n)},on=function(e){return e.searchUpdateCriteria="search:updateCriteria",e.searchQueryItem="search:queryItems",e.connectionsLoadLinks="connections:loadLinks",e.connectionsExpandLink="connections:expandLink",e.connectionsLoadElements="connections:loadElements",e.editorChangeSelection="editor:changeSelection",e.editorToggleDialog="editor:toggleDialog",e.editorAddElements="editor:addElements",e}({}),an=v.createContext(null);function sn(){const e=v.useContext(an);if(!e)throw new Error("Reactodia: missing workspace context");return e}function ln(e){var t,n,i="";if("string"==typeof e||"number"==typeof e)i+=e;else if("object"==typeof e)if(Array.isArray(e)){var r=e.length;for(t=0;t<r;t++)e[t]&&(n=ln(e[t]))&&(i&&(i+=" "),i+=n)}else for(n in e)e[n]&&(i&&(i+=" "),i+=n);return i}function cn(){for(var e,t,n=0,i="",r=arguments.length;n<r;n++)(e=arguments[n])&&(t=ln(e))&&(i&&(i+=" "),i+=t);return i}var dn=x();function un(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function hn(e,t){var n=Object.create(e.prototype);for(var i in t)n[i]=t[i];return n}function fn(){}var pn=.7,gn=1/pn,vn="\\s*([+-]?\\d+)\\s*",mn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",bn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",wn=/^#([0-9a-f]{3,8})$/,yn=new RegExp(`^rgb\\(${vn},${vn},${vn}\\)$`),_n=new RegExp(`^rgb\\(${bn},${bn},${bn}\\)$`),kn=new RegExp(`^rgba\\(${vn},${vn},${vn},${mn}\\)$`),xn=new RegExp(`^rgba\\(${bn},${bn},${bn},${mn}\\)$`),Sn=new RegExp(`^hsl\\(${mn},${bn},${bn}\\)$`),Cn=new RegExp(`^hsla\\(${mn},${bn},${bn},${mn}\\)$`),Ln={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function Mn(){return this.rgb().formatHex()}function En(){return this.rgb().formatRgb()}function zn(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=wn.exec(e))?(n=t[1].length,t=parseInt(t[1],16),6===n?$n(t):3===n?new An(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?Nn(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?Nn(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=yn.exec(e))?new An(t[1],t[2],t[3],1):(t=_n.exec(e))?new An(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=kn.exec(e))?Nn(t[1],t[2],t[3],t[4]):(t=xn.exec(e))?Nn(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=Sn.exec(e))?Dn(t[1],t[2]/100,t[3]/100,1):(t=Cn.exec(e))?Dn(t[1],t[2]/100,t[3]/100,t[4]):Ln.hasOwnProperty(e)?$n(Ln[e]):"transparent"===e?new An(NaN,NaN,NaN,0):null}function $n(e){return new An(e>>16&255,e>>8&255,255&e,1)}function Nn(e,t,n,i){return i<=0&&(e=t=n=NaN),new An(e,t,n,i)}function Tn(e){return e instanceof fn||(e=zn(e)),e?new An((e=e.rgb()).r,e.g,e.b,e.opacity):new An}function An(e,t,n,i){this.r=+e,this.g=+t,this.b=+n,this.opacity=+i}function In(){return`#${Rn(this.r)}${Rn(this.g)}${Rn(this.b)}`}function Vn(){const e=Pn(this.opacity);return`${1===e?"rgb(":"rgba("}${Hn(this.r)}, ${Hn(this.g)}, ${Hn(this.b)}${1===e?")":`, ${e})`}`}function Pn(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Hn(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Rn(e){return((e=Hn(e))<16?"0":"")+e.toString(16)}function Dn(e,t,n,i){return i<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new On(e,t,n,i)}function Bn(e){if(e instanceof On)return new On(e.h,e.s,e.l,e.opacity);if(e instanceof fn||(e=zn(e)),!e)return new On;if(e instanceof On)return e;var t=(e=e.rgb()).r/255,n=e.g/255,i=e.b/255,r=Math.min(t,n,i),o=Math.max(t,n,i),a=NaN,s=o-r,l=(o+r)/2;return s?(a=t===o?(n-i)/s+6*(n<i):n===o?(i-t)/s+2:(t-n)/s+4,s/=l<.5?o+r:2-o-r,a*=60):s=l>0&&l<1?0:a,new On(a,s,l,e.opacity)}function On(e,t,n,i){this.h=+e,this.s=+t,this.l=+n,this.opacity=+i}function jn(e){return(e=(e||0)%360)<0?e+360:e}function Fn(e){return Math.max(0,Math.min(1,e||0))}function Un(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}un(fn,zn,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Mn,formatHex:Mn,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return Bn(this).formatHsl()},formatRgb:En,toString:En}),un(An,(function(e,t,n,i){return 1===arguments.length?Tn(e):new An(e,t,n,null==i?1:i)}),hn(fn,{brighter(e){return e=null==e?gn:Math.pow(gn,e),new An(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?pn:Math.pow(pn,e),new An(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new An(Hn(this.r),Hn(this.g),Hn(this.b),Pn(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:In,formatHex:In,formatHex8:function(){return`#${Rn(this.r)}${Rn(this.g)}${Rn(this.b)}${Rn(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:Vn,toString:Vn})),un(On,(function(e,t,n,i){return 1===arguments.length?Bn(e):new On(e,t,n,null==i?1:i)}),hn(fn,{brighter(e){return e=null==e?gn:Math.pow(gn,e),new On(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?pn:Math.pow(pn,e),new On(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,i=n+(n<.5?n:1-n)*t,r=2*n-i;return new An(Un(e>=240?e-240:e+120,r,i),Un(e,r,i),Un(e<120?e+240:e-120,r,i),this.opacity)},clamp(){return new On(jn(this.h),Fn(this.s),Fn(this.l),Pn(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Pn(this.opacity);return`${1===e?"hsl(":"hsla("}${jn(this.h)}, ${100*Fn(this.s)}%, ${100*Fn(this.l)}%${1===e?")":`, ${e})`}`}}));const qn=Math.PI/180,Wn=180/Math.PI,Gn=.96422,Zn=.82521,Kn=4/29,Xn=6/29,Qn=3*Xn*Xn,Yn=Xn*Xn*Xn;function Jn(e){if(e instanceof ei)return new ei(e.l,e.a,e.b,e.opacity);if(e instanceof ai)return si(e);e instanceof An||(e=Tn(e));var t,n,i=ri(e.r),r=ri(e.g),o=ri(e.b),a=ti((.2225045*i+.7168786*r+.0606169*o)/1);return i===r&&r===o?t=n=a:(t=ti((.4360747*i+.3850649*r+.1430804*o)/Gn),n=ti((.0139322*i+.0971045*r+.7141733*o)/Zn)),new ei(116*a-16,500*(t-a),200*(a-n),e.opacity)}function ei(e,t,n,i){this.l=+e,this.a=+t,this.b=+n,this.opacity=+i}function ti(e){return e>Yn?Math.pow(e,1/3):e/Qn+Kn}function ni(e){return e>Xn?e*e*e:Qn*(e-Kn)}function ii(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function ri(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function oi(e,t,n,i){return 1===arguments.length?function(e){if(e instanceof ai)return new ai(e.h,e.c,e.l,e.opacity);if(e instanceof ei||(e=Jn(e)),0===e.a&&0===e.b)return new ai(NaN,0<e.l&&e.l<100?0:NaN,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*Wn;return new ai(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}(e):new ai(e,t,n,null==i?1:i)}function ai(e,t,n,i){this.h=+e,this.c=+t,this.l=+n,this.opacity=+i}function si(e){if(isNaN(e.h))return new ei(e.l,0,0,e.opacity);var t=e.h*qn;return new ei(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}un(ei,(function(e,t,n,i){return 1===arguments.length?Jn(e):new ei(e,t,n,null==i?1:i)}),hn(fn,{brighter(e){return new ei(this.l+18*(null==e?1:e),this.a,this.b,this.opacity)},darker(e){return new ei(this.l-18*(null==e?1:e),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,n=isNaN(this.b)?e:e-this.b/200;return new An(ii(3.1338561*(t=Gn*ni(t))-1.6168667*(e=1*ni(e))-.4906146*(n=Zn*ni(n))),ii(-.9787684*t+1.9161415*e+.033454*n),ii(.0719453*t-.2289914*e+1.4052427*n),this.opacity)}})),un(ai,oi,hn(fn,{brighter(e){return new ai(this.h,this.c,this.l+18*(null==e?1:e),this.opacity)},darker(e){return new ai(this.h,this.c,this.l-18*(null==e?1:e),this.opacity)},rgb(){return si(this).rgb()}}));var li,ci,di={exports:{}},ui=(li||(li=1,ci=di,function(){function e(e,t,n){var i=new XMLHttpRequest;i.open("GET",e),i.responseType="blob",i.onload=function(){o(i.response,t,n)},i.onerror=function(){console.error("could not download file")},i.send()}function t(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function n(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(n){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var i="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof a&&a.global===a?a:void 0,r=i.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),o=i.saveAs||("object"!=typeof window||window!==i?function(){}:"download"in HTMLAnchorElement.prototype&&!r?function(r,o,a){var s=i.URL||i.webkitURL,l=document.createElement("a");l.download=o=o||r.name||"download",l.rel="noopener","string"==typeof r?(l.href=r,l.origin===location.origin?n(l):t(l.href)?e(r,o,a):n(l,l.target="_blank")):(l.href=s.createObjectURL(r),setTimeout((function(){s.revokeObjectURL(l.href)}),4e4),setTimeout((function(){n(l)}),0))}:"msSaveOrOpenBlob"in navigator?function(i,r,o){if(r=r||i.name||"download","string"!=typeof i)navigator.msSaveOrOpenBlob(function(e,t){return void 0===t?t={autoBom:!1}:"object"!=typeof t&&(console.warn("Deprecated: Expected third argument to be a object"),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\ufeff",e],{type:e.type}):e}(i,o),r);else if(t(i))e(i,r,o);else{var a=document.createElement("a");a.href=i,a.target="_blank",setTimeout((function(){n(a)}))}}:function(t,n,o,a){if((a=a||open("","_blank"))&&(a.document.title=a.document.body.innerText="downloading..."),"string"==typeof t)return e(t,n,o);var s="application/octet-stream"===t.type,l=/constructor/i.test(i.HTMLElement)||i.safari,c=/CriOS\/[\d]+/.test(navigator.userAgent);if((c||s&&l||r)&&"undefined"!=typeof FileReader){var d=new FileReader;d.onloadend=function(){var e=d.result;e=c?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),a?a.location.href=e:location=e,a=null},d.readAsDataURL(t)}else{var u=i.URL||i.webkitURL,h=u.createObjectURL(t);a?a.location=h:location.href=h,a=null,setTimeout((function(){u.revokeObjectURL(h)}),4e4)}});i.saveAs=o.saveAs=o,ci.exports=o}()),di.exports);function hi(e,t){return e.then((e=>t&&t.aborted?null:e),(e=>t&&t.aborted?null:Promise.reject(e)))}function fi(e){return new Promise((t=>{setTimeout((()=>{t()}),e)}))}!function(){try{if("undefined"!=typeof document){var e=document.createElement("style");e.appendChild(document.createTextNode(".reactodia-badge{color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;display:inline-block}.reactodia-btn{font-size:14px;font-weight:400;line-height:var(--reactodia-line-height-base);text-transform:none;text-align:center;vertical-align:middle;white-space:nowrap;border:var(--reactodia-button-border-width) solid transparent;border-radius:var(--reactodia-button-border-radius);transition:background-color var(--reactodia-transition-duration);touch-action:manipulation;-webkit-user-select:none;user-select:none;cursor:pointer;background-image:none;margin-bottom:0;padding:6px 12px;display:inline-block}.reactodia-btn[disabled]{cursor:not-allowed;opacity:.65}.reactodia-btn-default{color:var(--reactodia-button-default-color);background-color:var(--reactodia-button-default-background-color);border-color:var(--reactodia-button-default-border-color)}.reactodia-btn-default:hover{color:var(--reactodia-button-default-color-focus);background-color:var(--reactodia-button-default-background-color-focus)}.reactodia-btn-default:active,.reactodia-btn-default.active{color:var(--reactodia-button-default-color-focus);background-color:var(--reactodia-button-default-background-color-active)}.reactodia-btn-default[disabled],.reactodia-btn-default[disabled]:hover,.reactodia-btn-default[disabled]:focus,.reactodia-btn-default[disabled]:active,.reactodia-btn-default[disabled].active{color:var(--reactodia-button-default-color);background-color:var(--reactodia-input-background-color-disabled)}.reactodia-btn-primary{color:var(--reactodia-color-emphasis-0);background-color:var(--reactodia-color-primary);border-color:var(--reactodia-color-primary-darker)}.reactodia-btn-primary:hover{border-color:var(--reactodia-color-primary-darkest);background-color:var(--reactodia-color-primary-dark)}.reactodia-btn-primary:active,.reactodia-btn-primary.active{border-color:var(--reactodia-color-primary-darker);background-color:var(--reactodia-color-primary-darkest)}.reactodia-btn-primary[disabled],.reactodia-btn-primary[disabled]:hover,.reactodia-btn-primary[disabled]:focus,.reactodia-btn-primary[disabled]:active,.reactodia-btn-primary[disabled].active{background-color:var(--reactodia-color-primary-dark)}.reactodia-btn-secondary{color:var(--reactodia-color-gray-900);background-color:var(--reactodia-color-secondary);border-color:var(--reactodia-color-secondary-darker)}.reactodia-btn-secondary:hover{border-color:var(--reactodia-color-secondary-darkest);background-color:var(--reactodia-color-secondary-dark)}.reactodia-btn-secondary:active,.reactodia-btn-secondary.active{border-color:var(--reactodia-color-secondary-darker);background-color:var(--reactodia-color-secondary-darkest)}.reactodia-btn-secondary[disabled],.reactodia-btn-secondary[disabled]:hover,.reactodia-btn-secondary[disabled]:focus,.reactodia-btn-secondary[disabled]:active,.reactodia-btn-secondary[disabled].active{background-color:var(--reactodia-color-secondary-dark)}.reactodia-btn-success{color:var(--reactodia-color-emphasis-0);background-color:var(--reactodia-color-success);border-color:var(--reactodia-color-success-darker)}.reactodia-btn-success:hover{border-color:var(--reactodia-color-success-darkest);background-color:var(--reactodia-color-success-dark)}.reactodia-btn-success:active,.reactodia-btn-success.active{border-color:var(--reactodia-color-success-darker);background-color:var(--reactodia-color-success-darkest)}.reactodia-btn-success[disabled],.reactodia-btn-success[disabled]:hover,.reactodia-btn-success[disabled]:focus,.reactodia-btn-success[disabled]:active,.reactodia-btn-success[disabled].active{background-color:var(--reactodia-color-success-dark)}.reactodia-btn-info{color:var(--reactodia-color-emphasis-0);background-color:var(--reactodia-color-info);border-color:var(--reactodia-color-info-darker)}.reactodia-btn-info:hover{border-color:var(--reactodia-color-info-darkest);background-color:var(--reactodia-color-info-dark)}.reactodia-btn-info:active,.reactodia-btn-info.active{border-color:var(--reactodia-color-info-darker);background-color:var(--reactodia-color-info-darkest)}.reactodia-btn-info[disabled],.reactodia-btn-info[disabled]:hover,.reactodia-btn-info[disabled]:focus,.reactodia-btn-info[disabled]:active,.reactodia-btn-info[disabled].active{background-color:var(--reactodia-color-info-dark)}.reactodia-btn-warning{color:var(--reactodia-color-emphasis-0);background-color:var(--reactodia-color-warning);border-color:var(--reactodia-color-warning-darker)}.reactodia-btn-warning:hover{border-color:var(--reactodia-color-warning-darkest);background-color:var(--reactodia-color-warning-dark)}.reactodia-btn-warning:active,.reactodia-btn-warning.active{border-color:var(--reactodia-color-warning-darker);background-color:var(--reactodia-color-warning-darkest)}.reactodia-btn-warning[disabled],.reactodia-btn-warning[disabled]:hover,.reactodia-btn-warning[disabled]:focus,.reactodia-btn-warning[disabled]:active,.reactodia-btn-warning[disabled].active{background-color:var(--reactodia-color-warning-dark)}.reactodia-btn-danger{color:var(--reactodia-color-emphasis-0);background-color:var(--reactodia-color-danger);border-color:var(--reactodia-color-danger-darker)}.reactodia-btn-danger:hover{border-color:var(--reactodia-color-danger-darkest);background-color:var(--reactodia-color-danger-dark)}.reactodia-btn-danger:active,.reactodia-btn-danger.active{border-color:var(--reactodia-color-danger-darker);background-color:var(--reactodia-color-danger-darkest)}.reactodia-btn-danger[disabled],.reactodia-btn-danger[disabled]:hover,.reactodia-btn-danger[disabled]:focus,.reactodia-btn-danger[disabled]:active,.reactodia-btn-danger[disabled].active{background-color:var(--reactodia-color-danger-dark)}.reactodia-btn-group{vertical-align:middle;display:inline-block;position:relative}.reactodia-btn-group>.reactodia-btn,.reactodia-btn-group>.reactodia-btn-group{float:left;position:relative}.reactodia-btn-group>.reactodia-btn:hover,.reactodia-btn-group>.reactodia-btn:focus,.reactodia-btn-group>.reactodia-btn.active,.reactodia-btn-group>.reactodia-btn.active:hover{z-index:2}.reactodia-btn-group .reactodia-btn+.reactodia-btn,.reactodia-btn-group .reactodia-btn+.reactodia-btn-group,.reactodia-btn-group .reactodia-btn-group+.reactodia-btn,.reactodia-btn-group .reactodia-btn-group+.reactodia-btn-group{margin-left:calc(-1 * var(--reactodia-button-border-width))}.reactodia-btn-group>.reactodia-btn{border-radius:unset}.reactodia-btn-group>.reactodia-btn:first-of-type{border-top-left-radius:var(--reactodia-button-border-radius);border-bottom-left-radius:var(--reactodia-button-border-radius);margin-left:0}.reactodia-btn-group>.reactodia-btn:last-of-type{border-top-right-radius:var(--reactodia-button-border-radius);border-bottom-right-radius:var(--reactodia-button-border-radius)}.reactodia-btn-group-sm>.reactodia-btn{padding:5px 10px;font-size:12px;line-height:1.5}.reactodia-btn-group-xs>.reactodia-btn{padding:1px 5px;font-size:12px;line-height:1.5}.reactodia-form{flex-direction:column;flex:auto;display:flex}.reactodia-form__body{flex-direction:column;flex:auto;padding:8px;display:flex;position:relative}.reactodia-form__controls{border-top:1px solid var(--reactodia-border-color-base);text-align:right;flex:none;padding:8px}.reactodia-form__controls button+button{margin-left:var(--reactodia-spacing-horizontal)}.reactodia-form__row{margin-bottom:8px;display:block}.reactodia-form__progress{position:absolute;bottom:0;left:0;right:0}.reactodia-form__control-row{padding-bottom:18px;position:relative}.reactodia-form__control-error{color:var(--reactodia-color-danger);position:absolute;bottom:0;left:0}.reactodia-form-control{width:100%;height:34px;font-family:var(--reactodia-font-family-base);line-height:var(--reactodia-line-height-base);color:var(--reactodia-input-color);background-color:var(--reactodia-input-background-color);border:var(--reactodia-input-border-width) solid var(--reactodia-input-border-color);border-radius:var(--reactodia-input-border-radius);margin:0;padding:6px 12px;font-size:14px;transition:border-color .15s ease-in-out;display:block}.reactodia-form-control:focus{border-color:var(--reactodia-input-border-color-focus);outline:0}.reactodia-form-control:disabled{background-color:var(--reactodia-input-background-color-disabled);cursor:not-allowed;opacity:.6}.reactodia-canvas-area{--reactodia-paper-panning-overlay-z-index:calc(var(--reactodia-z-index-base) + 70);background-color:var(--reactodia-canvas-background-color);flex:auto;width:0}.reactodia-canvas-area__widgets{position:absolute;top:0;left:0}.reactodia-canvas-area__watermark{cursor:pointer;opacity:.3;width:8%;min-width:50px;max-width:130px;transition:opacity var(--reactodia-transition-duration);background-size:cover;position:absolute;top:15px;right:25px}.reactodia-canvas-area__watermark:hover{opacity:.5}.reactodia-canvas-area--animated .reactodia-overlaid-element,.reactodia-canvas-area--animated .reactodia-element-decorations{transition:transform var(--reactodia-canvas-animation-duration) ease-in-out}.reactodia-canvas-area--animated .reactodia-link-layer,.reactodia-canvas-area--animated .reactodia-label-layer,.reactodia-canvas-area--animated .reactodia-canvas-area__widgets{opacity:0;transition:none}.reactodia-exported-watermark{opacity:.3;transition:opacity var(--reactodia-transition-duration)}.reactodia-exported-canvas{box-sizing:border-box;white-space:initial;color:var(--reactodia-font-color-base);font-family:var(--reactodia-font-family-base);font-size:var(--reactodia-font-size-base);line-height:var(--reactodia-line-height-base)}.reactodia-exported-canvas *,.reactodia-exported-canvas :before,.reactodia-exported-canvas :after{box-sizing:inherit}.reactodia-exported-layer{position:absolute}.reactodia-overlaid-element{cursor:move;outline:none}.reactodia-overlaid-element img{vertical-align:middle}.reactodia-overlaid-element--blurred{filter:grayscale();opacity:.5}.reactodia-overlaid-element--only-selected{touch-action:none}.reactodia-element-decorations{pointer-events:none}.reactodia-element-decorations>div>*{pointer-events:initial}.reactodia-link--blurred{opacity:.5}.reactodia-link--only-selected{touch-action:none}.reactodia-link-path__wrap{stroke-width:12px;stroke-linejoin:round;stroke-linecap:round;stroke:#0000;fill:none}.reactodia-link:hover .reactodia-link-path__wrap{stroke:var(--reactodia-color-emphasis-400);opacity:.44}.reactodia-link-vertices__vertex{cursor:all-scroll}.reactodia-link-vertices__vertex:not([fill]){fill:var(--reactodia-link-stroke-color)}.reactodia-link:not(:hover):not(.reactodia-link--only-selected) .reactodia-link-vertices__vertex{fill:#0000}.reactodia-link-vertices__handle{opacity:0;transition:opacity var(--reactodia-transition-duration);cursor:pointer}.reactodia-link-vertices__handle>circle{fill:var(--reactodia-color-emphasis-500)}.reactodia-link-vertices__handle>path{stroke:var(--reactodia-color-emphasis-200)}.reactodia-link-vertices__handle:hover>circle{fill:var(--reactodia-color-emphasis-900)}.reactodia-link:hover .reactodia-link-vertices__handle,.reactodia-link--only-selected .reactodia-link-vertices__handle{opacity:.8}.reactodia-link-marker__path:not([fill]){fill:var(--reactodia-link-stroke-color)}.reactodia-link-label{margin-top:calc(1.5em * var(--reactodia-link-label-line,0));border-radius:var(--reactodia-border-radius-s);color:var(--reactodia-font-color-base);background-color:var(--reactodia-canvas-background-color);white-space:nowrap;padding:0 2px}.reactodia-spinner__arrow{animation-name:reactodia-spinner-rotation;animation-duration:1.5s;animation-timing-function:cubic-bezier(.645,.045,.355,1);animation-iteration-count:infinite}.reactodia-spinner__text{color:var(--reactodia-font-color-base)}.reactodia-spinner[data-error=true] .reactodia-spinner__arrow{color:var(--reactodia-color-danger);animation-iteration-count:1}@keyframes reactodia-spinner-rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.reactodia-authoring-state__element-outlines{pointer-events:none;position:absolute;overflow:visible}.reactodia-authoring-state__outline-overlay{fill:var(--reactodia-color-emphasis-0);fill-opacity:.3}.reactodia-authoring-state__outline-stripe-line{stroke:var(--reactodia-color-emphasis-300);stroke-width:10px;stroke-opacity:.2}.reactodia-authoring-state__outline-cross-line{stroke:var(--reactodia-color-danger)}.reactodia-authoring-state__link-temporary,.reactodia-authoring-state__link-added,.reactodia-authoring-state__link-changed,.reactodia-authoring-state__link-deleted,.reactodia-authoring-state__link-uncertain{stroke-width:5px;stroke-opacity:.5;fill:none}.reactodia-authoring-state__link-temporary{stroke:var(--reactodia-color-gray-600);stroke-dasharray:8 8}.reactodia-authoring-state__link-added{stroke:var(--reactodia-color-success)}.reactodia-authoring-state__link-changed{stroke:var(--reactodia-color-primary)}.reactodia-authoring-state__link-deleted{stroke:var(--reactodia-color-danger)}.reactodia-authoring-state__link-uncertain{stroke:var(--reactodia-color-primary)}.reactodia-authoring-state__item-validation{cursor:help;align-self:flex-end;align-items:center;display:flex}.reactodia-authoring-state__item-validation-icon{width:17px;height:15px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.reactodia-authoring-state--severity-info .reactodia-authoring-state__item-validation-icon{background:var(--reactodia-color-info);-webkit-mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8.568%201.031A6.8%206.8%200%200%201%2012.76%203.05a7.06%207.06%200%200%201%20.46%209.39%206.85%206.85%200%200%201-8.58%201.74%207%207%200%200%201-3.12-3.5%207.12%207.12%200%200%201-.23-4.71%207%207%200%200%201%202.77-3.79%206.8%206.8%200%200%201%204.508-1.149zM9.04%2013.88a5.89%205.89%200%200%200%203.41-2.07%206.07%206.07%200%200%200-.4-8.06%205.82%205.82%200%200%200-7.43-.74%206.06%206.06%200%200%200%20.5%2010.29%205.81%205.81%200%200%200%203.92.58zM7.375%206h1.25V5h-1.25v1zm1.25%201v4h-1.25V7h1.25z'/%3e%3c/svg%3e\");mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8.568%201.031A6.8%206.8%200%200%201%2012.76%203.05a7.06%207.06%200%200%201%20.46%209.39%206.85%206.85%200%200%201-8.58%201.74%207%207%200%200%201-3.12-3.5%207.12%207.12%200%200%201-.23-4.71%207%207%200%200%201%202.77-3.79%206.8%206.8%200%200%201%204.508-1.149zM9.04%2013.88a5.89%205.89%200%200%200%203.41-2.07%206.07%206.07%200%200%200-.4-8.06%205.82%205.82%200%200%200-7.43-.74%206.06%206.06%200%200%200%20.5%2010.29%205.81%205.81%200%200%200%203.92.58zM7.375%206h1.25V5h-1.25v1zm1.25%201v4h-1.25V7h1.25z'/%3e%3c/svg%3e\")}.reactodia-authoring-state--severity-warning .reactodia-authoring-state__item-validation-icon{background:var(--reactodia-color-warning);-webkit-mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.56%201h.88l6.54%2012.26-.44.74H1.44L1%2013.26%207.56%201zM8%202.28L2.28%2013H13.7L8%202.28zM8.625%2012v-1h-1.25v1h1.25zm-1.25-2V6h1.25v4h-1.25z'/%3e%3c/svg%3e\");mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.56%201h.88l6.54%2012.26-.44.74H1.44L1%2013.26%207.56%201zM8%202.28L2.28%2013H13.7L8%202.28zM8.625%2012v-1h-1.25v1h1.25zm-1.25-2V6h1.25v4h-1.25z'/%3e%3c/svg%3e\")}.reactodia-authoring-state--severity-error .reactodia-authoring-state__item-validation-icon{background:var(--reactodia-color-danger);-webkit-mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.56%201h.88l6.54%2012.26-.44.74H1.44L1%2013.26%207.56%201zM8%202.28L2.28%2013H13.7L8%202.28zM8.625%2012v-1h-1.25v1h1.25zm-1.25-2V6h1.25v4h-1.25z'/%3e%3c/svg%3e\");mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.56%201h.88l6.54%2012.26-.44.74H1.44L1%2013.26%207.56%201zM8%202.28L2.28%2013H13.7L8%202.28zM8.625%2012v-1h-1.25v1h1.25zm-1.25-2V6h1.25v4h-1.25z'/%3e%3c/svg%3e\")}.reactodia-authoring-state__state-label{font-weight:700}.reactodia-authoring-state__state-indicator{position:relative}.reactodia-authoring-state__state-indicator-body{white-space:nowrap;align-items:center;gap:var(--reactodia-spacing-horizontal);background:var(--reactodia-canvas-underlay-color);border-radius:var(--reactodia-border-radius-s);height:22px;padding:1px;display:flex;position:absolute;bottom:0}.reactodia-authoring-state__actions{gap:var(--reactodia-spacing-horizontal);display:flex}.reactodia-authoring-state__action{cursor:pointer;opacity:.5;transition:opacity var(--reactodia-transition-duration);background:0 0;border:0;padding:0}.reactodia-authoring-state__action:hover{opacity:1}.reactodia-authoring-state__action[disabled]{cursor:not-allowed;opacity:.2}.reactodia-authoring-state__action-edit{align-items:center;display:flex}.reactodia-authoring-state__action-edit:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M13.23%201h-1.46L3.52%209.25l-.16.22L1%2013.59%202.41%2015l4.12-2.36.22-.16L15%204.23V2.77L13.23%201zM2.41%2013.59l1.51-3%201.45%201.45-2.96%201.55zm3.83-2.06L4.47%209.76l8-8%201.77%201.77-8%208z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M13.23%201h-1.46L3.52%209.25l-.16.22L1%2013.59%202.41%2015l4.12-2.36.22-.16L15%204.23V2.77L13.23%201zM2.41%2013.59l1.51-3%201.45%201.45-2.96%201.55zm3.83-2.06L4.47%209.76l8-8%201.77%201.77-8%208z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-authoring-state__action-edit:not(:empty):before{margin-right:3px}.reactodia-authoring-state__action-delete{align-items:center;display:flex}.reactodia-authoring-state__action-delete:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10%203h3v1h-1v9l-1%201H4l-1-1V4H2V3h3V2a1%201%200%200%201%201-1h3a1%201%200%200%201%201%201v1zM9%202H6v1h3V2zM4%2013h7V4H4v9zm2-8H5v7h1V5zm1%200h1v7H7V5zm2%200h1v7H9V5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10%203h3v1h-1v9l-1%201H4l-1-1V4H2V3h3V2a1%201%200%200%201%201-1h3a1%201%200%200%201%201%201v1zM9%202H6v1h3V2zM4%2013h7V4H4v9zm2-8H5v7h1V5zm1%200h1v7H7V5zm2%200h1v7H9V5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-authoring-state__action-delete:not(:empty):before{margin-right:3px}.reactodia-authoring-state__action-discard{align-items:center;display:flex}.reactodia-authoring-state__action-discard:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M3.5%202v3.5L4%206h3.5V5H4.979l.941-.941a3.552%203.552%200%201%201%205.023%205.023L5.746%2014.28l.72.72%205.198-5.198A4.57%204.57%200%200%200%205.2%203.339l-.7.7V2h-1z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M3.5%202v3.5L4%206h3.5V5H4.979l.941-.941a3.552%203.552%200%201%201%205.023%205.023L5.746%2014.28l.72.72%205.198-5.198A4.57%204.57%200%200%200%205.2%203.339l-.7.7V2h-1z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-authoring-state__action-discard:not(:empty):before{margin-right:3px}.reactodia-authoring-state__decorator .reactodia-authoring-state__state-indicator{transition:opacity var(--reactodia-transition-duration)}.reactodia-authoring-state__decorator--optional .reactodia-authoring-state__state-indicator{opacity:0}.reactodia-overlaid-element:hover+.reactodia-element-decorations .reactodia-authoring-state__state-indicator,.reactodia-authoring-state__decorator--selected .reactodia-authoring-state__state-indicator,.reactodia-authoring-state__decorator:hover .reactodia-authoring-state__state-indicator{opacity:1}.reactodia-edit-entity-form--loading{justify-content:center;align-items:center}.reactodia-edit-entity-form label .reactodia-form-control+.reactodia-form-control{margin-top:var(--reactodia-spacing-vertical)}.reactodia-edit-relation-form--loading{justify-content:center;align-items:center}.reactodia-element-selector{flex-direction:column;display:flex}.reactodia-element-selector--search-existing{flex:auto}.reactodia-element-selector__search{flex-shrink:0;position:relative}.reactodia-element-selector__search-icon{content:\"\";opacity:.6;background-color:currentColor;width:16px;height:16px;margin-top:-7px;display:block;position:absolute;top:50%;left:10px;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M15.25%200a8.25%208.25%200%200%200-6.18%2013.72L1%2022.88l1.12%201%208.05-9.12A8.251%208.251%200%201%200%2015.25.01V0zm0%2015a6.75%206.75%200%201%201%200-13.5%206.75%206.75%200%200%201%200%2013.5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M15.25%200a8.25%208.25%200%200%200-6.18%2013.72L1%2022.88l1.12%201%208.05-9.12A8.251%208.251%200%201%200%2015.25.01V0zm0%2015a6.75%206.75%200%201%201%200-13.5%206.75%206.75%200%200%201%200%2013.5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-element-selector__search-input{padding-left:33px}.reactodia-element-selector__existing-elements-list{flex:1 1 0;margin-top:7px;padding-right:10px;overflow-y:scroll}.reactodia-element-selector__results-spinner{flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.reactodia-element-selector__separator{text-align:center;margin:7px 0;overflow:hidden}.reactodia-element-selector__separator-text{color:var(--reactodia-border-color-base);font-size:13px;display:inline-block;position:relative}.reactodia-element-selector__separator-text:before,.reactodia-element-selector__separator-text:after{content:\"\";border-top:1px solid;width:500px;margin:0 10px;position:absolute;top:50%}.reactodia-element-selector__separator-text:before{left:100%}.reactodia-element-selector__separator-text:after{right:100%}.reactodia-loading-widget{color:var(--reactodia-color-emphasis-1000);background-color:var(--reactodia-canvas-overlay-color);z-index:calc(var(--reactodia-z-index-base) + 30);justify-content:center;align-items:center;margin:auto;display:flex;position:absolute;inset:0}.reactodia-fetch-status--loading{animation:2s linear infinite reactodia-loading-pulse}.reactodia-fetch-status--error:before{content:\"⚠ \";color:#ff000080}@keyframes reactodia-loading-pulse{0%{opacity:1;stroke-opacity:1}50%{opacity:.3;stroke-opacity:.3}to{opacity:1;stroke-opacity:1}}.reactodia-inline-diagnostic__icon{vertical-align:middle;width:16px;height:16px;margin-right:2px;display:inline-block}.reactodia-inline-diagnostic[data-reactodia-severity=info]{color:var(--reactodia-color-info)}.reactodia-inline-diagnostic[data-reactodia-severity=info] .reactodia-inline-diagnostic__icon{background:var(--reactodia-color-info);-webkit-mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8.568%201.031A6.8%206.8%200%200%201%2012.76%203.05a7.06%207.06%200%200%201%20.46%209.39%206.85%206.85%200%200%201-8.58%201.74%207%207%200%200%201-3.12-3.5%207.12%207.12%200%200%201-.23-4.71%207%207%200%200%201%202.77-3.79%206.8%206.8%200%200%201%204.508-1.149zM9.04%2013.88a5.89%205.89%200%200%200%203.41-2.07%206.07%206.07%200%200%200-.4-8.06%205.82%205.82%200%200%200-7.43-.74%206.06%206.06%200%200%200%20.5%2010.29%205.81%205.81%200%200%200%203.92.58zM7.375%206h1.25V5h-1.25v1zm1.25%201v4h-1.25V7h1.25z'/%3e%3c/svg%3e\");mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8.568%201.031A6.8%206.8%200%200%201%2012.76%203.05a7.06%207.06%200%200%201%20.46%209.39%206.85%206.85%200%200%201-8.58%201.74%207%207%200%200%201-3.12-3.5%207.12%207.12%200%200%201-.23-4.71%207%207%200%200%201%202.77-3.79%206.8%206.8%200%200%201%204.508-1.149zM9.04%2013.88a5.89%205.89%200%200%200%203.41-2.07%206.07%206.07%200%200%200-.4-8.06%205.82%205.82%200%200%200-7.43-.74%206.06%206.06%200%200%200%20.5%2010.29%205.81%205.81%200%200%200%203.92.58zM7.375%206h1.25V5h-1.25v1zm1.25%201v4h-1.25V7h1.25z'/%3e%3c/svg%3e\")}.reactodia-inline-diagnostic[data-reactodia-severity=warning]{color:var(--reactodia-color-warning)}.reactodia-inline-diagnostic[data-reactodia-severity=warning] .reactodia-inline-diagnostic__icon{background:var(--reactodia-color-warning);-webkit-mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.56%201h.88l6.54%2012.26-.44.74H1.44L1%2013.26%207.56%201zM8%202.28L2.28%2013H13.7L8%202.28zM8.625%2012v-1h-1.25v1h1.25zm-1.25-2V6h1.25v4h-1.25z'/%3e%3c/svg%3e\");mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.56%201h.88l6.54%2012.26-.44.74H1.44L1%2013.26%207.56%201zM8%202.28L2.28%2013H13.7L8%202.28zM8.625%2012v-1h-1.25v1h1.25zm-1.25-2V6h1.25v4h-1.25z'/%3e%3c/svg%3e\")}.reactodia-inline-diagnostic[data-reactodia-severity=error]{color:var(--reactodia-color-danger)}.reactodia-inline-diagnostic[data-reactodia-severity=error] .reactodia-inline-diagnostic__icon{background:var(--reactodia-color-danger);-webkit-mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.56%201h.88l6.54%2012.26-.44.74H1.44L1%2013.26%207.56%201zM8%202.28L2.28%2013H13.7L8%202.28zM8.625%2012v-1h-1.25v1h1.25zm-1.25-2V6h1.25v4h-1.25z'/%3e%3c/svg%3e\");mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.56%201h.88l6.54%2012.26-.44.74H1.44L1%2013.26%207.56%201zM8%202.28L2.28%2013H13.7L8%202.28zM8.625%2012v-1h-1.25v1h1.25zm-1.25-2V6h1.25v4h-1.25z'/%3e%3c/svg%3e\")}.reactodia-property-input-file{border:2px dashed var(--reactodia-border-color-base);flex-direction:column;gap:4px;padding:6px;display:flex}.reactodia-property-input-file[data-reactodia-drag-state=accept]{background-color:var(--reactodia-color-success-contrast-background);border-color:var(--reactodia-color-success)}.reactodia-property-input-file[data-reactodia-drag-state=reject]{background-color:var(--reactodia-color-danger-contrast-background);border-color:var(--reactodia-color-danger)}.reactodia-property-input-file__input{display:none}.reactodia-property-input-file__spinner{flex:auto;justify-content:center;display:grid}.reactodia-property-input-file__placeholder{text-align:center;flex:auto}.reactodia-property-input-file__hint{color:var(--reactodia-color-emphasis-600);margin-bottom:4px}.reactodia-property-input-file__item{border:var(--reactodia-border-width-base) solid var(--reactodia-border-color-base);border-radius:var(--reactodia-border-radius-s);color:var(--reactodia-color-primary-contrast-foreground);gap:4px;padding:2px;display:flex}.reactodia-property-input-file__item-file{content:\"\";background-color:currentColor;flex:none;justify-content:center;align-items:center;width:16px;height:16px;display:grid;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M13.71%204.29l-3-3L10%201H4L3%202v12l1%201h9l1-1V5l-.29-.71zM13%2014H4V2h5v4h4v8zm-3-9V2l3%203h-3z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M13.71%204.29l-3-3L10%201H4L3%202v12l1%201h9l1-1V5l-.29-.71zM13%2014H4V2h5v4h4v8zm-3-9V2l3%203h-3z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-property-input-file__item-image,.reactodia-property-input-file__item-file{background-color:var(--reactodia-color-primary-contrast-background);width:60px;height:60px}.reactodia-property-input-file__item-properties{white-space:nowrap;flex-direction:column;flex:auto;justify-content:center;display:flex;overflow:hidden}.reactodia-property-input-file__item-label{font-weight:700}.reactodia-property-input-file__item-label,.reactodia-property-input-file__item-property{text-overflow:ellipsis;overflow:hidden}.reactodia-property-input-file__item-remove[class]{align-items:center;display:flex}.reactodia-property-input-file__item-remove[class]:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10%203h3v1h-1v9l-1%201H4l-1-1V4H2V3h3V2a1%201%200%200%201%201-1h3a1%201%200%200%201%201%201v1zM9%202H6v1h3V2zM4%2013h7V4H4v9zm2-8H5v7h1V5zm1%200h1v7H7V5zm2%200h1v7H9V5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10%203h3v1h-1v9l-1%201H4l-1-1V4H2V3h3V2a1%201%200%200%201%201-1h3a1%201%200%200%201%201%201v1zM9%202H6v1h3V2zM4%2013h7V4H4v9zm2-8H5v7h1V5zm1%200h1v7H7V5zm2%200h1v7H9V5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-property-input-file__item-remove[class]:not(:empty):before{margin-right:3px}.reactodia-property-input-file__item-remove[class]{border:none;align-self:stretch;padding:6px 4px}.reactodia-property-input-list__row{gap:var(--reactodia-spacing-horizontal);display:flex}.reactodia-property-input-list__row+.reactodia-property-input-list__row{margin-top:var(--reactodia-spacing-vertical)}.reactodia-property-input-list__value-remove{align-items:center;display:flex}.reactodia-property-input-list__value-remove:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10%203h3v1h-1v9l-1%201H4l-1-1V4H2V3h3V2a1%201%200%200%201%201-1h3a1%201%200%200%201%201%201v1zM9%202H6v1h3V2zM4%2013h7V4H4v9zm2-8H5v7h1V5zm1%200h1v7H7V5zm2%200h1v7H9V5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10%203h3v1h-1v9l-1%201H4l-1-1V4H2V3h3V2a1%201%200%200%201%201-1h3a1%201%200%200%201%201%201v1zM9%202H6v1h3V2zM4%2013h7V4H4v9zm2-8H5v7h1V5zm1%200h1v7H7V5zm2%200h1v7H9V5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-property-input-list__value-remove:not(:empty):before{margin-right:3px}.reactodia-property-input-list__value-remove{border:none;align-self:flex-start;height:34px;padding:6px 4px}.reactodia-property-input-list__value-add{align-items:center;display:flex}.reactodia-property-input-list__value-add:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M14%207v1H8v6H7V8H1V7h6V1h1v6h6z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M14%207v1H8v6H7V8H1V7h6V1h1v6h6z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-property-input-list__value-add:not(:empty):before{margin-right:3px}.reactodia-property-input-list__value-add{padding:6px}.reactodia-property-input-text__language{width:unset;padding:0 2px}textarea.reactodia-property-input-text{resize:vertical;height:4em}.reactodia-paper{cursor:default;display:flex;position:relative}.reactodia-paper__pane{touch-action:none;will-change:scroll-position;flex:auto;overflow:scroll}.reactodia-paper--pan-on-touch .reactodia-paper__pane{touch-action:pan-x pan-y}.reactodia-paper--hide-scrollbars .reactodia-paper__pane{scrollbar-width:none}.reactodia-paper--hide-scrollbars .reactodia-paper__pane::-webkit-scrollbar{display:none}.reactodia-paper__layers{position:relative}.reactodia-paper--panning{cursor:grabbing}.reactodia-paper--panning:before{content:\" \";width:100%;height:100%;z-index:var(--reactodia-paper-panning-overlay-z-index,1);display:block;position:fixed}.reactodia-workspace-dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--reactodia-color-gray-0:#fff;--reactodia-color-gray-100:#f5f6f7;--reactodia-color-gray-200:#ebedf0;--reactodia-color-gray-300:#dadde1;--reactodia-color-gray-400:#ccd0d5;--reactodia-color-gray-500:#bec3c9;--reactodia-color-gray-600:#8d949e;--reactodia-color-gray-700:#606770;--reactodia-color-gray-800:#444950;--reactodia-color-gray-900:#1c1e21;--reactodia-color-gray-1000:#000;--reactodia-color-primary:#337ab7;--reactodia-color-primary-dark:#306cce;--reactodia-color-primary-darker:#2d66c3;--reactodia-color-primary-darkest:#2554a0;--reactodia-color-primary-light:#538ce9;--reactodia-color-primary-lighter:#72a1ed;--reactodia-color-primary-lightest:#9abcf2;--reactodia-color-secondary:#ebedf0;--reactodia-color-secondary-dark:#d4d5d8;--reactodia-color-secondary-darker:#c8c9cc;--reactodia-color-secondary-darkest:#a4a6a8;--reactodia-color-secondary-light:#eef0f2;--reactodia-color-secondary-lighter:#f1f2f5;--reactodia-color-secondary-lightest:#f5f6f8;--reactodia-color-success:#5cb85c;--reactodia-color-success-dark:#009400;--reactodia-color-success-darker:#008b00;--reactodia-color-success-darkest:#007300;--reactodia-color-success-light:#26b226;--reactodia-color-success-lighter:#4dbf4d;--reactodia-color-success-lightest:#80d280;--reactodia-color-info:#54c7ec;--reactodia-color-info-dark:#4cb3d4;--reactodia-color-info-darker:#47a9c9;--reactodia-color-info-darkest:#3b8ba5;--reactodia-color-info-light:#6ecfef;--reactodia-color-info-lighter:#87d8f2;--reactodia-color-info-lightest:#aae3f6;--reactodia-color-warning:#ffba00;--reactodia-color-warning-dark:#e6a700;--reactodia-color-warning-darker:#d99e00;--reactodia-color-warning-darkest:#b38200;--reactodia-color-warning-light:#ffc426;--reactodia-color-warning-lighter:#ffcf4d;--reactodia-color-warning-lightest:#ffdd80;--reactodia-color-danger:#c9302c;--reactodia-color-danger-dark:#e13238;--reactodia-color-danger-darker:#d53035;--reactodia-color-danger-darkest:#af272b;--reactodia-color-danger-light:#fb565b;--reactodia-color-danger-lighter:#fb7478;--reactodia-color-danger-lightest:#fd9c9f;--reactodia-font-family-base:\"Helvetica Neue\", \"Helvetica\", \"Arial\", sans-serif;--reactodia-font-family-monospace:\"Menlo\", \"Monaco\", \"Consolas\", \"Liberation Mono\", \"Courier New\", monospace;--reactodia-font-size-base:87.5%;--reactodia-line-height-base:1.42857;--reactodia-font-color-base:var(--reactodia-color-content);--reactodia-font-color-base-inverse:var(--reactodia-color-content-inverse);--reactodia-spacing-base:5px;--reactodia-spacing-vertical:var(--reactodia-spacing-base);--reactodia-spacing-horizontal:var(--reactodia-spacing-base);--reactodia-z-index-base:0;--reactodia-border-radius-base:4px;--reactodia-border-radius-s:2px;--reactodia-border-width-base:1px;--reactodia-transition-duration:.3s;--reactodia-input-border-color:var(--reactodia-border-color-base);--reactodia-input-border-color-focus:var(--reactodia-color-primary-lighter);--reactodia-input-border-radius:var(--reactodia-border-radius-base);--reactodia-input-border-width:var(--reactodia-border-width-base);--reactodia-button-border-radius:var(--reactodia-border-radius-base);--reactodia-button-border-width:var(--reactodia-border-width-base);--reactodia-button-default-border-color:var(--reactodia-border-color-base);--reactodia-draggable-handle-corner-width:10px;--reactodia-draggable-handle-side-width:5px;--reactodia-tree-background-color-active:#65a6ff4d;--reactodia-tree-background-color-focus:#bdd9ff4d;--reactodia-tree-border-color-active:#73d3ff80;--reactodia-tree-border-color-focus:#73d3ff4d;--reactodia-dialog-border-color:var(--reactodia-border-color-base);--reactodia-dialog-border-radius:var(--reactodia-border-radius-base);--reactodia-dialog-border-width:var(--reactodia-border-width-base);--reactodia-dialog-viewport-breakpoint-s:600px;--reactodia-canvas-background-color:var(--reactodia-background-color);--reactodia-viewport-dock-margin:10px;--reactodia-selection-link-color:#d8956d;--reactodia-selection-single-box-margin:5px;--reactodia-selection-single-box-color:#d8956d;--reactodia-selection-single-box-shadow:0 0 5px 0 var(--reactodia-selection-single-box-color) inset;--reactodia-navigator-scrollable-pane-fill:var(--reactodia-navigator-background-fill);--reactodia-navigator-viewport-fill:var(--reactodia-canvas-background-color);--reactodia-navigator-viewport-stroke-width:2;--reactodia-navigator-overflow-stroke-color:var(--reactodia-navigator-viewport-stroke-color);--reactodia-navigator-overflow-stroke-width:2;--reactodia-navigator-overflow-stroke-dash:5 5;--reactodia-toolbar-height:30px;--reactodia-item-min-width:150px;--reactodia-accordion-transition-duration:var(--reactodia-transition-duration);--reactodia-color-emphasis-0:var(--reactodia-color-gray-1000);--reactodia-color-emphasis-100:var(--reactodia-color-gray-900);--reactodia-color-emphasis-200:var(--reactodia-color-gray-800);--reactodia-color-emphasis-300:var(--reactodia-color-gray-700);--reactodia-color-emphasis-400:var(--reactodia-color-gray-600);--reactodia-color-emphasis-500:var(--reactodia-color-gray-500);--reactodia-color-emphasis-600:var(--reactodia-color-gray-400);--reactodia-color-emphasis-700:var(--reactodia-color-gray-300);--reactodia-color-emphasis-800:var(--reactodia-color-gray-200);--reactodia-color-emphasis-900:var(--reactodia-color-gray-100);--reactodia-color-emphasis-1000:var(--reactodia-color-gray-0);--reactodia-color-primary-contrast-background:#102445;--reactodia-color-primary-contrast-foreground:#ebf2fc;--reactodia-color-secondary-contrast-background:#474748;--reactodia-color-secondary-contrast-foreground:#fdfdfe;--reactodia-color-success-contrast-background:#003100;--reactodia-color-success-contrast-foreground:#e6f6e6;--reactodia-color-info-contrast-background:#193c47;--reactodia-color-info-contrast-foreground:#eef9fd;--reactodia-color-warning-contrast-background:#4d3800;--reactodia-color-warning-contrast-foreground:#fff8e6;--reactodia-color-danger-contrast-background:#4b1113;--reactodia-color-danger-contrast-foreground:#ffebec;--reactodia-color-content:#e3e3e3;--reactodia-color-content-inverse:var(--reactodia-color-gray-0);--reactodia-color-content-contrast:var(--reactodia-color-gray-900);--reactodia-background-color:#1b1b1d;--reactodia-background-color-surface:#242526;--reactodia-border-color-base:#555;--reactodia-input-color:#ddd;--reactodia-input-color-placeholder:#878787;--reactodia-input-background-color:#393c3e;--reactodia-input-background-color-disabled:#2f2f2f;--reactodia-button-default-background-color:var(--reactodia-background-color-surface);--reactodia-button-default-background-color-active:#a4a6a8;--reactodia-button-default-background-color-focus:var(--reactodia-button-default-color);--reactodia-button-default-color:#ebedf0;--reactodia-button-default-color-focus:var(--reactodia-background-color-surface);--reactodia-draggable-handle-corner-color:#ffffff61;--reactodia-draggable-handle-corner-color-focus:#ffffff80;--reactodia-draggable-handle-side-color:#fff;--reactodia-canvas-box-shadow:0 4px 15px 7px #aaaaaa0d;--reactodia-canvas-overlay-color:#000000b3;--reactodia-canvas-underlay-color:#1c1c1c99;--reactodia-element-background-color:#242526;--reactodia-link-stroke-color:var(--reactodia-color-emphasis-1000);--reactodia-monochrome-icon-filter:invert(1);--reactodia-selection-icon-filter:invert(1);--reactodia-selection-multiple-box-shadow:0 0 7px 7px #aaaaaa21;--reactodia-navigator-background-fill:var(--reactodia-color-gray-900);--reactodia-navigator-viewport-stroke-color:var(--reactodia-color-gray-800)}.reactodia-workspace-light{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--reactodia-color-gray-0:#fff;--reactodia-color-gray-100:#f5f6f7;--reactodia-color-gray-200:#ebedf0;--reactodia-color-gray-300:#dadde1;--reactodia-color-gray-400:#ccd0d5;--reactodia-color-gray-500:#bec3c9;--reactodia-color-gray-600:#8d949e;--reactodia-color-gray-700:#606770;--reactodia-color-gray-800:#444950;--reactodia-color-gray-900:#1c1e21;--reactodia-color-gray-1000:#000;--reactodia-color-primary:#337ab7;--reactodia-color-primary-dark:#306cce;--reactodia-color-primary-darker:#2d66c3;--reactodia-color-primary-darkest:#2554a0;--reactodia-color-primary-light:#538ce9;--reactodia-color-primary-lighter:#72a1ed;--reactodia-color-primary-lightest:#9abcf2;--reactodia-color-secondary:#ebedf0;--reactodia-color-secondary-dark:#d4d5d8;--reactodia-color-secondary-darker:#c8c9cc;--reactodia-color-secondary-darkest:#a4a6a8;--reactodia-color-secondary-light:#eef0f2;--reactodia-color-secondary-lighter:#f1f2f5;--reactodia-color-secondary-lightest:#f5f6f8;--reactodia-color-success:#5cb85c;--reactodia-color-success-dark:#009400;--reactodia-color-success-darker:#008b00;--reactodia-color-success-darkest:#007300;--reactodia-color-success-light:#26b226;--reactodia-color-success-lighter:#4dbf4d;--reactodia-color-success-lightest:#80d280;--reactodia-color-info:#54c7ec;--reactodia-color-info-dark:#4cb3d4;--reactodia-color-info-darker:#47a9c9;--reactodia-color-info-darkest:#3b8ba5;--reactodia-color-info-light:#6ecfef;--reactodia-color-info-lighter:#87d8f2;--reactodia-color-info-lightest:#aae3f6;--reactodia-color-warning:#ffba00;--reactodia-color-warning-dark:#e6a700;--reactodia-color-warning-darker:#d99e00;--reactodia-color-warning-darkest:#b38200;--reactodia-color-warning-light:#ffc426;--reactodia-color-warning-lighter:#ffcf4d;--reactodia-color-warning-lightest:#ffdd80;--reactodia-color-danger:#c9302c;--reactodia-color-danger-dark:#e13238;--reactodia-color-danger-darker:#d53035;--reactodia-color-danger-darkest:#af272b;--reactodia-color-danger-light:#fb565b;--reactodia-color-danger-lighter:#fb7478;--reactodia-color-danger-lightest:#fd9c9f;--reactodia-font-family-base:\"Helvetica Neue\", \"Helvetica\", \"Arial\", sans-serif;--reactodia-font-family-monospace:\"Menlo\", \"Monaco\", \"Consolas\", \"Liberation Mono\", \"Courier New\", monospace;--reactodia-font-size-base:87.5%;--reactodia-line-height-base:1.42857;--reactodia-font-color-base:var(--reactodia-color-content);--reactodia-font-color-base-inverse:var(--reactodia-color-content-inverse);--reactodia-spacing-base:5px;--reactodia-spacing-vertical:var(--reactodia-spacing-base);--reactodia-spacing-horizontal:var(--reactodia-spacing-base);--reactodia-z-index-base:0;--reactodia-border-radius-base:4px;--reactodia-border-radius-s:2px;--reactodia-border-width-base:1px;--reactodia-transition-duration:.3s;--reactodia-input-border-color:var(--reactodia-border-color-base);--reactodia-input-border-color-focus:var(--reactodia-color-primary-lighter);--reactodia-input-border-radius:var(--reactodia-border-radius-base);--reactodia-input-border-width:var(--reactodia-border-width-base);--reactodia-button-border-radius:var(--reactodia-border-radius-base);--reactodia-button-border-width:var(--reactodia-border-width-base);--reactodia-button-default-border-color:var(--reactodia-border-color-base);--reactodia-draggable-handle-corner-width:10px;--reactodia-draggable-handle-side-width:5px;--reactodia-tree-background-color-active:#65a6ff4d;--reactodia-tree-background-color-focus:#bdd9ff4d;--reactodia-tree-border-color-active:#73d3ff80;--reactodia-tree-border-color-focus:#73d3ff4d;--reactodia-dialog-border-color:var(--reactodia-border-color-base);--reactodia-dialog-border-radius:var(--reactodia-border-radius-base);--reactodia-dialog-border-width:var(--reactodia-border-width-base);--reactodia-dialog-viewport-breakpoint-s:600px;--reactodia-canvas-background-color:var(--reactodia-background-color);--reactodia-viewport-dock-margin:10px;--reactodia-selection-link-color:#d8956d;--reactodia-selection-single-box-margin:5px;--reactodia-selection-single-box-color:#d8956d;--reactodia-selection-single-box-shadow:0 0 5px 0 var(--reactodia-selection-single-box-color) inset;--reactodia-navigator-scrollable-pane-fill:var(--reactodia-navigator-background-fill);--reactodia-navigator-viewport-fill:var(--reactodia-canvas-background-color);--reactodia-navigator-viewport-stroke-width:2;--reactodia-navigator-overflow-stroke-color:var(--reactodia-navigator-viewport-stroke-color);--reactodia-navigator-overflow-stroke-width:2;--reactodia-navigator-overflow-stroke-dash:5 5;--reactodia-toolbar-height:30px;--reactodia-item-min-width:150px;--reactodia-accordion-transition-duration:var(--reactodia-transition-duration);--reactodia-color-emphasis-0:var(--reactodia-color-gray-0);--reactodia-color-emphasis-100:var(--reactodia-color-gray-100);--reactodia-color-emphasis-200:var(--reactodia-color-gray-200);--reactodia-color-emphasis-300:var(--reactodia-color-gray-300);--reactodia-color-emphasis-400:var(--reactodia-color-gray-400);--reactodia-color-emphasis-500:var(--reactodia-color-gray-500);--reactodia-color-emphasis-600:var(--reactodia-color-gray-600);--reactodia-color-emphasis-700:var(--reactodia-color-gray-700);--reactodia-color-emphasis-800:var(--reactodia-color-gray-800);--reactodia-color-emphasis-900:var(--reactodia-color-gray-900);--reactodia-color-emphasis-1000:var(--reactodia-color-gray-1000);--reactodia-color-primary-contrast-background:#ebf2fc;--reactodia-color-primary-contrast-foreground:#102445;--reactodia-color-secondary-contrast-background:#fdfdfe;--reactodia-color-secondary-contrast-foreground:#474748;--reactodia-color-success-contrast-background:#e6f6e6;--reactodia-color-success-contrast-foreground:#003100;--reactodia-color-info-contrast-background:#eef9fd;--reactodia-color-info-contrast-foreground:#193c47;--reactodia-color-warning-contrast-background:#fff8e6;--reactodia-color-warning-contrast-foreground:#4d3800;--reactodia-color-danger-contrast-background:#ffebec;--reactodia-color-danger-contrast-foreground:#4b1113;--reactodia-color-content:var(--reactodia-color-emphasis-900);--reactodia-color-content-inverse:var(--reactodia-color-emphasis-0);--reactodia-color-content-contrast:var(--reactodia-color-content);--reactodia-background-color:var(--reactodia-color-emphasis-0);--reactodia-background-color-surface:var(--reactodia-color-content-inverse);--reactodia-border-color-base:#ccc;--reactodia-input-color:#555;--reactodia-input-color-placeholder:var(--reactodia-color-emphasis-600);--reactodia-input-background-color:var(--reactodia-background-color-surface);--reactodia-input-background-color-disabled:var(--reactodia-color-emphasis-400);--reactodia-button-default-background-color:var(--reactodia-background-color-surface);--reactodia-button-default-background-color-active:#e0e0e0;--reactodia-button-default-background-color-focus:#d4d4d4;--reactodia-button-default-color:#333;--reactodia-button-default-color-focus:var(--reactodia-button-default-color);--reactodia-draggable-handle-corner-color:#00000061;--reactodia-draggable-handle-corner-color-focus:#00000080;--reactodia-draggable-handle-side-color:#000;--reactodia-canvas-box-shadow:0 4px 15px 7px #3333330d;--reactodia-canvas-overlay-color:#ffffffb3;--reactodia-canvas-underlay-color:#ffffffb3;--reactodia-element-background-color:#fafaf9;--reactodia-link-stroke-color:var(--reactodia-color-emphasis-1000);--reactodia-monochrome-icon-filter:;--reactodia-selection-icon-filter:;--reactodia-selection-multiple-box-shadow:0 0 7px 7px #33333321;--reactodia-navigator-background-fill:var(--reactodia-color-gray-100);--reactodia-navigator-viewport-stroke-color:var(--reactodia-color-gray-200)}.reactodia-draggable-handle--dock-n,.reactodia-draggable-handle--dock-s{background-color:var(--reactodia-draggable-handle-side-color);position:absolute}.reactodia-draggable-handle--dock-n:empty,.reactodia-draggable-handle--dock-s:empty{opacity:0}.reactodia-draggable-handle--dock-n:empty:hover,.reactodia-draggable-handle--dock-s:empty:hover{opacity:.1}.reactodia-draggable-handle--dock-n,.reactodia-draggable-handle--dock-s{cursor:ns-resize;width:100%}.reactodia-draggable-handle--dock-n:empty,.reactodia-draggable-handle--dock-s:empty{height:var(--reactodia-draggable-handle-side-width)}.reactodia-draggable-handle--dock-n{top:0}.reactodia-draggable-handle--dock-s{bottom:0}.reactodia-draggable-handle--dock-w,.reactodia-draggable-handle--dock-e{background-color:var(--reactodia-draggable-handle-side-color);position:absolute}.reactodia-draggable-handle--dock-w:empty,.reactodia-draggable-handle--dock-e:empty{opacity:0}.reactodia-draggable-handle--dock-w:empty:hover,.reactodia-draggable-handle--dock-e:empty:hover{opacity:.1}.reactodia-draggable-handle--dock-w,.reactodia-draggable-handle--dock-e{cursor:ew-resize;height:100%;top:0}.reactodia-draggable-handle--dock-w:empty,.reactodia-draggable-handle--dock-e:empty{width:var(--reactodia-draggable-handle-side-width)}.reactodia-draggable-handle--dock-w{left:0}.reactodia-draggable-handle--dock-e{right:0}.reactodia-draggable-handle--dock-nw,.reactodia-draggable-handle--dock-ne,.reactodia-draggable-handle--dock-sw,.reactodia-draggable-handle--dock-se{width:0;height:0;position:absolute}.reactodia-draggable-handle--dock-nw:empty,.reactodia-draggable-handle--dock-ne:empty,.reactodia-draggable-handle--dock-sw:empty,.reactodia-draggable-handle--dock-se:empty{border-radius:var(--reactodia-border-radius-base);border-style:solid}.reactodia-draggable-handle--dock-nw:empty:before,.reactodia-draggable-handle--dock-ne:empty:before,.reactodia-draggable-handle--dock-sw:empty:before,.reactodia-draggable-handle--dock-se:empty:before{content:\"\";border-radius:var(--reactodia-border-radius-base);border-style:solid;width:0;height:0;position:absolute}.reactodia-draggable-handle--dock-nw,.reactodia-draggable-handle--dock-ne{border-color:var(--reactodia-draggable-handle-corner-color) transparent transparent transparent}.reactodia-draggable-handle--dock-nw:before,.reactodia-draggable-handle--dock-ne:before{top:calc(-1 * var(--reactodia-draggable-handle-corner-width));border-color:var(--reactodia-draggable-handle-corner-color) transparent transparent transparent}.reactodia-draggable-handle--dock-nw:hover,.reactodia-draggable-handle--dock-ne:hover{border-color:var(--reactodia-draggable-handle-corner-color-focus) transparent transparent transparent}.reactodia-draggable-handle--dock-nw{border-width:var(--reactodia-draggable-handle-corner-width) var(--reactodia-draggable-handle-corner-width) 0 0;cursor:nwse-resize;top:0;left:0}.reactodia-draggable-handle--dock-nw:before{border-width:calc(var(--reactodia-draggable-handle-corner-width) / 2) calc(var(--reactodia-draggable-handle-corner-width) / 2) 0 0;left:0}.reactodia-draggable-handle--dock-ne{border-width:var(--reactodia-draggable-handle-corner-width) 0 0 var(--reactodia-draggable-handle-corner-width);cursor:nesw-resize;top:0;right:0}.reactodia-draggable-handle--dock-ne:before{border-width:calc(var(--reactodia-draggable-handle-corner-width) / 2) 0 0 calc(var(--reactodia-draggable-handle-corner-width) / 2);right:0}.reactodia-draggable-handle--dock-sw,.reactodia-draggable-handle--dock-se{border-color:transparent transparent var(--reactodia-draggable-handle-corner-color) transparent}.reactodia-draggable-handle--dock-sw:before,.reactodia-draggable-handle--dock-se:before{bottom:calc(-1 * var(--reactodia-draggable-handle-corner-width));border-color:transparent transparent var(--reactodia-draggable-handle-corner-color) transparent}.reactodia-draggable-handle--dock-sw:hover,.reactodia-draggable-handle--dock-se:hover{border-color:transparent transparent var(--reactodia-draggable-handle-corner-color-focus) transparent}.reactodia-draggable-handle--dock-sw{border-width:0 var(--reactodia-draggable-handle-corner-width) var(--reactodia-draggable-handle-corner-width) 0;cursor:nesw-resize;bottom:0;left:0}.reactodia-draggable-handle--dock-sw:before{border-width:0 calc(var(--reactodia-draggable-handle-corner-width) / 2) calc(var(--reactodia-draggable-handle-corner-width) / 2) 0;left:0}.reactodia-draggable-handle--dock-se{border-width:0 0 var(--reactodia-draggable-handle-corner-width) var(--reactodia-draggable-handle-corner-width);cursor:nwse-resize;bottom:0;right:0}.reactodia-draggable-handle--dock-se:before{border-width:0 0 calc(var(--reactodia-draggable-handle-corner-width) / 2) calc(var(--reactodia-draggable-handle-corner-width) / 2);right:0}.reactodia-drag-link-mover{overflow:visible}.reactodia-drag-link-mover__highlight-overlay{fill:var(--reactodia-color-emphasis-0);fill-opacity:.3}.reactodia-drag-link-mover__highlight-allow,.reactodia-drag-link-mover__highlight-deny{stroke-width:3px;fill:#0000}.reactodia-drag-link-mover__highlight-allow{stroke:var(--reactodia-color-success)}.reactodia-drag-link-mover__highlight-deny{stroke:var(--reactodia-color-danger)}.reactodia-drag-link-mover__drop-underlay{fill:var(--reactodia-color-emphasis-1000);fill-opacity:.1}.reactodia-drag-link-mover__drop-allow{stroke:var(--reactodia-color-success)}.reactodia-drag-link-mover__drop-deny>*{stroke:var(--reactodia-color-danger)}.reactodia-dropdown{float:left;z-index:calc(var(--reactodia-z-index-base) + 40);position:relative}.reactodia-dropdown__content{opacity:1;flex-direction:column;transition:opacity .1s ease-in-out;display:flex;position:absolute}.reactodia-dropdown--up .reactodia-dropdown__content{bottom:100%}.reactodia-dropdown--expanded .reactodia-dropdown__content{box-shadow:var(--reactodia-canvas-box-shadow)}.reactodia-dropdown--collapsed .reactodia-dropdown__content{opacity:0;pointer-events:none;height:0;transition:none}.reactodia-dropdown--down.reactodia-dropdown--expanded .reactodia-dropdown-menu__toggle{border-bottom-left-radius:unset;border-bottom-right-radius:unset;border-bottom:none}.reactodia-dropdown--up.reactodia-dropdown--expanded .reactodia-dropdown-menu__toggle{border-top-left-radius:unset;border-top-right-radius:unset;border-top:none}.reactodia-dropdown-menu__toggle:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M16%205H0V4h16v1zm0%208H0v-1h16v1zm0-4.008H0V8h16v.992z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M16%205H0V4h16v1zm0%208H0v-1h16v1zm0-4.008H0V8h16v.992z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-dropdown-menu__items{background-color:var(--reactodia-background-color-surface);display:flex}.reactodia-dropdown--down .reactodia-dropdown-menu__items{flex-direction:column}.reactodia-dropdown--up .reactodia-dropdown-menu__items{flex-direction:column-reverse}.reactodia-dropdown-menu-item{border-radius:unset;outline-offset:-2px;display:flex}.reactodia-dropdown--down .reactodia-dropdown-menu-item:first-child{border-top-right-radius:var(--reactodia-button-border-radius)}.reactodia-dropdown--down .reactodia-dropdown-menu-item:last-child{border-bottom-left-radius:var(--reactodia-button-border-radius);border-bottom-right-radius:var(--reactodia-button-border-radius)}.reactodia-dropdown--down .reactodia-dropdown-menu-item~.reactodia-dropdown-menu-item{margin-top:calc(-1 * var(--reactodia-button-border-width));border-top-color:var(--reactodia-button-default-border-color)}.reactodia-dropdown--up .reactodia-dropdown-menu-item:first-child{border-bottom-right-radius:var(--reactodia-button-border-radius)}.reactodia-dropdown--up .reactodia-dropdown-menu-item:last-child{border-top-left-radius:var(--reactodia-button-border-radius);border-top-right-radius:var(--reactodia-button-border-radius)}.reactodia-dropdown--up .reactodia-dropdown-menu-item~.reactodia-dropdown-menu-item{margin-bottom:calc(-1 * var(--reactodia-button-border-width));border-bottom-color:var(--reactodia-button-default-border-color)}.reactodia-inline-entity{border:1px solid var(--reactodia-inline-entity-color);background:var(--reactodia-inline-entity-color);word-wrap:break-word;padding-left:5px;line-height:1.3}.reactodia-inline-entity__label{background:var(--reactodia-element-background-color);padding:0 2px}.reactodia-list-element-view{background:var(--reactodia-element-style-color);border-radius:var(--reactodia-border-radius-s);opacity:1;cursor:move;-webkit-user-select:none;user-select:none;margin:0 0 2px;padding:1px 1px 1px 10px;display:block;position:relative}.reactodia-list-element-view--disabled{opacity:.4;cursor:default}.reactodia-list-element-view__label{background:var(--reactodia-element-background-color);border-radius:0 var(--reactodia-border-radius-s) var(--reactodia-border-radius-s) 0;font-family:var(--reactodia-font-family-base);overflow-wrap:break-word;min-height:1.3em;padding-left:7px;padding-right:5px;font-size:15px}.reactodia-list-element-view--selected .reactodia-list-element-view__label{color:var(--reactodia-color-content-contrast)}.reactodia-text-highlight{font-weight:700}.reactodia-no-search-results{text-align:center;color:var(--reactodia-input-color-placeholder);font-style:italic}@keyframes reactodia-progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}.reactodia-progress-bar{background-color:var(--reactodia-color-emphasis-200);flex-shrink:0;width:100%;overflow:hidden;box-shadow:inset 0 1px 2px #0000001a}.reactodia-progress-bar__bar{float:left;background-color:var(--reactodia-color-primary);background-image:linear-gradient(45deg,#ffffff26 25%,#0000 25% 50%,#ffffff26 50% 75%,#0000 75%,#0000);background-repeat:repeat-x;background-size:40px 40px;height:100%;transition:width .6s;animation:2s linear infinite reactodia-progress-bar-stripes}.reactodia-progress-bar--error .reactodia-progress-bar__bar{background-color:var(--reactodia-color-danger)}.reactodia-progress-bar--loading,.reactodia-progress-bar--error{transition:height var(--reactodia-transition-duration) .3s}.reactodia-progress-bar--completed{transition:height var(--reactodia-transition-duration) 0s}.reactodia-resizable-box{border:var(--reactodia-resizable-box-border-width) solid var(--reactodia-resizable-box-color)}.reactodia-resizable-box__handle{background-color:unset;touch-action:none}.reactodia-resizable-box__handle.reactodia-draggable-handle--dock-n,.reactodia-resizable-box__handle.reactodia-draggable-handle--dock-s,.reactodia-resizable-box__handle.reactodia-draggable-handle--dock-w,.reactodia-resizable-box__handle.reactodia-draggable-handle--dock-e{justify-content:center;align-items:center;display:flex}.reactodia-resizable-box__handle.reactodia-draggable-handle--dock-n{margin-top:calc(-.5 * var(--reactodia-resizable-box-border-width))}.reactodia-resizable-box__handle.reactodia-draggable-handle--dock-s{margin-bottom:calc(-.5 * var(--reactodia-resizable-box-border-width))}.reactodia-resizable-box__handle.reactodia-draggable-handle--dock-w{margin-left:calc(-.5 * var(--reactodia-resizable-box-border-width))}.reactodia-resizable-box__handle.reactodia-draggable-handle--dock-e{margin-right:calc(-.5 * var(--reactodia-resizable-box-border-width))}.reactodia-resizable-box__handle rect{stroke-width:2px}.reactodia-resizable-box__handle circle,.reactodia-resizable-box__handle rect{stroke:var(--reactodia-resizable-box-color);fill:var(--reactodia-canvas-background-color)}.reactodia-resizable-box__handle:hover circle,.reactodia-resizable-box__handle:hover rect{fill:var(--reactodia-resizable-box-color)}.reactodia-resizable-box__corner{width:20px;height:20px;position:absolute;top:-10px;left:-10px}.reactodia-resizable-box__vertical{width:30px;height:10px;position:absolute}.reactodia-resizable-box__horizontal{width:10px;height:30px;position:absolute}.reactodia-search-input{display:flex}.reactodia-search-input__input::placeholder{color:var(--reactodia-input-color-placeholder)}.reactodia-search-input--has-submit .reactodia-search-input__input{border-top-right-radius:unset;border-bottom-right-radius:unset}.reactodia-search-input__clear-container{align-items:center;width:0;display:flex;overflow:visible}.reactodia-search-input__clear{cursor:pointer;color:var(--reactodia-button-default-color);border-top-right-radius:var(--reactodia-input-border-radius);border-bottom-right-radius:var(--reactodia-input-border-radius);transition:background-color var(--reactodia-transition-duration);background:0 0;border:0;padding:8px;position:relative;left:-33px}.reactodia-search-input__clear:hover{color:var(--reactodia-button-default-color-focus);background-color:var(--reactodia-button-default-background-color-focus)}.reactodia-search-input__clear:after{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8%208.707l3.646%203.647.708-.707L8.707%208l3.647-3.646-.707-.708L8%207.293%204.354%203.646l-.707.708L7.293%208l-3.646%203.646.707.708L8%208.707z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8%208.707l3.646%203.647.708-.707L8.707%208l3.647-3.646-.707-.708L8%207.293%204.354%203.646l-.707.708L7.293%208l-3.646%203.646.707.708L8%208.707z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-search-input--has-submit .reactodia-search-input__clear{border-top-right-radius:unset;border-bottom-right-radius:unset}.reactodia-search-input__submit{border-top-left-radius:unset;border-bottom-left-radius:unset;margin-left:-1px}.reactodia-search-input__submit:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M15.25%200a8.25%208.25%200%200%200-6.18%2013.72L1%2022.88l1.12%201%208.05-9.12A8.251%208.251%200%201%200%2015.25.01V0zm0%2015a6.75%206.75%200%201%201%200-13.5%206.75%206.75%200%200%201%200%2013.5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M15.25%200a8.25%208.25%200%200%200-6.18%2013.72L1%2022.88l1.12%201%208.05-9.12A8.251%208.251%200%201%200%2015.25.01V0zm0%2015a6.75%206.75%200%201%201%200-13.5%206.75%206.75%200%200%201%200%2013.5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-search-results__root{margin:0;padding:0}.reactodia-search-results__item{list-style:none;display:contents}.reactodia-viewport-dock--row-n,.reactodia-viewport-dock--row-s,.reactodia-viewport-dock--column-w,.reactodia-viewport-dock--column-e{pointer-events:none}.reactodia-viewport-dock--row-n>*,.reactodia-viewport-dock--row-s>*,.reactodia-viewport-dock--column-w>*,.reactodia-viewport-dock--column-e>*{pointer-events:auto}.reactodia-viewport-dock--row-n,.reactodia-viewport-dock--row-s{justify-content:center;display:flex;position:absolute;left:0;right:0}.reactodia-viewport-dock--row-n{top:calc(var(--reactodia-viewport-dock-margin) + var(--reactodia-viewport-dock-offset-y,0px))}.reactodia-viewport-dock--row-s{bottom:calc(var(--reactodia-viewport-dock-margin) + var(--reactodia-viewport-dock-offset-y,0px))}.reactodia-viewport-dock--column-w,.reactodia-viewport-dock--column-e{flex-direction:column;justify-content:center;display:flex;position:absolute;top:0;bottom:0}.reactodia-viewport-dock--column-w{left:calc(var(--reactodia-viewport-dock-margin) + var(--reactodia-viewport-dock-offset-x,0px))}.reactodia-viewport-dock--column-e{right:calc(var(--reactodia-viewport-dock-margin) + var(--reactodia-viewport-dock-offset-x,0px))}.reactodia-viewport-dock--corner{display:contents}.reactodia-viewport-dock--dock-nw{left:calc(var(--reactodia-viewport-dock-margin) + var(--reactodia-viewport-dock-offset-x,0px));top:calc(var(--reactodia-viewport-dock-margin) + var(--reactodia-viewport-dock-offset-y,0px));position:absolute}.reactodia-viewport-dock--dock-ne{right:calc(var(--reactodia-viewport-dock-margin) + var(--reactodia-viewport-dock-offset-x,0px));top:calc(var(--reactodia-viewport-dock-margin) + var(--reactodia-viewport-dock-offset-y,0px));position:absolute}.reactodia-viewport-dock--dock-se{right:calc(var(--reactodia-viewport-dock-margin) + var(--reactodia-viewport-dock-offset-x,0px));bottom:calc(var(--reactodia-viewport-dock-margin) + var(--reactodia-viewport-dock-offset-y,0px));position:absolute}.reactodia-viewport-dock--dock-sw{left:calc(var(--reactodia-viewport-dock-margin) + var(--reactodia-viewport-dock-offset-x,0px));bottom:calc(var(--reactodia-viewport-dock-margin) + var(--reactodia-viewport-dock-offset-y,0px));position:absolute}.reactodia-canvas{flex:1 1 0;width:100%;display:flex;overflow:hidden}.reactodia-class-tree{flex-direction:column;flex:auto;display:flex}.reactodia-class-tree__filter{flex-shrink:0;margin:10px 0}.reactodia-class-tree--controlled .reactodia-class-tree__filter{margin-top:0}.reactodia-class-tree__filter-group{margin-left:10px;margin-right:10px}.reactodia-class-tree__only-creatable{margin-top:5px;display:block}.reactodia-class-tree__tree{border-top:1px solid var(--reactodia-border-color-base)}.reactodia-class-tree__no-results{margin-top:10px}.reactodia-class-tree__spinner{align-self:center;margin:auto}.reactodia-class-tree-item{margin:1px 0;list-style:none}.reactodia-class-tree-item__row{white-space:nowrap;-webkit-user-select:none;user-select:none;align-items:center;display:flex}.reactodia-class-tree-item__row>*{flex-shrink:0}.reactodia-class-tree-item__body{border-radius:var(--reactodia-border-radius-s);border:1px solid #0000;align-items:center;padding:1px;font-size:15px;text-decoration:none;display:flex}.reactodia-class-tree-item__body:hover{background:var(--reactodia-tree-background-color-focus);border-color:var(--reactodia-tree-border-color-focus);cursor:pointer}.reactodia-class-tree-item__body--selected{background-color:var(--reactodia-tree-background-color-active);border-color:var(--reactodia-tree-border-color-active)}.reactodia-class-tree-item__icon-container{height:20px}.reactodia-class-tree-item__icon{height:100%;display:block}.reactodia-class-tree-item__icon--monochrome{filter:var(--reactodia-monochrome-icon-filter)}.reactodia-class-tree-item__default-icon-leaf,.reactodia-class-tree-item__default-icon-parent{content:\"\";width:20px;height:20px;color:var(--reactodia-element-style-color);background-color:currentColor;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M13.51%204l-5-3h-1l-5%203-.49.86v6l.49.85%205%203h1l5-3%20.49-.85v-6L13.51%204zm-6%209.56l-4.5-2.7V5.7l4.5%202.45v5.41zM3.27%204.7l4.74-2.84%204.74%202.84-4.74%202.59L3.27%204.7zm9.74%206.16l-4.5%202.7V8.15l4.5-2.45v5.16z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M13.51%204l-5-3h-1l-5%203-.49.86v6l.49.85%205%203h1l5-3%20.49-.85v-6L13.51%204zm-6%209.56l-4.5-2.7V5.7l4.5%202.45v5.41zM3.27%204.7l4.74-2.84%204.74%202.84-4.74%202.59L3.27%204.7zm9.74%206.16l-4.5%202.7V8.15l4.5-2.45v5.16z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-class-tree-item__label{color:var(--reactodia-font-color-base);margin-left:5px}.reactodia-class-tree-item__highlighted-term{font-weight:700}.reactodia-class-tree-item__count{margin-left:5px}.reactodia-class-tree-item__root{margin:0;padding:0}.reactodia-class-tree-item__children{margin:0 0 0 20px;padding:0}.reactodia-class-tree-item__toggle,.reactodia-class-tree-item__toggle-expanded,.reactodia-class-tree-item__toggle-collapsed{margin:2px}.reactodia-class-tree-item__toggle-expanded,.reactodia-class-tree-item__toggle-collapsed{opacity:.5}.reactodia-class-tree-item__toggle-expanded:hover,.reactodia-class-tree-item__toggle-collapsed:hover{cursor:pointer;opacity:1;transition:opacity var(--reactodia-transition-duration)}.reactodia-class-tree-item__toggle:before{content:\"\";width:16px;height:16px;display:block}.reactodia-class-tree-item__toggle-expanded:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M2%205.56L2.413%205h11.194l.393.54L8.373%2011h-.827L2%205.56z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M2%205.56L2.413%205h11.194l.393.54L8.373%2011h-.827L2%205.56z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-class-tree-item__toggle-collapsed:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M5.56%2014L5%2013.587V2.393L5.54%202%2011%207.627v.827L5.56%2014z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M5.56%2014L5%2013.587V2.393L5.54%202%2011%207.627v.827L5.56%2014z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-class-tree-item__create-button{cursor:move;margin-left:5px;padding:5px 4px 5px 5px}.reactodia-class-tree-item__create-button:before{content:\"\";background-color:currentColor;width:12px;height:12px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M14%207v1H8v6H7V8H1V7h6V1h1v6h6z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M14%207v1H8v6H7V8H1V7h6V1h1v6h6z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-connections-menu{flex-direction:column;flex:auto;display:flex}.reactodia-connections-menu__breadcrumbs{text-overflow:ellipsis;flex-grow:0;height:30px;min-height:30px;padding:10px 10px 0;overflow:hidden}.reactodia-connections-menu__breadcrumbs-link{color:var(--reactodia-color-primary);cursor:pointer;font-family:unset;font-size:unset;font-weight:unset;background:0 0;border:none;padding:0;text-decoration:none}.reactodia-connections-menu__breadcrumbs-link:hover{text-decoration:underline}.reactodia-connections-menu__search{flex:none;align-items:center;padding:10px}.reactodia-connections-menu__sort-switches{flex:0 0 20px;margin-left:10px}.reactodia-connections-menu__sort-switch{display:none}.reactodia-connections-menu__sort-switch:checked+.reactodia-connections-menu__sort-switch-label{color:var(--reactodia-color-primary-light);opacity:1}.reactodia-connections-menu__sort-switch-label{cursor:pointer;opacity:.4;text-align:center;margin:0;display:block}.reactodia-connections-menu__sort-switch-label:hover{opacity:1}.reactodia-connections-menu__sort-label-alpha:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.223%2010.933c.326.192.699.29%201.077.282a2.159%202.159%200%200%200%201.754-.842%203.291%203.291%200%200%200%20.654-2.113%202.886%202.886%200%200%200-.576-1.877%201.99%201.99%200%200%200-1.634-.733%202.294%202.294%200%200%200-1.523.567V3.475h-.991V11.1h.995v-.344c.076.066.158.125.244.177zM7.85%206.7c.186-.079.388-.113.59-.1a1.08%201.08%200%200%201%20.896.428c.257.363.382.802.357%201.245a2.485%202.485%200%200%201-.4%201.484%201.133%201.133%200%200%201-.96.508%201.224%201.224%200%200%201-.976-.417A1.522%201.522%200%200%201%206.975%208.8v-.6a1.722%201.722%200%200%201%20.393-1.145c.13-.154.296-.276.482-.355zM3.289%205.675a3.03%203.03%200%200%200-.937.162%202.59%202.59%200%200%200-.8.4l-.1.077v1.2l.423-.359a2.1%202.1%200%200%201%201.366-.572.758.758%200%200%201%20.661.282c.15.232.23.503.231.779L2.9%207.825a2.6%202.6%200%200%200-1.378.575%201.65%201.65%200%200%200-.022%202.336%201.737%201.737%200%200%200%201.253.454%201.96%201.96%200%200%200%201.107-.332c.102-.068.197-.145.286-.229v.444h.941V7.715a2.193%202.193%200%200%200-.469-1.5%201.687%201.687%200%200%200-1.329-.54zm.857%203.041c.02.418-.12.829-.391%201.148a1.221%201.221%200%200%201-.955.422.832.832%200%200%201-.608-.2.833.833%200%200%201%200-1.091c.281-.174.6-.277.93-.3l1.02-.148.004.169zm8.313%202.317c.307.13.64.193.973.182.495.012.983-.114%201.41-.365l.123-.075.013-.007V9.615l-.446.32c-.316.224-.696.34-1.084.329A1.3%201.3%200%200%201%2012.4%209.8a1.975%201.975%200%200%201-.4-1.312%202.01%202.01%200%200%201%20.453-1.381A1.432%201.432%200%200%201%2013.6%206.6a1.8%201.8%200%200%201%20.971.279l.43.265V5.97l-.17-.073a2.9%202.9%200%200%200-1.17-.247%202.52%202.52%200%200%200-1.929.817%202.9%202.9%200%200%200-.747%202.049c-.028.707.21%201.4.67%201.939.222.249.497.446.804.578z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.223%2010.933c.326.192.699.29%201.077.282a2.159%202.159%200%200%200%201.754-.842%203.291%203.291%200%200%200%20.654-2.113%202.886%202.886%200%200%200-.576-1.877%201.99%201.99%200%200%200-1.634-.733%202.294%202.294%200%200%200-1.523.567V3.475h-.991V11.1h.995v-.344c.076.066.158.125.244.177zM7.85%206.7c.186-.079.388-.113.59-.1a1.08%201.08%200%200%201%20.896.428c.257.363.382.802.357%201.245a2.485%202.485%200%200%201-.4%201.484%201.133%201.133%200%200%201-.96.508%201.224%201.224%200%200%201-.976-.417A1.522%201.522%200%200%201%206.975%208.8v-.6a1.722%201.722%200%200%201%20.393-1.145c.13-.154.296-.276.482-.355zM3.289%205.675a3.03%203.03%200%200%200-.937.162%202.59%202.59%200%200%200-.8.4l-.1.077v1.2l.423-.359a2.1%202.1%200%200%201%201.366-.572.758.758%200%200%201%20.661.282c.15.232.23.503.231.779L2.9%207.825a2.6%202.6%200%200%200-1.378.575%201.65%201.65%200%200%200-.022%202.336%201.737%201.737%200%200%200%201.253.454%201.96%201.96%200%200%200%201.107-.332c.102-.068.197-.145.286-.229v.444h.941V7.715a2.193%202.193%200%200%200-.469-1.5%201.687%201.687%200%200%200-1.329-.54zm.857%203.041c.02.418-.12.829-.391%201.148a1.221%201.221%200%200%201-.955.422.832.832%200%200%201-.608-.2.833.833%200%200%201%200-1.091c.281-.174.6-.277.93-.3l1.02-.148.004.169zm8.313%202.317c.307.13.64.193.973.182.495.012.983-.114%201.41-.365l.123-.075.013-.007V9.615l-.446.32c-.316.224-.696.34-1.084.329A1.3%201.3%200%200%201%2012.4%209.8a1.975%201.975%200%200%201-.4-1.312%202.01%202.01%200%200%201%20.453-1.381A1.432%201.432%200%200%201%2013.6%206.6a1.8%201.8%200%200%201%20.971.279l.43.265V5.97l-.17-.073a2.9%202.9%200%200%200-1.17-.247%202.52%202.52%200%200%200-1.929.817%202.9%202.9%200%200%200-.747%202.049c-.028.707.21%201.4.67%201.939.222.249.497.446.804.578z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-connections-menu__sort-label-smart:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M11.67%208.658a3.661%203.661%200%200%200-.781%201.114%203.28%203.28%200%200%200-.268%201.329v1.6a1.304%201.304%200%200%201-.794%201.197%201.282%201.282%200%200%201-.509.102H7.712a1.285%201.285%200%200%201-.922-.379%201.303%201.303%200%200%201-.38-.92v-1.6c0-.479-.092-.921-.274-1.329a3.556%203.556%200%200%200-.776-1.114%204.689%204.689%200%200%201-1.006-1.437A4.187%204.187%200%200%201%204%205.5a4.432%204.432%200%200%201%20.616-2.27c.197-.336.432-.64.705-.914a4.6%204.6%200%200%201%20.911-.702c.338-.196.7-.348%201.084-.454a4.45%204.45%200%200%201%201.2-.16%204.476%204.476%200%200%201%202.276.614%204.475%204.475%200%200%201%201.622%201.616%204.438%204.438%200%200%201%20.616%202.27c0%20.617-.117%201.191-.353%201.721a4.69%204.69%200%200%201-1.006%201.437zM9.623%2010.5H7.409v2.201c0%20.081.028.15.09.212a.29.29%200%200%200%20.213.09h1.606a.289.289%200%200%200%20.213-.09.286.286%200%200%200%20.09-.212V10.5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M11.67%208.658a3.661%203.661%200%200%200-.781%201.114%203.28%203.28%200%200%200-.268%201.329v1.6a1.304%201.304%200%200%201-.794%201.197%201.282%201.282%200%200%201-.509.102H7.712a1.285%201.285%200%200%201-.922-.379%201.303%201.303%200%200%201-.38-.92v-1.6c0-.479-.092-.921-.274-1.329a3.556%203.556%200%200%200-.776-1.114%204.689%204.689%200%200%201-1.006-1.437A4.187%204.187%200%200%201%204%205.5a4.432%204.432%200%200%201%20.616-2.27c.197-.336.432-.64.705-.914a4.6%204.6%200%200%201%20.911-.702c.338-.196.7-.348%201.084-.454a4.45%204.45%200%200%201%201.2-.16%204.476%204.476%200%200%201%202.276.614%204.475%204.475%200%200%201%201.622%201.616%204.438%204.438%200%200%201%20.616%202.27c0%20.617-.117%201.191-.353%201.721a4.69%204.69%200%200%201-1.006%201.437zM9.623%2010.5H7.409v2.201c0%20.081.028.15.09.212a.29.29%200%200%200%20.213.09h1.606a.289.289%200%200%200%20.213-.09.286.286%200%200%200%20.09-.212V10.5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-connections-menu__spinner{align-self:center;margin:auto}.reactodia-connections-menu__links-list{border-top:1px solid var(--reactodia-border-color-base);flex-grow:1;padding:5px;overflow:hidden auto}.reactodia-connections-menu__links-list-empty{align-items:center;display:flex}.reactodia-connections-menu__links-root{margin:0;padding:0;list-style-type:none}.reactodia-connections-menu__links-item{display:contents}.reactodia-connections-menu__links-no-results{width:100%;color:var(--reactodia-color-emphasis-400);text-align:center;font-size:x-large;font-weight:700}.reactodia-connections-menu__links-probably-label{margin:5px 0;font-weight:700}.reactodia-connections-menu__links-list-hr{border:0;border-top:1px solid var(--reactodia-border-color-base);height:0;margin-top:6px;margin-bottom:6px}.reactodia-connections-menu__link{background:var(--reactodia-color-emphasis-200);border-radius:var(--reactodia-border-radius-s);margin-bottom:4px;display:flex;position:relative}.reactodia-connections-menu__link:hover{background-color:var(--reactodia-color-emphasis-400)}.reactodia-connections-menu__link-button{border:unset;font-family:unset;font-size:unset;text-align:start;background:0 0;flex:auto;align-items:center;height:30px;padding:0 5px 0 0;display:flex;overflow:hidden}.reactodia-connections-menu__link-direction{flex-shrink:0;align-items:center;min-height:30px;padding:5px 0 5px 10px;display:flex}.reactodia-connections-menu__link:not(:hover) .reactodia-connections-menu__link-direction{background:var(--reactodia-color-emphasis-300)}.reactodia-connections-menu__link-direction-in,.reactodia-connections-menu__link-direction-out{opacity:.5;background-color:currentColor;flex-shrink:0;width:20px;height:20px;-webkit-mask-position:0 0;mask-position:0 0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.reactodia-connections-menu__link-direction-in{margin:0 14px 0 0;-webkit-mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='m%205.9,6%20h%20-1%20V%203%20h%2010%20v%2010%20h%20-10%20v%20-3%20h%201%20v%202%20h%208%20V%204%20h%20-8%20z'%20/%3e%3cpath%20d='M%201.5,7.5%20H%207.771919%20L%206.44298,6%207.10745,5.25%209.4,7.8376461%20V%208.1623539%20L%207.10745,10.75%206.44298,10%207.771919,8.5%20H%201.5%20Z'%20/%3e%3c/svg%3e\");mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='m%205.9,6%20h%20-1%20V%203%20h%2010%20v%2010%20h%20-10%20v%20-3%20h%201%20v%202%20h%208%20V%204%20h%20-8%20z'%20/%3e%3cpath%20d='M%201.5,7.5%20H%207.771919%20L%206.44298,6%207.10745,5.25%209.4,7.8376461%20V%208.1623539%20L%207.10745,10.75%206.44298,10%207.771919,8.5%20H%201.5%20Z'%20/%3e%3c/svg%3e\")}.reactodia-connections-menu__link-direction-out{margin:0 8px 0 6px;-webkit-mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='m%2010.5,6%20h%201%20V%203%20h%20-10%20v%2010%20h%2010%20v%20-3%20h%20-1%20v%202%20h%20-8%20V%204%20h%208%20z'%20/%3e%3cpath%20d='m%207,7.5%20h%206.271919%20L%2011.94298,6%2012.60745,5.25%2014.9,7.8376461%20V%208.1623539%20L%2012.60745,10.75%2011.94298,10%2013.271919,8.5%20H%207%20Z'%20/%3e%3c/svg%3e\");mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='m%2010.5,6%20h%201%20V%203%20h%20-10%20v%2010%20h%2010%20v%20-3%20h%20-1%20v%202%20h%20-8%20V%204%20h%208%20z'%20/%3e%3cpath%20d='m%207,7.5%20h%206.271919%20L%2011.94298,6%2012.60745,5.25%2014.9,7.8376461%20V%208.1623539%20L%2012.60745,10.75%2011.94298,10%2013.271919,8.5%20H%207%20Z'%20/%3e%3c/svg%3e\")}.reactodia-connections-menu__link-title{text-overflow:ellipsis;white-space:nowrap;flex-grow:1;margin:5px 0 5px 5px;overflow:hidden}.reactodia-connections-menu__link-count{flex-shrink:0;margin-left:10px}.reactodia-connections-menu__link-navigate-button{float:right;opacity:.5;background-color:currentColor;flex-shrink:0;width:20px;min-width:16px;height:20px;margin-left:10px;-webkit-mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10.072%208.024L5.715%203.667l.618-.62L11%207.716v.618L6.333%2013l-.618-.619%204.357-4.357z'/%3e%3c/svg%3e\");mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10.072%208.024L5.715%203.667l.618-.62L11%207.716v.618L6.333%2013l-.618-.619%204.357-4.357z'/%3e%3c/svg%3e\");-webkit-mask-size:cover;mask-size:cover}.reactodia-connections-menu__link-navigate-button:hover{opacity:1}.reactodia-connections-menu__link-filter-spacer{flex-shrink:0;width:20px;height:20px;margin-left:10px}.reactodia-connections-menu__link-filter-button{background:0 0;border:none;width:20px;height:20px;padding:0;position:absolute;top:calc(50% - 10px);right:35px}.reactodia-connections-menu__link-filter-button:before{content:\"\";opacity:.4;background-color:currentColor;width:100%;height:100%;display:block;-webkit-mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='m%2014.5,3.5%20-1,-1%20m%200,0%20H%202.5%20V%203.0652324%20L%206.9861526,8%207.5,8.5652322%20V%2012.5103%20l%201,-0.733333%20V%208.5489178%20l%205,-5.4999998%20z%20m%200,0.548918%20V%204.6%20m%200,0%20-4,4.4%20v%203.3%20l%20-3,2.2%20V%209%20l%20-5,-5.5%20v%20-2%20h%2013%20v%202'%20/%3e%3cpath%20d='M%203.0187424,8%20H%204%20v%201.5%20h%201.5%20v%201%20L%204,10.467287%20V%2012%20H%203%20V%2010.5%20H%201.5%20v%20-1%20H%203%20Z'%20/%3e%3c/svg%3e\");mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='m%2014.5,3.5%20-1,-1%20m%200,0%20H%202.5%20V%203.0652324%20L%206.9861526,8%207.5,8.5652322%20V%2012.5103%20l%201,-0.733333%20V%208.5489178%20l%205,-5.4999998%20z%20m%200,0.548918%20V%204.6%20m%200,0%20-4,4.4%20v%203.3%20l%20-3,2.2%20V%209%20l%20-5,-5.5%20v%20-2%20h%2013%20v%202'%20/%3e%3cpath%20d='M%203.0187424,8%20H%204%20v%201.5%20h%201.5%20v%201%20L%204,10.467287%20V%2012%20H%203%20V%2010.5%20H%201.5%20v%20-1%20H%203%20Z'%20/%3e%3c/svg%3e\");-webkit-mask-size:20px 20px;mask-size:20px 20px}.reactodia-connections-menu__link-filter-button:hover:before{opacity:1}.reactodia-connections-menu__move-to-filter{cursor:pointer;-webkit-user-select:none;user-select:none;padding:5px 10px;display:flex}.reactodia-connections-menu__move-to-filter:hover{color:var(--reactodia-button-default-color-focus);background-color:var(--reactodia-button-default-background-color-focus)}.reactodia-connections-menu__objects{flex-direction:column;flex-grow:1;padding:0 10px 10px;display:flex;position:relative}.reactodia-connections-menu__objects-select-all{white-space:nowrap;margin-bottom:5px;display:flex}.reactodia-connections-menu__objects-select-all input{margin-right:5px}.reactodia-connections-menu__objects-select-all input:disabled{opacity:.3}.reactodia-connections-menu__objects-loading,.reactodia-connections-menu__objects-no-results{border:1px solid var(--reactodia-color-emphasis-400);flex-grow:1;justify-content:center;align-items:center;margin-bottom:5px;display:flex}.reactodia-connections-menu__objects-no-results{color:var(--reactodia-color-emphasis-400);font-size:x-large;font-weight:700;position:relative}.reactodia-connections-menu__objects-list{border:var(--reactodia-border-width-base) solid var(--reactodia-border-color-base);border-radius:var(--reactodia-border-radius-base);flex-grow:1;height:0;margin-bottom:5px;padding:5px;overflow:hidden scroll}.reactodia-connections-menu__objects-statusbar{white-space:nowrap;justify-content:flex-end;height:25px;display:flex}.reactodia-connections-menu__objects-extra{color:var(--reactodia-color-emphasis-600);cursor:help}.reactodia-connections-menu__objects-spacer{flex:auto}.reactodia-connections-menu__objects-add-button{height:25px;padding-top:1px;padding-bottom:2px}.reactodia-connections-menu__objects-add-button:not(:last-child){margin-right:var(--reactodia-spacing-horizontal)}.reactodia-dialog{background:var(--reactodia-background-color-surface);border:var(--reactodia-dialog-border-width) solid var(--reactodia-dialog-border-color);border-radius:var(--reactodia-dialog-border-radius);box-shadow:var(--reactodia-canvas-box-shadow);flex-direction:column;display:flex;position:absolute}.reactodia-dialog__header{display:flex}.reactodia-dialog__caption{text-overflow:ellipsis;white-space:nowrap;flex:auto;margin:8px 0 0 8px;font-weight:700;overflow:hidden}.reactodia-dialog__close-button{color:var(--reactodia-button-default-color);border-top-left-radius:unset;border-bottom-right-radius:unset;transition:background-color var(--reactodia-transition-duration);background:0 0;border:none;padding:6px}.reactodia-dialog__close-button:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8%208.707l3.646%203.647.708-.707L8.707%208l3.647-3.646-.707-.708L8%207.293%204.354%203.646l-.707.708L7.293%208l-3.646%203.646.707.708L8%208.707z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8%208.707l3.646%203.647.708-.707L8.707%208l3.647-3.646-.707-.708L8%207.293%204.354%203.646l-.707.708L7.293%208l-3.646%203.646.707.708L8%208.707z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-dialog__close-button:hover{color:var(--reactodia-button-default-color-focus);background-color:var(--reactodia-button-default-background-color-focus)}.reactodia-viewport-dialog-overlay{z-index:calc(var(--reactodia-z-index-base) + 60);background-color:var(--reactodia-canvas-overlay-color);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.reactodia-halo{left:calc(var(--reactodia-halo-left) - var(--reactodia-selection-single-box-margin));top:calc(var(--reactodia-halo-top) - var(--reactodia-selection-single-box-margin));width:calc(var(--reactodia-halo-width) + 2 * var(--reactodia-selection-single-box-margin));height:calc(var(--reactodia-halo-height) + 2 * var(--reactodia-selection-single-box-margin));pointer-events:none;border:1.5px dashed var(--reactodia-selection-single-box-color);border-radius:var(--reactodia-border-radius-s);box-shadow:var(--reactodia-selection-single-box-shadow);position:absolute}.reactodia-halo--resizable{border:unset;box-shadow:unset}.reactodia-halo__resizer{--reactodia-resizable-box-border-width:3px;--reactodia-resizable-box-color:var(--reactodia-color-primary-lighter);left:var(--reactodia-selection-single-box-margin);top:var(--reactodia-selection-single-box-margin);right:var(--reactodia-selection-single-box-margin);bottom:var(--reactodia-selection-single-box-margin);position:absolute}.reactodia-halo__resizer>*{pointer-events:all}.reactodia-halo-link__label-highlight{pointer-events:none;border-bottom:2px solid var(--reactodia-selection-link-color);position:absolute}.reactodia-halo-link__path-highlight{fill:none;stroke:var(--reactodia-selection-link-color);stroke-width:4px;opacity:.3}.reactodia-instances-search{flex-direction:column;flex:auto;display:flex;overflow:hidden}.reactodia-instances-search__criteria{flex-shrink:0;margin:10px 0}.reactodia-instances-search--controlled .reactodia-instances-search__criteria{margin-top:0;margin-bottom:0}.reactodia-instances-search__criterions{margin-bottom:10px;padding-left:15px}.reactodia-instances-search__criterions:empty{margin-bottom:0}.reactodia-instances-search__criterion{width:100%;display:block;position:relative}.reactodia-instances-search__criterion-class,.reactodia-instances-search__criterion-element,.reactodia-instances-search__criterion-link-type{border:var(--reactodia-color-primary) 1px dashed;color:var(--reactodia-color-primary-contrast-foreground);background-color:var(--reactodia-color-primary-contrast-background);word-wrap:break-word;padding:0 .5em}.reactodia-instances-search__link-direction-in,.reactodia-instances-search__link-direction-out{opacity:.5;vertical-align:middle;background-color:currentColor;width:1em;height:1em;display:inline-block;-webkit-mask-position:0 0;mask-position:0 0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.reactodia-instances-search__link-direction-in{-webkit-mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='m%205.9,6%20h%20-1%20V%203%20h%2010%20v%2010%20h%20-10%20v%20-3%20h%201%20v%202%20h%208%20V%204%20h%20-8%20z'%20/%3e%3cpath%20d='M%201.5,7.5%20H%207.771919%20L%206.44298,6%207.10745,5.25%209.4,7.8376461%20V%208.1623539%20L%207.10745,10.75%206.44298,10%207.771919,8.5%20H%201.5%20Z'%20/%3e%3c/svg%3e\");mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='m%205.9,6%20h%20-1%20V%203%20h%2010%20v%2010%20h%20-10%20v%20-3%20h%201%20v%202%20h%208%20V%204%20h%20-8%20z'%20/%3e%3cpath%20d='M%201.5,7.5%20H%207.771919%20L%206.44298,6%207.10745,5.25%209.4,7.8376461%20V%208.1623539%20L%207.10745,10.75%206.44298,10%207.771919,8.5%20H%201.5%20Z'%20/%3e%3c/svg%3e\")}.reactodia-instances-search__link-direction-out{-webkit-mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='m%2010.5,6%20h%201%20V%203%20h%20-10%20v%2010%20h%2010%20v%20-3%20h%20-1%20v%202%20h%20-8%20V%204%20h%208%20z'%20/%3e%3cpath%20d='m%207,7.5%20h%206.271919%20L%2011.94298,6%2012.60745,5.25%2014.9,7.8376461%20V%208.1623539%20L%2012.60745,10.75%2011.94298,10%2013.271919,8.5%20H%207%20Z'%20/%3e%3c/svg%3e\");mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='m%2010.5,6%20h%201%20V%203%20h%20-10%20v%2010%20h%2010%20v%20-3%20h%20-1%20v%202%20h%20-8%20V%204%20h%208%20z'%20/%3e%3cpath%20d='m%207,7.5%20h%206.271919%20L%2011.94298,6%2012.60745,5.25%2014.9,7.8376461%20V%208.1623539%20L%2012.60745,10.75%2011.94298,10%2013.271919,8.5%20H%207%20Z'%20/%3e%3c/svg%3e\")}.reactodia-instances-search__criterion-remove{float:right;margin:0 10px 4px 4px}.reactodia-instances-search__criterion-remove-button:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8%208.707l3.646%203.647.708-.707L8.707%208l3.647-3.646-.707-.708L8%207.293%204.354%203.646l-.707.708L7.293%208l-3.646%203.646.707.708L8%208.707z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8%208.707l3.646%203.647.708-.707L8.707%208l3.647-3.646-.707-.708L8%207.293%204.354%203.646l-.707.708L7.293%208l-3.646%203.646.707.708L8%208.707z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-instances-search__text-criteria{margin:0 10px}.reactodia-instances-search__search-button{height:34px}.reactodia-instances-search__search-button:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M15.25%200a8.25%208.25%200%200%200-6.18%2013.72L1%2022.88l1.12%201%208.05-9.12A8.251%208.251%200%201%200%2015.25.01V0zm0%2015a6.75%206.75%200%201%201%200-13.5%206.75%206.75%200%200%201%200%2013.5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M15.25%200a8.25%208.25%200%200%200-6.18%2013.72L1%2022.88l1.12%201%208.05-9.12A8.251%208.251%200%201%200%2015.25.01V0zm0%2015a6.75%206.75%200%201%201%200-13.5%206.75%206.75%200%200%201%200%2013.5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-instances-search__rest{border-top:1px solid var(--reactodia-border-color-base);padding:10px 10px 0}.reactodia-instances-search__results{outline:none;margin:0 10px;padding-top:10px;padding-left:0}.reactodia-instances-search__rest-end{margin:5px 0 10px}.reactodia-instances-search__load-more{justify-content:center;align-items:center;width:100%;display:flex}.reactodia-instances-search__load-more:before{content:\"\";background-color:currentColor;width:16px;height:16px;margin-right:5px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.976%2010.072l4.357-4.357.62.618L8.284%2011h-.618L3%206.333l.619-.618%204.357%204.357z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.976%2010.072l4.357-4.357.62.618L8.284%2011h-.618L3%206.333l.619-.618%204.357%204.357z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-instances-search__actions{justify-content:flex-end;gap:var(--reactodia-spacing-horizontal);border-top:1px solid var(--reactodia-border-color-base);height:40px;transition:height .2s;display:flex}.reactodia-instances-search__actions-hidden{visibility:hidden;height:0;padding:0}.reactodia-instances-search__action{margin-top:6px;margin-bottom:6px;margin-left:6px;padding-top:1px;padding-bottom:2px}.reactodia-instances-search__action:last-child{margin-right:6px}.reactodia-link-action{cursor:pointer;opacity:.8;transition:opacity var(--reactodia-transition-duration);border:0;outline:none;padding:0;position:absolute}.reactodia-link-action:hover{opacity:1}.reactodia-link-action[disabled]{cursor:not-allowed;opacity:.5}.reactodia-link-action__spinner{position:absolute}.reactodia-link-action__button{background-color:var(--reactodia-color-gray-400);border-radius:calc(var(--reactodia-link-button-size) * .5);height:var(--reactodia-link-button-size);width:var(--reactodia-link-button-size);background-position:50%;background-repeat:no-repeat;background-size:65%}.reactodia-link-action__endpoint{touch-action:none;color:var(--reactodia-color-primary);background:0 0}.reactodia-link-action__edit{background-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M13.23%201h-1.46L3.52%209.25l-.16.22L1%2013.59%202.41%2015l4.12-2.36.22-.16L15%204.23V2.77L13.23%201zM2.41%2013.59l1.51-3%201.45%201.45-2.96%201.55zm3.83-2.06L4.47%209.76l8-8%201.77%201.77-8%208z'/%3e%3c/svg%3e\")}.reactodia-link-action__delete{background-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10%203h3v1h-1v9l-1%201H4l-1-1V4H2V3h3V2a1%201%200%200%201%201-1h3a1%201%200%200%201%201%201v1zM9%202H6v1h3V2zM4%2013h7V4H4v9zm2-8H5v7h1V5zm1%200h1v7H7V5zm2%200h1v7H9V5z'/%3e%3c/svg%3e\")}.reactodia-link-action__rename{filter:invert(100%) var(--reactodia-selection-icon-filter);border-radius:var(--reactodia-border-radius-s);cursor:pointer;opacity:.5;transition:opacity var(--reactodia-transition-duration);background:#fff url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M13.23%201h-1.46L3.52%209.25l-.16.22L1%2013.59%202.41%2015l4.12-2.36.22-.16L15%204.23V2.77L13.23%201zM2.41%2013.59l1.51-3%201.45%201.45-2.96%201.55zm3.83-2.06L4.47%209.76l8-8%201.77%201.77-8%208z'/%3e%3c/svg%3e\") 50%/80% no-repeat;border:0;outline:none;margin-left:5px;padding:0;position:absolute}.reactodia-link-action__rename:hover{opacity:1}.reactodia-links-toolbox{flex-direction:column;flex:auto;margin-bottom:0;display:flex}.reactodia-links-toolbox__heading{padding:10px}.reactodia-links-toolbox__filter{margin-bottom:5px}.reactodia-links-toolbox__rest{border-top:1px solid var(--reactodia-border-color-base);flex-direction:column;flex:auto;display:flex}.reactodia-links-toolbox__toggle-invisible:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M1.47978%201.4797C1.30227%201.65721%201.28614%201.93498%201.43137%202.13072L1.47978%202.1868L4.1695%204.87652C2.88817%205.77616%201.93052%207.11985%201.53259%208.70952C1.46554%208.97738%201.62834%209.24892%201.89621%209.31598C2.16409%209.38298%202.4356%209.22025%202.50266%208.95232C2.85564%207.54225%203.72742%206.35956%204.88944%205.59626L6.09586%206.80278C5.62419%207.28378%205.33334%207.94278%205.33334%208.66965C5.33334%2010.1424%206.52724%2011.3363%208%2011.3363C8.72694%2011.3363%209.38587%2011.0454%209.86694%2010.5738L13.8131%2014.5201C14.0084%2014.7154%2014.3249%2014.7154%2014.5202%2014.5201C14.6977%2014.3426%2014.7139%2014.0649%2014.5686%2013.8691L14.5202%2013.813L10.4445%209.73692L10.4453%209.73592L9.64527%208.93732L7.732%207.02445L7.73334%207.02392L5.81252%205.10513L5.81334%205.10392L5.05782%204.35024L2.18689%201.4797C1.99163%201.28444%201.67504%201.28444%201.47978%201.4797ZM6.80274%207.51025L9.15947%209.86698C8.85947%2010.1575%208.4506%2010.3363%208%2010.3363C7.07954%2010.3363%206.33334%209.59012%206.33334%208.66965C6.33334%208.21905%206.51216%207.81018%206.80274%207.51025ZM8%203.66658C7.33314%203.66658%206.68607%203.7653%206.07406%203.94992L6.89874%204.77404C7.25594%204.70346%207.62427%204.66658%208%204.66658C10.6154%204.66658%2012.8733%206.45342%2013.4981%208.95538C13.565%209.22325%2013.8364%209.38618%2014.1043%209.31932C14.3723%209.25238%2014.5352%208.98098%2014.4683%208.71305C13.7329%205.7684%2011.077%203.66658%208%203.66658ZM8.1298%206.0061L10.664%208.53992C10.5961%207.16865%209.49814%206.07168%208.1298%206.0061Z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M1.47978%201.4797C1.30227%201.65721%201.28614%201.93498%201.43137%202.13072L1.47978%202.1868L4.1695%204.87652C2.88817%205.77616%201.93052%207.11985%201.53259%208.70952C1.46554%208.97738%201.62834%209.24892%201.89621%209.31598C2.16409%209.38298%202.4356%209.22025%202.50266%208.95232C2.85564%207.54225%203.72742%206.35956%204.88944%205.59626L6.09586%206.80278C5.62419%207.28378%205.33334%207.94278%205.33334%208.66965C5.33334%2010.1424%206.52724%2011.3363%208%2011.3363C8.72694%2011.3363%209.38587%2011.0454%209.86694%2010.5738L13.8131%2014.5201C14.0084%2014.7154%2014.3249%2014.7154%2014.5202%2014.5201C14.6977%2014.3426%2014.7139%2014.0649%2014.5686%2013.8691L14.5202%2013.813L10.4445%209.73692L10.4453%209.73592L9.64527%208.93732L7.732%207.02445L7.73334%207.02392L5.81252%205.10513L5.81334%205.10392L5.05782%204.35024L2.18689%201.4797C1.99163%201.28444%201.67504%201.28444%201.47978%201.4797ZM6.80274%207.51025L9.15947%209.86698C8.85947%2010.1575%208.4506%2010.3363%208%2010.3363C7.07954%2010.3363%206.33334%209.59012%206.33334%208.66965C6.33334%208.21905%206.51216%207.81018%206.80274%207.51025ZM8%203.66658C7.33314%203.66658%206.68607%203.7653%206.07406%203.94992L6.89874%204.77404C7.25594%204.70346%207.62427%204.66658%208%204.66658C10.6154%204.66658%2012.8733%206.45342%2013.4981%208.95538C13.565%209.22325%2013.8364%209.38618%2014.1043%209.31932C14.3723%209.25238%2014.5352%208.98098%2014.4683%208.71305C13.7329%205.7684%2011.077%203.66658%208%203.66658ZM8.1298%206.0061L10.664%208.53992C10.5961%207.16865%209.49814%206.07168%208.1298%206.0061Z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-links-toolbox__toggle-lines-only:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M3%209l2.146%202.146-.707.708-3-3v-.708l3-3%20.707.708L3%208h10l-2.146-2.146.707-.708%203%203v.708l-3%203-.707-.707L13%209H3z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M3%209l2.146%202.146-.707.708-3-3v-.708l3-3%20.707.708L3%208h10l-2.146-2.146.707-.708%203%203v.708l-3%203-.707-.707L13%209H3z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-links-toolbox__toggle-visible:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M7.99993%206.00316C9.47266%206.00316%2010.6666%207.19708%2010.6666%208.66981C10.6666%2010.1426%209.47266%2011.3365%207.99993%2011.3365C6.52715%2011.3365%205.33324%2010.1426%205.33324%208.66981C5.33324%207.19708%206.52715%206.00316%207.99993%206.00316ZM7.99993%207.00315C7.07946%207.00315%206.33324%207.74935%206.33324%208.66981C6.33324%209.59028%207.07946%2010.3365%207.99993%2010.3365C8.9204%2010.3365%209.6666%209.59028%209.6666%208.66981C9.6666%207.74935%208.9204%207.00315%207.99993%207.00315ZM7.99993%203.66675C11.0756%203.66675%2013.7307%205.76675%2014.4673%208.70968C14.5344%208.97755%2014.3716%209.24908%2014.1037%209.31615C13.8358%209.38315%2013.5643%209.22041%2013.4973%208.95248C12.8713%206.45205%2010.6141%204.66675%207.99993%204.66675C5.38454%204.66675%203.12664%206.45359%202.50182%208.95555C2.43491%209.22341%202.16348%209.38635%201.89557%209.31948C1.62766%209.25255%201.46471%208.98115%201.53162%208.71321C2.26701%205.76856%204.9229%203.66675%207.99993%203.66675Z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M7.99993%206.00316C9.47266%206.00316%2010.6666%207.19708%2010.6666%208.66981C10.6666%2010.1426%209.47266%2011.3365%207.99993%2011.3365C6.52715%2011.3365%205.33324%2010.1426%205.33324%208.66981C5.33324%207.19708%206.52715%206.00316%207.99993%206.00316ZM7.99993%207.00315C7.07946%207.00315%206.33324%207.74935%206.33324%208.66981C6.33324%209.59028%207.07946%2010.3365%207.99993%2010.3365C8.9204%2010.3365%209.6666%209.59028%209.6666%208.66981C9.6666%207.74935%208.9204%207.00315%207.99993%207.00315ZM7.99993%203.66675C11.0756%203.66675%2013.7307%205.76675%2014.4673%208.70968C14.5344%208.97755%2014.3716%209.24908%2014.1037%209.31615C13.8358%209.38315%2013.5643%209.22041%2013.4973%208.95248C12.8713%206.45205%2010.6141%204.66675%207.99993%204.66675C5.38454%204.66675%203.12664%206.45359%202.50182%208.95555C2.43491%209.22341%202.16348%209.38635%201.89557%209.31948C1.62766%209.25255%201.46471%208.98115%201.53162%208.71321C2.26701%205.76856%204.9229%203.66675%207.99993%203.66675Z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-links-toolbox__links-heading{margin:4px 6px;font-size:14px;font-weight:700}.reactodia-links-toolbox__links-heading>*{font-weight:400}.reactodia-links-toolbox__links{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.reactodia-links-toolbox__link-item{word-break:break-word;padding:0 0 0 5px}.reactodia-links-toolbox__link-item:last-child{margin-bottom:0}.reactodia-links-toolbox__link-item>div{display:inline}.reactodia-links-toolbox__link-title{font-size:16px;display:inline}.reactodia-links-toolbox__link-buttons{float:left;margin-top:2px;margin-bottom:2px;margin-right:6px}.reactodia-links-toolbox__filter-button{float:right;cursor:pointer;opacity:.4;width:20px;height:20px;transition:opacity var(--reactodia-transition-duration);background-color:currentColor;margin:3px;display:none;-webkit-mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='m%2014.5,3.5%20-1,-1%20m%200,0%20H%202.5%20V%203.0652324%20L%206.9861526,8%207.5,8.5652322%20V%2012.5103%20l%201,-0.733333%20V%208.5489178%20l%205,-5.4999998%20z%20m%200,0.548918%20V%204.6%20m%200,0%20-4,4.4%20v%203.3%20l%20-3,2.2%20V%209%20l%20-5,-5.5%20v%20-2%20h%2013%20v%202'%20/%3e%3cpath%20d='M%203.0187424,8%20H%204%20v%201.5%20h%201.5%20v%201%20L%204,10.467287%20V%2012%20H%203%20V%2010.5%20H%201.5%20v%20-1%20H%203%20Z'%20/%3e%3c/svg%3e\");mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='m%2014.5,3.5%20-1,-1%20m%200,0%20H%202.5%20V%203.0652324%20L%206.9861526,8%207.5,8.5652322%20V%2012.5103%20l%201,-0.733333%20V%208.5489178%20l%205,-5.4999998%20z%20m%200,0.548918%20V%204.6%20m%200,0%20-4,4.4%20v%203.3%20l%20-3,2.2%20V%209%20l%20-5,-5.5%20v%20-2%20h%2013%20v%202'%20/%3e%3cpath%20d='M%203.0187424,8%20H%204%20v%201.5%20h%201.5%20v%201%20L%204,10.467287%20V%2012%20H%203%20V%2010.5%20H%201.5%20v%20-1%20H%203%20Z'%20/%3e%3c/svg%3e\");-webkit-mask-size:20px 20px;mask-size:20px 20px}.reactodia-links-toolbox__link-item:hover .reactodia-links-toolbox__filter-button{opacity:1}.reactodia-links-toolbox__no-results{margin-top:10px}.reactodia-navigator{background:var(--reactodia-navigator-background-fill);border:var(--reactodia-border-width-base) solid var(--reactodia-border-color-base);border-radius:var(--reactodia-border-radius-s);box-shadow:var(--reactodia-canvas-box-shadow);display:block;overflow:hidden}.reactodia-navigator--animated{transition:width var(--reactodia-transition-duration), height var(--reactodia-transition-duration)}.reactodia-navigator--collapsed{width:24px;height:24px}.reactodia-navigator>canvas{transition:opacity var(--reactodia-transition-duration)}.reactodia-navigator--expanded>canvas{opacity:1}.reactodia-navigator--collapsed>canvas{opacity:0}.reactodia-navigator__toggle{outline-offset:-5px;opacity:.5;transition:opacity var(--reactodia-transition-duration);background:0 0;border:none;padding:4px;position:absolute}.reactodia-navigator__toggle:not(:disabled):hover{opacity:1}.reactodia-navigator__toggle:disabled{opacity:.2}.reactodia-navigator--expanded .reactodia-navigator__toggle{top:5px;left:5px}.reactodia-navigator--collapsed .reactodia-navigator__toggle{top:0;left:0}.reactodia-navigator__toggle-icon{width:18px;height:18px;-webkit-mask-size:18px 18px;mask-size:18px 18px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.reactodia-navigator--expanded .reactodia-navigator__toggle-icon{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M10%207v1H5V7h5z'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M1.5%201h12l.5.5v12l-.5.5h-12l-.5-.5v-12l.5-.5zM2%2013h11V2H2v11z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M10%207v1H5V7h5z'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M1.5%201h12l.5.5v12l-.5.5h-12l-.5-.5v-12l.5-.5zM2%2013h11V2H2v11z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-navigator--collapsed .reactodia-navigator__toggle-icon{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M1.5%201h12l.5.5v12l-.5.5h-12l-.5-.5v-12l.5-.5zM2%2013h11V2H2v11z'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8%204H7v3H4v1h3v3h1V8h3V7H8V4z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M1.5%201h12l.5.5v12l-.5.5h-12l-.5-.5v-12l.5-.5zM2%2013h11V2H2v11z'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8%204H7v3H4v1h3v3h1V8h3V7H8V4z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-selection{--reactodia-dock-margin-x:2px;--reactodia-dock-margin-y:2px;position:absolute}.reactodia-selection__selectedBox{touch-action:none;border-radius:var(--reactodia-border-radius-s);box-shadow:var(--reactodia-selection-multiple-box-shadow);cursor:move;-webkit-user-select:none;user-select:none;background-color:#ffa6000f;border:1px solid orange;position:absolute}.reactodia-selection__selectedActions{position:absolute}.reactodia-selection__selectedItem{background-color:#ffa60029;border:1px dashed orange;position:absolute}.reactodia-selection__highlightedBox{border-radius:var(--reactodia-border-radius-s);background-color:#00dbff21;border:2px dashed #00b3d1;position:absolute}.reactodia-selection__highlightedItem{background:#00bc7e54;border:1px dashed #00bc7e;position:absolute}.reactodia-selection-action{cursor:pointer;pointer-events:auto;width:20px;height:20px;filter:var(--reactodia-selection-icon-filter);opacity:.5;transition:opacity var(--reactodia-transition-duration);background-color:#0000;background-position:50%;background-repeat:no-repeat;background-size:contain;border:0;outline:none;padding:0;position:absolute}.reactodia-selection-action:hover{opacity:1}.reactodia-selection-action[disabled]{cursor:not-allowed;opacity:.2}.reactodia-selection-action--dock-nw{left:calc(-22px - var(--reactodia-dock-margin-x,0px) + var(--reactodia-dock-x) * 22px);top:calc(-22px - var(--reactodia-dock-margin-y,0px) + var(--reactodia-dock-y) * 22px)}.reactodia-selection-action--dock-n{margin-left:calc(-11px - var(--reactodia-dock-margin-x,0px) + var(--reactodia-dock-x) * 22px);left:50%;top:calc(-11px - var(--reactodia-dock-margin-y,0px) + var(--reactodia-dock-y) * 22px)}.reactodia-selection-action--dock-ne{right:calc(-22px - var(--reactodia-dock-margin-x,0px) + var(--reactodia-dock-x) * 22px);top:calc(-22px - var(--reactodia-dock-margin-y,0px) + var(--reactodia-dock-y) * 22px)}.reactodia-selection-action--dock-e{right:calc(-22px - var(--reactodia-dock-margin-x,0px) + var(--reactodia-dock-x) * 22px);margin-top:calc(-11px - var(--reactodia-dock-margin-y,0px) + var(--reactodia-dock-y) * 22px);top:50%}.reactodia-selection-action--dock-se{right:calc(-22px - var(--reactodia-dock-margin-x,0px) + var(--reactodia-dock-x) * 22px);bottom:calc(-22px - var(--reactodia-dock-margin-y,0px) + var(--reactodia-dock-y) * 22px)}.reactodia-selection-action--dock-s{margin-left:calc(-11px - var(--reactodia-dock-margin-x,0px) + var(--reactodia-dock-x) * 22px);left:50%;bottom:calc(-22px - var(--reactodia-dock-margin-y,0px) + var(--reactodia-dock-y) * 22px)}.reactodia-selection-action--dock-sw{left:calc(-22px - var(--reactodia-dock-margin-x,0px) + var(--reactodia-dock-x) * 22px);bottom:calc(-22px - var(--reactodia-dock-margin-y,0px) + var(--reactodia-dock-y) * 22px)}.reactodia-selection-action--dock-w{left:calc(-22px - var(--reactodia-dock-margin-x,0px) + var(--reactodia-dock-x) * 22px);margin-top:calc(-11px - var(--reactodia-dock-margin-y,0px) + var(--reactodia-dock-y) * 22px);top:50%}.reactodia-selection-action__spinner{width:20px;height:20px;position:absolute}.reactodia-selection-action__remove{background-image:url(\"data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3csvg%20xmlns:svg='http://www.w3.org/2000/svg'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20110%20110'%20version='1.1'%20width='500'%20height='500'%3e%3cpath%20d='M%2082.182422,8.0521107%20C%2056.44775,-6.9018137%2023.463185,1.8377258%208.5092706,27.57238%20-6.4446434,53.307034%202.2948357,86.291616%2028.029508,101.24554%2053.76418,116.19946%2086.748746,107.45993%20101.70266,81.725271%20116.65657,55.990616%20107.91709,23.006035%2082.182422,8.0521107%20Z%20M%2071.75602,28.578553%2082.28685,38.846984%2065.453479,56.373296%2083.064738,73.314301%2072.796937,83.844485%2055.169736,66.657039%2039.010998,83.228711%2028.480167,72.96028%2044.639378,56.389069%2028.415211,40.568631%2038.683013,30.038446%2054.938893,45.85871%20Z'%20style='fill:%23000000;stroke-width:1.06812763'%20/%3e%3c/svg%3e\")}.reactodia-selection-action__delete{background-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10%203h3v1h-1v9l-1%201H4l-1-1V4H2V3h3V2a1%201%200%200%201%201-1h3a1%201%200%200%201%201%201v1zM9%202H6v1h3V2zM4%2013h7V4H4v9zm2-8H5v7h1V5zm1%200h1v7H7V5zm2%200h1v7H9V5z'/%3e%3c/svg%3e\")}.reactodia-selection-action__zoomToFit{background-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M%201.5,6%20V%201.5%20H%206%20v%201%20H%202.5%20V%206%20Z'%20/%3e%3cpath%20d='m%2010,2.5%20v%20-1%20h%204.5%20V%206%20h%20-1%20V%202.5%20Z'%20/%3e%3cpath%20d='m%201.5,10%20v%204.5%20H%206%20v%20-1%20H%202.5%20V%2010%20Z'%20/%3e%3cpath%20d='m%2010,13.5%20v%201%20h%204.5%20V%2010%20h%20-1%20v%203.5%20z'%20/%3e%3c/svg%3e\")}.reactodia-selection-action__layout{background-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M13.5%2011h-1.729L8.438%206H9.5l.5-.5v-4L9.5%201h-4l-.5.5v4l.5.5h1.062l-3.333%205H1.5l-.5.5v3l.5.5h3l.5-.5v-3l-.5-.5h-.068L7.5%206.4l3.068%204.6H10.5l-.5.5v3l.5.5h3l.5-.5v-3l-.5-.5zM6%205V2h3v3H6zm-2%207v2H2v-2h2zm9%202h-2v-2h2v2z'/%3e%3c/svg%3e\")}.reactodia-selection-action__expand{background-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.976%2010.072l4.357-4.357.62.618L8.284%2011h-.618L3%206.333l.619-.618%204.357%204.357z'/%3e%3c/svg%3e\")}.reactodia-selection-action__collapse{background-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8.024%205.928l-4.357%204.357-.62-.618L7.716%205h.618L13%209.667l-.619.618-4.357-4.357z'/%3e%3c/svg%3e\")}.reactodia-selection-action__link{background-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M4.4%203h3.085a3.4%203.4%200%200%201%203.4%203.4v.205A3.4%203.4%200%200%201%207.485%2010H7V9h.485A2.4%202.4%200%200%200%209.88%206.61V6.4A2.4%202.4%200%200%200%207.49%204H4.4A2.4%202.4%200%200%200%202%206.4v.205A2.394%202.394%200%200%200%204%208.96v1a3.4%203.4%200%200%201-3-3.35V6.4A3.405%203.405%200%200%201%204.4%203zM12%207.04v-1a3.4%203.4%200%200%201%203%203.36v.205A3.405%203.405%200%200%201%2011.605%2013h-3.09A3.4%203.4%200%200%201%205.12%209.61V9.4A3.4%203.4%200%200%201%208.515%206H9v1h-.485A2.4%202.4%200%200%200%206.12%209.4v.205A2.4%202.4%200%200%200%208.515%2012h3.09A2.4%202.4%200%200%200%2014%209.61V9.4a2.394%202.394%200%200%200-2-2.36z'/%3e%3c/svg%3e\")}.reactodia-selection-action__navigate-open{background-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M9.00885%206.99103L11.0333%2011.0332L6.99114%209.00874L4.96666%204.96655L9.00885%206.99103ZM9.43541%209.4353L8.48072%207.51916L6.56458%206.56447L7.51926%208.48062L9.43541%209.4353Z'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M13.9795%208.5C13.739%2011.4149%2011.4149%2013.739%208.49999%2013.9795V13H7.49999V13.9795C4.57233%2013.7379%202.24067%2011.3945%202.0175%208.46167H3V7.46167H2.02382C2.28141%204.56475%204.59788%202.25996%207.49999%202.02054V3H8.49999V2.02054C11.4149%202.26101%2013.739%204.5851%2013.9795%207.5H13V8.5H13.9795ZM8%2015C11.866%2015%2015%2011.866%2015%208C15%204.13401%2011.866%201%208%201C4.13401%201%201%204.13401%201%208C1%2011.866%204.13401%2015%208%2015Z'/%3e%3c/svg%3e\")}.reactodia-selection-action__navigate-close{background-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8.6%201c1.6.1%203.1.9%204.2%202%201.3%201.4%202%203.1%202%205.1%200%201.6-.6%203.1-1.6%204.4-1%201.2-2.4%202.1-4%202.4-1.6.3-3.2.1-4.6-.7-1.4-.8-2.5-2-3.1-3.5C.9%209.2.8%207.5%201.3%206c.5-1.6%201.4-2.9%202.8-3.8C5.4%201.3%207%20.9%208.6%201zm.5%2012.9c1.3-.3%202.5-1%203.4-2.1.8-1.1%201.3-2.4%201.2-3.8%200-1.6-.6-3.2-1.7-4.3-1-1-2.2-1.6-3.6-1.7-1.3-.1-2.7.2-3.8%201-1.1.8-1.9%201.9-2.3%203.3-.4%201.3-.4%202.7.2%204%20.6%201.3%201.5%202.3%202.7%203%201.2.7%202.6.9%203.9.6zM7.9%207.5L10.3%205l.7.7-2.4%202.5%202.4%202.5-.7.7-2.4-2.5-2.4%202.5-.7-.7%202.4-2.5-2.4-2.5.7-.7%202.4%202.5z'/%3e%3c/svg%3e\")}.reactodia-selection-action__add-to-filter{background-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='m%2014.5,3.5%20-1,-1%20m%200,0%20H%202.5%20V%203.0652324%20L%206.9861526,8%207.5,8.5652322%20V%2012.5103%20l%201,-0.733333%20V%208.5489178%20l%205,-5.4999998%20z%20m%200,0.548918%20V%204.6%20m%200,0%20-4,4.4%20v%203.3%20l%20-3,2.2%20V%209%20l%20-5,-5.5%20v%20-2%20h%2013%20v%202'%20/%3e%3cpath%20d='M%203.0187424,8%20H%204%20v%201.5%20h%201.5%20v%201%20L%204,10.467287%20V%2012%20H%203%20V%2010.5%20H%201.5%20v%20-1%20H%203%20Z'%20/%3e%3c/svg%3e\")}.reactodia-selection-action__group{background-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M1.5%201h2v1H2v12h1.5v1h-2l-.5-.5v-13l.5-.5zm6%206h-2L5%206.5v-2l.5-.5h2l.5.5v2l-.5.5zM6%206h1V5H6v1zm7.5%201h-3l-.5-.5v-3l.5-.5h3l.5.5v3l-.5.5zM11%206h2V4h-2v2zm-3.5%206h-2l-.5-.5v-2l.5-.5h2l.5.5v2l-.5.5zM6%2011h1v-1H6v1zm7.5%202h-3l-.5-.5v-3l.5-.5h3l.5.5v3l-.5.5zM11%2012h2v-2h-2v2zm-1-2H8v1h2v-1zm0-5H8v1h2V5z'/%3e%3c/svg%3e\")}.reactodia-selection-action__ungroup{background-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M2.9%201L5%203.1l-.8.7L3%202.6V7H2V2.5L.8%203.8l-.7-.7L2.2%201h.7zM3%2013.4V9H2v4.4L.8%2012.2l-.7.7L2.2%2015h.7L5%2012.9l-.7-.7L3%2013.4zM8.5%207h-2L6%206.5v-2l.5-.5h2l.5.5v2l-.5.5zM7%206h1V5H7v1zm7.5%201h-3l-.5-.5v-3l.5-.5h3l.5.5v3l-.5.5zM12%206h2V4h-2v2zm-3.5%206h-2l-.5-.5v-2l.5-.5h2l.5.5v2l-.5.5zM7%2011h1v-1H7v1zm7.5%202h-3l-.5-.5v-3l.5-.5h3l.5.5v3l-.5.5zM12%2012h2v-2h-2v2zm-1-2H9v1h2v-1zm0-5H9v1h2V5z'/%3e%3c/svg%3e\")}.reactodia-selection-action__establish-link{touch-action:none;background-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7%201H6v3H4.5l-.5.5V8a4%204%200%200%200%203.5%203.969V15h1v-3.031A4%204%200%200%200%2012%208V4.5l-.5-.5H10V1H9v3H7V1zm3.121%209.121A3%203%200%200%201%205%208V5h6v3a3%203%200%200%201-.879%202.121z'/%3e%3c/svg%3e\")}.reactodia-selection-action__annotate{background-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M1.5%202h13l.5.5v10l-.5.5h-13l-.5-.5v-10l.5-.5zM2%203v9h12V3H2zm2%202h8v1H4V5zm6%202H4v1h6V7zM4%209h4v1H4V9z'/%3e%3c/svg%3e\")}.reactodia-toolbar{white-space:nowrap;pointer-events:none;display:flex}.reactodia-toolbar>*{pointer-events:auto;white-space:normal}.reactodia-toolbar--drop-up{align-items:flex-end}.reactodia-toolbar__menu{z-index:calc(var(--reactodia-z-index-base) + 50);margin-right:5px}.reactodia-toolbar-action__spacer{flex:auto;min-width:8px}.reactodia-toolbar-action__hotkey{color:var(--reactodia-color-secondary-darkest)}.reactodia-toolbar-action__open{align-items:center;display:flex}.reactodia-toolbar-action__open:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M1.5%2014h11l.48-.37%202.63-7-.48-.63H14V3.5l-.5-.5H7.71l-.86-.85L6.5%202h-5l-.5.5v11l.5.5zM2%203h4.29l.86.85.35.15H13v2H8.5l-.35.15-.86.85H3.5l-.47.34-1%203.08L2%203zm10.13%2010H2.19l1.67-5H7.5l.35-.15.86-.85h5.79l-2.37%206z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M1.5%2014h11l.48-.37%202.63-7-.48-.63H14V3.5l-.5-.5H7.71l-.86-.85L6.5%202h-5l-.5.5v11l.5.5zM2%203h4.29l.86.85.35.15H13v2H8.5l-.35.15-.86.85H3.5l-.47.34-1%203.08L2%203zm10.13%2010H2.19l1.67-5H7.5l.35-.15.86-.85h5.79l-2.37%206z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-toolbar-action__open:not(:empty):before{margin-right:3px}.reactodia-toolbar-action__open-input{display:none}.reactodia-toolbar-action__save{align-items:center;display:flex}.reactodia-toolbar-action__save:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M13.353%201.146l1.5%201.5L15%203v11.5l-.5.5h-13l-.5-.5v-13l.5-.5H13l.353.146zM2%202v12h12V3.208L12.793%202H11v4H4V2H2zm6%200v3h2V2H8z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M13.353%201.146l1.5%201.5L15%203v11.5l-.5.5h-13l-.5-.5v-13l.5-.5H13l.353.146zM2%202v12h12V3.208L12.793%202H11v4H4V2H2zm6%200v3h2V2H8z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-toolbar-action__save:not(:empty):before{margin-right:3px}.reactodia-toolbar-action__clear-all{align-items:center;display:flex}.reactodia-toolbar-action__clear-all:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10%203h3v1h-1v9l-1%201H4l-1-1V4H2V3h3V2a1%201%200%200%201%201-1h3a1%201%200%200%201%201%201v1zM9%202H6v1h3V2zM4%2013h7V4H4v9zm2-8H5v7h1V5zm1%200h1v7H7V5zm2%200h1v7H9V5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10%203h3v1h-1v9l-1%201H4l-1-1V4H2V3h3V2a1%201%200%200%201%201-1h3a1%201%200%200%201%201%201v1zM9%202H6v1h3V2zM4%2013h7V4H4v9zm2-8H5v7h1V5zm1%200h1v7H7V5zm2%200h1v7H9V5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-toolbar-action__clear-all:not(:empty):before{margin-right:3px}.reactodia-toolbar-action__export-image{align-items:center;display:flex}.reactodia-toolbar-action__export-image:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M2%202h6v3.5l.5.5H12v1h1V4.8l-.15-.36-3.28-3.3L9.22%201H1.5l-.5.5v13l.5.5H5v-1H2V2zm7%200l3%203H9V2zm5.5%206h-8l-.5.5v6l.5.5h8l.5-.5v-6l-.5-.5zM14%209v4l-1.63-1.6h-.71l-1.16%201.17-2.13-2.13h-.71L7%2011.1V9h7zm-2.8%204.27l.81-.81L13.55%2014h-1.62l-.73-.73zM7%2014v-1.49l1-1L10.52%2014H7zm5.5-3.5a.5.5%200%201%200%200-1%20.5.5%200%200%200%200%201z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M2%202h6v3.5l.5.5H12v1h1V4.8l-.15-.36-3.28-3.3L9.22%201H1.5l-.5.5v13l.5.5H5v-1H2V2zm7%200l3%203H9V2zm5.5%206h-8l-.5.5v6l.5.5h8l.5-.5v-6l-.5-.5zM14%209v4l-1.63-1.6h-.71l-1.16%201.17-2.13-2.13h-.71L7%2011.1V9h7zm-2.8%204.27l.81-.81L13.55%2014h-1.62l-.73-.73zM7%2014v-1.49l1-1L10.52%2014H7zm5.5-3.5a.5.5%200%201%200%200-1%20.5.5%200%200%200%200%201z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-toolbar-action__export-image:not(:empty):before{margin-right:3px}.reactodia-toolbar-action__print{align-items:center;display:flex}.reactodia-toolbar-action__print:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M13.85%204.44l-3.28-3.3-.35-.14H2.5l-.5.5V7h1V2h6v3.5l.5.5H13v1h1V4.8l-.15-.36zM10%205V2l3%203h-3zM2.5%208l-.5.5v6l.5.5h11l.5-.5v-6l-.5-.5h-11zM13%2013v1H3V9h10v4zm-8-1h-.32v1H4v-3h1.06c.75%200%201.13.36%201.13%201a.94.94%200%200%201-.32.72A1.33%201.33%200%200%201%205%2012zm-.06-1.45h-.26v.93h.26c.36%200%20.54-.16.54-.47%200-.31-.18-.46-.54-.46zM9%2012.58a1.48%201.48%200%200%200%20.44-1.12c0-1-.53-1.46-1.6-1.46H6.78v3h1.06A1.6%201.6%200%200%200%209%2012.58zm-1.55-.13v-1.9h.33a.94.94%200%200%201%20.7.25.91.91%200%200%201%20.25.67%201%201%200%200%201-.25.72.94.94%200%200%201-.69.26h-.34zm4.45-.61h-.97V13h-.68v-3h1.74v.55h-1.06v.74h.97v.55z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M13.85%204.44l-3.28-3.3-.35-.14H2.5l-.5.5V7h1V2h6v3.5l.5.5H13v1h1V4.8l-.15-.36zM10%205V2l3%203h-3zM2.5%208l-.5.5v6l.5.5h11l.5-.5v-6l-.5-.5h-11zM13%2013v1H3V9h10v4zm-8-1h-.32v1H4v-3h1.06c.75%200%201.13.36%201.13%201a.94.94%200%200%201-.32.72A1.33%201.33%200%200%201%205%2012zm-.06-1.45h-.26v.93h.26c.36%200%20.54-.16.54-.47%200-.31-.18-.46-.54-.46zM9%2012.58a1.48%201.48%200%200%200%20.44-1.12c0-1-.53-1.46-1.6-1.46H6.78v3h1.06A1.6%201.6%200%200%200%209%2012.58zm-1.55-.13v-1.9h.33a.94.94%200%200%201%20.7.25.91.91%200%200%201%20.25.67%201%201%200%200%201-.25.72.94.94%200%200%201-.69.26h-.34zm4.45-.61h-.97V13h-.68v-3h1.74v.55h-1.06v.74h.97v.55z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-toolbar-action__print:not(:empty):before{margin-right:3px}.reactodia-toolbar-action__undo:empty:before{content:\"\";background-color:currentColor;width:18px;height:18px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M3.5%202v3.5L4%206h3.5V5H4.979l.941-.941a3.552%203.552%200%201%201%205.023%205.023L5.746%2014.28l.72.72%205.198-5.198A4.57%204.57%200%200%200%205.2%203.339l-.7.7V2h-1z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M3.5%202v3.5L4%206h3.5V5H4.979l.941-.941a3.552%203.552%200%201%201%205.023%205.023L5.746%2014.28l.72.72%205.198-5.198A4.57%204.57%200%200%200%205.2%203.339l-.7.7V2h-1z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-toolbar-action__undo:not(:empty){align-items:center;display:flex}.reactodia-toolbar-action__undo:not(:empty):before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M3.5%202v3.5L4%206h3.5V5H4.979l.941-.941a3.552%203.552%200%201%201%205.023%205.023L5.746%2014.28l.72.72%205.198-5.198A4.57%204.57%200%200%200%205.2%203.339l-.7.7V2h-1z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M3.5%202v3.5L4%206h3.5V5H4.979l.941-.941a3.552%203.552%200%201%201%205.023%205.023L5.746%2014.28l.72.72%205.198-5.198A4.57%204.57%200%200%200%205.2%203.339l-.7.7V2h-1z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-toolbar-action__undo:not(:empty):not(:empty):before{margin-right:3px}.reactodia-toolbar-action__redo:empty:before{content:\"\";background-color:currentColor;width:18px;height:18px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M12.5%202v3.5L12%206H8.5V5h2.521l-.941-.941a3.552%203.552%200%201%200-5.023%205.023l5.197%205.198-.72.72-5.198-5.198A4.57%204.57%200%200%201%2010.8%203.339l.7.7V2h1z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M12.5%202v3.5L12%206H8.5V5h2.521l-.941-.941a3.552%203.552%200%201%200-5.023%205.023l5.197%205.198-.72.72-5.198-5.198A4.57%204.57%200%200%201%2010.8%203.339l.7.7V2h1z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-toolbar-action__redo:not(:empty){align-items:center;display:flex}.reactodia-toolbar-action__redo:not(:empty):before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M12.5%202v3.5L12%206H8.5V5h2.521l-.941-.941a3.552%203.552%200%201%200-5.023%205.023l5.197%205.198-.72.72-5.198-5.198A4.57%204.57%200%200%201%2010.8%203.339l.7.7V2h1z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M12.5%202v3.5L12%206H8.5V5h2.521l-.941-.941a3.552%203.552%200%201%200-5.023%205.023l5.197%205.198-.72.72-5.198-5.198A4.57%204.57%200%200%201%2010.8%203.339l.7.7V2h1z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-toolbar-action__redo:not(:empty):not(:empty):before{margin-right:3px}.reactodia-toolbar-action__layout{align-items:center;display:flex}.reactodia-toolbar-action__layout:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M13.5%2011h-1.729L8.438%206H9.5l.5-.5v-4L9.5%201h-4l-.5.5v4l.5.5h1.062l-3.333%205H1.5l-.5.5v3l.5.5h3l.5-.5v-3l-.5-.5h-.068L7.5%206.4l3.068%204.6H10.5l-.5.5v3l.5.5h3l.5-.5v-3l-.5-.5zM6%205V2h3v3H6zm-2%207v2H2v-2h2zm9%202h-2v-2h2v2z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M13.5%2011h-1.729L8.438%206H9.5l.5-.5v-4L9.5%201h-4l-.5.5v4l.5.5h1.062l-3.333%205H1.5l-.5.5v3l.5.5h3l.5-.5v-3l-.5-.5h-.068L7.5%206.4l3.068%204.6H10.5l-.5.5v3l.5.5h3l.5-.5v-3l-.5-.5zM6%205V2h3v3H6zm-2%207v2H2v-2h2zm9%202h-2v-2h2v2z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-toolbar-action__layout:not(:empty):before{margin-right:3px}.reactodia-toolbar-action__language-selector{float:left;height:var(--reactodia-toolbar-height);background:var(--reactodia-button-default-background-color);border:var(--reactodia-button-border-width) solid var(--reactodia-button-default-border-color);border-radius:var(--reactodia-button-border-radius);align-items:center;padding:0 5px;display:flex;position:relative}.reactodia-toolbar-action__language-selector:focus-within{border-color:var(--reactodia-input-border-color-focus)}.reactodia-toolbar-action__language-selector select{height:var(--reactodia-toolbar-height);background-color:var(--reactodia-button-default-background-color);color:inherit;font:inherit;line-height:inherit;height:calc(var(--reactodia-toolbar-height) - 4px);border:none;outline:none;margin:0}.reactodia-toolbar-action__language-selector label{margin-right:5px;display:inline-block}.reactodia-toolbar-action__language-selector label:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8.5%201a6.5%206.5%200%201%201%200%2013%206.5%206.5%200%200%201%200-13zm4.894%204a5.527%205.527%200%200%200-3.053-2.676c.444.84.765%201.74.953%202.676h2.1zm.582%202.995A5.11%205.11%200%200%200%2014%207.5a5.464%205.464%200%200%200-.213-1.5h-2.342c.032.331.055.664.055%201a10.114%2010.114%200%200%201-.206%202h2.493c.095-.329.158-.665.19-1.005zm-3.535%200l.006-.051A9.04%209.04%200%200%200%2010.5%207a8.994%208.994%200%200%200-.076-1H6.576A8.82%208.82%200%200%200%206.5%207a8.98%208.98%200%200%200%20.233%202h3.534c.077-.332.135-.667.174-1.005zM10.249%205a8.974%208.974%200%200%200-1.255-2.97C8.83%202.016%208.666%202%208.5%202a3.62%203.62%200%200%200-.312.015l-.182.015L8%202.04A8.97%208.97%200%200%200%206.751%205h3.498zM5.706%205a9.959%209.959%200%200%201%20.966-2.681A5.527%205.527%200%200%200%203.606%205h2.1zM3.213%206A5.48%205.48%200%200%200%203%207.5%205.48%205.48%200%200%200%203.213%209h2.493A10.016%2010.016%200%200%201%205.5%207c0-.336.023-.669.055-1H3.213zm2.754%204h-2.36a5.515%205.515%200%200%200%203.819%202.893A10.023%2010.023%200%200%201%205.967%2010zM8.5%2012.644A8.942%208.942%200%200%200%209.978%2010H7.022A8.943%208.943%200%200%200%208.5%2012.644zM11.033%2010a10.024%2010.024%200%200%201-1.459%202.893A5.517%205.517%200%200%200%2013.393%2010h-2.36z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8.5%201a6.5%206.5%200%201%201%200%2013%206.5%206.5%200%200%201%200-13zm4.894%204a5.527%205.527%200%200%200-3.053-2.676c.444.84.765%201.74.953%202.676h2.1zm.582%202.995A5.11%205.11%200%200%200%2014%207.5a5.464%205.464%200%200%200-.213-1.5h-2.342c.032.331.055.664.055%201a10.114%2010.114%200%200%201-.206%202h2.493c.095-.329.158-.665.19-1.005zm-3.535%200l.006-.051A9.04%209.04%200%200%200%2010.5%207a8.994%208.994%200%200%200-.076-1H6.576A8.82%208.82%200%200%200%206.5%207a8.98%208.98%200%200%200%20.233%202h3.534c.077-.332.135-.667.174-1.005zM10.249%205a8.974%208.974%200%200%200-1.255-2.97C8.83%202.016%208.666%202%208.5%202a3.62%203.62%200%200%200-.312.015l-.182.015L8%202.04A8.97%208.97%200%200%200%206.751%205h3.498zM5.706%205a9.959%209.959%200%200%201%20.966-2.681A5.527%205.527%200%200%200%203.606%205h2.1zM3.213%206A5.48%205.48%200%200%200%203%207.5%205.48%205.48%200%200%200%203.213%209h2.493A10.016%2010.016%200%200%201%205.5%207c0-.336.023-.669.055-1H3.213zm2.754%204h-2.36a5.515%205.515%200%200%200%203.819%202.893A10.023%2010.023%200%200%201%205.967%2010zM8.5%2012.644A8.942%208.942%200%200%200%209.978%2010H7.022A8.943%208.943%200%200%200%208.5%2012.644zM11.033%2010a10.024%2010.024%200%200%201-1.459%202.893A5.517%205.517%200%200%200%2013.393%2010h-2.36z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-btn+.reactodia-toolbar-action__language-selector{margin-left:5px}.reactodia-unified-search{border:var(--reactodia-input-border-width) solid var(--reactodia-input-border-color);border-radius:var(--reactodia-input-border-radius);background-color:var(--reactodia-background-color-surface);transition:border-color .15s ease-in-out}.reactodia-unified-search:focus-within{border-color:var(--reactodia-input-border-color-focus)}.reactodia-unified-search.reactodia-dropdown--expanded{box-shadow:var(--reactodia-canvas-box-shadow)}.reactodia-unified-search__toggle{border:var(--reactodia-input-border-width) solid transparent;border-radius:var(--reactodia-input-border-radius);align-items:stretch;height:28px;display:flex}.reactodia-unified-search .reactodia-dropdown__content{border-bottom-left-radius:var(--reactodia-input-border-radius);border-bottom-right-radius:var(--reactodia-input-border-radius)}.reactodia-unified-search__search-input{min-width:0;color:var(--reactodia-input-color);background-color:var(--reactodia-background-color-surface);border:none;flex:auto;margin:0;padding:6px 44px 6px 12px;display:block}.reactodia-unified-search__search-input::placeholder{color:var(--reactodia-input-color-placeholder)}.reactodia-unified-search__search-input:focus{outline:0}.reactodia-unified-search__search-icon{cursor:text;background:0 0;border:none;align-self:center;padding:0 8px;position:absolute;right:0}.reactodia-unified-search__search-icon:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M15.25%200a8.25%208.25%200%200%200-6.18%2013.72L1%2022.88l1.12%201%208.05-9.12A8.251%208.251%200%201%200%2015.25.01V0zm0%2015a6.75%206.75%200%201%201%200-13.5%206.75%206.75%200%200%201%200%2013.5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M15.25%200a8.25%208.25%200%200%200-6.18%2013.72L1%2022.88l1.12%201%208.05-9.12A8.251%208.251%200%201%200%2015.25.01V0zm0%2015a6.75%206.75%200%201%201%200-13.5%206.75%206.75%200%200%201%200%2013.5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-unified-search__collapse-button,.reactodia-unified-search__clear-button{color:var(--reactodia-button-default-color);border-radius:var(--reactodia-input-border-radius);transition:background-color var(--reactodia-transition-duration);background:0 0;border:0;align-self:center;padding:6px;position:absolute;right:0}.reactodia-unified-search__collapse-button:hover,.reactodia-unified-search__clear-button:hover{color:var(--reactodia-button-default-color-focus);background-color:var(--reactodia-button-default-background-color-focus)}.reactodia-dropdown--down .reactodia-unified-search__collapse-button,.reactodia-dropdown--down .reactodia-unified-search__clear-button{border-top-left-radius:unset}.reactodia-dropdown--down.reactodia-dropdown--expanded .reactodia-unified-search__collapse-button,.reactodia-dropdown--down.reactodia-dropdown--expanded .reactodia-unified-search__clear-button{border-bottom-right-radius:unset}.reactodia-dropdown--up .reactodia-unified-search__collapse-button,.reactodia-dropdown--up .reactodia-unified-search__clear-button{border-bottom-left-radius:unset}.reactodia-dropdown--up.reactodia-dropdown--expanded .reactodia-unified-search__collapse-button,.reactodia-dropdown--up.reactodia-dropdown--expanded .reactodia-unified-search__clear-button{border-top-right-radius:unset}.reactodia-dropdown--down .reactodia-unified-search__collapse-button:after{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8.024%205.928l-4.357%204.357-.62-.618L7.716%205h.618L13%209.667l-.619.618-4.357-4.357z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8.024%205.928l-4.357%204.357-.62-.618L7.716%205h.618L13%209.667l-.619.618-4.357-4.357z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-dropdown--up .reactodia-unified-search__collapse-button:after{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.976%2010.072l4.357-4.357.62.618L8.284%2011h-.618L3%206.333l.619-.618%204.357%204.357z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.976%2010.072l4.357-4.357.62.618L8.284%2011h-.618L3%206.333l.619-.618%204.357%204.357z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-unified-search__clear-button:after{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8%208.707l3.646%203.647.708-.707L8.707%208l3.647-3.646-.707-.708L8%207.293%204.354%203.646l-.707.708L7.293%208l-3.646%203.646.707.708L8%208.707z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8%208.707l3.646%203.647.708-.707L8.707%208l3.647-3.646-.707-.708L8%207.293%204.354%203.646l-.707.708L7.293%208l-3.646%203.646.707.708L8%208.707z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-unified-search .reactodia-dropdown__content{position:unset;box-shadow:unset}.reactodia-unified-search__panel{flex-direction:column;display:flex}.reactodia-unified-search__section-tabs{flex-wrap:wrap;gap:6px;margin:8px 10px;display:flex}.reactodia-unified-search__section-tab{text-align:center;white-space:nowrap;vertical-align:middle;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;user-select:none;border-width:var(--reactodia-button-border-width);transition:background-color var(--reactodia-transition-duration);border-style:solid;padding:4px;font-size:13px}.reactodia-unified-search__section{flex-direction:column;flex:auto;display:flex}.reactodia-unified-search__section:not(.reactodia-unified-search__section--active){display:none}.reactodia-zoom-control{box-shadow:var(--reactodia-canvas-box-shadow);flex-direction:column;display:flex}.reactodia-zoom-control .reactodia-btn{border-radius:unset;padding:3px}.reactodia-zoom-control .reactodia-btn+.reactodia-btn{margin-top:calc(-1 * var(--reactodia-button-border-width))}.reactodia-zoom-control>.reactodia-btn:first-child{border-top-left-radius:var(--reactodia-button-border-radius);border-top-right-radius:var(--reactodia-button-border-radius)}.reactodia-zoom-control>.reactodia-btn:last-child{border-bottom-left-radius:var(--reactodia-button-border-radius);border-bottom-right-radius:var(--reactodia-button-border-radius)}.reactodia-zoom-control__zoom-in-button:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M12.027%206.149a5.52%205.52%200%200%201-1.27%203.908l4.26%204.26-.7.71-4.26-4.27a5.52%205.52%200%201%201%201.97-4.608zm-5.45%204.888a4.51%204.51%200%200%200%203.18-1.32l-.04.02a4.51%204.51%200%200%200%201.36-3.2%204.5%204.5%200%201%200-4.5%204.5zm2.44-4v-1h-2v-2h-1v2h-2v1h2v2h1v-2h2z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M12.027%206.149a5.52%205.52%200%200%201-1.27%203.908l4.26%204.26-.7.71-4.26-4.27a5.52%205.52%200%201%201%201.97-4.608zm-5.45%204.888a4.51%204.51%200%200%200%203.18-1.32l-.04.02a4.51%204.51%200%200%200%201.36-3.2%204.5%204.5%200%201%200-4.5%204.5zm2.44-4v-1h-2v-2h-1v2h-2v1h2v2h1v-2h2z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-zoom-control__zoom-out-button:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M12.027%206.149a5.52%205.52%200%200%201-1.27%203.908l4.26%204.26-.7.71-4.26-4.27a5.52%205.52%200%201%201%201.97-4.608zm-5.45%204.888a4.51%204.51%200%200%200%203.18-1.32l-.04.02a4.51%204.51%200%200%200%201.36-3.2%204.5%204.5%200%201%200-4.5%204.5zm-2.54-4.98h5v1h-5v-1z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M12.027%206.149a5.52%205.52%200%200%201-1.27%203.908l4.26%204.26-.7.71-4.26-4.27a5.52%205.52%200%201%201%201.97-4.608zm-5.45%204.888a4.51%204.51%200%200%200%203.18-1.32l-.04.02a4.51%204.51%200%200%200%201.36-3.2%204.5%204.5%200%201%200-4.5%204.5zm-2.54-4.98h5v1h-5v-1z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-zoom-control__zoom-fit-button:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M%201.5,6%20V%201.5%20H%206%20v%201%20H%202.5%20V%206%20Z'%20/%3e%3cpath%20d='m%2010,2.5%20v%20-1%20h%204.5%20V%206%20h%20-1%20V%202.5%20Z'%20/%3e%3cpath%20d='m%201.5,10%20v%204.5%20H%206%20v%20-1%20H%202.5%20V%2010%20Z'%20/%3e%3cpath%20d='m%2010,13.5%20v%201%20h%204.5%20V%2010%20h%20-1%20v%203.5%20z'%20/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M%201.5,6%20V%201.5%20H%206%20v%201%20H%202.5%20V%206%20Z'%20/%3e%3cpath%20d='m%2010,2.5%20v%20-1%20h%204.5%20V%206%20h%20-1%20V%202.5%20Z'%20/%3e%3cpath%20d='m%201.5,10%20v%204.5%20H%206%20v%20-1%20H%202.5%20V%2010%20Z'%20/%3e%3cpath%20d='m%2010,13.5%20v%201%20h%204.5%20V%2010%20h%20-1%20v%203.5%20z'%20/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-zoom-control__selection-mode-button:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M1%203l1-1h12l1%201v6h-1V3H2v8h5v1H2l-1-1V3zm14.707%209.707L9%206v9.414l2.707-2.707h4zM10%2013V8.414l3.293%203.293h-2L10%2013z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M1%203l1-1h12l1%201v6h-1V3H2v8h5v1H2l-1-1V3zm14.707%209.707L9%206v9.414l2.707-2.707h4zM10%2013V8.414l3.293%203.293h-2L10%2013z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-accordion{flex:auto;width:100%;height:100%;display:flex}.reactodia-accordion--vertical{flex-direction:column}.reactodia-accordion--vertical:not(.reactodia-accordion--resizing):not(:has(.reactodia-accordion-item__handle:focus))>.reactodia-accordion-item{transition:height var(--reactodia-accordion-transition-duration) ease-in-out}.reactodia-accordion--horizontal:not(.reactodia-accordion--resizing):not(:has(.reactodia-accordion-item__handle:focus))>.reactodia-accordion-item{transition:width var(--reactodia-accordion-transition-duration) ease-in-out}.reactodia-accordion-item{flex:auto;display:flex;position:relative}.reactodia-accordion-item--resizing>.reactodia-accordion-item__handle,.reactodia-accordion-item__handle:hover{background:#0000001a}.reactodia-accordion-item--vertical{border-top:var(--reactodia-border-width-base) solid var(--reactodia-border-color-base)}.reactodia-accordion-item--vertical:first-child{border-top-width:0}.reactodia-accordion-item--horizontal{border-right:var(--reactodia-border-width-base) solid var(--reactodia-border-color-base)}.reactodia-accordion-item--horizontal:last-child{border-right-width:0}.reactodia-accordion-item__handle{z-index:calc(var(--reactodia-z-index-base) + 10);position:absolute}.reactodia-accordion-item__handle-vertical{cursor:ns-resize;width:100%;height:5px;bottom:-2.5px;left:0}.reactodia-accordion-item__handle-horizontal{cursor:ew-resize;width:5px;height:100%;top:0;right:-2.5px}.reactodia-accordion-item__handle-btn{background-color:var(--reactodia-button-default-background-color);border:2px solid var(--reactodia-color-primary);cursor:pointer;width:20px;height:20px;z-index:calc(var(--reactodia-z-index-base) + 20);transition:var(--reactodia-accordion-transition-duration);border-radius:10px;justify-content:center;align-items:center;margin-top:-10px;padding:0;display:flex;position:absolute;top:50%;box-shadow:0 0 0 1px #091e4214,0 2px 4px 1px #091e4214}.reactodia-accordion-item__handle-btn:before{content:\"\";width:16px;height:16px;transition:opacity filter var(--reactodia-accordion-transition-duration);color:var(--reactodia-color-emphasis-700);background-color:currentColor;-webkit-mask-position:0 0;mask-position:0 0;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.reactodia-accordion-item__handle-btn:hover{background-color:var(--reactodia-color-primary)}.reactodia-accordion-item__handle-btn:hover:before{opacity:1;color:var(--reactodia-color-gray-0)}.reactodia-accordion-item__handle-btn-left{margin-left:-10px;left:100%}.reactodia-accordion-item__handle-btn-left:before{-webkit-mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M5.928%207.976l4.357%204.357-.618.62L5%208.284v-.618L9.667%203l.618.619-4.357%204.357z'/%3e%3c/svg%3e\");mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M5.928%207.976l4.357%204.357-.618.62L5%208.284v-.618L9.667%203l.618.619-4.357%204.357z'/%3e%3c/svg%3e\")}.reactodia-accordion-item--collapsed .reactodia-accordion-item__handle-btn-left{margin-left:calc(-1 * min(10px, var(--reactodia-accordion-item-size,0px) - 4px))}.reactodia-accordion-item__handle-btn-right{margin-right:-10px;right:100%}.reactodia-accordion-item__handle-btn-right:before{-webkit-mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10.072%208.024L5.715%203.667l.618-.62L11%207.716v.618L6.333%2013l-.618-.619%204.357-4.357z'/%3e%3c/svg%3e\");mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10.072%208.024L5.715%203.667l.618-.62L11%207.716v.618L6.333%2013l-.618-.619%204.357-4.357z'/%3e%3c/svg%3e\")}.reactodia-accordion-item--collapsed .reactodia-accordion-item__handle-btn-right{margin-right:calc(-1 * min(10px, var(--reactodia-accordion-item-size,0px) - 4px))}.reactodia-accordion-item--collapsed .reactodia-accordion-item__handle-btn:before{transform:rotate(180deg)}.reactodia-accordion-item__inner{flex-direction:column;flex:auto;display:flex;overflow:hidden}.reactodia-accordion-item__body{background-color:var(--reactodia-background-color);min-width:var(--reactodia-item-min-width);flex-direction:column;flex:1 1 0;display:flex}.reactodia-accordion-item__header{text-align:unset;background-color:var(--reactodia-color-emphasis-200);cursor:default;outline-offset:-2px;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;border:none;flex-shrink:0;padding:0 0 0 20px;font-size:16px;position:relative}.reactodia-accordion-item__header:before{border-top:6px solid var(--reactodia-color-emphasis-700);content:\"\";border-left:3.5px solid #0000;border-right:3.5px solid #0000;margin-top:-3px;transition:all .1s;position:absolute;top:50%;left:7px}.reactodia-accordion-item--collapsed .reactodia-accordion-item__inner{background-color:var(--reactodia-background-color-surface)}.reactodia-accordion-item--collapsed .reactodia-accordion-item__header:before{transform:rotate(-90deg)}.reactodia-accordion-item--collapsed .reactodia-accordion-item__body{display:none}.reactodia-workspace{box-sizing:border-box;height:100%;white-space:initial;color:var(--reactodia-font-color-base);font-family:var(--reactodia-font-family-base);font-size:var(--reactodia-font-size-base);line-height:var(--reactodia-line-height-base);flex-direction:column;display:flex}.reactodia-workspace *,.reactodia-workspace :before,.reactodia-workspace :after{box-sizing:inherit}.reactodia-scrollable{flex:1 1 0;overflow-y:scroll}.reactodia-scrollable>*{position:relative}.reactodia-classic-template{float:left;border-style:solid;border-width:1px;border-radius:12px;max-width:450px}.reactodia-classic-template__thumbnail{text-align:center}.reactodia-classic-template__thumbnail-image{max-width:200px}.reactodia-classic-template--expanded .reactodia-classic-template__thumbnail-image{max-width:350px}.reactodia-classic-template__type-line{color:#fff;align-items:baseline;height:18px;margin-top:-3px;margin-bottom:2px;padding:0 7px;display:flex;overflow:hidden}.reactodia-classic-template__type-line-icon{margin-right:4px;position:inherit!important}.reactodia-classic-template__type-line-text-container{text-overflow:ellipsis;flex-grow:1;width:0;overflow:hidden}.reactodia-classic-template__type-line-text{white-space:nowrap;font-size:12px;display:inline}.reactodia-classic-template__body{background:var(--reactodia-element-background-color);border-top-style:solid;border-top-width:1px;border-bottom-right-radius:12px;border-bottom-left-radius:12px;flex-direction:column;padding:7px 10px 8px;display:flex;overflow:hidden}.reactodia-classic-template__label{text-overflow:ellipsis;white-space:nowrap;word-wrap:break-word;margin-bottom:0;font-size:19px;font-weight:100;overflow:hidden}.reactodia-classic-template__expander{width:100%;display:flex;overflow:hidden}.reactodia-classic-template__iri-heading{color:var(--reactodia-color-emphasis-500);margin-right:15px;font-size:12px;font-weight:100}.reactodia-classic-template__iri-container{white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:12px;overflow:hidden}.reactodia-classic-template__iri{color:var(--reactodia-color-emphasis-500)}.reactodia-classic-template__divider{border:0;border-top:1px solid var(--reactodia-border-color-base);height:0;margin:5px 0}.reactodia-classic-template__property-table{max-height:200px;margin-bottom:5px;font-size:15px;font-weight:100;overflow:hidden scroll}.reactodia-classic-template__property-row{white-space:nowrap}.reactodia-classic-template__property-label{text-overflow:ellipsis;vertical-align:top;width:50%;display:inline-block;overflow:hidden}.reactodia-classic-template__property-values{text-overflow:ellipsis;width:50%;display:inline-block;overflow:hidden}.reactodia-classic-template__property-value{text-overflow:ellipsis;width:100%;white-space:initial;padding-right:10px;overflow:hidden}.reactodia-group-paginator{height:22px;display:flex}.reactodia-group-paginator__previous,.reactodia-group-paginator__next{padding:0 5px}.reactodia-group-paginator__previous{align-items:center;display:flex}.reactodia-group-paginator__previous:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M5.928%207.976l4.357%204.357-.618.62L5%208.284v-.618L9.667%203l.618.619-4.357%204.357z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M5.928%207.976l4.357%204.357-.618.62L5%208.284v-.618L9.667%203l.618.619-4.357%204.357z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-group-paginator__previous:not(:empty):before{margin-right:3px}.reactodia-group-paginator__previous{border-top-right-radius:unset;border-bottom-right-radius:unset}.reactodia-group-paginator__next{align-items:center;display:flex}.reactodia-group-paginator__next:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10.072%208.024L5.715%203.667l.618-.62L11%207.716v.618L6.333%2013l-.618-.619%204.357-4.357z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10.072%208.024L5.715%203.667l.618-.62L11%207.716v.618L6.333%2013l-.618-.619%204.357-4.357z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-group-paginator__next:not(:empty):before{margin-right:3px}.reactodia-group-paginator__next{border-top-left-radius:unset;border-bottom-left-radius:unset}.reactodia-group-paginator__status{text-align:center;border-top:var(--reactodia-button-border-width) solid var(--reactodia-button-default-border-color);border-bottom:var(--reactodia-button-border-width) solid var(--reactodia-button-default-border-color);flex:0 0 60px;line-height:22px}.reactodia-group-paginator__page-size{margin-left:4px}.reactodia-note-annotation{border:2px solid var(--reactodia-color-gray-500);border-radius:var(--reactodia-border-radius-s);align-content:center;width:200px;height:120px;display:grid}.reactodia-note-annotation--variant-default{color:var(--reactodia-font-color-base);background-color:var(--reactodia-element-background-color);border-color:var(--reactodia-color-gray-500)}.reactodia-note-annotation--variant-primary{color:var(--reactodia-color-primary-contrast-foreground);background-color:var(--reactodia-color-primary-contrast-background);border-color:var(--reactodia-color-primary)}.reactodia-note-annotation--variant-success{color:var(--reactodia-color-success-contrast-foreground);background-color:var(--reactodia-color-success-contrast-background);border-color:var(--reactodia-color-success)}.reactodia-note-annotation--variant-info{color:var(--reactodia-color-info-contrast-foreground);background-color:var(--reactodia-color-info-contrast-background);border-color:var(--reactodia-color-info)}.reactodia-note-annotation--variant-warning{color:var(--reactodia-color-warning-contrast-foreground);background-color:var(--reactodia-color-warning-contrast-background);border-color:var(--reactodia-color-warning)}.reactodia-note-annotation--variant-danger{color:var(--reactodia-color-danger-contrast-foreground);background-color:var(--reactodia-color-danger-contrast-background);border-color:var(--reactodia-color-danger)}.reactodia-note-annotation--editing{align-content:unset}.reactodia-note-annotation__editor{overflow-wrap:break-word;pointer-events:none;text-align:center;outline:none;margin:0;padding:10px;font-size:18px}.reactodia-note-annotation--editing .reactodia-note-annotation__editor{cursor:text;pointer-events:all}.reactodia-note-annotation__controls{gap:var(--reactodia-spacing-base);flex-direction:column;width:max-content;display:flex;position:absolute;top:10px;right:-10px;transform:translate(100%)}.reactodia-note-annotation__style-bold{align-items:center;display:flex}.reactodia-note-annotation__style-bold:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20id='icon'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;}%3c/style%3e%3c/defs%3e%3ctitle%3etext-bold%3c/title%3e%3cpath%20d='M18.25,25H9V7h8.5a5.25,5.25,0,0,1,4,8.65A5.25,5.25,0,0,1,18.25,25ZM12,22h6.23a2.25,2.25,0,1,0,0-4.5H12Zm0-7.5h5.5a2.25,2.25,0,1,0,0-4.5H12Z'/%3e%3crect%20id='_Transparent_Rectangle_'%20data-name='&lt;Transparent%20Rectangle&gt;'%20class='cls-1'%20width='32'%20height='32'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20id='icon'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;}%3c/style%3e%3c/defs%3e%3ctitle%3etext-bold%3c/title%3e%3cpath%20d='M18.25,25H9V7h8.5a5.25,5.25,0,0,1,4,8.65A5.25,5.25,0,0,1,18.25,25ZM12,22h6.23a2.25,2.25,0,1,0,0-4.5H12Zm0-7.5h5.5a2.25,2.25,0,1,0,0-4.5H12Z'/%3e%3crect%20id='_Transparent_Rectangle_'%20data-name='&lt;Transparent%20Rectangle&gt;'%20class='cls-1'%20width='32'%20height='32'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-note-annotation__style-bold:not(:empty):before{margin-right:3px}.reactodia-note-annotation__style-italic{align-items:center;display:flex}.reactodia-note-annotation__style-italic:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20id='icon'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;}%3c/style%3e%3c/defs%3e%3ctitle%3etext-italic%3c/title%3e%3cpolygon%20points='25%209%2025%207%2012%207%2012%209%2017.14%209%2012.77%2023%207%2023%207%2025%2020%2025%2020%2023%2014.86%2023%2019.23%209%2025%209'/%3e%3crect%20id='_Transparent_Rectangle_'%20data-name='&lt;Transparent%20Rectangle&gt;'%20class='cls-1'%20width='32'%20height='32'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20id='icon'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;}%3c/style%3e%3c/defs%3e%3ctitle%3etext-italic%3c/title%3e%3cpolygon%20points='25%209%2025%207%2012%207%2012%209%2017.14%209%2012.77%2023%207%2023%207%2025%2020%2025%2020%2023%2014.86%2023%2019.23%209%2025%209'/%3e%3crect%20id='_Transparent_Rectangle_'%20data-name='&lt;Transparent%20Rectangle&gt;'%20class='cls-1'%20width='32'%20height='32'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-note-annotation__style-italic:not(:empty):before{margin-right:3px}.reactodia-note-annotation__style-underline{align-items:center;display:flex}.reactodia-note-annotation__style-underline:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20id='icon'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;}%3c/style%3e%3c/defs%3e%3ctitle%3etext-underline%3c/title%3e%3crect%20x='4'%20y='26'%20width='24'%20height='2'/%3e%3cpath%20d='M16,23a7,7,0,0,1-7-7V5h2V16a5,5,0,0,0,10,0V5h2V16A7,7,0,0,1,16,23Z'/%3e%3crect%20id='_Transparent_Rectangle_'%20data-name='&lt;Transparent%20Rectangle&gt;'%20class='cls-1'%20width='32'%20height='32'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20id='icon'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;}%3c/style%3e%3c/defs%3e%3ctitle%3etext-underline%3c/title%3e%3crect%20x='4'%20y='26'%20width='24'%20height='2'/%3e%3cpath%20d='M16,23a7,7,0,0,1-7-7V5h2V16a5,5,0,0,0,10,0V5h2V16A7,7,0,0,1,16,23Z'/%3e%3crect%20id='_Transparent_Rectangle_'%20data-name='&lt;Transparent%20Rectangle&gt;'%20class='cls-1'%20width='32'%20height='32'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-note-annotation__style-underline:not(:empty):before{margin-right:3px}.reactodia-note-annotation__style-strikethrough{align-items:center;display:flex}.reactodia-note-annotation__style-strikethrough:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20id='icon'%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;}%3c/style%3e%3c/defs%3e%3ctitle%3etext--strikethrough%3c/title%3e%3cpath%20d='M28,15H17.9563c-.4522-.1237-.9037-.2324-1.3381-.3352-2.8077-.6641-4.396-1.1506-4.396-3.4231a2.8684,2.8684,0,0,1,.7866-2.145,4.7888,4.7888,0,0,1,3.0137-1.09c2.8291-.07,4.1347.8894,5.2011,2.35l1.6153-1.1792a7.4727,7.4727,0,0,0-6.83-3.1706,6.7726,6.7726,0,0,0-4.4,1.6611,4.8274,4.8274,0,0,0-1.3862,3.5735A4.3723,4.3723,0,0,0,11.9573,15H4v2H17.6519c1.9668.57,3.1432,1.3123,3.1733,3.3579a3.119,3.119,0,0,1-.8623,2.3931A5.8241,5.8241,0,0,1,16.2432,24a6.6344,6.6344,0,0,1-5.1451-2.6912L9.5649,22.593A8.5262,8.5262,0,0,0,16.2119,26c.0088-.0012.042,0,.1,0A7.67,7.67,0,0,0,21.36,24.1812a5.0779,5.0779,0,0,0,1.4648-3.8531A4.952,4.952,0,0,0,21.6753,17H28Z'/%3e%3crect%20id='_Transparent_Rectangle_'%20data-name='&lt;Transparent%20Rectangle&gt;'%20class='cls-1'%20width='32'%20height='32'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20id='icon'%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;}%3c/style%3e%3c/defs%3e%3ctitle%3etext--strikethrough%3c/title%3e%3cpath%20d='M28,15H17.9563c-.4522-.1237-.9037-.2324-1.3381-.3352-2.8077-.6641-4.396-1.1506-4.396-3.4231a2.8684,2.8684,0,0,1,.7866-2.145,4.7888,4.7888,0,0,1,3.0137-1.09c2.8291-.07,4.1347.8894,5.2011,2.35l1.6153-1.1792a7.4727,7.4727,0,0,0-6.83-3.1706,6.7726,6.7726,0,0,0-4.4,1.6611,4.8274,4.8274,0,0,0-1.3862,3.5735A4.3723,4.3723,0,0,0,11.9573,15H4v2H17.6519c1.9668.57,3.1432,1.3123,3.1733,3.3579a3.119,3.119,0,0,1-.8623,2.3931A5.8241,5.8241,0,0,1,16.2432,24a6.6344,6.6344,0,0,1-5.1451-2.6912L9.5649,22.593A8.5262,8.5262,0,0,0,16.2119,26c.0088-.0012.042,0,.1,0A7.67,7.67,0,0,0,21.36,24.1812a5.0779,5.0779,0,0,0,1.4648-3.8531A4.952,4.952,0,0,0,21.6753,17H28Z'/%3e%3crect%20id='_Transparent_Rectangle_'%20data-name='&lt;Transparent%20Rectangle&gt;'%20class='cls-1'%20width='32'%20height='32'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-note-annotation__style-strikethrough:not(:empty):before{margin-right:3px}.reactodia-note-annotation__align-left{align-items:center;display:flex}.reactodia-note-annotation__align-left:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20id='icon'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;}%3c/style%3e%3c/defs%3e%3ctitle%3ealign--left%3c/title%3e%3crect%20x='12'%20y='6'%20width='14'%20height='2'/%3e%3crect%20x='12'%20y='12'%20width='10'%20height='2'/%3e%3crect%20x='12'%20y='18'%20width='14'%20height='2'/%3e%3crect%20x='12'%20y='24'%20width='10'%20height='2'/%3e%3crect%20x='6'%20y='4'%20width='2'%20height='24'/%3e%3crect%20id='_Transparent_Rectangle_'%20data-name='&lt;Transparent%20Rectangle&gt;'%20class='cls-1'%20width='32'%20height='32'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20id='icon'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;}%3c/style%3e%3c/defs%3e%3ctitle%3ealign--left%3c/title%3e%3crect%20x='12'%20y='6'%20width='14'%20height='2'/%3e%3crect%20x='12'%20y='12'%20width='10'%20height='2'/%3e%3crect%20x='12'%20y='18'%20width='14'%20height='2'/%3e%3crect%20x='12'%20y='24'%20width='10'%20height='2'/%3e%3crect%20x='6'%20y='4'%20width='2'%20height='24'/%3e%3crect%20id='_Transparent_Rectangle_'%20data-name='&lt;Transparent%20Rectangle&gt;'%20class='cls-1'%20width='32'%20height='32'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-note-annotation__align-left:not(:empty):before{margin-right:3px}.reactodia-note-annotation__align-center{align-items:center;display:flex}.reactodia-note-annotation__align-center:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20id='icon'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;}%3c/style%3e%3c/defs%3e%3ctitle%3ealign--center%3c/title%3e%3crect%20x='6'%20y='6'%20width='20'%20height='2'/%3e%3crect%20x='10'%20y='12'%20width='12'%20height='2'/%3e%3crect%20x='6'%20y='18'%20width='20'%20height='2'/%3e%3crect%20x='10'%20y='24'%20width='12'%20height='2'/%3e%3crect%20id='_Transparent_Rectangle_'%20data-name='&lt;Transparent%20Rectangle&gt;'%20class='cls-1'%20width='32'%20height='32'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20id='icon'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;}%3c/style%3e%3c/defs%3e%3ctitle%3ealign--center%3c/title%3e%3crect%20x='6'%20y='6'%20width='20'%20height='2'/%3e%3crect%20x='10'%20y='12'%20width='12'%20height='2'/%3e%3crect%20x='6'%20y='18'%20width='20'%20height='2'/%3e%3crect%20x='10'%20y='24'%20width='12'%20height='2'/%3e%3crect%20id='_Transparent_Rectangle_'%20data-name='&lt;Transparent%20Rectangle&gt;'%20class='cls-1'%20width='32'%20height='32'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-note-annotation__align-center:not(:empty):before{margin-right:3px}.reactodia-note-annotation__align-right{align-items:center;display:flex}.reactodia-note-annotation__align-right:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20id='icon'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;}%3c/style%3e%3c/defs%3e%3ctitle%3ealign--right%3c/title%3e%3crect%20x='6'%20y='6'%20width='14'%20height='2'/%3e%3crect%20x='10'%20y='12'%20width='10'%20height='2'/%3e%3crect%20x='6'%20y='18'%20width='14'%20height='2'/%3e%3crect%20x='10'%20y='24'%20width='10'%20height='2'/%3e%3crect%20x='24'%20y='4'%20width='2'%20height='24'/%3e%3crect%20id='_Transparent_Rectangle_'%20data-name='&lt;Transparent%20Rectangle&gt;'%20class='cls-1'%20width='32'%20height='32'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20id='icon'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;}%3c/style%3e%3c/defs%3e%3ctitle%3ealign--right%3c/title%3e%3crect%20x='6'%20y='6'%20width='14'%20height='2'/%3e%3crect%20x='10'%20y='12'%20width='10'%20height='2'/%3e%3crect%20x='6'%20y='18'%20width='14'%20height='2'/%3e%3crect%20x='10'%20y='24'%20width='10'%20height='2'/%3e%3crect%20x='24'%20y='4'%20width='2'%20height='24'/%3e%3crect%20id='_Transparent_Rectangle_'%20data-name='&lt;Transparent%20Rectangle&gt;'%20class='cls-1'%20width='32'%20height='32'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-note-annotation__align-right:not(:empty):before{margin-right:3px}.reactodia-note-annotation__variant{border-radius:var(--reactodia-border-radius-s);border-top-style:solid;border-top-width:16px;width:16px;height:16px}.reactodia-note-link__path:not([stroke]){stroke:var(--reactodia-color-gray-500)}.reactodia-note-link__path:not([stroke-width]){stroke-width:2px}.reactodia-note-link__label{color:var(--reactodia-color-emphasis-600);font-weight:700}.reactodia-round-entity{background-color:var(--reactodia-element-background-color);border:4px solid var(--reactodia-element-style-color);text-align:center;border-radius:50%;grid-template-rows:1fr 1fr 1fr;align-items:center;width:120px;height:120px;display:grid}.reactodia-round-entity__types{white-space:nowrap;text-overflow:ellipsis;color:#999;place-self:end center;width:65%;font-size:11px;font-style:italic;overflow:hidden}.reactodia-round-entity__label{white-space:nowrap;text-overflow:ellipsis;margin:0 10px;font-size:18px;overflow:hidden}.reactodia-standard-element{float:left;min-width:180px;max-width:400px}.reactodia-standard-element--group{border-radius:var(--reactodia-border-radius-s);border:1px solid;border-color:var(--reactodia-standard-group-color);background:var(--reactodia-element-background-color);padding:4px}.reactodia-standard-element__main{border-radius:var(--reactodia-border-radius-s);border:1px solid;border-color:var(--reactodia-element-style-color);background-color:var(--reactodia-element-style-color)}.reactodia-standard-element__body{border-radius:0 var(--reactodia-border-radius-s) var(--reactodia-border-radius-s) 0;border-left:1px solid;border-left-color:var(--reactodia-element-style-color);background:var(--reactodia-element-background-color);margin-left:8px;padding:3px 0}.reactodia-standard-element--new .reactodia-standard-element__main{background-color:var(--reactodia-element-background-color)}.reactodia-standard-element__body-horizontal{justify-content:space-between;align-items:center;display:flex;overflow:hidden}.reactodia-standard-element__body-content{flex-grow:1;min-width:0;margin-right:12px}.reactodia-standard-element__item{border-radius:var(--reactodia-border-radius-s);border:0;display:flex}.reactodia-standard-element__item-filler{padding:3px;font-size:15px}.reactodia-standard-element__item:not(:first-child),.reactodia-standard-element__item-filler:not(:first-child){margin-top:4px}.reactodia-standard-element__item-stripe{background:var(--reactodia-element-style-color);width:6px}.reactodia-standard-element--new .reactodia-standard-element__item-stripe{background:var(--reactodia-element-background-color);border:1px solid var(--reactodia-element-style-color)}.reactodia-standard-element__item-body{text-overflow:ellipsis;background:var(--reactodia-element-background-color);flex:auto;padding:3px;display:flex;overflow:hidden}.reactodia-standard-element__label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.reactodia-standard-element--standalone .reactodia-standard-element__label{font-size:19px}.reactodia-standard-element--group .reactodia-standard-element__label{flex:auto;font-size:15px}.reactodia-standard-element--group .reactodia-standard-element--changed .reactodia-standard-element__label{color:#09f;font-style:italic}.reactodia-standard-element--group .reactodia-standard-element--deleted .reactodia-standard-element__label{color:#ff3b3b;text-decoration:line-through}.reactodia-standard-element__thumbnail{width:50px;height:50px;color:var(--reactodia-element-style-color);flex-shrink:0;justify-content:center;align-items:center;margin:5px 10px;font-size:26px;display:flex}.reactodia-standard-element__thumbnail-image{max-width:100%;max-height:100%}.reactodia-standard-element__thumbnail-icon{object-fit:contain;width:26px;height:26px}.reactodia-standard-element__thumbnail-icon--monochrome{filter:var(--reactodia-monochrome-icon-filter)}.reactodia-standard-element__photo{border-bottom:1px solid;border-color:var(--reactodia-element-style-color)}.reactodia-standard-element__photo-image{border-radius:var(--reactodia-border-radius-s) var(--reactodia-border-radius-s) 0 0;width:100%}.reactodia-standard-element__type{white-space:nowrap;text-overflow:ellipsis;color:#999;font-size:11px;font-style:italic;display:flex;overflow:hidden}.reactodia-standard-element__type-value{text-overflow:ellipsis;flex-grow:1;width:0;overflow:hidden}.reactodia-standard-element__iri{width:100%;display:flex;overflow:hidden}.reactodia-standard-element__iri-key{color:var(--reactodia-color-emphasis-500);margin-right:4px;font-size:12px}.reactodia-standard-element__iri-value{white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:12px;overflow:hidden}.reactodia-standard-element__iri-value a{color:var(--reactodia-color-emphasis-500)}.reactodia-standard-element__hr{border:0;border-top:1px solid var(--reactodia-border-color-base);height:0;margin:5px 0}.reactodia-standard-element__properties{max-height:200px;font-size:15px;overflow:hidden scroll}.reactodia-standard-element__properties-row{white-space:nowrap;grid-template-columns:1fr 1fr;display:grid}.reactodia-standard-element__properties-key{text-overflow:ellipsis;vertical-align:top;display:inline-block;overflow:hidden}.reactodia-standard-element__properties-values{text-overflow:ellipsis;display:inline-block;overflow:hidden}.reactodia-standard-element__properties-value{text-overflow:ellipsis;width:100%;white-space:initial;padding-right:10px;overflow:hidden}.reactodia-standard-element__pinned-props{border-top:1px solid;border-color:var(--reactodia-element-style-color);margin:0 5px}.reactodia-standard-element__dropdown{border:1px solid;border-color:var(--reactodia-element-style-color);border-radius:var(--reactodia-border-radius-s);background-color:var(--reactodia-element-background-color);margin-top:5px}.reactodia-standard-element__dropdown-content{width:100%;padding:9px}.reactodia-standard-element__actions{justify-content:space-between;display:flex}.reactodia-standard-element__delete-button,.reactodia-standard-element__edit-button{align-items:center;min-width:60px;padding:5px;display:flex}.reactodia-standard-element__delete-button{align-items:center;display:flex}.reactodia-standard-element__delete-button:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10%203h3v1h-1v9l-1%201H4l-1-1V4H2V3h3V2a1%201%200%200%201%201-1h3a1%201%200%200%201%201%201v1zM9%202H6v1h3V2zM4%2013h7V4H4v9zm2-8H5v7h1V5zm1%200h1v7H7V5zm2%200h1v7H9V5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10%203h3v1h-1v9l-1%201H4l-1-1V4H2V3h3V2a1%201%200%200%201%201-1h3a1%201%200%200%201%201%201v1zM9%202H6v1h3V2zM4%2013h7V4H4v9zm2-8H5v7h1V5zm1%200h1v7H7V5zm2%200h1v7H9V5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-standard-element__delete-button:not(:empty):before{margin-right:3px}.reactodia-standard-element__edit-button{align-items:center;display:flex}.reactodia-standard-element__edit-button:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M13.23%201h-1.46L3.52%209.25l-.16.22L1%2013.59%202.41%2015l4.12-2.36.22-.16L15%204.23V2.77L13.23%201zM2.41%2013.59l1.51-3%201.45%201.45-2.96%201.55zm3.83-2.06L4.47%209.76l8-8%201.77%201.77-8%208z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M13.23%201h-1.46L3.52%209.25l-.16.22L1%2013.59%202.41%2015l4.12-2.36.22-.16L15%204.23V2.77L13.23%201zM2.41%2013.59l1.51-3%201.45%201.45-2.96%201.55zm3.83-2.06L4.47%209.76l8-8%201.77%201.77-8%208z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-standard-element__edit-button:not(:empty):before{margin-right:3px}.reactodia-standard-element__ungroup-one-button{align-items:center;display:flex}.reactodia-standard-element__ungroup-one-button:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10.072%208.024L5.715%203.667l.618-.62L11%207.716v.618L6.333%2013l-.618-.619%204.357-4.357z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10.072%208.024L5.715%203.667l.618-.62L11%207.716v.618L6.333%2013l-.618-.619%204.357-4.357z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-standard-element__ungroup-one-button:not(:empty):before{margin-right:3px}.reactodia-standard-element__ungroup-one-button{opacity:0;align-self:center;width:18px;height:18px;margin-left:2px;padding:0;transition:opacity .2s;display:block}.reactodia-standard-element:hover .reactodia-standard-element__ungroup-one-button,.reactodia-standard-element:focus .reactodia-standard-element__ungroup-one-button,.reactodia-overlaid-element--only-selected .reactodia-standard-element__ungroup-one-button{opacity:1}.reactodia-standard-element--group .reactodia-group-paginator{opacity:.4;margin-top:4px;transition:opacity .2s}.reactodia-standard-element--group .reactodia-group-paginator:hover{opacity:1}.reactodia-standard-link--group .reactodia-link-path{stroke-width:2px}.reactodia-standard-link__path:not([stroke]){stroke:var(--reactodia-link-stroke-color)}.reactodia-standard-link__label{font-weight:700}.reactodia-standard-link__label--renamed{font-style:italic;font-weight:400}.reactodia-standard-link__property{text-overflow:ellipsis;max-width:150px;font-size:90%;font-style:normal;font-weight:400;overflow:hidden}.reactodia-standard-link__source-count,.reactodia-standard-link__target-count{color:var(--reactodia-color-emphasis-600);opacity:.8;font-size:12px;font-weight:700}\n/*$vite$:1*/")),document.head.appendChild(e)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}}();var pi,gi,vi=v.createContext(null),mi=v.createContext({defined:!1,actInColorScheme:()=>{}}),bi=class{listeners=new Map;anyListeners;on(e,t){let n=this.listeners.get(e);n||(n=new Set,this.listeners.set(e,n)),n.add(t)}onAny(e){let t=this.anyListeners;t||(t=new Set,this.anyListeners=t),t.add(e)}off(e,t){const n=this.listeners.get(e);n&&n.delete(t)}offAny(e){const t=this.anyListeners;t&&t.delete(e)}trigger(e,t){const n=this.listeners.get(e);if(n)for(const e of n)e(t);if(this.anyListeners)for(const n of this.anyListeners)n({[e]:t})}},wi=class{onDispose=new Set;listen(e,t,n){e.on(t,n),this.onDispose.add((()=>e.off(t,n)))}listenAny(e,t){e.onAny(t),this.onDispose.add((()=>e.offAny(t)))}listenOnce(e,t,n){let i;const r=o=>{e.off(t,r),this.onDispose.delete(i),n(o)};i=()=>{e.off(t,r),this.onDispose.delete(i)},e.on(t,r),this.onDispose.add(i)}stopListening(){for(const e of this.onDispose)e();this.onDispose.clear()}},yi=class{scheduled;_timeout;callback;constructor(e="frame"){this._timeout=e,this.runSynchronously=this.runSynchronously.bind(this)}get timeout(){return this._timeout}setTimeout(e){this._timeout=e}call(e){this.callback=e,this.schedule()}schedule(){void 0===this.scheduled&&(this.scheduled="frame"===this.timeout?requestAnimationFrame(this.runSynchronously):setTimeout(this.runSynchronously,this.timeout))}run(){const e=this.callback;e?.()}runSynchronously=()=>{this.cancelScheduledTimeout()&&this.run()};dispose(){this.cancelScheduledTimeout()}cancelScheduledTimeout(){return void 0!==this.scheduled&&("frame"===this.timeout?cancelAnimationFrame(this.scheduled):clearTimeout(this.scheduled),this.scheduled=void 0,!0)}},_i=class{onFetch;debouncer;queuedItems=new Set;constructor(e,t=200){this.onFetch=e,this.debouncer=new yi(t)}has(e){return this.queuedItems.has(e)}push(e){this.queuedItems.add(e),this.debouncer.call(this.run)}clear(){this.queuedItems.clear()}run=()=>{const{queuedItems:e,onFetch:t}=this,n=Array.from(e);e.clear(),t(n)}},ki="urn:reactodia:isPlaceholder",xi="urn:reactodia:newElement",Si="urn:reactodia:newLink",Ci=class e{value;static empty=new e(void 0);constructor(e){this.value=e}static property(e){return{of:()=>e}}get(e){return this.value?.[e]}set(t,n){const i=this.value;if(void 0!==n){if(i?.[t]!==n)return new e({...i,[t]:n})}else if(void 0!==i?.[t]){const{[t]:n,...r}=i;return new e(r)}return this}static fromJSON(t){return void 0===t?e.empty:new e(t)}toJSON(){return this.value?{...this.value}:void 0}};(gi=pi||(pi={})).Expanded=Ci.property("urn:reactodia:expanded").of(),gi.ElementSize=Ci.property("urn:reactodia:elementSize").of(),gi.PinnedProperties=Ci.property("urn:reactodia:pinnedProperties").of(),gi.CustomLabel=Ci.property("urn:reactodia:customLabel").of(),gi.LayoutOnly=Ci.property("urn:reactodia:layoutOnly").of(),gi.GroupPageIndex=Ci.property("urn:reactodia:groupPageIndex").of(),gi.GroupPageSize=Ci.property("urn:reactodia:groupPageSize").of(),gi.AnnotationContent=Ci.property("urn:reactodia:annotationContent").of(),gi.ColorVariant=Ci.property("urn:reactodia:colorVariant").of();var Li,Mi,Ei=["default","primary","success","info","warning","danger"],zi=class{get factory(){return Bt}knownElementTypes(e){return Promise.resolve({elementTypes:[],subtypeOf:[]})}knownLinkTypes(e){return Promise.resolve([])}elementTypes(e){return Promise.resolve(new Map)}propertyTypes(e){return Promise.resolve(new Map)}linkTypes(e){return Promise.resolve(new Map)}elements(e){return Promise.resolve(new Map)}links(e){return Promise.resolve([])}connectedLinkStats(e){return Promise.resolve([])}lookup(e){return Promise.resolve([])}};function $i(){function e(){return Math.floor(4294967296*(1+Math.random())).toString(16).substring(1)}return e()+e()+e()+e()}function Ni(e){const t=new RegExp(function(e){return e.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&")}(e),"i");return e=>t.test(e)}function*Ti(e,t,n,i,r){const o=Math.ceil(i/2),a=new Set,s=[];let l=0,c=0;function d(){const e={sources:[...a],targets:[...s]};return s.length=0,c=0,e}for(let u=0;u<e.length;u++){const h=e[u];if(a.add(h),l+=n(h),l>=o||u===e.length-1){for(const e of t){if(r&&r.has(e))continue;const t=n(e);c>0&&l+c+t>i&&(yield d()),s.push(e),c+=t}c>0&&(yield d()),a.clear(),l=0}}}function Ai(e){return Boolean(e&&"NamedNode"===e.termType)}function Ii(e){return Boolean(e&&"Literal"===e.termType)}(Mi=Li||(Li={})).hashCode=function(e){return D(Math.imul(Ot(e.source),31)+Ot(e.predicate)|0)},Mi.equals=function(e,t){return jt(e.source,t.source)&&jt(e.predicate,t.predicate)};var Vi="urn:reactodia:sparql:label",Pi=new Map,Hi=new Set;function Ri(e,t){for(const n of e.results.bindings){const e=n.link.value,i=t.get(e);i?Wi(i.label,n.label):t.set(e,Xi(n))}}function Di(e,t,n,i){const r={};for(const o in e.properties){if(!Object.hasOwnProperty.call(e.properties,o))continue;const a=n.get(o);if(a&&a.length>0)for(const n of a)Ui(n,t)&&(r[n.id]=e.properties[o]);else i&&(r[o]=e.properties[o])}return r}function Bi(e,t,n){if(!t)return!0;const i=Oi(e,t,n,!1);for(const e of i)return!0;return!1}function*Oi(e,t,n,i){for(const r of t){const t=n.get(r);if(t)for(const n of t)Ui(n,e)&&(yield n.id);else i&&(yield r)}}function ji(e){return!/[?$][a-zA-Z]+\b/.test(e.path)}function Fi(e){return!/[?$][a-zA-Z]+\b/.test(e.path)}function Ui(e,t){if(e.domain&&0!==e.domain.length){if(t){for(const n of e.domain)if(t.has(n))return!0;return!1}return!1}return!0}function qi(e,t,n){e&&(t.label&&Gi(e.properties,n,t.label),t.class&&e.types.indexOf(t.class.value)<0&&e.types.push(t.class.value),t.propType&&t.propValue&&t.propType.value!==Vi&&Gi(e.properties,t.propType.value,t.propValue))}function Wi(e,t){if(t){for(const n of e)if(jt(n,t))return;e.push(t)}}function Gi(e,t,n){let i=Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0;if(i){for(const e of i)if(jt(e,n))return}else i=[],e[t]=i;i.push(n)}function Zi(e){const t=+e.value;return Number.isFinite(t)?t:0}function Ki(e){return{id:e,types:[],properties:{}}}function Xi(e){return{id:e.link.value,label:e.label?[e.label]:[],count:e.instcount?Zi(e.instcount):void 0}}var Qi={linkConfigurations:[],openWorldLinks:!1,propertyConfigurations:[],openWorldProperties:!1,linksInfoQuery:"SELECT ?source ?type ?target\n WHERE {\n ${linkConfigurations}\n VALUES (?source) {${sourceIris}}\n VALUES (?target) {${targetIris}}\n }",defaultPrefix:"",schemaLabelProperty:"rdfs:label",dataLabelProperty:"rdfs:label",fullTextSearch:{prefix:"",queryPattern:""},classTreeQuery:"",classInfoQuery:'SELECT ?class ?label ?instcount WHERE {\n VALUES(?class) {${ids}}\n OPTIONAL {\n ?class ${schemaLabelProperty} ?label\n ${labelLanguageFilter}\n }\n BIND("" as ?instcount)\n}',linkTypesQuery:"SELECT DISTINCT ?link ?instcount ?label WHERE {\n ${linkTypesPattern}\n OPTIONAL {\n ?link ${schemaLabelProperty} ?label\n ${labelLanguageFilter}\n }\n}",linkTypesPattern:"",linkTypesInfoQuery:"SELECT ?link ?label WHERE {\n VALUES(?link) {${ids}}\n OPTIONAL {\n ?link ${schemaLabelProperty} ?label\n ${labelLanguageFilter}\n }\n}",propertyInfoQuery:"SELECT ?property ?label WHERE {\n VALUES(?property) {${ids}}\n OPTIONAL {\n ?property ${schemaLabelProperty} ?label\n ${labelLanguageFilter}\n }\n}",elementInfoQuery:"",imageQueryPattern:"",linkTypesOfQuery:"",linkTypesStatisticsQuery:"",lookupQuery:"SELECT ${outerProjection} WHERE {\n ${filterInnerPrelude}\n {\n SELECT DISTINCT ${innerProjection} WHERE {\n ${filterByType}\n ${filterByRefElementLink}\n ${filterByText}\n ${filterAdditionalRestriction}\n } ${orderBy} ${limit}\n }\n ${queryTypes}\n ${queryElementInfo}\n} ${orderBy}",filterRefElementLinkPattern:"",filterTypePattern:"",filterAdditionalRestriction:"",filterElementInfoPattern:"",defaultPrefix:"PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n PREFIX owl: <http://www.w3.org/2002/07/owl#>\n",schemaLabelProperty:"rdfs:label",dataLabelProperty:"rdfs:label",fullTextSearch:{prefix:"",queryPattern:'?inst ${dataLabelProperty} ?search1\n FILTER regex(COALESCE(str(?search1)), "${text}", "i")\n BIND(0 as ?score)\n',extractLabel:!0},classTreeQuery:"\n SELECT ?class ?label ?parent\n WHERE {\n {\n ?class a rdfs:Class\n } UNION {\n ?class a owl:Class\n }\n FILTER ISIRI(?class)\n OPTIONAL {\n ?class rdfs:label ?label\n ${labelLanguageFilter}\n }\n OPTIONAL {?class rdfs:subClassOf ?parent. FILTER ISIRI(?parent)}\n }\n ",linkTypesPattern:"\n { ?link a rdf:Property }\n UNION\n { ?link a owl:ObjectProperty }\n BIND('' as ?instcount)\n ",elementInfoQuery:"\n CONSTRUCT {\n ?inst <urn:reactodia:sparql:type> ?class .\n ?inst <urn:reactodia:sparql:label> ?label .\n ?inst ?propType ?propValue.\n } WHERE {\n VALUES (?inst) {${ids}}\n OPTIONAL { ?inst a ?class }\n OPTIONAL {\n ?inst ${dataLabelProperty} ?label\n ${labelLanguageFilter}\n }\n OPTIONAL {\n ${propertyConfigurations}\n FILTER (isLiteral(?propValue))\n ${valueLanguageFilter}\n }\n }\n ",imageQueryPattern:"{ ?inst ?linkType ?image } UNION { [] ?linkType ?inst. BIND(?inst as ?image) }",linkTypesOfQuery:"\n SELECT DISTINCT ?link ?direction\n WHERE {\n ${linkConfigurations}\n }\n ",linkTypesStatisticsQuery:"\n SELECT ?link ?outCount ?inCount\n WHERE {\n {\n SELECT (${linkId} as ?link) (count(?outObject) as ?outCount) WHERE {\n ${linkConfigurationOut}\n ${navigateElementFilterOut}\n } LIMIT 101\n } {\n SELECT (${linkId} as ?link) (count(?inObject) as ?inCount) WHERE {\n ${linkConfigurationIn}\n ${navigateElementFilterIn}\n } LIMIT 101\n }\n }\n ",filterRefElementLinkPattern:"",filterTypePattern:"?inst a ?instType. ?instType rdfs:subClassOf* ?class",filterElementInfoPattern:"\n OPTIONAL {?inst rdf:type ?foundClass}\n BIND (coalesce(?foundClass, owl:Thing) as ?class)\n OPTIONAL {\n ?inst ${dataLabelProperty} ?label\n ${labelLanguageFilter}\n }\n ",filterAdditionalRestriction:"",classTreeQuery:"\n SELECT ?class ?instcount ?label ?parent\n WHERE {\n {SELECT ?class (count(?inst) as ?instcount)\n WHERE {\n ?inst rdf:type ?class.\n FILTER ISIRI(?class)\n } GROUP BY ?class } UNION\n {\n ?class rdf:type rdfs:Class\n } UNION {\n ?class rdf:type owl:Class\n }\n OPTIONAL {\n ?class rdfs:label ?label\n ${labelLanguageFilter}\n }\n OPTIONAL {?class rdfs:subClassOf ?parent. FILTER ISIRI(?parent)}\n }\n "},Yi=class{factory;options;settings;queryFunction;acceptBlankNodes=!1;chunkMeasure;linkByPredicate=new Map;linkById=new Map;openWorldLinks;propertyByPredicate=new Map;openWorldProperties;labelPredicate;imagePredicate;constructor(e,t=Qi){const{factory:n=Bt,queryFunction:i=rr}=e;this.factory=n,this.options=e,this.settings=t,this.queryFunction=i;const{chunk:r,queryMethod:o="GET",prepareLabelPredicate:a,prepareImagePredicate:s}=this.options;if(r&&!Number.isSafeInteger(r.maxSize))throw new Error("SparqlDataProviderOptions.chunk.maxSize should be a non-negative number");this.chunkMeasure=r?{maxSize:r.maxSize,measure:Ji(r.unit)}:void 0===r&&"GET"===o?{maxSize:2500,measure:Ji("totalLength")}:{maxSize:1/0,measure:Ji("itemCount")};for(const e of t.linkConfigurations){this.linkById.set(e.id,e);const t=ji(e)?e.path:e.id;_t(this.linkByPredicate,t,e)}this.openWorldLinks=0===t.linkConfigurations.length||Boolean(t.openWorldLinks);for(const e of t.propertyConfigurations){const t=Fi(e)?e.path:e.id;_t(this.propertyByPredicate,t,e)}this.openWorldProperties=0===t.propertyConfigurations.length||Boolean(t.openWorldProperties),this.labelPredicate=a??Zt.label,this.imagePredicate=s??Kt.thumbnailUrl}async queryChunked(e,t){const{maxSize:n,measure:i}=this.chunkMeasure,r=[];for(const o of function*(e,t,n){if(!Number.isFinite(n))return void(yield e);const i=[];let r=0;for(const o of e){const e=t(o);r>0&&r+e>n&&(yield[...i],i.length=0,r=0),i.push(o),r+=e}r>0&&(yield i)}(e,i,n))r.push(t(o));await Promise.all(r)}async knownElementTypes(e){const{signal:t}=e,{defaultPrefix:n,schemaLabelProperty:i,filterOnlyLanguages:r,classTreeQuery:o}=this.settings;if(!o)return{elementTypes:[],subtypeOf:[]};const a=n+nr(o,{schemaLabelProperty:i,labelLanguageFilter:or("?label",r)}),s=function(e){const t=new Map,n=new q(Ut,qt);for(const r of e.results.bindings){if(!Ai(r.class))continue;const e=r.class.value;let o=t.get(e);o||(o=i(e),t.set(e,o)),Wi(o.label,r.label),r.parent&&n.add([e,r.parent.value]),r.instcount&&(o.count=Zi(r.instcount))}for(const n of e.results.bindings)if(n.parent){const e=n.parent.value;t.has(e)||t.set(e,i(e))}function i(e){return{id:e,label:[],count:void 0}}return{elementTypes:Array.from(t.values()),subtypeOf:Array.from(n.values())}}(await this.executeSparqlSelect(a,{signal:t}));return this.options.prepareLabels&&await er(s.elementTypes,this.options.prepareLabels,t),s}async propertyTypes(e){const{propertyIds:t,signal:n}=e,{defaultPrefix:i,schemaLabelProperty:r,filterOnlyLanguages:o,propertyInfoQuery:a}=this.settings,s=new Map;if(a)await this.queryChunked(t,(async e=>{const t=i+nr(a,{ids:e.map(sr).map((e=>` ( ${e} )`)).join(" "),schemaLabelProperty:r,labelLanguageFilter:or("?label",o)});!function(e,t){for(const n of e.results.bindings){const e=n.property.value,i=t.get(e);i?Wi(i.label,n.label):t.set(e,{id:n.property.value,label:n.label?[n.label]:[]})}}(await this.executeSparqlSelect(t,{signal:n}),s)}));else for(const e of t)s.set(e,{id:e,label:[]});return this.options.prepareLabels&&await er(Array.from(s.values()),this.options.prepareLabels,n),s}async elementTypes(e){const{classIds:t,signal:n}=e,{defaultPrefix:i,schemaLabelProperty:r,filterOnlyLanguages:o,classInfoQuery:a}=this.settings,s=new Map;if(a)await this.queryChunked(t,(async e=>{const t=i+nr(a,{ids:e.map(sr).map((e=>` ( ${e} )`)).join(" "),schemaLabelProperty:r,labelLanguageFilter:or("?label",o)});!function(e,t){for(const n of e.results.bindings){if(!n.class)continue;const e=n.class.value,i=t.get(e);if(i){if(Wi(i.label,n.label),n.instcount){const e=Zi(n.instcount);void 0!==e&&(i.count=void 0===i.count?e:Math.max(i.count,e))}}else t.set(e,{id:e,label:n.label?[n.label]:[],count:n.instcount?Zi(n.instcount):void 0})}}(await this.executeSparqlSelect(t,{signal:n}),s)}));else for(const e of t)s.set(e,{id:e,label:[]});return this.options.prepareLabels&&await er(Array.from(s.values()),this.options.prepareLabels,n),s}async linkTypes(e){const{linkTypeIds:t,signal:n}=e,{defaultPrefix:i,schemaLabelProperty:r,filterOnlyLanguages:o,linkTypesInfoQuery:a}=this.settings,s=new Map;if(a)await this.queryChunked(t,(async e=>{const t=i+nr(a,{ids:e.map(sr).map((e=>` ( ${e} )`)).join(" "),schemaLabelProperty:r,labelLanguageFilter:or("?label",o)});Ri(await this.executeSparqlSelect(t,{signal:n}),s)}));else for(const e of t)s.set(e,{id:e,label:[]});return this.options.prepareLabels&&await er(Array.from(s.values()),this.options.prepareLabels,n),s}async knownLinkTypes(e){const{signal:t}=e,{defaultPrefix:n,schemaLabelProperty:i,filterOnlyLanguages:r,linkTypesQuery:o,linkTypesPattern:a}=this.settings;if(!o)return[];const s=n+nr(o,{linkTypesPattern:a,schemaLabelProperty:i,labelLanguageFilter:or("?label",r)}),l=function(e){const t=new Map;return Ri(e,t),t}(await this.executeSparqlSelect(s,{signal:t}));return this.options.prepareLabels&&await er(Array.from(l.values()),this.options.prepareLabels,t),Array.from(l.values())}async elements(e){const{elementIds:t,signal:n}=e,i=[];t.length>0&&await this.queryChunked(t,(async e=>{const t=e.map(sr).map((e=>` (${e})`)).join(" "),{defaultPrefix:n,dataLabelProperty:r,filterOnlyLanguages:o,elementInfoQuery:a}=this.settings,s=n+nr(a,{ids:t,dataLabelProperty:r,labelLanguageFilter:or("?label",o),valueLanguageFilter:or("?propValue",o),propertyConfigurations:this.formatPropertyInfo()}),l=await this.executeSparqlConstruct(s);for(const e of l)i.push(e)}));const r=this.queryManyElementTypes(this.settings.propertyConfigurations.length>0?t:[],n),o=function(e,t=Pi,n=Pi,i,r){const o=new Map;for(const t of e.results.bindings){if(!Ai(t.inst))continue;const e=t.inst.value;let n=o.get(e);n||(n=Ki(e),o.set(e,n)),qi(n,t,i)}if(!r||n.size>0)for(const e of o.values())e.properties=Di(e,t.get(e.id),n,r);for(const e of o.values())e.types.sort();return o}(function(e){const t=new Map,n={head:{vars:["inst","class","label","blankType","propType","propValue"]},results:{bindings:[]}};for(const n of e){if(!Ai(n.subject))continue;const e=n.subject.value;t.has(e)||t.set(e,i(n)),n.predicate.value===Vi&&Ii(n.object)?(t.get(e).label&&t.set(e,i(n)),t.get(e).label=n.object):"urn:reactodia:sparql:type"===n.predicate.value&&Ai(n.object)&&Ai(n.predicate)?(t.get(e).class&&t.set(e,i(n)),t.get(e).class=n.object):(Ai(n.object)||Ii(n.object))&&Ai(n.predicate)&&(t.get(e).propType&&t.set(e,i(n)),t.get(e).propType=n.predicate,t.get(e).propValue=n.object)}function i(e){const t={inst:e.subject};return n.results.bindings.push(t),t}return n}(i),await r,this.propertyByPredicate,this.labelPredicate,this.openWorldProperties);return this.options.prepareLabels&&await tr(Array.from(o.values()),this.options.prepareLabels,this.labelPredicate,n),this.options.prepareImages?await function(e,t,n,i,r){return t(e.values(),r).then((t=>{for(const[r,o]of t){const t=e.get(r);t&&Gi(t.properties,n,i.namedNode(o))}}))}(o,this.options.prepareImages,this.imagePredicate,this.factory,n):this.options.imagePropertyUris&&this.options.imagePropertyUris.length&&await this.attachImages(o,this.options.imagePropertyUris,n),o}async attachImages(e,t,n){const i=t.map(sr).map((e=>` ( ${e} )`)).join(" ");await this.queryChunked(Array.from(e.keys()),(async t=>{const r=t.map((e=>` ( ${sr(e)} )`)).join(" "),o=this.settings.defaultPrefix+`\n SELECT ?inst ?linkType ?image\n WHERE {\n VALUES (?inst) {${r}}\n VALUES (?linkType) {${i}}\n ${this.settings.imageQueryPattern}\n }\n `;try{!function(e,t,n){for(const i of e.results.bindings){if(!Ai(i.inst))continue;const e=t.get(i.inst.value);e&&Gi(e.properties,n,i.image)}}(await this.executeSparqlSelect(o,{signal:n}),e,this.imagePredicate)}catch(e){console.warn("Failed to load entity image URLs",e)}}))}async links(e){const{primary:t,secondary:n,linkTypeIds:i,signal:r}=e,{filterOnlyLanguages:o,linksInfoQuery:a}=this.settings,s=or("?propValue",o),l=this.formatLinkLinks();let c,d;if(c=t.length>0&&n.length>0?a.includes("${ids}")?this.queryUndirectedLinks(t,n,{propLanguageFilter:s,linkConfigurations:l},r):this.queryDirectedLinks(t,n,{propLanguageFilter:s,linkConfigurations:l},r):Promise.resolve([]),this.linkByPredicate.size>0){d=new Set(t);for(const e of n)d.add(e)}const u=this.queryManyElementTypes(d?Array.from(d):[],r);let h=function(e,t=Pi,n=Pi,i=!0){const r=new U(Gt,Wt);for(const o of e){const e={sourceId:o.source.value,linkTypeId:o.type.value,targetId:o.target.value,properties:{}},a=r.get(e);if(a)o.propType&&o.propValue&&Gi(a.properties,o.propType.value,o.propValue);else{o.propType&&o.propValue&&Gi(e.properties,o.propType.value,o.propValue);const a=n.get(e.linkTypeId);if(a&&a.length>0){for(const n of a)if(Ui(n,t.get(e.sourceId))){const t=ji(n)?{...e,linkTypeId:n.id}:e;r.set(t,t)}}else i&&r.set(e,e)}}return Array.from(r.values())}(await c,await u,this.linkByPredicate,this.openWorldLinks);if(i){const e=new Set(i);h=h.filter((t=>e.has(t.linkTypeId)))}return h}async queryUndirectedLinks(e,t,n,i){const{propLanguageFilter:r,linkConfigurations:o}=n,{defaultPrefix:a,linksInfoQuery:s}=this.settings,l=new Set(e);for(const e of t)l.add(e);const c=a+nr(s,{ids:ar(l),propLanguageFilter:r,linkConfigurations:o});return(await this.executeSparqlSelect(c,{signal:i})).results.bindings}async queryDirectedLinks(e,t,n,i){const{propLanguageFilter:r,linkConfigurations:o}=n,{defaultPrefix:a,linksInfoQuery:s}=this.settings,{maxSize:l,measure:c}=this.chunkMeasure,d=[],u=Array.from(function*(e,t,n,i){e.length<t.length&&([e,t]=[t,e]);const r=new Set(t),o=new Set;for(const t of e)r.has(t)&&o.add(t);yield*Ti(e,t,n,i),yield*Ti(t,e,n,i,r.size===o.size?o:void 0)}(e,t,c,l),(async e=>{const t=a+nr(s,{sourceIris:ar(e.sources),targetIris:ar(e.targets),propLanguageFilter:r,linkConfigurations:o}),n=await this.executeSparqlSelect(t,{signal:i});for(const e of n.results.bindings)d.push(e)}));return await Promise.all(u),d}async connectedLinkStats(e){const{elementId:t,inexactCount:n,signal:i}=e,{defaultPrefix:r,linkTypesOfQuery:o,linkTypesStatisticsQuery:a,filterTypePattern:s}=this.settings,l=/\?direction\b/.test(o),c=sr(t),d=this.formatLinkUnion(t,void 0,void 0,"?outObject","?inObject",l);d.usePredicatePart&&(d.unionParts.push(`{ ${c} ?link ?outObject ${l?'BIND("out" AS ?direction)':""} }`),d.unionParts.push(`{ ?inObject ?link ${c} ${l?'BIND("in" AS ?direction)':""} }`));const u=r+nr(o,{elementIri:c,linkConfigurations:d.unionParts.join("\nUNION\n")}),h=await this.executeSparqlSelect(u,{signal:i}),f=h.head.vars.includes("direction"),p=function(e,t=Pi,n=!0){const i=new Map,r=(e,t)=>{let n=i.get(e);n||(n={linkType:e},i.set(e,n)),Ii(t)&&("in"===t.value?n.hasInLink=!0:"out"===t.value&&(n.hasOutLink=!0))};for(const i of e.results.bindings){if(!Ai(i.link))continue;const e=t.get(i.link.value);if(e&&e.length>0)for(const t of e)r(ji(t)?t.id:i.link.value,i.direction);else n&&r(i.link.value,i.direction)}return Array.from(i.values())}(h,this.linkByPredicate,this.openWorldLinks),g=this.acceptBlankNodes?"FILTER (IsIri(?outObject) || IsBlank(?outObject))":"FILTER IsIri(?outObject)",v=this.acceptBlankNodes?"FILTER (IsIri(?inObject) || IsBlank(?inObject))":"FILTER IsIri(?inObject)",m=[];return await Promise.all(p.map((async({linkType:e,hasInLink:t,hasOutLink:o})=>{const l=this.linkById.get(e);let d,u;if(!l||ji(l)){const t=sr(l&&ji(l)?l.path:e);d=`${c} ${t} ?outObject`,u=`?inObject ${t} ${c}`}else d=this.formatLinkPath(l.path,c,"?outObject"),u=this.formatLinkPath(l.path,"?inObject",c);if(l&&l.domain&&l.domain.length>0){const e=l.domain.map(sr).join(", ");d+=` { ${s.replace(/[?$]inst\b/g,c)} FILTER(?class IN (${e})) }`,u+=` { ${s.replace(/[?$]inst\b/g,"?inObject")} FILTER(?class IN (${e})) }`}if(!a||n&&f)m.push({id:e,inCount:t?1:0,outCount:o?1:0,inexact:!0});else{const t=r+nr(a,{linkId:sr(e),elementIri:c,linkConfigurationOut:d,linkConfigurationIn:u,navigateElementFilterOut:g,navigateElementFilterIn:v}),n=function(e){for(const n of e.results.bindings)if(Ai(n.link))return{id:(t=n).link.value,inCount:Zi(t.inCount),outCount:Zi(t.outCount)};var t}(await this.executeSparqlSelect(t,{signal:i}));n&&m.push(n)}}))),m}async lookup(e){const{signal:t}=e,n={...e,limit:void 0===e.limit?100:e.limit},i=this.querySingleElementTypes(n.refElementId&&this.settings.linkConfigurations.length>0?n.refElementId:void 0,t),r=this.createFilterQuery(n),o=function(e,t,n,i,r){const o=n??Pi,a=new Map,s=new Map,l=new Map,c=new Map;for(const t of e.results.bindings){if(!Ai(t.inst)&&(d=t.inst,!Boolean(d&&"BlankNode"===d.termType)))continue;const e=t.inst.value;let n=a.get(e);if(n||(n=Ki(e),a.set(e,n)),qi(n,t,i),Ai(t.classAll)&&kt(s,e,t.classAll.value),!r&&t.link&&t.direction){const e="in"===t.direction.value?c:"out"===t.direction.value?l:void 0;e&&kt(e,n.id,t.link.value)}}var d;const u=[];for(const e of a.values()){const n=s.get(e.id);if(r||Bi(t,l.get(e.id),o)&&Bi(n,c.get(e.id),o)){e.types.sort();const i=new Set(Oi(t,l.get(e.id)??Hi,o,r)),a=new Set(Oi(n,c.get(e.id)??Hi,o,r));u.push({element:e,outLinks:i,inLinks:a})}}return u}(await this.executeSparqlSelect(r,{signal:t}),await i,this.linkByPredicate,this.labelPredicate,this.openWorldLinks);return this.options.prepareLabels&&await tr(o.map((e=>e.element)),this.options.prepareLabels,this.labelPredicate,t),o}createFilterQuery(e){if(!e.refElementId&&e.refElementLinkId)throw new Error("Cannot execute refElementLink filter without refElement");let t="?inst ?class ?label",n="?inst",i="",r="";e.refElementId&&(t+=" ?link ?direction",n+=" ?link ?direction",i=this.createRefQueryPart({elementId:e.refElementId,linkId:e.refElementLinkId,direction:e.linkDirection}),this.settings.linkConfigurations.length>0&&(t+=" ?classAll",r=this.settings.filterTypePattern.replace(/[?$]class\b/g,"?classAll")));let o="";if(e.elementTypeId){const t=sr(e.elementTypeId);o=this.settings.filterTypePattern.replace(/[?$]class\b/g,t)}const{defaultPrefix:a,dataLabelProperty:s,lookupQuery:l,filterOnlyLanguages:c,filterElementInfoPattern:d,fullTextSearch:u}=this.settings,h=nr(d,{dataLabelProperty:s,labelLanguageFilter:or("?label",c)});let f="",p="";e.text&&(n+=" ?score",this.settings.fullTextSearch.extractLabel&&(f+='\n BIND ( str( ?inst ) as ?uriStr)\n BIND ( strafter(?uriStr, "#") as ?label3)\n BIND ( strafter(strafter(?uriStr, "//"), "/") as ?label6)\n BIND ( strafter(?label6, "/") as ?label5)\n BIND ( strafter(?label5, "/") as ?label4)\n BIND (if (?label3 != "", ?label3,\n if (?label4 != "", ?label4,\n if (?label5 != "", ?label5, ?label6))) as ?extractedLabel)\n '),f=nr(u.queryPattern,{text:e.text,dataLabelProperty:s}),f&&(p="ORDER BY DESC(?score)"));let g="";return"number"==typeof e.limit&&(g=`LIMIT ${e.limit}`),a+"\n"+u.prefix+"\n"+nr(l,{innerProjection:n,outerProjection:t,filterInnerPrelude:this.settings.filterInnerPrelude,filterByType:o,filterByRefElementLink:i,filterByText:f,filterAdditionalRestriction:this.settings.filterAdditionalRestriction,orderBy:p,limit:g,queryTypes:r,queryElementInfo:h})}executeSparqlSelect(e,t){const n=this.options.queryMethod??"GET",{signal:i}=t??{};return async function(e,t,n,i,r,o){let a;a=i("GET"===n?{url:ir(e,{query:t}),headers:{Accept:"application/sparql-results+json"},method:"GET",signal:o}:{url:e,body:t,headers:{Accept:"application/sparql-results+json","Content-Type":"application/sparql-query; charset=UTF-8"},method:"POST",signal:o});const s=await a;if(s.ok)return function(e,t){return{...e,results:{...e.results,bindings:e.results.bindings.map((function(e){const n={};for(const i in e)if(Object.prototype.hasOwnProperty.call(e,i)){const r=e[i];switch(r.type){case"uri":n[i]=t.namedNode(r.value);break;case"bnode":n[i]=t.blankNode(r.value);break;case"literal":case"typed-literal":n[i]=t.literal(r.value,r["xml:lang"]?r["xml:lang"]:r.datatype?t.namedNode(r.datatype):void 0);break;default:throw new Error(`Unexpected SPARQL term type: "${r.type}"`)}}return n}))}}}(await s.json(),r);{const e=new Error(s.statusText);throw e.response=s,e}}(this.options.endpointUrl,e,n,this.queryFunction,this.factory,i)}executeSparqlConstruct(e,t){const n=this.options.queryMethod??"GET",{signal:i}=t??{};return async function(e,t,n,i,r){let o;o=i("GET"===n?{url:ir(e,{query:t}),headers:{Accept:"text/turtle"},method:"GET",signal:r}:{url:e,body:t,headers:{Accept:"text/turtle","Content-Type":"application/sparql-query; charset=UTF-8"},method:"POST",signal:r});const a=await o;if(a.ok){const e=await a.text();return(new bt).parse(e)}{const e=new Error(a.statusText);throw e.response=a,e}}(this.options.endpointUrl,e,n,this.queryFunction,i)}createRefQueryPart(e){const{elementId:t,linkId:n,direction:i}=e,{unionParts:r,usePredicatePart:o}=this.formatLinkUnion(t,n,i,"?inst","?inst",!0);if(o){const t=sr(e.elementId);let o;if(n){const e=this.linkById.get(n);o=e&&ji(e)?sr(e.path):sr(n)}const a=o||"?link",s=o?`BIND(${o} as ?link)`:"",l=this.acceptBlankNodes?"FILTER(isIri(?inst) || isBlank(?inst))":"FILTER(isIri(?inst))";i&&"out"!==i||r.push(`{ ${t} ${a} ?inst BIND("out" as ?direction) ${s} ${l} }`),i&&"in"!==i||r.push(`{ ?inst ${a} ${t} BIND("in" as ?direction) ${s} ${l} }`)}let a=0===r.length?"FILTER(false)":r.join("\nUNION\n");return!n&&this.settings.filterRefElementLinkPattern.length>0&&(a+=`\n${this.settings.filterRefElementLinkPattern}`),a}formatLinkUnion(e,t,n,i,r,o){const{linkConfigurations:a}=this.settings,s=sr(e),l=[];let c=!1;for(const e of a)if(!t||e.id===t)if(ji(e))c=!0;else{const t=sr(e.id);if(!n||"out"===n){const n=this.formatLinkPath(e.path,s,i);l.push(`{ ${n} BIND(${t} as ?link) ${o?'BIND("out" as ?direction) ':""}}`)}if(!n||"in"===n){const n=this.formatLinkPath(e.path,r,s);l.push(`{ ${n} BIND(${t} as ?link) ${o?'BIND("in" as ?direction) ':""}}`)}}return{unionParts:l,usePredicatePart:this.openWorldLinks||c}}formatLinkLinks(){const e=[];let t=!1;for(const n of this.settings.linkConfigurations)if(ji(n))t=!0;else{const t=sr(n.id);e.push(`${this.formatLinkPath(n.path,"?source","?target")} BIND(${t} as ?type)`)}return(this.openWorldLinks||t)&&e.push("?source ?type ?target"),0===e.length?"":1===e.length?e[0]:"{ "+e.join(" }\nUNION\n{ ")+" }"}formatLinkPath(e,t,n){return e.replace(/[?$]source\b/g,t).replace(/[?$]target\b/g,n)}formatPropertyInfo(){const e=[];let t=!1;for(const n of this.settings.propertyConfigurations)if(Fi(n))t=!0;else{const t=sr(n.id),i=this.formatPropertyPath(n.path,"?inst","?propValue");e.push(`{ ${i} BIND(${t} as ?propType) }`)}return(this.openWorldProperties||t)&&e.push("{ ?inst ?propType ?propValue }"),e.join("\nUNION\n")}formatPropertyPath(e,t,n){return e.replace(/[?$]inst\b/g,t).replace(/[?$]value\b/g,n)}async querySingleElementTypes(e,t){if(e)return(await this.queryManyElementTypes([e],t)).get(e)}async queryManyElementTypes(e,t){if(0===e.length)return new Map;const{filterTypePattern:n}=this.settings,i=new Map;return await this.queryChunked(e,(async e=>{const r=nr("SELECT ?inst ?class { VALUES(?inst) { ${ids} } ${filterTypePattern} }",{ids:e.map((e=>`(${sr(e)})`)).join(" "),filterTypePattern:n});!function(e,t){for(const n of e.results.bindings)Ai(n.inst)&&Ai(n.class)&&kt(t,n.inst.value,n.class.value)}(await this.executeSparqlSelect(r,{signal:t}),i)})),i}};function Ji(e){return"totalLength"===e?e=>sr(e).length+3:()=>1}async function er(e,t,n){const i=await t(new Set(e.map((e=>e.id))),n);for(const t of e){const e=i.get(t.id);e&&(t.label=e)}}async function tr(e,t,n,i){const r=await t(new Set(e.map((e=>e.id))),i);for(const t of e){const e=r.get(t.id);e&&(t.properties[n]=e)}}function nr(e,t){let n=e;for(const e in t){if(!Object.prototype.hasOwnProperty.call(t,e))continue;const i=t[e]||"";n=n.replace(new RegExp("\\${"+e+"}","g"),i)}return n}function ir(e,t={}){return e+(e.indexOf("?")<0?"?":"&")+Object.keys(t).map((e=>`${e}=${encodeURIComponent(t[e])}`)).join("&")}function rr(e){return fetch(e.url,{method:e.method,body:e.body,credentials:"same-origin",mode:"cors",cache:"default",headers:e.headers,signal:e.signal})}function or(e,t){if(!t)return"";const n=[`FILTER(!isLiteral(${e}) || lang(${e}) = ""`];for(const i of t)n.push(` || lang(${e}) = "${i}"`);return n.push(")"),n.join("")}function ar(e){return Array.from(e,(e=>`(${sr(e)})`)).join(" ")}function sr(e){if("string"!=typeof e)throw new Error(`Cannot escape IRI of type "${typeof e}"`);return`<${e}>`}var lr=v.createContext(null);function cr(){const e=v.useContext(lr);if(!e)throw new Error("Reactodia: missing canvas context");return e}var dr,ur,hr,fr,pr=/Mac|iPhone|iPad/.test(window?.navigator?.platform||"");function gr(e){const{modifiers:t,key:n}=e;let i="";return 1&t&&(i+="Ctrl+"),2&t&&(i+=pr?"⌘+":"Meta+"),4&t&&(i+="Alt+"),8&t&&(i+="Shift+"),i+=1===n.length?n.toUpperCase():n,i}function vr(e,t){return e.modifiers===t.modifiers&&e.key===t.key}function mr(e){return D(R(function(e){if((0|e)===e)return e;{F[0]=e;const t=R(j[0],j[1]);return F[0]=0,t}}(e.modifiers),B(e.key)))}function br(e,t){const{canvas:n}=cr(),i=v.useMemo((()=>{if(e){const t=function(e){const t=e.split("+");let n=0;for(let e=0;e<t.length-1;e++){const i=t[e];switch(i){case"Ctrl":n|=1;break;case"Meta":n|=2;break;case"Alt":n|=4;break;case"Shift":n|=8;break;case"Mod":n|=pr?2:1;break;case"None":break;default:throw new Error(`Unknown hotkey modifier "${i}"`)}}const i=t[t.length-1];if(!i)throw new Error("Missing main key for a hotkey");return{modifiers:n,key:1===i.length?i.toLowerCase():i}}(e);return{_ast:t,text:gr(t)}}}),[e]),r=v.useRef();return r.current=t,v.useEffect((()=>{if(i)return n.renderingState.listenHotkey(i._ast,(()=>{r.current?.()}))}),[i]),i}function wr(e,t,n){if("number"!=typeof t&&"number"!=typeof n)return{width:e.width,height:e.height};const i=e.width/e.height;return t="number"==typeof t?t:n*i,(n="number"==typeof n?n:t/i)*i<=t?{width:n*i,height:n}:{width:t,height:t/i}}function yr(e,t){const{x:n,y:i}=e.position,r=t.getElementSize(e);return{x:n,y:i,width:r?r.width:0,height:r?r.height:0}}function _r(e,t){return"ellipse"===e.type?function(e,t){const n=hr.center(e),i=dr.subtract(t,n),r=dr.normalize(i),o={x:r.x*e.width*.5,y:r.y*e.height*.5};return dr.length(i)>=dr.length(o)?dr.add(n,o):void 0}(e.bounds,t):function(e,t){if(0===e.width||0===e.height||t.x>e.x&&t.x<e.x+e.width&&t.y>e.y&&t.y<e.y+e.height)return;const n=e.width/2,i=e.height/2,r=e.x+n,o=e.y+i,a=dr.normalize({x:t.x-r,y:t.y-o}),s={x:Math.abs(a.x),y:a.y};return dr.cross2D({x:n,y:-i},s)>0&&dr.cross2D({x:n,y:i},s)<0?{x:r+n*Math.sign(a.x),y:o+n*a.y/Math.abs(a.x)}:{x:r+i*a.x/Math.abs(a.y),y:o+i*Math.sign(a.y)}}(e.bounds,t)}function kr(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++){const i=e[n],r=t[n];if(i.x!==r.x||i.y!==r.y)return!1}return!0}function xr(e,t,n){const i="type"in e?e:{type:"rect",bounds:e},r="type"in t?t:{type:"rect",bounds:t};let o,a;for(let e=0;e<n.length&&(o=_r(i,n[e]),!o);e++);o||(o=_r(i,hr.center(r.bounds))??hr.center(i.bounds));for(let e=n.length-1;e>=0&&(a=_r(r,n[e]),!a);e--);return a||(a=_r(r,hr.center(i.bounds))??hr.center(r.bounds)),[o,...n,a]}function Sr(e){let t;return e.reduce(((e,n)=>{const i=t?dr.length({x:n.x-t.x,y:n.y-t.y}):0;return t=n,e+i}),0)}function Cr(e,t){if(0===e.length)throw new Error("Cannot compute a point for an empty polyline");if(t<0)return e[0];let n=0;for(let i=1;i<e.length;i++){const r=e[i-1],o=e[i],a={x:o.x-r.x,y:o.y-r.y},s=dr.length(a),l=n+s;if(t<l){const e=(t-n)/s;return{x:r.x+e*a.x,y:r.y+e*a.y}}n=l}return e[e.length-1]}(ur=dr||(dr={})).add=function(e,t){return{x:e.x+t.x,y:e.y+t.y}},ur.subtract=function(e,t){return{x:e.x-t.x,y:e.y-t.y}},ur.scale=function(e,t){return{x:e.x*t,y:e.y*t}},ur.equals=function(e,t){return e.x===t.x&&e.y===t.y},ur.length=function({x:e,y:t}){return Math.sqrt(e*e+t*t)},ur.normalize=function({x:e,y:t}){if(0===e&&0===t)return{x:e,y:t};const n=1/Math.sqrt(e*e+t*t);return{x:e*n,y:t*n}},ur.dot=function({x:e,y:t},{x:n,y:i}){return e*n+t*i},ur.cross2D=function({x:e,y:t},{x:n,y:i}){return e*i-t*n},(fr=hr||(hr={})).equals=function(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height},fr.center=function({x:e,y:t,width:n,height:i}){return{x:e+n/2,y:t+i/2}},fr.intersects=function(e,t){return e.x<=t.x+t.width&&e.y<=t.y+t.height&&t.x<=e.x+e.width&&t.y<=e.y+e.height};var Lr,Mr,Er=class e{geometry;constructor(e){if(this.geometry=e,e.points.length<2)throw new Error("Spline must consists of at least two points")}static defaultType="smooth";static create(t){return new e(t)}toPath(){const{type:e,points:t,source:n,target:i}=this.geometry;if("smooth"===e&&t.length>=3){const e=.25,r=[`M${t[0].x} ${t[0].y}`];let o=dr.normalize(dr.subtract(n,t[0]));for(let n=1;n<t.length;n++){const a=t[n-1],s=t[n],l=t[n+1],c=dr.normalize(l?dr.subtract(a,l):dr.subtract(s,i)),d=dr.length(dr.subtract(a,s)),u=dr.subtract(a,dr.scale(o,d*e)),h=dr.add(s,dr.scale(c,d*e));o=c,r.push(` C${u.x} ${u.y} ${h.x} ${h.y} ${s.x} ${s.y}`)}return r.join("")}return"M"+t.map((({x:e,y:t})=>`${e} ${t}`)).join(" L")}};function zr(e,t,n){for(let i=e.length-1;i>=0;i--){const r=e[i],{x:o,y:a,width:s,height:l}=yr(r,n);if((0!==s||0!==l)&&t.x>=o&&t.x<=o+s&&t.y>=a&&t.y<=a+l)return r}}function $r(e,t,n){let i=1/0,r=1/0,o=-1/0,a=-1/0;for(const t of e){const{x:e,y:s}=t.position,l=n.getElementSize(t);i=Math.min(i,e),r=Math.min(r,s),o=Math.max(o,e+(l?l.width:0)),a=Math.max(a,s+(l?l.height:0))}for(const e of t){const t=e.vertices||[];for(const{x:e,y:n}of t)i=Math.min(i,e),r=Math.min(r,n),o=Math.max(o,e),a=Math.max(a,n)}return{x:Number.isFinite(i)?i:0,y:Number.isFinite(r)?r:0,width:Number.isFinite(i)&&Number.isFinite(o)?o-i:0,height:Number.isFinite(r)&&Number.isFinite(a)?a-r:0}}function Nr(e,t){if(0===e.length)return{x:0,y:0};let n=0,i=0;for(const r of e){const{x:e,y:o,width:a,height:s}=yr(r,t);n+=e+a/2,i+=o+s/2}return{x:n/e.length,y:i/e.length}}(Mr=Lr||(Lr={})).create=function(e,t){return new Tr(e,t)},Mr.effect=function(e,t){return new Ar(e,t)},Mr.compound=function(e,t){return new Vr(e,t)};var Tr=class{title;invoke;constructor(e,t){this.title=e,this.invoke=t}},Ar=class{title;body;skip;constructor(e,t){this.title=e,this.body=t,this.skip=new Ir(e,this)}invoke(){const{body:e}=this;return e(),this.skip}},Ir=class{title;effect;constructor(e,t){this.title=e,this.effect=t}invoke(){return this.effect}},Vr=class e{title;commands;constructor(e,t){this.title=e,this.commands=t}invoke(){const t=[];for(const e of this.commands)t.push(e.invoke());return t.reverse(),new e(this.title,t)}},Pr=class{source=new bi;events=this.source;_undoStack=[];_redoStack=[];batches=[];get undoStack(){return this._undoStack}get redoStack(){return this._redoStack}hasChanges(){return this._undoStack.length>0}reset(){this._undoStack.length=0,this._redoStack.length=0,this.source.trigger("historyChanged",{hasChanges:this.hasChanges()})}undo(){const e=this._undoStack.pop();if(e){const t=e.invoke();this._redoStack.push(t),this.source.trigger("historyChanged",{hasChanges:this.hasChanges()})}}redo(){const e=this._redoStack.pop();if(e){const t=e.invoke();this._undoStack.push(t),this.source.trigger("historyChanged",{hasChanges:this.hasChanges()})}}execute(e){const t=e.invoke();this.registerToUndo(t)}registerToUndo(e){const t=this.topBatch();t?t._inverses.push(e):(this._undoStack.push(e),this._redoStack.length=0,this.source.trigger("historyChanged",{hasChanges:this.hasChanges()}))}topBatch(){return 0===this.batches.length?void 0:this.batches[this.batches.length-1]}startBatch(e){const t={_title:e,_inverses:[],history:this,store:()=>{if(this.batches.includes(t))for(;this.batches.length>0;){const e=this.batches.pop();if(e!==t&&console.warn("Reactodia: storing other unclosed batch on top",e),e._inverses.length>0){const n=[...e._inverses].reverse();this.registerToUndo(Lr.compound(t._title,n))}if(e===t)break}else console.warn("Reactodia: failed to find batch to store (already stored or discarded?)",t)},discard:e=>{if(this.batches.includes(t))for(;this.batches.length>0;){const n=this.batches.pop();if(n!==t&&console.warn("Reactodia: discarding other unclosed batch on top",n),e?.revert&&n._inverses.length>0){const e=[...n._inverses].reverse();Lr.compound(t._title,e).invoke()}if(n===t)break}else console.warn("Reactodia: failed to find batch to discard (already stored or discarded?)",t)}};return this.batches.push(t),t}},Hr=class e{elementState;linkState;static _title=Ht.text("commands.restore_geometry.title");constructor(e,t){this.elementState=e,this.linkState=t}static capture(t){return e.capturePartial(t.elements,t.links)}static capturePartial(t,n){return new e(t.map((e=>({element:e,position:e.position,size:Rr(e)}))),n.map((e=>({link:e,vertices:e.vertices}))))}get title(){return e._title}hasChanges(){return this.elementState.length>0||this.linkState.length>0}filterOutUnchanged(){return new e(this.elementState.filter((({element:e,position:t,size:n})=>!(dr.equals(e.position,t)&&Rr(e)===n))),this.linkState.filter((({link:e,vertices:t})=>!kr(e.vertices,t))))}invoke(){const t=e.capturePartial(this.elementState.map((e=>e.element)),this.linkState.map((e=>e.link)));for(const{element:e,position:t,size:n}of[...this.elementState].reverse())e.setPosition(t),e.setElementState(e.elementState.set(pi.ElementSize,n));for(const{link:e,vertices:t}of this.linkState)e.setVertices(t);return t}};function Rr(e){return e.elementState.get(pi.ElementSize)}function Dr(e){const t=e.vertices;return Lr.create(Ht.text("commands.restore_link_vertices.title"),(()=>{const n=Dr(e);return e.setVertices(t),n}))}function Br(e,t){return Lr.create(Ht.text("commands.set_element_state.title"),(()=>{const n=e.elementState;return e.setElementState(t),Br(e,n)}))}function Or(e,t){return Lr.create(Ht.text(t?"commands.expand_element.title":"commands.collapse_element.title"),(()=>(e.setExpanded(t),Or(e,!t))))}function jr(e,t){return Lr.create(Ht.text("commands.set_link_state.title"),(()=>{const n=e.linkState;return e.setLinkState(t),jr(e,n)}))}function Fr(e,t,n){return Lr.create(Ht.text("commands.change_link_type_visibility.title"),(()=>{const i=e.getLinkVisibility(t);return e.setLinkVisibility(t,n),Fr(e,t,i)}))}function Ur(e){const{elements:t,target:n,graph:i,sizeProvider:r,distance:o=300}=e;return Lr.create(Ht.text("commands.place_elements_around.title"),(()=>{const e=Hr.capture(i),a=yr(n,r),s=a.x+a.width/2,l=a.y+a.height/2;let c=0;const d=i.getElementLinks(n);if(d.length>0){const e=Nr(d.map((e=>{const t=i.sourceOf(e);return t!==n?t:i.targetOf(e)})),r),t={x:s-e.x,y:l-e.y};0===t.x&&0===t.y||(c=Math.atan2(t.y,t.x))}const u=Math.min(Math.PI/t.length,Math.PI/6),h=[...t],f=(e,t)=>{if(t){const{width:n,height:i}=yr(t,r);t.setPosition({x:s+o*Math.cos(e)-n/2,y:l+o*Math.sin(e)-i/2})}};if(h.length%2==0)for(let e=u/2;h.length>0;e+=u)f(c-e,h.pop()),f(c+e,h.pop());else{f(c,h.pop());for(let e=u;h.length>0;e+=u)f(c-e,h.pop()),f(c+e,h.pop())}return e.filterOutUnchanged()}))}var qr=class e{source=new bi;events=this.source;id;_position;_elementState;constructor(t){const{id:n=e.generateId(),position:i={x:0,y:0},expanded:r=!1,elementState:o=Ci.empty}=t;this.id=n,this._position=i,this._elementState=r?o.set(pi.Expanded,r):o}static generateId(){return`urn:reactodia:e:${$i()}`}get position(){return this._position}setPosition(e){const t=this._position;t.x===e.x&&t.y===e.y||(this._position=e,this.source.trigger("changePosition",{source:this,previous:t}))}get isExpanded(){return Boolean(this._elementState.get(pi.Expanded))}setExpanded(e){this.setElementState(this._elementState.set(pi.Expanded,!!e||void 0))}get elementState(){return this._elementState}setElementState(e){const t=this._elementState;t!==e&&(this._elementState=e,this.source.trigger("changeElementState",{source:this,previous:t}))}focus(){this.source.trigger("requestedFocus",{source:this})}redraw(e){this.source.trigger("requestedRedraw",{source:this,level:e})}},Wr=class extends qr{constructor(e){super(e)}},Gr=class e{source=new bi;events=this.source;id;_sourceId;_targetId;_vertices;_linkState;constructor(t){const{id:n=e.generateId(),sourceId:i,targetId:r,vertices:o=[],linkState:a=Ci.empty}=t;this.id=n,this._sourceId=i,this._targetId=r,this._vertices=o,this._linkState=a}static generateId(){return`urn:reactodia:l:${$i()}`}get sourceId(){return this._sourceId}get targetId(){return this._targetId}get typeId(){return this.getTypeId()}get vertices(){return this._vertices}setVertices(e){const t=this._vertices;kr(this._vertices,e)||(this._vertices=e,this.source.trigger("changeVertices",{source:this,previous:t}))}get linkState(){return this._linkState}setLinkState(e){const t=this._linkState;t!==e&&(this._linkState=e,this.source.trigger("changeLinkState",{source:this,previous:t}))}redraw(){this.source.trigger("requestedRedraw",{source:this})}},Zr=class{link;vertexIndex;constructor(e,t){this.link=e,this.vertexIndex=t}createAt(e){const t=[...this.link.vertices];t.splice(this.vertexIndex,0,e),this.link.setVertices(t)}moveTo(e){const t=[...this.link.vertices];t.splice(this.vertexIndex,1,e),this.link.setVertices(t)}remove(){const e=[...this.link.vertices];e.splice(this.vertexIndex,1),this.link.setVertices(e)}};function Kr(e){const{paperTransform:t,layerRef:n,style:i,children:r,...o}=e,{originX:a,originY:s,scale:l}=t;let c={position:"absolute",left:0,top:0,transform:`scale(${l},${l})translate(${a}px,${s}px)`};return i&&(c={...c,...i}),H.jsx("div",{ref:n,style:c,...o,children:r})}function Xr(e){const{layerRef:t,paperTransform:n,style:i,children:r,...o}=e,{width:a,height:s,originX:l,originY:c,scale:d}=n,u=a*d,h=s*d;let f={position:"absolute",top:0,left:0};return i&&(f={...f,...i}),H.jsx("svg",{ref:t,width:u,height:h,style:f,role:"none",...o,children:H.jsx("g",{transform:`scale(${d},${d})translate(${l},${c})`,children:r})})}function Qr(e,t){return e.width===t.width&&e.height===t.height&&e.originX===t.originX&&e.originY===t.originY&&e.paddingX===t.paddingX&&e.paddingY===t.paddingY&&e.scale===t.scale}function Yr(e,t){return{x:(e.x+t.originX)*t.scale,y:(e.y+t.originY)*t.scale}}function Jr(e,t){return{x:e.x/t.scale-t.originX,y:e.y/t.scale-t.originY}}var eo=class{gap;constructor(e={}){const{gap:t=20}=e;this.gap=t}route(e,t){const n=new Map;for(const i of e.links){if(n.has(i.id))continue;const{sourceId:r,targetId:o}=i;r&&o&&(r===o?this.routeFeedbackSiblingLinks(r,e,t,n):this.routeNormalSiblingLinks(r,o,e,t,n))}return n}routeFeedbackSiblingLinks(e,t,n,i){const r=t.getElement(e),o=n.getElementShape(r),{x:a,y:s}=o.bounds,l=hr.center(o.bounds);let c=0;for(const e of t.getElementLinks(r)){const{sourceId:n,targetId:r}=e;if(!i.has(e.id)&&"hidden"!==t.getLinkVisibility(e.typeId)&&n===r)if(0===e.vertices.length){const t=this.gap*(c+1);i.set(e.id,{linkId:e.id,vertices:[{x:a-t,y:s+t},{x:a-t,y:s-t},{x:a+t,y:s-t}]}),c++}else if(1===e.vertices.length){const[t]=e.vertices,[n]=xr(o,{x:t.x,y:t.y,width:0,height:0},[]),r=Math.min(Math.max(this.gap,.75*dr.length(dr.subtract(t,n))),o.bounds.width,o.bounds.height),a=dr.normalize(dr.subtract(t,l)),s=dr.add(t,dr.scale(a,-r)),c={x:-a.y,y:a.x},d=[dr.add(s,dr.scale(c,r)),t,dr.add(s,dr.scale(c,-r))];i.set(e.id,{linkId:e.id,vertices:d})}}}routeNormalSiblingLinks(e,t,n,i,r){const o=n.getElement(e),a=n.getElement(t),s=hr.center(yr(o,i)),l=hr.center(yr(a,i)),c=(s.x+l.x)/2,d=(s.y+l.y)/2,u=dr.normalize({x:l.x-s.x,y:l.y-s.y}),h=n.getElementLinks(o).filter((e=>!(e.sourceId!==t&&e.targetId!==t||r.has(e.id)||function(e){return e.vertices.length>0}(e)||"hidden"===n.getLinkVisibility(e.typeId))));if(h.length<=1)return;const f=h.length%2?0:1;h.forEach(((e,t)=>{const n=t+f,i=this.gap*Math.ceil(n/2)-(f?this.gap/2:0),o=n%2?{x:-u.y,y:u.x}:{x:u.y,y:-u.x};r.set(e.id,{linkId:e.id,vertices:[{x:c+o.x*i,y:d+o.y*i}],labelTextAnchor:this.getLabelAlignment(u,t,h.length)})}))}getLabelAlignment(e,t,n){const i=Math.atan2(e.y,e.x),r=Math.abs(i),o=i<0,a=i>0,s=n-2,l=n-1;if(!(r<1*Math.PI/8||r>7*Math.PI/8)){if(o&&t===l||a&&t===s)return"end";if(o&&t===s||a&&t===l)return"start"}return"middle"}},to=function(e){return e[e.Element=1]="Element",e[e.ElementSize=2]="ElementSize",e[e.LinkRoutes=3]="LinkRoutes",e[e.PaperArea=4]="PaperArea",e[e.Link=5]="Link",e[e.LinkLabel=6]="LinkLabel",e[e.Overlay=7]="Overlay",e}({}),no=()=>{},io=()=>{},ro=class e{listener=new wi;source=new bi;events=this.source;scheduledByLayer=new Map;layerUpdater=new yi;model;resolveElementTemplate;resolveLinkTemplate;mappedTemplates=new WeakMap;linkRouter;decorationContainers=new WeakMap;elementSizes=new WeakMap;linkLabelContainer=document.createElement("div");linkLabelBounds=new WeakMap;cachedLinkTemplates=new WeakMap;linkMarkerIndex=new WeakMap;static nextLinkMarkerIndex=1;routings=new Map;hotkeyHandlers=new U(mr,vr);shared;constructor(e){this.model=e.model,this.shared=e.shared,this.resolveElementTemplate=e.elementTemplateResolver??no,this.resolveLinkTemplate=e.linkTemplateResolver??io,this.linkRouter=e.linkRouter??new eo,this.listener.listen(this.model.events,"changeCells",(()=>this.scheduleUpdateRoutings())),this.listener.listen(this.model.events,"linkEvent",(({data:e})=>{e.changeVertices&&this.scheduleUpdateRoutings()})),this.listener.listen(this.model.events,"elementEvent",(({data:e})=>{e.changePosition&&this.scheduleUpdateRoutings()})),this.listener.listen(this.model.events,"changeLinkVisibility",(()=>{this.scheduleUpdateRoutings()})),this.listener.listen(this.model.events,"discardGraph",(()=>{this.cachedLinkTemplates=new WeakMap;const e=this.routings;this.routings=new Map,this.cancelOnLayerUpdate(3,this.updateRoutings),this.source.trigger("changeLinkTemplates",{source:this}),this.source.trigger("changeRoutings",{source:this,previous:e})})),this.listener.listen(this.events,"changeElementSize",(()=>{this.scheduleUpdateRoutings()})),this.updateRoutings()}dispose(){this.listener.stopListening(),this.layerUpdater.dispose(),this.cancelOnLayerUpdate(3,this.updateRoutings)}syncUpdate(){this.syncUpdateLayersUpTo(7)}scheduleOnLayerUpdate(e,t){kt(this.scheduledByLayer,e,t),this.layerUpdater.call(this.runLayerUpdate)}cancelOnLayerUpdate(e,t){const n=this.scheduledByLayer.get(e);n&&n.delete(t)}runLayerUpdate=()=>this.syncUpdateLayersUpTo(7);updateLayersUpTo(e){return Promise.resolve().then((()=>this.syncUpdateLayersUpTo(e)))}syncUpdateLayersUpTo(e){this.layerUpdater.dispose();let t=!1;for(let n=e+1;n<=7;n++){const e=this.scheduledByLayer.get(n);e&&e.size>0&&(t=!0)}const n=new Set;for(let t=1;t<=e;t++){const e=this.scheduledByLayer.get(t);if(e&&e.size>0){for(const t of e)n.add(t);e.clear();for(const e of n)e();n.clear()}this.source.trigger("syncUpdate",{layer:t})}t&&this.layerUpdater.call(this.runLayerUpdate)}ensureDecorationContainer(e){let t=this.decorationContainers.get(e);return t||(t=document.createElement("div"),this.decorationContainers.set(e,t)),t}getElementSize(e){return this.elementSizes.get(e)}setElementSize(e,t){const n=this.elementSizes.get(e);n&&n.width===t.width&&n.height===t.height||(this.ensureDecorationContainer(e).style=`width: ${t.width}px; height: ${t.height}px`,this.elementSizes.set(e,t),this.source.trigger("changeElementSize",{source:e,previous:n}))}attachLinkLabelContainer(e){if(e){if(this.linkLabelContainer.parentElement)throw new Error("Cannot attach link label container to multiple parents");e.appendChild(this.linkLabelContainer)}else this.linkLabelContainer.parentElement&&this.linkLabelContainer.parentElement.removeChild(this.linkLabelContainer)}getLinkLabelContainer(){return this.linkLabelContainer}getLinkLabelBounds(e){return this.linkLabelBounds.get(e)}setLinkLabelBounds(e,t){const n=this.linkLabelBounds.get(e);!n&&!t||n&&t&&hr.equals(n,t)||(t?this.linkLabelBounds.set(e,t):this.linkLabelBounds.delete(e),this.source.trigger("changeLinkLabelBounds",{source:e,previous:n}))}getElementTemplate(e){let t=this.resolveElementTemplate(e);if("function"==typeof t){let e=this.mappedTemplates.get(t);if(!e){const n=t;e={renderElement:e=>v.createElement(n,e)},this.mappedTemplates.set(t,e)}t=e}return t??this.shared.defaultElementResolver(e)}getElementShape(e){const t=this.getElementTemplate(e),n=yr(e,this);return{type:t.shape??"rect",bounds:n}}ensureLinkMarkerIndex(t){let n=this.linkMarkerIndex.get(t);return void 0===n&&(n=e.nextLinkMarkerIndex++,e.nextLinkMarkerIndex>=Number.MAX_SAFE_INTEGER&&(e.nextLinkMarkerIndex=1),this.linkMarkerIndex.set(t,n)),n}getLinkTemplate(e){const t=this.cachedLinkTemplates.get(e);if(t)return t;const n=this.resolveLinkTemplate(e)??this.shared.defaultLinkResolver(e);return this.cachedLinkTemplates.set(e,n),this.source.trigger("changeLinkTemplates",{source:this}),n}getRoutings(){return this.routings}getRouting(e){return this.routings.get(e)}scheduleUpdateRoutings(){this.scheduleOnLayerUpdate(3,this.updateRoutings)}updateRoutings=()=>{const e=this.routings,t=this.linkRouter.route(this.model,this);e.forEach(((e,n)=>{const i=t.get(n);var r,o;i&&(r=e).linkId===(o=i).linkId&&r.labelTextAnchor===o.labelTextAnchor&&kr(r.vertices,o.vertices)&&t.set(n,e)})),this.routings=t,this.source.trigger("changeRoutings",{source:this,previous:e})};listenHotkey(e,t){return kt(this.hotkeyHandlers,e,t),2===this.hotkeyHandlers.get(e).size&&console.warn(`Reactodia: registered multiple handlers for the same hotkey "${gr(e)}" but only the first one will run if triggered.`),()=>{!function(e,t,n){const i=e.get(t);i&&(i.delete(n),0===i.size&&e.delete(t))}(this.hotkeyHandlers,e,t)}}triggerHotkey(e){if(e.repeat)return;const t=function(e){const t=1===e.key.length?e.key.toLowerCase():e.key,n=/^[a-z]$/.test(t),i=/^Key([A-Z])$/.exec(e.code),r=i?i[1].toLowerCase():void 0;return{modifiers:(e.ctrlKey?1:0)|(e.metaKey?2:0)|(e.altKey?4:0)|(e.shiftKey?8:0),key:r&&!n?r:t}}(e),n=this.hotkeyHandlers.get(t);if(n)for(const t of n){e.preventDefault(),t();break}}};function oo(e,t,n=7){return v.useCallback((i=>{const r=()=>i(),o=e((()=>{t.scheduleOnLayerUpdate(n,r)}));return()=>{t.cancelOnLayerUpdate(n,r),o()}}),[e,t,n])}var ao=class extends v.Component{listener=new wi;redrawBatch={requests:new Map,forAll:0};memoizedElements=new WeakMap;sizeRequests=new Map;constructor(e){super(e);const{model:t,renderingState:n}=this.props;this.state={version:0,elementStates:so(t,n.shared,this.redrawBatch,new Map)}}render(){const{model:e,renderingState:t,paperTransform:n,layerRef:i}=this.props,{version:r,elementStates:o}=this.state,{memoizedElements:a}=this,s=[];for(const t of e.elements){const e=o.get(t);e&&s.push(e)}return H.jsx(Kr,{layerRef:i,className:"reactodia-element-layer",paperTransform:n,role:"figure",children:s.map((n=>{let i=a.get(n);return i||(i=H.jsx(uo,{state:n,model:e,renderingState:t,onResize:this.requestSizeUpdate},n.element.id),a.set(n,i)),i}))},r)}componentDidMount(){const{model:e,renderingState:t}=this.props;this.listener.listen(e.events,"changeCells",(e=>{e.updateAll?this.requestRedrawAll(1):e.changedElement&&this.requestRedraw(e.changedElement,1)})),this.listener.listen(e.events,"changeCellOrder",(()=>{this.requestRedrawAll(0)})),this.listener.listen(e.events,"changeSelection",(({previous:t})=>{const n=1===t.length?t[0]:void 0,i=1===e.selection.length?e.selection[0]:void 0,r=n instanceof qr?n:void 0,o=i instanceof qr?i:void 0;o!==r&&(r&&this.requestRedraw(r,6),o&&this.requestRedraw(o,6))})),this.listener.listen(e.events,"elementEvent",(({data:e})=>{const t=e.changeElementState;t&&this.requestRedraw(t.source,6);const n=e.changePosition;if(n&&this.requestRedraw(n.source,2),e.requestedRedraw){let t=2;"template"===e.requestedRedraw.level&&(t=6),this.requestRedraw(e.requestedRedraw.source,t)}})),this.listener.listen(e.events,"changeLanguage",(()=>{this.requestRedrawAll(6)})),this.listener.listen(e.events,"discardGraph",(()=>{this.requestRedrawAll(31)})),this.listener.listen(t.shared.events,"changeHighlight",(()=>{this.requestRedrawAll(10)}))}componentWillUnmount(){this.listener.stopListening(),this.props.renderingState.cancelOnLayerUpdate(to.Element,this.redrawElements),this.props.renderingState.cancelOnLayerUpdate(to.ElementSize,this.recomputeQueuedSizes)}requestRedraw=(e,t)=>{if((this.redrawBatch.forAll|t)===this.redrawBatch.forAll)return;const n=this.redrawBatch.requests.get(e.id)||0;this.redrawBatch.requests.set(e.id,n|t),this.props.renderingState.scheduleOnLayerUpdate(to.Element,this.redrawElements)};requestRedrawAll(e){this.redrawBatch.forAll|=e,this.props.renderingState.scheduleOnLayerUpdate(to.Element,this.redrawElements)}redrawElements=()=>{const e=this.redrawBatch;this.redrawBatch={forAll:0,requests:new Map},dn.flushSync((()=>{this.setState(((t,n)=>({version:31===e.forAll?t.version+1:t.version,elementStates:so(n.model,n.renderingState.shared,e,t.elementStates)})))}))};requestSizeUpdate=(e,t)=>{this.sizeRequests.set(e.id,{element:e,node:t}),this.props.renderingState.scheduleOnLayerUpdate(to.ElementSize,this.recomputeQueuedSizes)};recomputeQueuedSizes=()=>{const{renderingState:e}=this.props,t=this.sizeRequests;this.sizeRequests=new Map;for(const e of t.values()){const{clientWidth:t,clientHeight:n}=e.node;e.computedSize={width:t,height:n}}for(const n of t.values())n.computedSize&&e.setElementSize(n.element,n.computedSize)}};function so(e,t,n,i){if(0===n.forAll&&0===n.requests.size)return i;const r=1===e.selection.length?e.selection[0]:void 0,o=r instanceof qr?r:void 0,a=new Map;for(const r of e.elements){const e=r.id;let s=i.get(r);if(s){const i=(n.requests.get(e)||0)|n.forAll;2&i&&(s={element:r,templateProps:6&~i?s.templateProps:lo(s.element,o),blurred:10&~i?s.blurred:fo(s.element,t)}),a.set(r,s),n.requests.delete(e)}else a.set(r,{element:r,templateProps:lo(r,o),blurred:fo(r,t)})}return n.forAll=0,a}function lo(e,t){return{elementId:e.id,element:e,isExpanded:e.isExpanded,elementState:e.elementState,onlySelected:e===t}}var co="reactodia-overlaid-element",uo=class extends v.Component{elementRef=v.createRef();decorationsRef=v.createRef();listener=new wi;render(){const{state:{element:e,blurred:t,templateProps:n}}=this.props;if(e instanceof Wr)return H.jsx("div",{});const{x:i,y:r}=e.position,o={position:"absolute",transform:`translate(${i}px,${r}px)`};return H.jsxs(H.Fragment,{children:[H.jsx("div",{className:cn(co,t?`${co}--blurred`:void 0,n.onlySelected?`${co}--only-selected`:void 0),style:o,"data-element-id":e.id,tabIndex:0,ref:this.elementRef,onLoad:this.onLoadOrErrorEvent,onError:this.onLoadOrErrorEvent,children:H.jsx(ho,{...this.props})}),H.jsx("div",{className:"reactodia-element-decorations",style:o,ref:this.decorationsRef})]})}onLoadOrErrorEvent=()=>{const{state:e,onResize:t}=this.props;this.elementRef.current&&t(e.element,this.elementRef.current)};componentDidMount(){const{state:e,onResize:t,renderingState:n}=this.props;this.decorationsRef.current&&this.decorationsRef.current.appendChild(n.ensureDecorationContainer(e.element)),this.listener.listen(e.element.events,"requestedFocus",(()=>{this.elementRef.current?.focus()})),this.elementRef.current&&t(e.element,this.elementRef.current)}componentWillUnmount(){const{state:e,renderingState:t}=this.props,n=t.ensureDecorationContainer(e.element);n.parentElement?.removeChild(n),this.listener.stopListening()}shouldComponentUpdate(e){return this.props.state!==e.state}componentDidUpdate(){const{state:e,onResize:t}=this.props;this.elementRef.current&&t(e.element,this.elementRef.current)}},ho=class extends v.Component{cachedTemplate;cachedTemplateProps;render(){const{state:e,renderingState:t}=this.props,{element:n,templateProps:i}=e,r=t.getElementTemplate(n);return this.cachedTemplate=r,this.cachedTemplateProps=i,r.renderElement(i)}shouldComponentUpdate(e){const t=e.renderingState.getElementTemplate(e.state.element);return!(this.cachedTemplate===t&&this.cachedTemplateProps===e.state.templateProps)}};function fo(e,t){return Boolean(t.highlighter&&!t.highlighter(e))}function po(e){const{target:t,children:n}=e,{canvas:i}=cr();return dn.createPortal(n,i.renderingState.ensureDecorationContainer(t))}function go(e,t){const{positions:n,sizes:i,nestedLayouts:r}=e,o=new vo(i),a=t.elements.filter((({id:e})=>n.has(e)));for(const e of r)go(e,t);const s=Nr(a,o);for(const e of a){const t=n.get(e.id);t&&e.setPosition(t)}const l=Nr(a,o),c=s.x-l.x,d=s.y-l.y;for(const[e,i]of n)t.getElement(e).setPosition({x:i.x+c,y:i.y+d})}var vo=class{sizes;constructor(e){this.sizes=e}getElementSize(e){return this.sizes.get(e.id)}getElementShape(e){return{type:"rect",bounds:yr(e,this)}}},mo=class extends v.Component{listener=new wi;providedContext;updateState=1;scheduledToUpdate=new Set;labelMeasureRequests=new Set;memoizedLinks=new WeakMap;constructor(e){super(e),this.providedContext={scheduleLabelMeasure:this.scheduleLabelMeasure,clearLabelMeasure:this.clearLabelMeasure},this.state={version:0,shouldUpdateLink:this.popShouldUpdatePredicate()}}componentDidMount(){const{model:e,renderingState:t}=this.props,n=t=>{for(const n of e.getElementLinks(t))this.scheduleUpdateLink(n.id)};this.listener.listen(e.events,"changeLanguage",this.scheduleUpdateAll),this.listener.listen(e.events,"changeCells",(e=>{if(e.updateAll)this.scheduleUpdateAll();else if(e.changedElement&&n(e.changedElement),e.changedLinks)for(const t of e.changedLinks)this.scheduleUpdateLink(t.id)})),this.listener.listen(e.events,"changeSelection",(({previous:t})=>{const n=1===t.length?t[0]:void 0,i=1===e.selection.length?e.selection[0]:void 0,r=n instanceof Gr?n:void 0,o=i instanceof Gr?i:void 0;o!==r&&(r&&this.scheduleUpdateLink(r.id),o&&this.scheduleUpdateLink(o.id))})),this.listener.listen(e.events,"elementEvent",(({data:e})=>{e.changePosition&&n(e.changePosition.source)})),this.listener.listen(e.events,"linkEvent",(({data:e})=>{const t=e.changeVertices||e.changeLinkState||e.requestedRedraw;t&&this.scheduleUpdateLink(t.source.id)})),this.listener.listen(e.events,"changeLinkVisibility",(t=>{for(const n of e.links.filter((e=>e.typeId===t.source)))this.scheduleUpdateLink(n.id)})),this.listener.listen(e.events,"discardGraph",(()=>{this.setState((e=>({version:e.version+1}))),this.scheduleUpdateAll()})),this.listener.listen(t.shared.events,"changeHighlight",this.scheduleUpdateAll),this.listener.listen(t.events,"changeElementSize",(e=>{n(e.source)}));const i=(e,t)=>{e.forEach(((e,n)=>{t.get(n)!==e&&this.scheduleUpdateLink(n)}))};this.listener.listen(t.events,"changeRoutings",(({previous:e})=>{const n=t.getRoutings();i(n,e),i(e,n)}))}shouldComponentUpdate(e,t){return!(this.props.shouldRenderLink===e.shouldRenderLink&&this.state.version===t.version&&this.state.shouldUpdateLink===t.shouldUpdateLink)}componentWillUnmount(){this.listener.stopListening(),this.props.renderingState.cancelOnLayerUpdate(to.Link,this.performUpdate),this.props.renderingState.cancelOnLayerUpdate(to.LinkLabel,this.measureLabels)}scheduleUpdateAll=()=>{2!==this.updateState&&(this.updateState=2,this.scheduledToUpdate=new Set),this.props.renderingState.scheduleOnLayerUpdate(to.Link,this.performUpdate)};scheduleUpdateLink(e){1===this.updateState&&this.scheduledToUpdate.add(e),this.props.renderingState.scheduleOnLayerUpdate(to.Link,this.performUpdate)}popShouldUpdatePredicate(){const{updateState:e,scheduledToUpdate:t}=this;return this.scheduledToUpdate=new Set,this.updateState=1,2===e?()=>!0:e=>t.has(e.id)}scheduleLabelMeasure=e=>{this.labelMeasureRequests.add(e),this.props.renderingState.scheduleOnLayerUpdate(to.LinkLabel,this.measureLabels)};clearLabelMeasure=e=>{const{renderingState:t}=this.props;this.labelMeasureRequests.delete(e),t.setLinkLabelBounds(e.owner,void 0)};measureLabels=()=>{const{renderingState:e}=this.props,t=Array.from(this.labelMeasureRequests);this.labelMeasureRequests.clear();const n=[];for(const e of t)n.push(e.measureBounds());for(let i=0;i<t.length;i++){const r=n[i];r&&e.setLinkLabelBounds(t[i].owner,r)}};performUpdate=()=>{dn.flushSync((()=>{this.setState({shouldUpdateLink:this.popShouldUpdatePredicate()})}))};render(){const{model:e,shouldRenderLink:t,renderingState:n}=this.props,{version:i,shouldUpdateLink:r}=this.state,{memoizedLinks:o}=this;for(const t of e.links)r(t)&&o.delete(t);const a=[];for(const i of e.links)if(!t||t(i)){let t=o.get(i);t||(t=H.jsx(yo,{link:i,model:e,renderingState:n},i.id),o.set(i,t)),a.push(t)}return H.jsx(bo.Provider,{value:this.providedContext,children:H.jsx("g",{className:"reactodia-link-layer",children:a},i)})}},bo=v.createContext(null),wo="reactodia-link";function yo(e){const{link:t,model:n,renderingState:i}=e,r=i.getLinkTemplate(t),o=i.shared.defaultLinkResolver(t),a=n.getElement(t.sourceId),s=n.getElement(t.targetId),l=n.getLinkVisibility(t.typeId);if(!a||!s||"hidden"===l)return null;const c=i.getRouting(t.id),d=c?c.vertices:t.vertices,u=i.getElementShape(a),h=i.getElementShape(s),f=xr(u,h,d),p=Er.create({type:r.spline??Er.defaultType,points:f,source:hr.center(u.bounds),target:hr.center(h.bounds)}),g=Sr(f),v=r.markerSource??o.markerSource,m=r.markerTarget??o.markerTarget,b=v?i.ensureLinkMarkerIndex(v):void 0,w=m?i.ensureLinkMarkerIndex(m):void 0,{highlighter:y}=i.shared,_=y&&!y(t),k=1===n.selection.length&&n.selection[0]===t,x=r.renderLink({link:t,markerSource:b?`url(#${No(b,!0)})`:"",markerTarget:w?`url(#${No(w,!1)})`:"",path:p.toPath(),getPathPosition:e=>Cr(f,g*e),route:c,onlySelected:k});return H.jsx("g",{"data-link-id":t.id,"data-source-id":t.sourceId,"data-target-id":t.targetId,className:cn(wo,_?`${wo}--blurred`:void 0,k?`${wo}--only-selected`:void 0),children:x})}var _o="reactodia-link-path";function ko(e){const{path:t,pathProps:n,markerSource:i,markerTarget:r}=e;return H.jsxs(H.Fragment,{children:[H.jsx("path",{...n,className:cn(_o,n?.className),d:t,markerStart:i,markerEnd:r}),H.jsx("path",{className:`${_o}__wrap`,d:t})]})}function xo(e){const{renderingState:t,paperTransform:n,layerRef:i}=e,r=v.useRef(null),o=v.useCallback((e=>{r.current=e,i&&(i.current=e)}),[i]);return v.useEffect((()=>{const e=r.current;if(e)return t.attachLinkLabelContainer(e),()=>t.attachLinkLabelContainer(null)}),[]),H.jsx(Kr,{paperTransform:n,className:"reactodia-label-layer",layerRef:o,role:"figure"})}var So="middle";function Co(e){const{link:t,position:{x:n,y:i},line:r,className:o,style:a,textAnchor:s,title:l,children:c}=e,{canvas:d}=cr(),u=v.useContext(bo),h=v.useRef(null),f=v.useRef(void 0);v.useLayoutEffect((()=>{if(u&&e.primary){if(!f.current){const n={owner:t,measureBounds:()=>{const e=h.current?.getBoundingClientRect();if(!e)return;const t=1/d.getScale();return function(e,{width:t,height:n}){const{position:{x:i,y:r},textAnchor:o=So}=e;let a=0;return"middle"===o?a=-t/2:"end"===o&&(a=-t),{x:i+a,y:r-n/2,width:t,height:n}}(n.latestProps,{width:e.width*t,height:e.height*t})},latestProps:e};f.current=n}f.current.latestProps=e,u.scheduleLabelMeasure(f.current)}})),v.useLayoutEffect((()=>()=>{const e=f.current;u&&e&&u.clearLabelMeasure(e)}),[]);const p={...a,position:"absolute",transform:`translate(${n}px,${i}px)${"start"===s?"translate(0,-50%)":"end"===s?"translate(-100%,-50%)":"translate(-50%,-50%)"}`,"--reactodia-link-label-line":r},g=d.renderingState;return dn.createPortal(H.jsx("div",{ref:h,"data-link-id":t.id,className:cn("reactodia-link-label",o),style:p,title:l,children:c}),g.getLinkLabelContainer())}var Lo="reactodia-link-vertices";function Mo(e){const{linkId:t,vertices:n,className:i,vertexRadius:r=10,fill:o}=e,{model:a}=cr();if(0===n.length)return null;const s=cn(`${Lo}__vertex`,i),l=e=>{const n=a.getLink(t);if(!n)return;const i=new Zr(n,e);a.history.registerToUndo(Dr(i.link)),i.remove()},c=[];for(let e=0;e<n.length;e++){const{x:t,y:i}=n[e],a=c.length;c.push(H.jsx("circle",{"data-vertex":e,className:s,cx:t,cy:i,r,fill:o},a)),c.push(H.jsx(Eo,{vertexIndex:e,vertexRadius:r,x:t,y:i,onRemove:l},a+1))}return H.jsx("g",{className:Lo,children:c})}function Eo(e){const{vertexIndex:t,vertexRadius:n,x:i,y:r,onRemove:o}=e,a=Pt();return H.jsxs("g",{className:`${Lo}__handle`,"data-reactodia-no-export":"true",transform:`translate(${i+2*n},${r-2*n})scale(${n})`,onPointerDown:e=>{0===e.button&&(e.preventDefault(),e.stopPropagation(),o(t))},children:[H.jsx("title",{children:a.text("link_action.vertex.remove_title")}),H.jsx("circle",{r:1}),H.jsx("path",{d:"M-0.5,-0.5 L0.5,0.5 M0.5,-0.5 L-0.5,0.5",strokeWidth:2/n})]})}var zo=v.memo((function(e){const{model:t,renderingState:n}=e;$t(oo(Et(n.events,"changeLinkTemplates"),n,to.Link),(()=>t.cellsVersion));const i=new Set,r=new Set;for(const e of t.links){const t=n.getLinkTemplate(e),o=n.shared.defaultLinkResolver(e),a=t.markerSource??o.markerSource;a&&i.add(a);const s=t.markerTarget??o.markerTarget;s&&r.add(s)}return H.jsxs("defs",{children:[Array.from(i,(e=>{const t=n.ensureLinkMarkerIndex(e);return H.jsx($o,{markerIndex:t,isStartMarker:!0,style:e},t)})),Array.from(r,(e=>{const t=n.ensureLinkMarkerIndex(e);return H.jsx($o,{markerIndex:t,isStartMarker:!1,style:e},t)}))]})}),(()=>!0)),$o=class extends v.Component{render(){return H.jsx("marker",{ref:this.onMarkerMount})}shouldComponentUpdate(){return!1}onMarkerMount=e=>{if(!e)return;const{markerIndex:t,isStartMarker:n,style:i}=this.props,{d:r,width:o,height:a}=i;if(void 0===r||void 0===o||void 0===a)return;const s="reactodia-link-marker";e.setAttribute("class",s),e.setAttribute("id",No(t,n)),e.setAttribute("markerWidth",String(o)),e.setAttribute("markerHeight",String(a)),e.setAttribute("orient","auto"),e.setAttribute("refX",String(n?0:o-1)),e.setAttribute("refY",String(a/2)),e.setAttribute("markerUnits","userSpaceOnUse");const l=document.createElementNS("http://www.w3.org/2000/svg","path");l.setAttribute("class",`${s}__path`),l.setAttribute("d",r),void 0!==i.fill&&l.setAttribute("fill",i.fill),void 0!==i.stroke&&l.setAttribute("stroke",i.stroke),void 0!==i.strokeWidth&&l.setAttribute("stroke-width",String(i.strokeWidth)),e.appendChild(l)}};function No(e,t){return`reactodia-marker-${t?"start":"end"}-${e}`}var To={$schema:"../i18n.schema.json",authoring_state:{"entity_action_delete.label":"delete","entity_action_delete.title":"Delete entity","entity_action_delete.title_disabled":"Cannot delete the entity","entity_action_discard.label":"cancel","entity_action_discard.title":"Discard all changes to the entity","entity_action_edit.label":"edit","entity_action_edit.title":"Edit entity","entity_action_edit.title_disabled":"Cannot edit the entity","entity_add.label":"New","entity_change.label":"Change","entity_delete.label":"Delete","relation_action_discard.label":"cancel","relation_action_discard.title":"Discard all changes to the relation","relation_add.label":"New","relation_change.label":"Change","relation_delete.label":"Delete"},classic_workspace:{"canvas.label":"Canvas","class_tree.heading":"Classes","connections.heading":"Connections","instances.heading":"Instances"},commands:{"change_entity.title":"Change entity data","change_link_type_visibility.title":"Change link type visibility","change_relation.title":"Change relation data","collapse_element.title":"Collapse element","expand_element.title":"Expand element","place_elements_around.title":"Place elements","restore_geometry.title":"Move elements and links","restore_link_vertices.title":"Change link vertices","restore_viewport.title":"Set viewport","set_element_state.title":"Change element state","set_entity_data.title":"Set entity element data","set_entity_group_items.title":"Set entity group items","set_link_state.title":"Change link state","set_relation_data.title":"Set relation link data","set_relation_group_items.title":"Set relation group items","transform_elements.title":"Resize elements"},connections_menu:{"all_link.label":"All","breadcrumbs_root.label":"Link types","dialog.caption":"Connections","entities.add_all":"Add all","entities.add_group":"Add as group","entities.add_selected":"Add selected","entities.counter_label":"{{count}} of {{total}}","entities.extra_label":" ({{value}})","entities.extra_title":"Extra entities","entities.missing_label":" ({{value}})","entities.missing_title":"Missing entities","entities.no_results":"No results","entities.truncated_results":"Only the first {{limit}} entities are shown","entities.truncated_results_expand":"Only the first {{limit}} entities are shown,\nclick here for the full results","input.placeholder":null,"link.both_navigate_title":"Navigate to all connected elements","link.both_title":"all connected","link.source_navigate_title":'Navigate to source "{{relation}}" elements',"link.source_title":'source of "{{relation}}" {{relationIri}}',"link.target_navigate_title":'Navigate to source "{{target}}" elements',"link.target_title":'target of "{{relation}}" {{relationIri}}',"link.move_to_filter.title":"Set as filter in the Instances panel","links.no_results":"No results","links.suggest_similar":"Probably, you are looking for...","place_elements.command":"Add connected elements","select_all.label":"Select all","select_all.title":"Select or unselect all entities","sort_alphabetically.title":"Sort alphabetically","sort_smart.title":"Smart sort"},data_diagram_model:{"add_element.command":"Add element","add_link.command":"Add link","create_links.command":"Create links","group_entities.command":"Group entities","import_layout.command":"Import layout","regroup_relations.command":"Regroup relations","request_entities.command":"Request entity data","request_relations.command":"Request relations between entities","remove_element.command":"Remove element","remove_link.command":"Remove link","ungroup_entities.command":"Ungroup entities"},default_data_locale:{iri:"<{{value}}>",iri_blank:"(blank node)"},default_workspace:{"search_section_entities.label":"Entities","search_section_entities.title":"Entity lookup","search_section_entity_types.label":"Types","search_section_entity_types.title":"Entity type hierarchy","search_section_link_types.label":"Links","search_section_link_types.title":"Relation types on the diagram"},drop_on_canvas:{"drop.command":"Drag and drop onto diagram"},editor_controller:{"apply_authored_changes.command":"Apply authored changes to the diagram","discard_change.command":"Discard change","entity_add.command":"Create new entity","entity_change.command":"Edit entity","entity_delete.command":"Delete entity","relation_add.command":"Create new relation","relation_change.command":"Edit relation","relation_delete.command":"Delete relation","relation_move_source.command":"Move relation source","relation_move_target.command":"Move relation target","remove_items.command":"Remove diagram items","set_authoring_state.command":"Create, change or delete entities and relations","validate_entity_failed.message":"Failed to validate entity"},forms:{"input_file.drag_hint":"Drag files over or","input_file.remove_value.title":"Remove the file","input_file.select_files.label":"Select files","input_list.add_value.title":"Add new property value","input_list.remove_value.title":"Remove the property value"},group_paginator:{"current_page.label":"{{page}} of {{pageCount}}","go_next.title":"Go to the next page","go_previous.title":"Go to the previous page","page_size.title":"Number of items to display per page"},inline_entity:{title:"{{entity}} {{entityIri}}",title_extra:"Types: {{entityTypes}}"},link_action:{"delete_annotation.title":"Remove annotation link","delete_relation.title":"Delete relation","delete_relation.title_disabled":"Cannot delete the relation","edit_relation.title":"Edit relation","edit_relation.title_disabled":"Cannot edit the relation","rename_link.title":"Rename link","move_relation.move_source_title":"Move link source","move_relation.move_target_title":"Move link target","vertex.remove_title":"Remove vertex"},navigator:{"toggle_collapse.title":"Collapse navigator","toggle_expand.title":"Expand navigator"},note_annotation:{"change_text.command":"Change annotation text","style_align_center.title":"Align center","style_align_left.title":"Align left","style_align_right.title":"Align right","style_bold.title":"Bold","style_color_variant.title":"Color variant: {{variant}}","style_italic.title":"Italic","style_strikethrough.title":"Strikethrough","style_underline.title":"Underline"},overlay_controller:{multiple_tasks_in_progress:"Multiple tasks are in progress",unknown_error:"Unknown error occurred"},search_defaults:{empty_input_term:"Input a term to search.","input.placeholder":"Search for...","input_clear.title":"Clear the search","input_submit.title":"Search",input_term_too_short:"Input at least {{termLength}} characters to search.",no_results:"No results found."},search_element_types:{"drag_create.title":"Click or drag to create new entity of this type","input.placeholder":null,no_results:"No element types found.","refresh_progress.title":"Loading element type tree",show_only_creatable:"Show only constructible"},search_entities:{"add_group.label":"Add as group","add_group.title":"Place selected entities on the canvas as a group","add_selected.label":"Add selected","add_selected.title":"Place selected entities on the canvas",criteria_has_type:"Has type {{entityType}}",criteria_connected:"Connected to {{entity}}",criteria_connected_via:"Connected to {{entity}} through {{relationType}}",criteria_connected_to_source:"Connected to {{entity}} through {{relationType}} as {{sourceIcon}} source",criteria_connected_to_target:"Connected to {{entity}} through {{relationType}} as {{targetIcon}} target","input.placeholder":null,"place_elements.command":"Add selected elements","query_progress.title":"Querying for entities","show_more_results.label":"Show more","show_more_results.title":"Load more results"},search_link_types:{"add_to_filter.title":"Search for connected elements via the relation",heading_connected:"Connected to selected entities",heading_connected_single:"Connected to {{entity}}",heading_other:"Other links","input.placeholder":null,no_results:"No links found.","switch.command":"Change link types visibility","switch_all.label":"Switch all","switch_hidden.title":"Hide links and labels","switch_visible.title":"Show links with labels","switch_without_label.title":"Show only lines for links (without labels)"},selection_action:{"add_to_filter.title":"Search for connected elements","anchor.title":"Jump to resource","annotate.defaultContent":"Annotation","annotate.title":"Add annotation to this element","connections.title":"Navigate to connected elements","expand.collapse_command":"Collapse elements","expand.expand_command":"Expand elements","expand.title":"Expand selected elements to reveal additional properties","expand.title_single":"Expand an element to reveal additional properties","establish_relation.title":"Establish link","establish_relation.title_disabled":"Establishing link is not allowed for the element","group.title":"Group entities","group.title_ungroup":"Ungroup entities","layout.title":"Layout selected elements using force-directed algorithm","remove.title":"Remove selected elements from the diagram","remove.title_new":"Discard new element","remove.title_single":"Remove an element from the diagram","zoom_to_fit.title":"Zoom to fit selected elements into view"},standard_element:{blank_node:"(blank node)",default_type:"Thing","delete.label":"Delete","delete.title":"Delete entity","delete.title_disabled":"Cannot delete the entity","edit.label":"Edit","edit.title":"Edit entity","edit.title_disabled":"Cannot edit the entity","group_item.title":"{{entity}}\nIRI:{{entityIri}}\nTypes: {{entityTypes}}","iri.label":"IRI:","iri.label_modified":"IRI (edited):",no_properties:"no properties","property.title":"{{property}} {{propertyIri}}","ungroup.title":"Ungroup an entity"},standard_link:{"group_source.title":"{{value}} source elements","group_source.value":"{{value}}","group_target.title":"{{value}} target elements","group_target.value":"{{value}}","label.title":"{{relation}} {{relationIri}}","property.title":"{{property}} {{propertyIri}}"},toolbar:{"menu_toggle.title":"Open menu"},toolbar_action:{"clear_all.command":"Clear all","clear_all.title":"Remove all elements and links from the diagram","clear_all.label":"Clear All","export_print.label":"Print","export_print.title":"Print the diagram","export_raster.label":"Export as PNG","export_raster.title":"Export the diagram as a PNG image","export_svg.label":"Export as SVG","export_svg.title":"Export the diagram as an SVG image","redo.label":"Redo","redo.title":"Redo last undone command","redo.title_named":"Redo: {{command}}","save_authoring.title":"Apply authored graph changes","save_layout.title":"Save diagram layout","language_selector.title":"Select language for the data (labels, properties, etc)","layout.label":"Layout","layout.title":"Layout diagram using force-directed algorithm","undo.label":"Undo","undo.title":"Undo last command","undo.title_named":"Undo: {{command}}"},unified_search:{"input.placeholder":null,"input_clear.title":"Clear","input_collapse.title":"Close"},visual_authoring:{"dialog.apply.label":"Apply","dialog.apply.title":"Apply changes","dialog.cancel.label":"Cancel","dialog.cancel.title":"Cancel the dialog","edit_entity.dialog.apply.label":null,"edit_entity.dialog.apply.title":null,"edit_entity.dialog.caption":"Edit entity","edit_entity.iri.label":"IRI","edit_entity.iri.placeholder":"Entity IRI","edit_relation.dialog.apply.label":null,"edit_relation.dialog.apply.title":null,"edit_relation.dialog.caption":"Edit relation","edit_relation.dialog.caption_new":"Establish new relation","edit_relation.validation_progress.title":"Validating selected link type","find_or_create.connect_command":"Link to an entity","find_or_create.create_command":"Create new entity","find_or_create.dialog.apply.label":null,"find_or_create.dialog.apply.title":null,"find_or_create.dialog.caption":"Establish New Connection","find_or_create.loading.label":"Loading entity...","find_or_create.validation_progress.title":"Validating selected element and link types","property.label":"{{property}}","property.text_value.placeholder":"Property value","property.title":"{{property}} {{propertyIri}}","rename_link.dialog.apply.label":null,"rename_link.dialog.apply.title":null,"rename_link.dialog.caption":"Rename Link","rename_link.label.label":"Label","select_entity.entity_type.label":"{{type}}","select_entity.input.placeholder":null,"select_entity.type.label":"Entity Type","select_entity.type.placeholder":"Select entity type","select_entity.results.aria_label":"Select an existing element to put on a diagram","select_entity.separator.label":"or create new entity","select_entity.validation.error_required":"Required.","select_relation.relation_type.label":"{{relation}} [{{source}} → {{target}}]","select_relation.type.label":"Relation Type","select_relation.type.placeholder":"Select relation type","select_relation.validation.error_duplicate":"The relation already exists.","select_relation.validation.error_required":"Required."},workspace:{"group_entities.command":"Group entities","perform_layout.task":"Computing graph layout","perform_layout.command":"Graph layout","ungroup_entities.command":"Ungroup entities"},workspace_layout:{"toggle_collapse.title":"Collapse panel","toggle_expand.title":"Expand panel"},zoom_control:{"pointer_mode.title":"Toggle selection mode:\nDrag pointer to select, Shift + Pointer to pan the canvas","zoom_in.title":"Zoom In","zoom_out.title":"Zoom Out","zoom_to_fit.title":"Fit to Screen"}},Ao=class{bundles;_selectLabel;constructor(e){const{bundles:t=[],selectLabel:n=Po}=e??{};this.bundles=t,this._selectLabel=n}getString(e){const t=e.indexOf(".");if(!(t>0&&t<e.length))throw new Error(`Reactodia: Invalid translation key: ${e}`);const n=e.substring(0,t),i=e.substring(t+1);for(const e of this.bundles){const t=Io(e,n,i);if(null!=t)return t}}text(e,t){return this.textOptional(e,t)??e}textOptional(e,t){const n=this.getString(e);if(void 0!==n)return function(e,t){return e.includes("{{")?Vo(e,(e=>t&&Object.prototype.hasOwnProperty.call(t,e)?t[e]??"":"")).join(""):e}(n,t)}template(e,t){return function(e,t){const n=Vo(e,(e=>Object.prototype.hasOwnProperty.call(t,e)?t[e]??null:null));return v.createElement(v.Fragment,null,...n)}(this.getString(e)??e,t)}selectLabel(e,t){const{_selectLabel:n}=this;return n(e,t)}selectValues(e,t){return e.filter((e=>"NamedNode"===e.termType||""===e.language||e.language===t))}formatLabel(e,t,n){return function(e,t){return e?e.value:function(e){let t=e.indexOf("#");if(t<0&&(t=e.lastIndexOf("/")),t<0&&(t=e.lastIndexOf(":")),!(t<0))return e.substring(t+1)}(t)||t}(e?this.selectLabel(e,n):void 0,t)}};function Io(e,t,n){if(!Object.prototype.hasOwnProperty.call(e,t))return;const i=e[t];return"object"==typeof i&&i&&Object.prototype.hasOwnProperty.call(i,n)?i[n]:void 0}function Vo(e,t){const n=[],i=/\{\{([a-zA-Z0-9_]+)\}\}/g;let r,o=0;for(;r=i.exec(e);){const[a,s]=r,l=i.lastIndex-a.length;l!=o&&n.push(e.substring(o,l));const c=t(s);n.push(c),o=i.lastIndex}return o<e.length&&n.push(e.substring(o,e.length)),n}function Po(e,t){if(0===e.length)return;let n,i;for(const r of e){if(r.language===t)return r;""===r.language?n=r:"en"===r.language&&(i=r)}return void 0!==n?n:void 0!==i?i:e[0]}var Ho=v.createContext(null);function Ro(e){const{context:t,layer:n,...i}=e,r=v.useRef(null),o=t.containers[n];return v.useLayoutEffect((()=>{const e=r.current;if(e)return e.appendChild(o),()=>{e.removeChild(o)}}),[r,o]),H.jsx("div",{...i,ref:r,"data-reactodia-place-layer":n})}function Do(e){return e.hasAttribute("data-reactodia-place-layer")}function Bo(e){const{layer:t,children:n}=e,i=v.useContext(Ho);if(!i)throw new Error("Reactodia: <CanvasPlaceAt> should be rendered only inside <Canvas>");if("nested"===i)throw new Error("Reactodia: <CanvasPlaceAt> cannot be nested into another <CanvasPlaceAt>");const r=v.useMemo((()=>H.jsx(Ho.Provider,{value:"nested",children:n})),[n]);return dn.createPortal(r,i.containers[t])}var Oo,jo,Fo,Uo=class{source=new bi;events=this.source;dropOnPaperHandler;_highlighter;defaultElementResolver;defaultLinkResolver;defaultLayout;renameLinkProvider;constructor(e){const{defaultElementResolver:t,defaultLinkResolver:n,defaultLayout:i,renameLinkProvider:r}=e;this.defaultElementResolver=t,this.defaultLinkResolver=n,this.defaultLayout=i,this.renameLinkProvider=r}dispose(){this.source.trigger("dispose",{source:this})}findAllCanvases(){const e={canvases:[]};return this.source.trigger("findCanvas",e),e.canvases}findAnyCanvas(){const e=this.findAllCanvases();return e.length>0?e[0]:void 0}setHandlerForNextDropOnPaper(e){this.dropOnPaperHandler=e}hasHandlerForNextDropOnPaper(){return Boolean(this.dropOnPaperHandler)}tryHandleDropOnPaper(e){const{dropOnPaperHandler:t}=this;return!!t&&(this.dropOnPaperHandler=void 0,e.sourceEvent.preventDefault(),t(e),!0)}get highlighter(){return this._highlighter}setHighlighter(e){const t=this._highlighter;t!==e&&(this._highlighter=e,this.source.trigger("changeHighlight",{source:this,previous:t}))}},qo=class{canRename(e){return!0}getLabel(e){const{linkState:t}=e,n=t.get(pi.CustomLabel);return"string"==typeof n?n:void 0}setLabel(e,t){e.setLinkState(e.linkState.set(pi.CustomLabel,0===t.length?void 0:t))}},Wo=class e extends qr{static fromJSONType="Annotation";static fromJSON(t,n){const{"@id":i,position:r,elementState:o}=t;return new e({id:i,position:r,elementState:n.mapTemplateState(Ci.fromJSON(o))})}toJSON(){return{"@type":"Annotation","@id":this.id,position:this.position,elementState:this.elementState.toJSON()}}},Go=class e extends Gr{static typeId="urn:reactodia:annotates";getTypeId(){return e.typeId}static fromJSONType="AnnotationLink";static fromJSON(t,n){const{"@id":i,vertices:r,linkState:o}=t;return new e({id:i,sourceId:n.source.id,targetId:n.target.id,vertices:r,linkState:n.mapTemplateState(Ci.fromJSON(o)).set(pi.LayoutOnly,void 0)})}toJSON(){return{"@type":"AnnotationLink","@id":this.id,source:{"@id":this.sourceId},target:{"@id":this.targetId},vertices:this.vertices,linkState:this.linkState.toJSON()}}};function Zo(e,t){return e.sourceId===t||e.targetId===t}!function(e){function t(e){return{elements:new Map(e.elements),links:e.links.clone()}}function n(e){switch(e.type){case"entityAdd":case"entityChange":case"entityDelete":return!0;default:return!1}}function i(e,t){return n(t)?e.elements.get(t.data.id)===t:e.links.get(t.data)===t}function r(e,t){const n=e.elements.get(t);return Boolean(n&&"entityAdd"===n.type)}function o(e,t){const n=e.elements.get(t);return Boolean(n&&"entityDelete"===n.type)}function a(e,t){const n=e.links.get(t);return Boolean(n&&"relationAdd"===n.type)}e.empty={elements:new Map,links:new U(Gt,Wt)},e.isEmpty=function(e){return 0===e.elements.size&&0===e.links.size},e.clone=t,e.isEntityEvent=n,e.isLinkEvent=function(e){return!n(e)},e.has=i,e.discard=function(e,r){if(!i(e,r))return e;const o=t(e);if(n(r)){if(o.elements.delete(r.data.id),"entityAdd"===r.type)for(const{data:t}of e.links.values())Zo(t,r.data.id)&&o.links.delete(t)}else o.links.delete(r.data);return o},e.addEntity=function(e,n){const i=t(e);return i.elements.set(n.id,{type:"entityAdd",data:n}),i},e.addRelation=function(e,n){const i=t(e);return i.links.set(n,{type:"relationAdd",data:n}),i},e.changeEntity=function(e,n,i){const r=t(e);r.elements.delete(n.id);const o=e.elements.get(n.id);if(o&&"entityChange"!==o.type&&"entityDelete"!==o.type){if(r.elements.set(i.id,{type:"entityAdd",data:i}),n.id!==i.id)for(const t of e.links.values())if("relationChange"!==t.type&&Zo(t.data,n.id)){const e=(a=t.data,s=n.id,l=i.id,{...a,sourceId:a.sourceId===s?l:a.sourceId,targetId:a.targetId===s?l:a.targetId});r.links.delete(t.data),r.links.set(e,{type:"relationAdd",data:e})}}else{const e=i.id!==n.id;r.elements.set(n.id,{type:"entityChange",before:o&&"entityChange"===o.type?o.before:n,data:e?{...i,id:n.id}:i,newIri:e?i.id:void 0})}var a,s,l;return r},e.changeRelation=function(e,n,i){if(!Wt(n,i))throw new Error("Cannot move link to another element or change its type");const r=t(e),o=e.links.get(n);return r.links.set(n,"relationAdd"===o?.type?{type:"relationAdd",data:i}:{type:"relationChange",before:o&&"relationChange"===o.type?o.before:n,data:i}),r},e.deleteEntity=function(e,n){const i=t(e);i.elements.delete(n.id);for(const{data:t}of e.links.values())Zo(t,n.id)&&i.links.delete(t);return r(e,n.id)||i.elements.set(n.id,{type:"entityDelete",data:n}),i},e.deleteRelation=function(e,n){const i=t(e);return i.links.delete(n),a(e,n)||i.links.set(n,{type:"relationDelete",data:n}),i},e.discardAddedRelations=function(e,n){const i=t(e);for(const t of e.links.values())if("relationAdd"===t.type){const e=t.data;(n.has(e.sourceId)||n.has(e.targetId))&&i.links.delete(e)}return i},e.isAddedEntity=r,e.isDeletedEntity=o,e.hasEntityChangedIri=function(e,t){const n=e.elements.get(t);return Boolean(n&&"entityChange"===n.type&&n.newIri)},e.isAddedRelation=a,e.isDeletedRelation=function(e,t){const n=e.links.get(t);return n&&"relationDelete"===n.type||o(e,t.sourceId)||o(e,t.targetId)}}(Oo||(Oo={})),(Fo=jo||(jo={})).empty={elements:new Set,links:new q(Gt,Wt)},Fo.addEntity=function(e,t){if(e.elements.has(t.id))return e;const n=new Set(e.elements);return n.add(t.id),{...e,elements:n}},Fo.removeEntity=function(e,t){if(!e.elements.has(t.id))return e;const n=new Set(e.elements);return n.delete(t.id),{...e,elements:n}},Fo.addRelation=function(e,t){if(e.links.has(t))return e;const n=e.links.clone();return n.add(t),{...e,links:n}},Fo.removeRelation=function(e,t){if(!e.links.has(t))return e;const n=e.links.clone();return n.delete(t),{...e,links:n}};var Ko="reactodia:connectionsMenu",Xo=class{source=new bi;events=this.source;cellsVersion=Math.floor(Math.random()*Number.MAX_SAFE_INTEGER/2);elements=new St;links=new St;elementLinks=new WeakMap;EMPTY_LINKS=[];linkTypeVisibility=new Map;getCellsVersion(){return this.cellsVersion}getElements(){return this.elements.items}getLinks(){return this.links.items}getLink(e){return this.links.get(e)}getElementLinks(e){return this.elementLinks.get(e)??[]}*iterateLinks(e,t,n){const i=this.getElement(e),r=this.getElement(t);if(!i||!r)return;const o=this.elementLinks.get(i)??this.EMPTY_LINKS,a=this.elementLinks.get(r)??this.EMPTY_LINKS,s=o.length<=a.length?o:a;for(const i of s)i.sourceId!==e||i.targetId!==t||n&&i.typeId!==n||(yield i)}sourceOf(e){return this.getElement(e.sourceId)}targetOf(e){return this.getElement(e.targetId)}reorderElements(e){this.elements.reorder(e),this.incrementCellsVersion()}getElement(e){return this.elements.get(e)}addElement(e){if(this.getElement(e.id))throw new Error(`Element '${e.id}' already exists.`);e.events.onAny(this.onElementEvent),this.elements.push(e.id,e),this.incrementCellsVersion(),this.source.trigger("changeCells",{updateAll:!1,changedElement:e})}onElementEvent=e=>{this.source.trigger("elementEvent",{data:e})};removeElement(e){const t=this.elements.get(e);if(t){const n={silent:!0},i=[...this.getElementLinks(t)];for(const e of i)this.removeLink(e.id,n);this.elements.delete(e),t.events.offAny(this.onElementEvent),this.incrementCellsVersion(),this.source.trigger("changeCells",{updateAll:!1,changedElement:t,changedLinks:i})}}addLink(e){if(this.getLink(e.id))throw new Error(`Link already exists: ${e.id}`);const t=this.sourceOf(e);if(!t)throw new Error(`Link source not found: ${e.sourceId}`);const n=this.targetOf(e);if(!n)throw new Error(`Link target not found: ${e.targetId}`);let i=this.elementLinks.get(t);if(i||(i=[],this.elementLinks.set(t,i)),i.push(e),e.sourceId!==e.targetId){let t=this.elementLinks.get(n);t||(t=[],this.elementLinks.set(n,t)),t.push(e)}e.events.onAny(this.onLinkEvent),this.links.push(e.id,e),this.incrementCellsVersion(),this.source.trigger("changeCells",{updateAll:!1,changedLinks:[e]})}onLinkEvent=e=>{this.source.trigger("linkEvent",{data:e})};removeLink(e,t){const n=this.links.delete(e);n&&(n.events.offAny(this.onLinkEvent),this.removeLinkReferences(n),this.incrementCellsVersion(),t&&t.silent||this.source.trigger("changeCells",{updateAll:!1,changedLinks:[n]}))}removeLinkReferences(e){const t=this.getElement(e.sourceId);if(t){const n=this.elementLinks.get(t);n&&(Qo(n,e),0===n.length&&this.elementLinks.delete(t))}const n=this.getElement(e.targetId);if(n){const t=this.elementLinks.get(n);t&&(Qo(t,e),0===t.length&&this.elementLinks.delete(n))}}incrementCellsVersion(){this.cellsVersion=this.cellsVersion+1,this.cellsVersion>=Number.MAX_SAFE_INTEGER&&(this.cellsVersion=1)}get linkVisibility(){return this.linkTypeVisibility}getLinkVisibility(e){return this.linkTypeVisibility.get(e)??"visible"}setLinkVisibility(e,t){const n=this.getLinkVisibility(e);t!==n&&(this.linkTypeVisibility.set(e,t),this.source.trigger("changeLinkVisibility",{source:e,previous:n}))}};function Qo(e,t){const n=e.indexOf(t);n>=0&&e.splice(n,1)}var Yo=Symbol("DiagramModel.getGraph"),Jo=class{source=new bi;events=this.source;_language="en";_selection=[];graph=new Xo;graphListener=new wi;history;constructor(e){const{history:t}=e;this.history=t}[Yo](){return this.graph}get language(){return this._language}setLanguage(e){if(!e)throw new Error("Reactodia: cannot set empty language");const t=this._language;t!==e&&(this._language=e,this.source.trigger("changeLanguage",{source:this,previous:t}))}get selection(){return this._selection}setSelection(e){const t=this._selection;if(t===e)return;const n=Array.from(e),i=n.filter((e=>e instanceof qr));this.bringElements(i,"front"),this._selection=n,this.source.trigger("changeSelection",{source:this,previous:t})}get factory(){return this.getTermFactory()}get cellsVersion(){return this.graph.getCellsVersion()}get elements(){return this.graph.getElements()}get links(){return this.graph.getLinks()}getTermFactory(){return Bt}getElement(e){return this.graph.getElement(e)}getElementLinks(e){return this.graph.getElementLinks(e)}getLink(e){return this.graph.getLink(e)}findLink(e,t,n){for(const i of this.graph.iterateLinks(t,n,e))return i}sourceOf(e){return this.getElement(e.sourceId)}targetOf(e){return this.getElement(e.targetId)}getLinkVisibility(e){return this.graph.getLinkVisibility(e)}setLinkVisibility(e,t){this.graph.setLinkVisibility(e,t)}resetGraph(){this.graphListener&&(this.graphListener.stopListening(),this.graphListener=new wi),this.graph=new Xo,this._selection=[],this.source.trigger("discardGraph",{source:this})}subscribeGraph(){this.graphListener.listen(this.graph.events,"changeCells",(e=>{this.triggerChangeCells(e)})),this.graphListener.listen(this.graph.events,"elementEvent",(e=>{this.triggerElementEvent(e)})),this.graphListener.listen(this.graph.events,"linkEvent",(e=>{this.triggerLinkEvent(e)})),this.graphListener.listen(this.graph.events,"changeLinkVisibility",(e=>{this.source.trigger("changeLinkVisibility",e)})),this.triggerChangeCells({updateAll:!0})}triggerChangeCells(e){if(this.selection.length>0){const e=this.selection.filter((e=>e instanceof qr?this.getElement(e.id):e instanceof Gr&&this.getLink(e.id)));e.length<this.selection.length&&this.setSelection(e)}this.source.trigger("changeCells",e)}triggerElementEvent(e){this.source.trigger("elementEvent",e)}triggerLinkEvent(e){this.source.trigger("linkEvent",e)}reorderElements(e){this.graph.reorderElements(e),this.source.trigger("changeCellOrder",{source:this})}bringElements(e,t){0!==e.length&&this.reorderElements(function(e,t,n){const i=new Map,r=("start"===n?-1:1)*e.length;e.forEach(((e,t)=>{i.set(e,t)}));for(const e of t)i.set(e,r+i.get(e));return(e,t)=>{const n=i.get(e),r=i.get(t);return n>r?1:n<r?-1:0}}(this.elements,e,"front"===t?"end":"start"))}addElement(e){this.history.execute(new ea(this,e,[]))}removeElement(e){const t=this.getElement(e);t&&this.history.execute(new ta(this,t))}addLink(e){this.history.execute(new na(this,e))}removeLink(e){const t=this.graph.getLink(e);t&&this.history.execute(new ia(this,t))}},ea=class{model;element;connectedLinks;constructor(e,t,n){this.model=e,this.element=t,this.connectedLinks=n}get title(){return Ht.text("data_diagram_model.add_element.command")}invoke(){const{model:e,element:t,connectedLinks:n}=this,i=e[Yo]();i.addElement(t);for(const e of n)i.getLink(e.id)||i.addLink(e);return new ta(e,t)}},ta=class{model;element;constructor(e,t){this.model=e,this.element=t}get title(){return Ht.text("data_diagram_model.remove_element.command")}invoke(){const{model:e,element:t}=this,n=e[Yo](),i=[...n.getElementLinks(t)];return n.removeElement(t.id),new ea(e,t,i)}},na=class{model;link;constructor(e,t){this.model=e,this.link=t}get title(){return Ht.text("data_diagram_model.add_link.command")}invoke(){const{model:e,link:t}=this;return e[Yo]().addLink(t),new ia(e,t)}},ia=class{model;link;constructor(e,t){this.model=e,this.link=t}get title(){return Ht.text("data_diagram_model.remove_link.command")}invoke(){const{model:e,link:t}=this;return e[Yo]().removeLink(t.id),new na(e,t)}},ra=class e extends qr{_data;constructor(e){super(e),this._data=e.data}static placeholderData(e){return{id:e,types:[],properties:{[ki]:[]}}}static isPlaceholderData(e){return Object.prototype.hasOwnProperty.call(e.properties,"urn:reactodia:isPlaceholder")&&void 0!==e.properties["urn:reactodia:isPlaceholder"]}get entitySource(){return this.source}get iri(){return this._data.id}get data(){return this._data}setData(e){const t=this._data;t!==e&&(this._data=e,this.entitySource.trigger("changeData",{source:this,previous:t}),this.entitySource.trigger("requestedRedraw",{source:this,level:"template"}))}static fromJSONType="Element";static fromJSON(t,n){const{"@id":i,iri:r,position:o,isExpanded:a,elementState:s}=t;if(r)return new e({id:i,data:n.getInitialData(r)??e.placeholderData(r),position:o,expanded:a,elementState:n.mapTemplateState(Ci.fromJSON(s))})}toJSON(){return{"@type":"Element","@id":this.id,iri:this.iri,position:this.position,elementState:this.elementState.toJSON()}}},oa=class e extends qr{_items;_itemIris=new Set;constructor(e){super(e),this._items=e.items??[],this.updateItemIris()}get entitySource(){return this.source}get items(){return this._items}setItems(e){const t=this._items;t!==e&&(this._items=e,this.updateItemIris(),this.entitySource.trigger("changeItems",{source:this,previous:t}),this.entitySource.trigger("requestedRedraw",{source:this,level:"template"}))}get itemIris(){return this._itemIris}updateItemIris(){this._itemIris.clear();for(const e of this._items)this._itemIris.add(e.data.id)}static fromJSONType="ElementGroup";static fromJSON(t,n){const{"@id":i,items:r,position:o,elementState:a}=t,s=[];for(const e of r){const t=n.getInitialData(e.iri);s.push({data:t??ra.placeholderData(e.iri),elementState:n.mapTemplateState(Ci.fromJSON(e.elementState))})}return new e({id:i,items:s,position:o,elementState:Ci.fromJSON(a)})}toJSON(){return{"@type":"ElementGroup","@id":this.id,items:this.items.map((e=>({"@type":"ElementItem",iri:e.data.id,elementState:e.elementState?.toJSON()}))),position:this.position,elementState:this.elementState.toJSON()}}};function aa(e,t){return Lr.create(Ht.text("commands.set_entity_group_items.title"),(()=>{const n=e.items;return e.setItems(t),aa(e,n)}))}function*sa(e){if(e instanceof ra)yield e.data;else if(e instanceof oa)for(const t of e.items)yield t.data}var la=class e extends Gr{_data;constructor(e){super(e),this._data=e.data}get relationSource(){return this.source}getTypeId(){return this._data.linkTypeId}get data(){return this._data}setData(e){const t=this._data;t!==e&&(this._data=e,this.relationSource.trigger("changeData",{source:this,previous:t}),this.relationSource.trigger("requestedRedraw",{source:this}))}withDirection(t){if(t.sourceId!==this.data.sourceId&&t.sourceId!==this.data.targetId)throw new Error("New link source IRI is unrelated to original link");if(t.targetId!==this.data.sourceId&&t.targetId!==this.data.targetId)throw new Error("New link target IRI is unrelated to original link");return new e({sourceId:t.sourceId===this.data.sourceId?this.sourceId:this.targetId,targetId:t.targetId===this.data.targetId?this.targetId:this.sourceId,data:t})}static fromJSONType="Link";static fromJSON(t,n){const{"@id":i,property:r,vertices:o,linkState:a}=t,{source:s,target:l}=n,c=t.sourceIri??(s instanceof ra?s.data.id:void 0),d=t.targetIri??(l instanceof ra?l.data.id:void 0);if(c&&d){const t={linkTypeId:r,sourceId:c,targetId:d,properties:{}},u=n.getInitialData(t);return new e({id:i,sourceId:s.id,targetId:l.id,data:u??t,vertices:o,linkState:n.mapTemplateState(Ci.fromJSON(a))})}}toJSON(){return{"@type":"Link","@id":this.id,property:this.typeId,source:{"@id":this.sourceId},target:{"@id":this.targetId},sourceIri:this.data.sourceId,targetIri:this.data.targetId,vertices:[...this.vertices],linkState:this.linkState.toJSON()}}};function ca(e,t){return Lr.create(Ht.text("commands.set_relation_data.title"),(()=>{const n=e.data;return e.setData(t),ca(e,n)}))}var da=class e extends Gr{_typeId;_items;_itemKeys=new q(Gt,Wt);_sources=new Set;_targets=new Set;constructor(e){super(e),this._typeId=e.typeId,this._items=e.items??[],this.updateItemKeys()}get relationSource(){return this.source}getTypeId(){return this._typeId}get items(){return this._items}setItems(e){for(const t of e)if(t.data.linkTypeId!==this._typeId)throw new Error("RelationGroup should have only items with same type IRI");const t=this._items;t!==e&&(this._items=e,this.updateItemKeys(),this.relationSource.trigger("changeItems",{source:this,previous:t}),this.relationSource.trigger("requestedRedraw",{source:this}))}get itemKeys(){return this._itemKeys}get itemSources(){return this._sources}get itemTargets(){return this._targets}updateItemKeys(){this._itemKeys.clear(),this._sources.clear(),this._targets.clear();for(const e of this._items)this._itemKeys.add(e.data),this._sources.add(e.data.sourceId),this._targets.add(e.data.targetId)}static fromJSONType="LinkGroup";static fromJSON(t,n){const{"@id":i,property:r,vertices:o,linkState:a}=t,{source:s,target:l}=n,c=[];for(const e of t.items){const i={linkTypeId:t.property,sourceId:e.sourceIri,targetId:e.targetIri,properties:{}},r=n.getInitialData(i);c.push({data:r??i,linkState:n.mapTemplateState(Ci.fromJSON(e.linkState))})}return new e({id:i,typeId:r,sourceId:s.id,targetId:l.id,items:c,vertices:o,linkState:n.mapTemplateState(Ci.fromJSON(a)).set(pi.LayoutOnly,void 0)})}toJSON(){return{"@type":"LinkGroup","@id":this.id,property:this.typeId,source:{"@id":this.sourceId},target:{"@id":this.targetId},items:this.items.map((e=>({"@type":"LinkItem",sourceIri:e.data.sourceId,targetIri:e.data.targetId,linkState:e.linkState?.toJSON()}))),vertices:[...this.vertices],linkState:this.linkState.toJSON()}}};function ua(e,t){return Lr.create(Ht.text("commands.set_relation_group_items.title"),(()=>{const n=e.items;return e.setItems(t),ua(e,n)}))}function*ha(e){if(e instanceof la)yield e.data;else if(e instanceof da)for(const t of e.items)yield t.data}var fa=class{source=new bi;events=this.source;id;_data;constructor(e){const{id:t,data:n}=e;this.id=t,this.setData(n)}get data(){return this._data}setData(e){if(e&&e.id!==this.id)throw new Error("ElementTypeModel.id does not match ElementType.id");const t=this._data;t!==e&&(this._data=e,this.source.trigger("changeData",{source:this,previous:t}))}},pa=class{source=new bi;events=this.source;id;_data;constructor(e){const{id:t,data:n}=e;this.id=t,this.setData(n)}get data(){return this._data}setData(e){if(e&&e.id!==this.id)throw new Error("PropertyTypeModel.id does not match PropertyType.id");const t=this._data;t!==e&&(this._data=e,this.source.trigger("changeData",{source:this,previous:t}))}},ga=class{source=new bi;events=this.source;id;_data;constructor(e){const{id:t,data:n}=e;this.id=t,this.setData(n)}get data(){return this._data}setData(e){if(e&&e.id!==this.id)throw new Error("LinkTypeModel.id does not match LinkType.id");const t=this._data;t!==e&&(this._data=e,this.source.trigger("changeData",{source:this,previous:t}))}};function va(e,t,n){const i=Lr.create(Ht.text("commands.change_entity.title"),(()=>{const r=t,o=n.id,a=new Map,s=new Map,l=new Map,c=new Map,d=t=>{for(const n of e.getElementLinks(t))if(n instanceof la)l.set(n,n.data),n.setData(ma(n.data,r,o));else if(n instanceof da&&(n.itemSources.has(r)||n.itemTargets.has(r))){c.set(n,n.items);const e=n.items.map((e=>({...e,data:ma(e.data,r,o)})));n.setItems(e)}};for(const i of e.elements)if(i instanceof ra)i.iri===t&&(a.set(i,i.data),i.setData(n),d(i));else if(i instanceof oa&&i.itemIris.has(t)){s.set(i,i.items);const e=i.items.map((e=>e.data.id===t?{...e,data:n}:e));i.setItems(e),d(i)}return Lr.create(Ht.text("commands.change_entity.title"),(()=>{for(const[e,t]of a)e.setData(t);for(const[e,t]of s)e.setItems(t);for(const[e,t]of l)e.setData(t);for(const[e,t]of c)e.setItems(t);return i}))}));return i}function ma(e,t,n){let i=e;return i.sourceId===t&&(i={...i,sourceId:n}),i.targetId===t&&(i={...i,targetId:n}),i}function ba(e,t,n){if(!Wt(t,n))throw new Error("Cannot change typeId, sourceId or targetId when changing link data");return Lr.create(Ht.text("commands.change_relation.title"),(()=>{for(const i of e.links)i instanceof la&&Wt(i.data,t)&&i.setData(n);return ba(e,n,t)}))}var wa=class{graph;dataGraph;dataProvider;source=new bi;events=this.source;cancellation=new AbortController;_operations=[];_failReasons=new Map;elementTypeQueue=new _i((e=>{const t={type:"elementType",targets:new Set(e)},n=this.dataProvider.elementTypes({classIds:e,signal:this.signal}).then(this.onElementTypesLoaded);this.addOperation(t,n)}));linkTypeQueue=new _i((e=>{const t={type:"linkType",targets:new Set(e)},n=this.dataProvider.linkTypes({linkTypeIds:e,signal:this.signal}).then(this.onLinkTypesLoaded);this.addOperation(t,n)}));propertyTypeQueue=new _i((e=>{const t={type:"propertyType",targets:new Set(e)},n=this.dataProvider.propertyTypes({propertyIds:e,signal:this.signal}).then(this.onPropertyTypesLoaded);this.addOperation(t,n)}));constructor(e,t,n){this.graph=e,this.dataGraph=t,this.dataProvider=n}get signal(){return this.cancellation.signal}dispose(){this.cancellation.abort()}get operations(){return this._operations}getFailReason(e,t){return this._failReasons.get(e)?.get(t)}addOperation(e,t){const n=this._operations,i=[...n,e];t.then((()=>this.onOperationComplete(e)),(t=>this.onOperationComplete(e,t))),this._operations=i,this.source.trigger("changeOperations",{previous:n})}onOperationComplete(e,t){const n=this._operations,i=n.indexOf(e);if(i>=0){const e=[...n];e.splice(i,1),this._operations=e}switch(e.type){case"element":case"elementType":case"linkType":case"propertyType":{const n=this.ensureFailReasons(e.type);for(const i of e.targets)n.set(i,t)}}(this._operations!==n||t)&&this.source.trigger("changeOperations",{previous:n,fail:t?{operation:e,error:t}:void 0})}ensureFailReasons(e){let t=this._failReasons.get(e);return t||(t=new Map,this._failReasons.set(e,t)),t}fetchElementData(e){if(0===e.size)return Promise.resolve();const t={type:"element",targets:e},n=this.dataProvider.elements({elementIds:Array.from(e),signal:this.signal}).then((t=>this.onElementInfoLoaded(e,t)));return this.addOperation(t,n),n}onElementInfoLoaded(e,t){for(const n of this.graph.getElements())if(n instanceof ra){const i=t.get(n.iri);i?n.setData(i):e.has(n.iri)&&n.setData(ya(n.data))}else if(n instanceof oa){let i=!1;for(const t of n.items)e.has(t.data.id)&&(i=!0);if(i){const e=n.items.map((e=>{const n=t.get(e.data.id)??ya(e.data);return n===e.data?e:{...e,data:n}}));n.setItems(e)}}}fetchLinks(e,t,n){const i=this.dataProvider.links({primary:e,secondary:t,linkTypeIds:n});return this.addOperation({type:"link"},i),i}fetchElementType(e){this.elementTypeQueue.push(e.id)}onElementTypesLoaded=e=>{for(const t of e.values()){const e=this.dataGraph.getElementType(t.id);e&&e.setData(t)}};fetchLinkType(e){this.linkTypeQueue.push(e.id)}onLinkTypesLoaded=e=>{for(const t of e.values()){const e=this.dataGraph.getLinkType(t.id);e&&e.setData(t)}};fetchPropertyType(e){this.propertyTypeQueue.push(e.id)}onPropertyTypesLoaded=e=>{for(const t of e.values()){const e=this.dataGraph.getPropertyType(t.id);e&&e.setData(t)}}};function ya(e){if(ra.isPlaceholderData(e)){const{[ki]:t,...n}=e.properties;return{...e,properties:n}}return e}function _a(){return{"@context":"https://ontodia.org/context/v1.json","@type":"Diagram",layoutData:{"@type":"Layout",elements:[],links:[]},linkTypeOptions:[]}}function ka(e,t){const n=[];for(const t of e)if(Sa(t)){const e=t.toJSON();Ca(e)&&n.push(e)}const i=[];for(const e of t)if(Sa(e)){const t=e.toJSON();Ca(t)&&i.push(t)}return{"@type":"Layout",elements:n,links:i}}function xa(e,t){return e.set(pi.LayoutOnly,!!t||void 0)}function Sa(e){return Boolean("function"==typeof e.toJSON)}function Ca(e){return"object"==typeof e&&e&&"string"==typeof e["@type"]}var La,Ma=class{source=new bi;events=this.source;classesById=new Map;propertiesById=new Map;linkTypes=new Map;getLinkType(e){return this.linkTypes.get(e)}addLinkType(e){if(this.getLinkType(e.id))throw new Error(`Link type already exists: ${e.id}`);e.events.onAny(this.onLinkTypeEvent),this.linkTypes.set(e.id,e)}onLinkTypeEvent=e=>{this.source.trigger("linkTypeEvent",{data:e})};getPropertyType(e){return this.propertiesById.get(e)}addPropertyType(e){if(this.getPropertyType(e.id))throw new Error(`Property type already exists: ${e.id}`);e.events.onAny(this.onPropertyTypeEvent),this.propertiesById.set(e.id,e)}onPropertyTypeEvent=e=>{this.source.trigger("propertyTypeEvent",{data:e})};getElementType(e){return this.classesById.get(e)}getElementTypes(){const e=[];return this.classesById.forEach((t=>e.push(t))),e}addElementType(e){if(this.getElementType(e.id))throw new Error(`Element type already exists: ${e.id}`);e.events.onAny(this.onElementTypeEvent),this.classesById.set(e.id,e)}onElementTypeEvent=e=>{this.source.trigger("elementTypeEvent",{data:e})}},Ea=class extends Jo{translation;dataGraph=new Ma;loadingScope;_dataProvider;_locale;fetcher;discardingTask=Promise.resolve();constructor(e){super(e),this.translation=e.translation,this._dataProvider=new zi,this.fetcher=new wa(this.graph,this.dataGraph,this._dataProvider),this._locale=new Jt({model:this,translation:this.translation}),this.subscribeGraph()}get extendedSource(){return this.source}get dataProvider(){return this._dataProvider}getTermFactory(){return this._dataProvider.factory}get locale(){return this._locale}get operations(){return this.fetcher.operations}getOperationFailReason(e,t){return this.fetcher.getFailReason(e,t)}resetGraph(){this.dataGraph=new Ma,super.resetGraph(),this.loadingScope?.abort(),this.fetcher.dispose()}subscribeGraph(){this.graphListener.listen(this.dataGraph.events,"elementTypeEvent",(e=>{this.extendedSource.trigger("elementTypeEvent",e)})),this.graphListener.listen(this.dataGraph.events,"linkTypeEvent",(e=>{this.extendedSource.trigger("linkTypeEvent",e)})),this.graphListener.listen(this.dataGraph.events,"propertyTypeEvent",(e=>{this.extendedSource.trigger("propertyTypeEvent",e)})),super.subscribeGraph()}setDataProvider(e){this._dataProvider=e,this.fetcher=new wa(this.graph,this.dataGraph,e),this.graphListener.listen(this.fetcher.events,"changeOperations",(e=>{this.extendedSource.trigger("changeOperations",e)}))}async createNewDiagram(e){const{dataProvider:t,signal:n}=e;return this.importLayout({dataProvider:t,signal:n})}async importLayout(e){const{dataProvider:t,locale:n,diagram:i=_a(),elementCellTypes:r=[ra,oa,Wo],linkCellTypes:o=[la,da,Go],preloadedElements:a,preloadedLinks:s,validateLinks:l=!1,hideUnusedLinkTypes:c=!1,signal:d}=e;await this.discardingTask,this.resetGraph(),this.setDataProvider(t),this._locale=n??new Jt({model:this,translation:this.translation});const u=new AbortController;this.loadingScope=u;const h=()=>u.abort();this.extendedSource.trigger("loadingStart",{source:this});const f=this.loadingScope.signal;try{if(d?.addEventListener("abort",h),f.throwIfAborted(),this.setLinkSettings(i.linkTypeOptions??[]),this.createGraphElements({diagram:i,elementCellTypes:r,linkCellTypes:o,preloadedElements:a,preloadedLinks:s,markLinksAsLayoutOnly:l}),c){const e=await this.dataProvider.knownLinkTypes({signal:f});f.throwIfAborted();const t=this.initLinkTypes(e);this.hideUnusedLinkTypes(t)}this.subscribeGraph();const t=[];for(const e of this.graph.getElements())for(const n of sa(e))a&&a.has(n.id)||t.push(n.id);const n=this.requestElementData(t),u=e.validateLinks?this.requestLinks():Promise.resolve();await Promise.all([n,u]),this.history.reset(),this.extendedSource.trigger("loadingSuccess",{source:this})}catch(e){throw this.extendedSource.trigger("loadingError",{source:this,error:e}),new Error("Reactodia: failed to import a layout",{cause:e})}finally{d?.removeEventListener("abort",h),this.loadingScope?.abort(),this.loadingScope=void 0}}discardLayout(){const e=this.discardingTask;this.discardingTask=Promise.resolve().then((async()=>{await e,this.resetGraph(),this.setDataProvider(new zi),this.extendedSource.trigger("loadingStart",{source:this}),this.subscribeGraph(),this.history.reset(),this.extendedSource.trigger("loadingSuccess",{source:this})})).catch((e=>{console.warn("Error while discarding a layout",e)}))}exportLayout(){const e=new Set(this.graph.getLinks().filter((e=>e instanceof la||e instanceof da)).map((e=>e.typeId))),t=new Map;for(const n of e)t.set(n,this.getLinkVisibility(n));return function(e){const{elements:t,links:n,linkTypeVisibility:i}=e;let r;if(i){r=[];for(const[e,t]of i)"visible"!==t&&"urn:reactodia:newLink"!==e&&r.push({"@type":"LinkTypeOptions",property:e,visible:"hidden"!==t,showLabel:"withoutLabel"!==t})}return{..._a(),layoutData:ka(t,n),linkTypeOptions:r}}({elements:this.graph.getElements(),links:this.graph.getLinks(),linkTypeVisibility:t})}initLinkTypes(e){const t=[];for(const n of e){const e=new ga({id:n.id,data:n});this.dataGraph.addLinkType(e),t.push(e)}return t}setLinkSettings(e){for(const t of e){const{visible:e=!0,showLabel:n=!0}=t;this.setLinkVisibility(t.property,e&&n?"visible":e&&!n?"withoutLabel":"hidden")}}createGraphElements(e){const{diagram:t,elementCellTypes:n,linkCellTypes:i,preloadedElements:r,preloadedLinks:o,markLinksAsLayoutOnly:a}=e,{elements:s,links:l,linkTypeVisibility:c}=function(e,t){const{layoutData:n,linkTypeOptions:i}=e,r=new Map;if(i)for(const e of i){const{visible:t=!0,showLabel:n=!0}=e;r.set(e.property,t&&n?"visible":t&&!n?"withoutLabel":"hidden")}const{elements:o,links:a}=function(e,t){const{preloadedElements:n,preloadedLinks:i,markLinksAsLayoutOnly:r=!1}=t,o=new Map;for(const e of t.elementCellTypes)o.set(e.fromJSONType,e);const a={getInitialData:e=>n?.get(e),mapTemplateState:e=>e},s=new Map;for(const e of t.linkCellTypes)s.set(e.fromJSONType,e);const l=e=>i?.get(e),c=e=>xa(e,r),d=new Map,u=[];for(const t of e.elements){const e=o.get(t["@type"]);if(e){const n=e.fromJSON(t,a);n&&d.set(n.id,n)}}for(const t of e.links){const{source:e,target:n}=t,i=d.get(e["@id"]),r=d.get(n["@id"]);if(!i||!r)continue;const o=s.get(t["@type"]);if(o){const e=o.fromJSON(t,{source:i,target:r,getInitialData:l,mapTemplateState:c});e&&u.push(e)}}return{elements:Array.from(d.values()),links:u}}(n,t);return{elements:o,links:a,linkTypeVisibility:r}}(t,{elementCellTypes:n,linkCellTypes:i,preloadedElements:r,preloadedLinks:o,markLinksAsLayoutOnly:a}),d=this.history.startBatch(Ht.text("data_diagram_model.import_layout.command"));for(const[e,t]of c)this.setLinkVisibility(e,t);for(const e of l)(e instanceof la||e instanceof da)&&this.createLinkType(e.typeId);for(const e of s)this.addElement(e);for(const e of l)this.addLink(e);d.store()}hideUnusedLinkTypes(e){const t=new Set;for(const e of this.graph.getLinks())(e instanceof la||e instanceof da)&&t.add(e.typeId);for(const n of e)t.has(n.id)||this.setLinkVisibility(n.id,"hidden")}async requestData(){const e=new Set;for(const t of this.elements)for(const n of sa(t))ra.isPlaceholderData(n)&&e.add(n.id);const t=Array.from(e);await Promise.all([this.fetcher.fetchElementData(e),this.requestLinks({addedElements:t})])}requestElementData(e){return this.fetcher.fetchElementData(new Set(e))}requestLinks(e={}){const{addedElements:t,linkTypes:n}=e,i=[];for(const e of this.graph.getElements())for(const t of sa(e))i.push(t.id);const r=t??i;return 0===i.length||0===r.length?Promise.resolve():this.fetcher.fetchLinks(i,r,n).then((e=>this.onLinkInfoLoaded(e)))}requestLinksOfType(e){return this.requestLinks({linkTypes:e})}createElement(e){const t="string"==typeof e?e:e.id,n=this.elements.filter((e=>e instanceof ra&&e.iri===t));if(n.length>0)return n[0];let i="string"==typeof e?ra.placeholderData(t):e;i={...i,id:i.id};const r=new ra({data:i});return this.addElement(r),r}onLinkInfoLoaded(e){let t;const n=()=>{t=!1},i=this.history.startBatch();for(const i of e)t=!0,this.extendedSource.trigger("createLoadedLink",{source:this,model:i,cancel:n}),t&&this.createLinks(i);i.discard()}createLinks(e){const t=this.graph.getElements().filter((t=>t instanceof ra&&t.iri===e.sourceId||t instanceof oa&&t.itemIris.has(e.sourceId))),n=this.graph.getElements().filter((t=>t instanceof ra&&t.iri===e.targetId||t instanceof oa&&t.itemIris.has(e.targetId))),i=this.history.startBatch(Ht.text("data_diagram_model.create_links.command")),r=[];for(const i of t)for(const t of n){const n=this.createRelation(i,t,e);r.push(n)}return i.store(),r}createRelation(e,t,n){const i=Array.from(this.graph.iterateLinks(e.id,t.id,n.linkTypeId));for(const e of i){if(e instanceof la&&Wt(e.data,n))return this.history.execute(jr(e,xa(e.linkState,!1))),this.history.execute(ca(e,n)),e;if(e instanceof da&&e.itemKeys.has(n)){const t=e.items.map((e=>Wt(e.data,n)?{...e,data:n,linkState:xa(e.linkState??Ci.empty,!1)}:e));return this.history.execute(ua(e,t)),e}}for(const r of i)if(r.typeId==r.typeId){if(r instanceof la){const i=new da({sourceId:e.id,targetId:t.id,typeId:n.linkTypeId,items:[{data:r.data,linkState:r.linkState},{data:n}]});return this.removeLink(r.id),this.addLink(i),i}if(r instanceof da){const e=[...r.items,{data:n}];return this.history.execute(ua(r,e)),r}}const r=new la({sourceId:e.id,targetId:t.id,data:n});return this.addLink(r),r}getElementType(e){return this.dataGraph.getElementType(e)}createElementType(e){const t=this.dataGraph.getElementType(e);if(t)return t;const n=new fa({id:e});return this.dataGraph.addElementType(n),this.fetcher.fetchElementType(n),n}getLinkType(e){return this.dataGraph.getLinkType(e)}createLinkType(e){const t=this.dataGraph.getLinkType(e);if(t)return t;const n=new ga({id:e});return this.dataGraph.addLinkType(n),this.fetcher.fetchLinkType(n),n}getPropertyType(e){return this.dataGraph.getPropertyType(e)}createPropertyType(e){const t=this.dataGraph.getPropertyType(e);if(t)return t;const n=new pa({id:e});return this.dataGraph.addPropertyType(n),this.fetcher.fetchPropertyType(n),n}group(e){const t=this.history.startBatch(Ht.text("data_diagram_model.group_entities.command")),n=new Set;for(const t of e)n.add(t.data.id);const i=[],r=new Set;for(const t of e){i.push({data:t.data,elementState:t.elementState});for(const e of this.getElementLinks(t))r.add(e)}for(const e of r)this.removeLink(e.id);for(const t of e)this.removeElement(t.id);const o=$r(e,[],{getElementSize:()=>{}}),a=new oa({items:i,position:hr.center(o)});return this.addElement(a),this.recreateLinks(r),t.store(),a}ungroupAll(e){const t=this.history.startBatch(Ht.text("data_diagram_model.ungroup_entities.command")),n=[],i=new Set;for(const t of e){for(const e of this.getElementLinks(t))i.add(e);this.removeElement(t.id);for(const e of t.items){const i=new ra({data:e.data,position:t.position,elementState:e.elementState});this.addElement(i),n.push(i)}}return this.recreateLinks(i),t.store(),n}ungroupSome(e,t){const n=e.items.filter((e=>!t.has(e.data.id)));if(n.length<=1)return this.ungroupAll([e]);const i=this.history.startBatch(Ht.text("data_diagram_model.ungroup_entities.command")),r=new Set;for(const n of this.getElementLinks(e))n instanceof la?(t.has(n.data.sourceId)||t.has(n.data.targetId))&&r.add(n):n instanceof da&&n.items.some((e=>t.has(e.data.sourceId)||t.has(e.data.targetId)))&&r.add(n);for(const e of r)this.removeLink(e.id);const o=[];for(const n of e.items)if(t.has(n.data.id)){const t=new ra({data:n.data,position:e.position,elementState:n.elementState});this.addElement(t),o.push(t)}return i.history.execute(aa(e,n)),this.recreateLinks(r),i.store(),o}regroupLinks(e){const t=this.history.startBatch(Ht.text("data_diagram_model.regroup_relations.command"));for(const t of e)this.removeLink(t.id);this.recreateLinks(new Set(e)),t.store()}recreateLinks(e){for(const t of e)if(t instanceof la)for(const e of this.createLinks(t.data))e instanceof la&&this.history.execute(jr(e,t.linkState));else if(t instanceof da)for(const{data:e}of t.items)this.createLinks(e)}};function za(e,t){return Lr.effect(Ht.text("data_diagram_model.request_entities.command"),(()=>{e.requestElementData(t)}))}function $a(e,t={}){return Lr.effect(Ht.text("data_diagram_model.request_relations.command"),(()=>{e.requestLinks(t)}))}function Na(e){const t=new Set;for(const n of e.elements)for(const e of sa(n))t.add(e.id);return t}async function Ta(e,t,n,i,r,o){let a;try{if(a=await e,null===a)return}catch(e){a={items:[{type:"element",target:i.target.id,severity:"error",message:o.text("editor_controller.validate_entity_failed.message"),errorCause:e}]}}const s=[],l=new U(Gt,Wt);i.outboundLinks.forEach((e=>l.set(e,[])));for(const e of a.items)"element"===e.type&&e.target===i.target.id?s.push(e):"link"===e.type&&l.has(e.target)&&l.get(e.target).push(e);let c=r.validationState;c.elements.get(i.target.id)===t&&(c=La.setElementItems(c,i.target.id,s)),l.forEach(((e,t)=>{c.links.get(t)===n&&(c=La.setLinkItems(c,t,e))})),r.setValidationState(c)}!function(e){function t(){return{elements:new Map,links:new U(Gt,Wt)}}e.empty=t(),e.emptyElement={loading:!1,items:[]},e.emptyLink={loading:!1,items:[]},e.createMutable=t,e.setElementItems=function(e,t,n){const i=new Map(e.elements);return n.length>0?i.set(t,{loading:!1,items:n}):i.delete(t),{...e,elements:i}},e.setLinkItems=function(e,t,n){const i=e.links.clone();return n.length>0?i.set(t,{loading:!1,items:n}):i.delete(t),{...e,links:i}}}(La||(La={}));var Aa=new Map([["info",0],["warning",1],["error",2]]);function Ia(e){let t="info",n=Aa.get(t)??-1;for(const{severity:i}of e){const e=Aa.get(i)??-1;e>n&&(n=e,t=i)}return t}var Va=class{source=new bi;events=this.source;model;translation;getDisposeSignal;_inAuthoringMode=!1;_metadataProvider;_validationProvider;_authoringState=Oo.empty;_validationState=La.empty;_temporaryState=jo.empty;constructor(e){const{model:t,translation:n,metadataProvider:i,validationProvider:r,getDisposeSignal:o}=e;this.model=t,this.translation=n,this.getDisposeSignal=o,this._metadataProvider=i,this._validationProvider=r;const a=new wi;a.listen(this.events,"changeValidationState",(e=>{for(const t of this.model.elements){if(!(t instanceof ra))continue;const n=e.previous.elements.get(t.iri);this.validationState.elements.get(t.iri)!==n&&t.redraw()}})),a.listen(this.events,"changeAuthoringState",(e=>{this.validateChangedFrom(e.previous)})),a.listen(t.events,"changeCells",(e=>{this.validateChangedCells(e)}))}get inAuthoringMode(){return this._inAuthoringMode&&Boolean(this._metadataProvider)}setAuthoringMode(e){const t=this._inAuthoringMode,n=e&&Boolean(this._metadataProvider);n!==t&&(this._inAuthoringMode=n,this.source.trigger("changeMode",{source:this,previous:t}))}get metadataProvider(){return this._metadataProvider}get validationProvider(){return this._validationProvider}get authoringState(){return this._authoringState}setAuthoringState(e){this._authoringState!==e&&this.model.history.execute(this.updateAuthoringState(e))}updateAuthoringState(e){const t=this._authoringState;return Lr.create(Ht.text("editor_controller.set_authoring_state.command"),(()=>(this._authoringState=e,this.source.trigger("changeAuthoringState",{source:this,previous:t}),this.updateAuthoringState(t))))}get validationState(){return this._validationState}setValidationState(e){const t=this._validationState;e!==t&&(this._validationState=e,this.source.trigger("changeValidationState",{source:this,previous:t}))}get temporaryState(){return this._temporaryState}setTemporaryState(e){const t=this._temporaryState;e!==t&&(this._temporaryState=e,this.source.trigger("changeTemporaryState",{source:this,previous:t}))}validateChangedFrom(e){if(!this.validationProvider)return;const t=function(e,t,n){const i=new U(Gt,Wt);e.links.forEach(((e,t)=>i.set(t,!0))),t.links.forEach(((e,t)=>i.set(t,!0)));const r=new Set;i.forEach(((n,i)=>{t.links.get(i)!==e.links.get(i)&&r.add(i.sourceId)}));for(const i of n.elements)for(const o of sa(i)){const a=t.elements.get(o.id),s=e.elements.get(o.id);if(a!==s&&(r.add(o.id),"entityDelete"===(a||s).type))for(const e of n.getElementLinks(i))for(const t of ha(e))t.targetId===o.id&&t.sourceId!==o.id&&r.add(t.sourceId)}return r}(e,this.authoringState,this.model);this.revalidateEntities(t)}validateChangedCells(e){if(!this.validationProvider||!this.inAuthoringMode)return;if(e.updateAll)return void this.validateChangedFrom(Oo.empty);const t=this.authoringState;let n;if(e.changedElement)for(const i of sa(e.changedElement))t.elements.has(i.id)&&(n||(n=new Set),n.add(i.id));else if(e.changedLinks)for(const i of e.changedLinks)for(const e of ha(i))t.links.has(e)&&(n||(n=new Set),n.add(e.sourceId));n&&this.revalidateEntities(n)}revalidateEntities(e){this.validationProvider&&function(e,t,n,i,r,o,a){const s=i.validationState,l=La.createMutable();for(const c of n.elements)for(const d of sa(c)){if(l.elements.has(d.id))continue;const u=[];for(const e of n.getElementLinks(c))for(const t of ha(e))t.sourceId===d.id&&u.push(t);if(e.has(d.id)){const e={target:d,outboundLinks:u,state:i.authoringState,graph:n,translation:r,language:o,signal:a},s=hi(t.validate(e),a),c={loading:!0,items:[]},h={loading:!0,items:[]};l.elements.set(d.id,c),u.forEach((e=>l.links.set(e,h))),Ta(s,c,h,e,i,r)}else{l.elements.set(d.id,s.elements.get(d.id));for(const e of u)l.links.set(e,s.links.get(e))}}i.setValidationState(l)}(e,this.validationProvider,this.model,this,this.translation,this.model.language,this.getDisposeSignal())}removeSelectedElements(){const e=this.model.selection;e.length>0&&(this.model.setSelection([]),this.removeItems(e))}removeItems(e){const{model:t}=this,n=t.history.startBatch(Ht.text("editor_controller.remove_items.command")),i=new Set;for(const t of e)if(t instanceof qr){for(const e of sa(t))i.add(e.id);this.model.removeElement(t.id)}else if(t instanceof Gr){for(const e of ha(t))Oo.isAddedRelation(this.authoringState,e)&&this.deleteRelation(e);t instanceof la||t instanceof da||this.model.removeLink(t.id)}const r=new Set;for(const e of i){const t=this.authoringState.elements.get(e);t&&this.discardChange(t),r.add(e)}if(r.size>0){const e=Oo.discardAddedRelations(this.authoringState,r);this.setAuthoringState(e)}n.store()}createEntity(e,t={}){const{model:n}=this,i=n.history.startBatch(Ht.text("editor_controller.entity_add.command")),r=n.createElement(e);return t.temporary?(this.setTemporaryState(jo.addEntity(this.temporaryState,r.data)),i.discard()):(this.setAuthoringState(Oo.addEntity(this._authoringState,r.data)),i.store()),r}changeEntity(e,t){const{model:n}=this,i="string"==typeof e?Ha(Pa(n,e),e):e;if(!i)return;const r=n.history.startBatch(Ht.text("editor_controller.entity_change.command")),o=Oo.changeEntity(this._authoringState,i,t),a=o.elements.get(i.id)||o.elements.get(t.id);n.history.execute(va(n,i.id,a.data)),this.setAuthoringState(o),r.store()}deleteEntity(e){const{model:t}=this,n="string"==typeof e?Ha(Pa(t,e),e):e;if(!n)return;const i=this.authoringState,r=t.history.startBatch(Ht.text("editor_controller.entity_delete.command"));for(const e of Pa(t,n.id))this.removeRelationsFromLinks(t.getElementLinks(e),(e=>Oo.isAddedRelation(i,e)));const o=i.elements.get(n.id);o&&this.discardChange(o),this.setAuthoringState(Oo.deleteEntity(i,n)),r.store()}createRelation(e,t={}){const{model:n}=this;if(n.findLink(e.typeId,e.sourceId,e.targetId))throw Error("The relation with same (source IRI, target IRI, type) already exists");const i=n.history.startBatch(Ht.text("editor_controller.relation_add.command"));return n.addLink(e),t.temporary||this.model.createLinks(e.data),function(e,t){for(const n of e.links)for(const e of ha(n))if(Wt(e,t))return!0;return!1}(n,e.data)?t.temporary?(this.setTemporaryState(jo.addRelation(this.temporaryState,e.data)),i.discard()):(this.setAuthoringState(Oo.addRelation(this._authoringState,e.data)),i.store()):i.discard(),e}changeRelation(e,t){const{model:n}=this,i=n.history.startBatch(Ht.text("editor_controller.relation_change.command"));if(Wt(e,t))n.history.execute(ba(n,e,t)),this.setAuthoringState(Oo.changeRelation(this._authoringState,e,t));else{let i=this._authoringState;i=Oo.deleteRelation(i,e),i=Oo.addRelation(i,t),Oo.isAddedRelation(this._authoringState,e)&&this.removeRelationsFromLinks(n.links,(t=>Wt(t,e))),n.createLinks(t),this.setAuthoringState(i)}i.store()}moveRelationSource(e){const{model:t}=this,{link:n,newSource:i}=e;if(n.data.sourceId===i.data.id)return n;const r=t.history.startBatch(Ht.text("editor_controller.relation_move_source.command"));this.changeRelation(n.data,{...n.data,sourceId:i.iri});const o=t.findLink(n.typeId,i.id,n.targetId);return o.setVertices(n.vertices),r.store(),o}moveRelationTarget(e){const{model:t}=this,{link:n,newTarget:i}=e;if(n.data.targetId===i.data.id)return n;const r=t.history.startBatch(Ht.text("editor_controller.relation_move_target.command"));this.changeRelation(n.data,{...n.data,targetId:i.iri});const o=t.findLink(n.typeId,n.sourceId,i.id);return o.setVertices(n.vertices),r.store(),o}deleteRelation(e){const{model:t}=this,n=this.authoringState;if(Oo.isDeletedRelation(n,e))return;const i=t.history.startBatch(Ht.text("editor_controller.relation_delete.command")),r=Oo.deleteRelation(n,e);Oo.isAddedRelation(n,e)&&this.removeRelationsFromLinks(t.links,(t=>Wt(t,e))),this.setAuthoringState(r),i.store()}removeAllTemporaryCells(){const{temporaryState:e}=this,t=[];if(e.elements.size>0)for(const n of this.model.elements)n instanceof ra&&e.elements.has(n.iri)&&t.push(n);if(e.links.size>0)for(const n of this.model.links)n instanceof la&&e.links.has(n.data)&&t.push(n);t.length>0&&this.removeTemporaryCells(t)}removeTemporaryCells(e){const{temporaryState:t}=this;let n=t;const i=this.model.history.startBatch();for(const i of e)i instanceof ra?t.elements.has(i.iri)&&(n=jo.removeEntity(n,i.data),this.model.removeElement(i.id)):i instanceof la&&t.links.has(i.data)&&(n=jo.removeRelation(n,i.data),this.model.removeLink(i.id));i.discard(),this.setTemporaryState(n)}discardChange(e){const{model:t}=this,n=Oo.discard(this._authoringState,e);if(n===this._authoringState)return;const i=t.history.startBatch(Ht.text("editor_controller.discard_change.command"));switch(e.type){case"entityAdd":for(const n of Pa(t,e.data.id))n instanceof ra?t.removeElement(n.id):n instanceof oa&&this.discardItemFromGroup(n,e.data.id);break;case"entityChange":t.history.execute(va(t,e.data.id,e.before));break;case"relationAdd":this.removeRelationsFromLinks(t.links,(t=>Wt(t,e.data)));break;case"relationChange":t.history.execute(ba(this.model,e.data,e.before))}this.setAuthoringState(n),i.store()}discardItemFromGroup(e,t){const n=e.items.filter((e=>e.data.id!==t));this.model.history.execute(aa(e,n)),this.removeRelationsFromLinks(this.model.getElementLinks(e),(({sourceId:e,targetId:n})=>e===t||n===t)),n.length<=1&&this.model.ungroupAll([e])}removeRelationsFromLinks(e,t){const n=[],i=[];for(const r of e)if(r instanceof la)t(r.data)&&n.push(r);else if(r instanceof da&&r.items.some((e=>t(e.data)))){const e=r.items.filter((e=>!t(e.data)));this.model.history.execute(ua(r,e)),i.push(r)}for(const e of n)this.model.removeLink(e.id);this.model.regroupLinks(i)}applyAuthoringChanges(){const e=this.authoringState,t=this.model.history.startBatch(Ht.text("editor_controller.apply_authored_changes.command"));for(const n of e.links.values())"relationChange"===n.type&&t.history.execute(ba(this.model,n.before,n.data));const n=[];for(const t of this.model.links)t instanceof la?Oo.isDeletedRelation(e,t.data)&&n.push(t):t instanceof da&&t.items.some((t=>Oo.isDeletedRelation(e,t.data)))&&this.model.history.execute(ua(t,t.items.filter((t=>!Oo.isDeletedRelation(e,t.data)))));for(const e of n)this.model.removeLink(e.id);for(const t of e.elements.values())"entityChange"===t.type&&this.model.history.execute(va(this.model,t.before.id,void 0===t.newIri?t.data:{...t.data,id:t.newIri}));const i=[];for(const n of this.model.elements)n instanceof ra?Oo.isDeletedEntity(e,n.iri)&&i.push(n):n instanceof oa&&n.items.some((t=>Oo.isDeletedEntity(e,t.data.id)))&&t.history.execute(aa(n,n.items.filter((t=>!Oo.isDeletedEntity(e,t.data.id)))));for(const e of i)this.model.removeElement(e.id);this.setAuthoringState(Oo.empty),t.store()}};function Pa(e,t){return e.elements.filter((e=>e instanceof ra&&e.iri===t||e instanceof oa&&e.itemIris.has(t)))}function Ha(e,t){for(const n of e)for(const e of sa(n))if(e.id===t)return e}async function Ra(e,t){const{model:n}=e,{elements:i,canvas:r}=t,o=n.history.startBatch(Ht.text("workspace.group_entities.command")),a=Hr.capturePartial(i,[]),s=$r(i,[],r.renderingState),l=hr.center(s);await r.animateGraph((()=>{for(const e of i){const t=yr(e,r.renderingState),n={x:l.x-t.width/2,y:l.y-t.height/2},i=dr.normalize(dr.subtract(e.position,l));e.setPosition(dr.add(n,dr.scale(i,Math.min(t.width,t.height)/2)))}})),o.history.registerToUndo(a);const c=[...i].sort(((e,t)=>{const i=n.locale.formatEntityLabel(e.data,n.language),r=n.locale.formatEntityLabel(t.data,n.language);return i.localeCompare(r)})),d=n.group(c);r.renderingState.syncUpdate();const u=yr(d,r.renderingState);return d.setPosition({x:l.x-u.width/2,y:l.y-u.height/2}),o.store(),d}async function Da(e,t){const{model:n,performLayout:i}=e,{groups:r,canvas:o}=t,a=n.history.startBatch(Ht.text("workspace.ungroup_entities.command")),s=n.ungroupAll(r);return await i({canvas:o,selectedElements:new Set(s),animate:!0,zoomToFit:!1}),a.store(),s}async function Ba(e,t){const{model:n}=e,{group:i,entities:r,canvas:o}=t,a=n.history.startBatch(Ht.text("workspace.ungroup_entities.command")),s=n.ungroupSome(i,r);return o.renderingState.syncUpdate(),await o.animateGraph((()=>{a.history.execute(Ur({target:i,elements:s.filter((e=>r.has(e.data.id))),graph:n,sizeProvider:o.renderingState}))})),a.store(),s}var Oa="reactodia-draggable-handle",ja={nw:`${Oa}--dock-nw`,n:`${Oa}--dock-n`,ne:`${Oa}--dock-ne`,e:`${Oa}--dock-e`,se:`${Oa}--dock-se`,s:`${Oa}--dock-s`,sw:`${Oa}--dock-sw`,w:`${Oa}--dock-w`};function Fa(e){const{dock:t,axis:n="all",onBeginDragHandle:i,onDragHandle:r,onEndDragHandle:o,children:a,...s}=e,l=v.useRef(void 0),c=At(i),d=At(r),u=At(o);return H.jsx("div",{...s,className:cn(Oa,t?ja[t]:void 0,s.className),onPointerDown:e=>{if(l.current)return;if(e.button)return;const{pageX:t,pageY:i,currentTarget:r,pointerId:o}=e;e.preventDefault();const a={origin:{pageX:t,pageY:i},target:r,onPointerMove:e=>{e.preventDefault();const{origin:t}=a;d.current(e,"y"===n?0:e.pageX-t.pageX,"x"===n?0:e.pageY-t.pageY)},onPointerUp:e=>{l.current=void 0;const{target:t}=a;t.releasePointerCapture(o),t.removeEventListener("pointermove",a.onPointerMove),t.removeEventListener("pointerup",a.onPointerUp),t.removeEventListener("pointercancel",a.onPointerUp),u.current?.(e)}};r.addEventListener("pointermove",a.onPointerMove),r.addEventListener("pointerup",a.onPointerUp),r.addEventListener("pointercancel",a.onPointerUp),r.setPointerCapture(o),c.current(e)},children:a})}var Ua="reactodia-dialog",qa={width:300,height:320},Wa={width:250,height:250},Ga={width:800,height:800},Za="e",Ka=40,Xa=class extends v.Component{static contextType=lr;unsubscribeFromTarget=void 0;listener=new wi;updateAll=()=>this.forceUpdate();startSize;constructor(e){super(e),this.state={}}componentDidMount(){const{canvas:e,model:t}=this.context;this.listener.listen(t.events,"changeLanguage",this.updateAll),this.listener.listen(e.events,"changeTransform",this.updateAll),this.listenToTarget(this.props.target),this.props.target&&this.focusOn()}componentDidUpdate(e){this.props.target!==e.target&&this.listenToTarget(this.props.target)}componentWillUnmount(){this.listener.stopListening(),this.listenToTarget(void 0)}listenToTarget(e){if(this.unsubscribeFromTarget&&(this.unsubscribeFromTarget(),this.unsubscribeFromTarget=void 0),e){const t=e.subscribe(this.updateAll,this.context);this.unsubscribeFromTarget=()=>{t()}}}calculatePosition(e){const{target:t,defaultSize:n=qa,dock:i=Za,dockMargin:r=Ka}=this.props,{canvas:o}=this.context;if(t){const a=t.getBounds(this.context);return function(e,t,n,i,r,o){let a,s;switch(n){case"w":a=e.x-o.width-i;break;case"e":a=t.x+i;break;default:a=(e.x+t.x-r.width)/2}switch(n){case"n":s=e.y-o.height-i;break;case"s":s=t.y+i;break;default:s=(e.y+t.y-r.height)/2}return{x:a,y:s}}(o.metrics.paperToScrollablePaneCoords(a.x,a.y),o.metrics.paperToScrollablePaneCoords(a.x+a.width,a.y+a.height),i,r,n,e)}}getViewPortScrollablePoints(){const{canvas:e}=this.context,{clientWidth:t,clientHeight:n}=e.metrics.pane;return{min:e.metrics.clientToScrollablePaneCoords(0,0),max:e.metrics.clientToScrollablePaneCoords(t,n)}}getDialogScrollableBounds(){const e=this.getCurrentSize(),{x:t,y:n}=this.calculatePosition(e)??{x:0,y:0},i={x:t-20,y:n-20};return{min:i,max:{x:i.x+e.width+40,y:i.y+e.height+40}}}focusOn(){const{canvas:e}=this.context,{min:t,max:n}=this.getViewPortScrollablePoints(),{min:i,max:r}=this.getDialogScrollableBounds();let o=0;i.x<t.x?o=i.x-t.x:r.x>n.x&&(o=r.x-n.x);let a=0;i.y<t.y?a=i.y-t.y:r.y>n.y&&(a=r.y-n.y);const s={x:t.x+(n.x-t.x)/2+o,y:t.y+(n.y-t.y)/2+a},l=e.metrics.scrollablePaneToPaperCoords(s.x,s.y);e.centerTo(l)}onStartDragging=()=>{const{defaultSize:e=qa,maxSize:t=Ga}=this.props;this.startSize={x:Math.min(this.state.width||e.width,t.width),y:Math.min(this.state.height||e.height,t.height)}};calculateHeight(e){const{defaultSize:t=qa,minSize:n=Wa,maxSize:i=Ga}=this.props,r=Math.min(t.height,n.height),o=Math.max(t.height,i.height);return Math.max(r,Math.min(o,e))}calculateWidth(e){const{defaultSize:t=qa,minSize:n=Wa,maxSize:i=Ga}=this.props,r=Math.min(t.width,n.width),o=Math.max(t.width,i.width);return Math.max(r,Math.min(o,e))}onDragHandle=(e,t,n)=>{const{dock:i=Za,mode:r}=this.props,o="centered"===r;let a=o?2:1,s=o?2:1;switch(i){case"n":s*=-1;break;case"w":a*=-1}const l=t?this.calculateWidth(this.startSize.x+t*a):void 0,c=n?this.calculateHeight(this.startSize.y+n*s):void 0;this.setState((e=>({width:l??e.width,height:c??e.height})))};render(){const{target:e,mode:t,dock:n=Za,caption:i,resizableBy:r="all",closable:o=!0}=this.props,a="fillViewport"===t?"none":r,s=this.getCurrentSize(),l=this.calculatePosition(s),c={left:l?.x,top:l?.y,width:s.width,height:s.height};return H.jsxs("div",{className:cn(Ua,e?"reactodia-dialog--attached":void 0,"fillViewport"===t?"reactodia-dialog--fill-viewport":void 0),role:"dialog","aria-labelledby":i?"reactodia-dialog-caption":void 0,style:c,"data-reactodia-prevent-zoom":!0,children:[H.jsxs("div",{className:`${Ua}__header`,children:[H.jsx("div",{id:"reactodia-dialog-caption",className:`${Ua}__caption`,title:i,children:i}),o?H.jsx("button",{title:"Close",className:cn("reactodia-btn",`${Ua}__close-button`),onClick:this.onClose}):null]}),this.props.children,"y"===a||"all"===a?H.jsx(Fa,{dock:"n"===n?"n":"s",axis:"y",onBeginDragHandle:this.onStartDragging,onDragHandle:this.onDragHandle,onEndDragHandle:this.onEndDragHandle}):null,"x"===a||"all"===a?H.jsx(Fa,{dock:"w"===n?"w":"e",axis:"x",onBeginDragHandle:this.onStartDragging,onDragHandle:this.onDragHandle,onEndDragHandle:this.onEndDragHandle}):null,"none"===a?null:H.jsx(Fa,{dock:"n"===n?"ne":"w"===n?"sw":"se",axis:a,onBeginDragHandle:this.onStartDragging,onDragHandle:this.onDragHandle,onEndDragHandle:this.onEndDragHandle})]})}getCurrentSize(){const{mode:e,defaultSize:t=qa,maxSize:n=Ga}=this.props;return"fillViewport"===e?n:{width:Math.min(this.state.width??t.width,n.width),height:Math.min(this.state.height??t.height,n.height)}}onClose=()=>{const{canvas:e}=this.context,{onHide:t}=this.props;e.focus(),t()};onEndDragHandle=()=>{const{onResize:e}=this.props;if(!e)return;const{width:t,height:n}=this.getCurrentSize();!this.startSize||t===this.startSize.x&&n===this.startSize.y||e({width:t,height:n})}},Qa=e=>({subscribe:(t,{canvas:n})=>{const i=new wi;return i.listen(e.events,"changePosition",t),i.listen(n.renderingState.events,"changeElementSize",(n=>{n.source===e&&t()})),()=>i.stopListening()},getBounds:({canvas:t})=>yr(e,t.renderingState)}),Ya=e=>({subscribe:(t,{model:n,canvas:i})=>{const r=n.getElement(e.sourceId),o=n.getElement(e.targetId);if(!r||!o)throw new Error("Source and target are not specified");const a=new wi;return a.listen(r.events,"changePosition",t),a.listen(o.events,"changePosition",t),a.listen(i.renderingState.events,"changeElementSize",(e=>{e.source!==r&&e.source!==o||t()})),a.listen(e.events,"changeVertices",t),a.listen(i.renderingState.events,"changeLinkLabelBounds",(n=>{n.source===e&&t()})),()=>a.stopListening()},getBounds:({model:t,canvas:n})=>{const i=n.renderingState.getLinkLabelBounds(e);if(i)return i;const r=t.getElement(e.sourceId),o=t.getElement(e.targetId);if(!r||!o)throw new Error("Source and target are not specified");const a=n.renderingState.getRouting(e.id),s=a?a.vertices:e.vertices||[],l=xr(n.renderingState.getElementShape(r),n.renderingState.getElementShape(o),s),{x:c,y:d}=Cr(l,Sr(l)/2);return{x:c,y:d,width:0,height:0}}}),Ja="reactodia-viewport-dock",es={n:`${Ja}--row-n`,s:`${Ja}--row-s`,w:`${Ja}--column-w`,e:`${Ja}--column-e`},ts={nw:`${Ja}--dock-nw`,n:`${Ja}--dock-n`,ne:`${Ja}--dock-ne`,e:`${Ja}--dock-e`,se:`${Ja}--dock-se`,s:`${Ja}--dock-s`,sw:`${Ja}--dock-sw`,w:`${Ja}--dock-w`},ns={nw:"start",n:"center",ne:"end",e:"end",se:"end",s:"center",sw:"start",w:"start"},is={nw:"start",n:"start",ne:"start",e:"center",se:"end",s:"end",sw:"end",w:"center"};function rs(e){const{dock:t,dockOffsetX:n=0,dockOffsetY:i=0,children:r}=e,o={"--reactodia-viewport-dock-offset-x":`${n}px`,"--reactodia-viewport-dock-offset-y":`${i}px`,"--reactodia-viewport-dock-align-x":ns[t],"--reactodia-viewport-dock-align-y":is[t]};return H.jsx("div",{className:cn(Ja,es[t]??`${Ja}--corner`),style:o,children:v.cloneElement(r,{className:cn(r.props.className,ts[t])})})}var os=class{source=new bi;events=this.source;internalSource=new bi;model;view;translation;dialogSettingsProvider;_openedDialog;_tasks=new Set;_taskError;constructor(e){const{model:t,view:n,translation:i,dialogSettingsProvider:r}=e;this.model=t,this.view=n,this.translation=i,this.dialogSettingsProvider=r,this[ss]={events:this.internalSource,overlays:new Set,dialog:null,spinner:null,onCanvasPointerUp:this.onAnyCanvasPointerUp,onCanvasKeydown:this.onAnyCanvasKeydown};const o=new wi;o.listen(this.model.events,"changeSelection",(()=>{this.openedDialog&&this.openedDialog.target!==(1===this.model.selection.length?this.model.selection[0]:void 0)&&this.hideDialog()})),o.listen(this.model.events,"discardGraph",(()=>{this.openedDialog&&this.openedDialog.target&&this.hideDialog()}))}get openedDialog(){return this._openedDialog}onAnyCanvasPointerUp=e=>{const{source:t,sourceEvent:n,target:i,triggerAsClick:r}=e;n.ctrlKey||n.shiftKey||n.metaKey||this.openedDialog&&this.openedDialog.holdSelection||(i instanceof qr?(this.model.setSelection([i]),i.focus()):i instanceof Gr?(this.model.setSelection([i]),t.focus()):i instanceof Zr?(this.model.setSelection([i.link]),t.focus()):!i&&r&&(this.model.setSelection([]),this.hideDialog(),t.focus()))};onAnyCanvasKeydown=e=>{const{source:t,sourceEvent:n}=e;t.renderingState.triggerHotkey(n)};startTask(e={}){const{title:t,delay:n=0}=e;0===this._tasks.size&&this._taskError&&(this._taskError=void 0);const i=n>0&&0===this._tasks.size,r={title:t,setError:e=>{this._taskError={error:e}},end:()=>{this._tasks.delete(r),this.updateTaskSpinner()},[as]:!i};return this._tasks.add(r),this.updateTaskSpinner(),i&&fi(n).then((()=>{if(this._tasks.has(r)){for(const e of this._tasks)e[as]=!0;this.updateTaskSpinner()}})),r}showSpinnerWhile(e){const{translation:t}=this,n=this.startTask();(async()=>{try{await e}catch(e){console.error(e),n.setError(new Error(t.text("overlay_controller.unknown_error"),{cause:e}))}finally{n.end()}})()}updateTaskSpinner(){const{translation:e}=this;if(this._taskError){const e=function(e){if(e&&"object"==typeof e&&"message"in e){const t=e.message;if("string"==typeof t)return t}}(this._taskError.error);this.setSpinner({statusText:e,errorOccurred:!0})}else{let t,n=!1;for(const i of this._tasks)if(i[as]&&(n=!0),i.title){if(void 0!==t){t=e.text("overlay_controller.multiple_tasks_in_progress");break}t=i.title}this.setSpinner(n?{statusText:t}:void 0)}}setSpinner(e){const t=this[ss],n=t.spinner;t.spinner=e?H.jsx(cs,{spinnerProps:e}):null,this.internalSource.trigger("changeSpinner",{previous:n,source:this})}showDialog(e){const{target:t,style:n,dialogType:i,content:r,holdSelection:o=!1,onClose:a}=e;this._openedDialog&&this._openedDialog.target!==t&&this.hideDialog();const s=this._openedDialog,l={target:t,knownType:i,holdSelection:o,onClose:a};this._openedDialog=l;const c=this.view.findAnyCanvas(),d=function(e,t){for(const n of e){const e=t(n);if(void 0!==e)return e}}(this[ss].overlays,(e=>e.getDialogViewportBreakpoint())),u=Boolean(c&&void 0!==d&&c.metrics.pane.clientWidth<=d);let h=n;const f=this.dialogSettingsProvider.getDialogSize(l);f&&(h={...n,defaultSize:f.defaultSize??n.defaultSize,minSize:f.minSize??n.minSize,maxSize:f.maxSize??n.maxSize});const p=e=>{this.dialogSettingsProvider.persistDialogSize(l,e)},g=()=>this.hideDialog();this.setDialog(t&&!u?H.jsx(Bo,{layer:"overElements",children:H.jsx(Xa,{...h,target:t instanceof qr?Qa(t):t instanceof Gr?Ya(t):t,onResize:p,onHide:g,children:r})}):H.jsx(ds,{...h,mode:u?"fillViewport":"centered",onResize:p,onHide:g,children:r})),this.source.trigger("changeOpenedDialog",{source:this,previous:s})}hideDialog(){if(this._openedDialog){const e=this._openedDialog;this._openedDialog=void 0,e.onClose?.(),this.setDialog(null),this.source.trigger("changeOpenedDialog",{source:this,previous:e})}}setDialog(e){const t=this[ss],n=t.dialog;t.dialog=e,this.internalSource.trigger("changeDialog",{previous:n,source:this})}},as=Symbol("OverlayTask.active"),ss=Symbol("OverlayController.internalApi");function ls(e){const{overlay:t}=e,{canvas:n}=cr(),i=t[ss],{overlays:r,onCanvasPointerUp:o,onCanvasKeydown:a}=i,s=v.useRef(null);v.useLayoutEffect((()=>{const e=s.current;if(e){const t={getDialogViewportBreakpoint:()=>{const t=getComputedStyle(e);return t.maxWidth?parseFloat(t.maxWidth):void 0}};return r.add(t),()=>{r.delete(t)}}}),[r]),v.useEffect((()=>{const e=new wi;return e.listen(n.events,"pointerUp",o),e.listen(n.events,"keydown",a),()=>e.stopListening()}),[o,a]);const l=Ct(i.events,"changeDialog",(()=>i.dialog)),c=Ct(i.events,"changeSpinner",(()=>i.spinner));return H.jsxs(H.Fragment,{children:[H.jsx("div",{ref:s,style:{display:"none",maxWidth:"var(--reactodia-dialog-viewport-breakpoint-s)"}}),l,c]})}function cs(e){const{spinnerProps:t}=e,n=us();return H.jsx("div",{className:"reactodia-loading-widget",children:H.jsx("svg",{width:n.width,height:n.height,children:H.jsx(Qt,{position:{x:t.statusText?n.width/3:n.width/2,y:n.height/2},...t})})})}function ds(e){const t=us(),n=v.useRef(null),[i,r]=v.useState(0);v.useLayoutEffect((()=>{n.current&&r(function(e){const t=getComputedStyle(e).getPropertyValue("--reactodia-viewport-dock-margin");if(t){const e=parseFloat(t);if(Number.isFinite(e))return e}}(n.current)??0)}),[]);const o=v.useMemo((()=>({width:t.width-2*i,height:t.height-2*i})),[t,i]);return H.jsx("div",{ref:n,className:"reactodia-viewport-dialog-overlay",children:H.jsx(Xa,{...e,dock:"e",maxSize:o})})}function us(){const{canvas:e}=cr();return Nt(oo(Et(e.events,"resize"),e.renderingState),(()=>{const{clientWidth:t,clientHeight:n}=e.metrics.pane;return{width:t,height:n}}),((e,t)=>e.width===t.width&&e.height===t.height))}var hs=class{lastDialogSize=new Map;getDialogSize(e){if(e.knownType){const t=this.lastDialogSize.get(e.knownType);if(t)return{defaultSize:t}}}persistDialogSize(e,t){e.knownType&&this.lastDialogSize.set(e.knownType,t)}},fs="reactodia-fetch-status";function ps(e){const{type:t,target:n,children:i}=e,{model:r}=sn(),[o,a]=v.useState(r.getOperationFailReason(t,n)?2:0);return v.useEffect((()=>{const e=e=>{a((()=>{if(e&&gs(e.operation,t,n))return 2;for(const e of r.operations)if(gs(e,t,n))return 1;return r.getOperationFailReason(t,n)?2:0}))};e();const i=t=>{e(t.fail)};return r.events.on("changeOperations",i),()=>r.events.off("changeOperations",i)}),[t,n]),0===o?i:v.cloneElement(i,{className:cn(i.props.className,1===o?`${fs}--loading`:2===o?`${fs}--error`:void 0)})}function gs(e,t,n){return e.type===t&&e.targets.has(n)}function vs(e){const{link:t,className:n,path:i,pathProps:r,markerSource:o,markerTarget:a,children:s}=e,l=r?.stroke;return H.jsxs("g",{className:n,children:[H.jsx(ko,{path:i,pathProps:{fill:"none",...r},markerSource:o,markerTarget:a}),0===t.vertices.length?null:H.jsx(Mo,{linkId:t.id,vertices:t.vertices,fill:l}),s]})}var ms="reactodia-group-paginator";function bs(e){const{pageIndex:t,pageCount:n,onChangePage:i,pageSize:r,pageSizes:o,onChangePageSize:a}=e,s=Pt(),l=n-1;return H.jsxs("div",{className:ms,children:[H.jsx("button",{type:"button",className:cn("reactodia-btn","reactodia-btn-default",`${ms}__previous`),name:s.text("group_paginator.go_previous.title"),disabled:t<=0,onClick:()=>i(t-1)}),H.jsx("div",{className:`${ms}__status`,children:s.text("group_paginator.current_page.label",{page:t+1,pageCount:n})}),H.jsx("button",{type:"button",className:cn("reactodia-btn","reactodia-btn-default",`${ms}__next`),title:s.text("group_paginator.go_next.title"),disabled:t>=l,onClick:()=>i(t+1)}),H.jsx("select",{className:`${ms}__page-size`,title:s.text("group_paginator.page_size.title"),value:r,onPointerDown:e=>e.stopPropagation(),onChange:e=>a(Number(e.currentTarget.value)),children:o.map((e=>H.jsx("option",{value:e,children:e},e)))})]})}function ws(e){const{className:t,style:n,text:i,setText:r,isEditing:o,setEditing:a}=e,s=v.useRef(null);return v.useLayoutEffect((()=>{const e=s.current;o&&e&&(e.focus(),window.getSelection()?.selectAllChildren(e))}),[o]),v.useLayoutEffect((()=>{const e=s.current;e&&(e.innerText=i||"\n")}),[i]),H.jsx("p",{ref:s,className:t,style:n,contentEditable:o?"plaintext-only":void 0,onPointerDown:e=>{o&&e.stopPropagation()},onKeyDown:e=>{o&&e.stopPropagation()},onKeyUp:e=>{o&&(e.stopPropagation(),"Escape"===e.key&&(document.getSelection()?.removeAllRanges(),s.current?.blur()))},onBlur:()=>{const e=(s.current?.innerText??"").trim();a(!1),r(e)}})}var ys=class e{__commandsMarker;constructor(){}static define(){return new e}},_s=ys.define(),ks=ys.define(),xs=ys.define(),Ss=ys.define(),Cs=ys.define(),Ls={canEdit:!1,canDelete:!1,onEdit:()=>{},onDelete:()=>{}};function Ms(e,t){const{editor:n,getCommandBus:i}=sn(),r=n.inAuthoringMode?e:void 0,o=Ct(n.events,"changeAuthoringState",(()=>r?n.authoringState.elements.get(r.id):void 0)),a=Tt({input:[n.metadataProvider,r,o,t],load:async([e,t,n,i],{signal:r})=>{if(e&&t&&i&&(!n||"entityDelete"!==n.type)){const{canEdit:n,canDelete:i}=await e.canModifyEntity(t,{signal:r});return(n?1:0)|(i?2:0)}return 0}}),s="completed"===a.status?a.data:void 0;return r?{editedIri:o&&"entityChange"===o.type?o.newIri:void 0,canEdit:void 0===s?void 0:Boolean(1&s),canDelete:void 0===s?void 0:Boolean(2&s),onEdit:e=>{e instanceof ra&&i(Cs).trigger("editEntity",{target:e})},onDelete:()=>{n.deleteEntity(r.id)}}:Ls}var Es={renderElement:e=>e.element instanceof Wo?H.jsx(zs,{...e}):e.element instanceof ra?H.jsx($s,{...e}):null,supports:{[pi.ColorVariant]:!0,[pi.ElementSize]:!0}};function zs(e){const{element:t,elementState:n}=e,{model:i}=cr(),r=n.get(pi.AnnotationContent);return H.jsx(Ts,{...e,content:r,setContent:e=>{i.history.execute(Lr.compound(Ht.text("note_annotation.change_text.command"),[Br(t,t.elementState.set(pi.AnnotationContent,e))]))}})}function $s(e){const{element:t,textProperty:n="http://www.w3.org/ns/oa#bodyValue"}=e,{model:i,editor:r}=sn(),o=Pt(),a=t instanceof ra?t.data:void 0,s=Ms(a,!0),l=v.useMemo((()=>{const e=a?.properties[n];return e&&e.length>0?{type:"plaintext",text:o.selectValues(e,i.language).filter((e=>"Literal"===e.termType)).map((e=>e.value)).join("\n")}:void 0}),[a]);return H.jsx(Ts,{...e,readOnly:!0!==s.canEdit,content:l,setContent:e=>{a&&r.changeEntity(a.id,{...a,properties:{...a.properties,[n]:[i.factory.literal(e.text)]}})}})}var Ns="reactodia-note-annotation";function Ts(e){const{element:t,elementState:n,onlySelected:i,readOnly:r,content:o,setContent:a}=e,{canvas:s,model:l}=cr(),[c,d]=v.useState(!1),u=n.get(pi.ElementSize),h=n.get(pi.ColorVariant),f=("plaintext"===o?.type?o:void 0)??{type:"plaintext",text:""};return H.jsxs(H.Fragment,{children:[H.jsx("div",{className:cn(Ns,`${Ns}--variant-${h??"default"}`,c?`${Ns}--editing`:void 0),style:{width:u?.width,height:u?.height},onDoubleClick:async e=>{e.preventDefault(),e.stopPropagation(),r||(s.getScale()<1&&await s.centerTo(hr.center(yr(t,s.renderingState)),{scale:1,animate:!0}),d(!0))},children:H.jsx(ws,{className:`${Ns}__editor`,style:f.style,text:f.text,setText:e=>{requestAnimationFrame((()=>a({...f,text:e})))},isEditing:c,setEditing:d})}),i&&H.jsx(po,{target:t,children:H.jsx(As,{style:f.style,setStyle:e=>{a({...f,style:e})},variant:h,setVariant:e=>{l.history.execute(Br(t,t.elementState.set(pi.ColorVariant,e)))}})})]})}function As(e){const{style:t,setStyle:n,variant:i="default",setVariant:r}=e,o=Pt(),{fontStyle:a,fontWeight:s,textDecorationLine:l,textAlign:c="center"}=t??{},d={type:"button",onPointerDown:e=>e.stopPropagation()};return H.jsxs("div",{className:`${Ns}__controls`,children:[H.jsxs("div",{className:"reactodia-btn-group reactodia-btn-group-xs",children:[H.jsx("button",{...d,className:cn(`${Ns}__style-bold reactodia-btn reactodia-btn-default`,"bold"===s?"active":void 0),title:o.text("note_annotation.style_bold.title"),onClick:()=>n({...t,fontWeight:"bold"===s?void 0:"bold"})}),H.jsx("button",{...d,className:cn(`${Ns}__style-italic reactodia-btn reactodia-btn-default`,"italic"===a?"active":void 0),title:o.text("note_annotation.style_italic.title"),onClick:()=>n({...t,fontStyle:"italic"===a?void 0:"italic"})}),H.jsx("button",{...d,className:cn(`${Ns}__style-underline reactodia-btn reactodia-btn-default`,"underline"===l?"active":void 0),title:o.text("note_annotation.style_underline.title"),onClick:()=>n({...t,textDecorationLine:"underline"===l?void 0:"underline"})}),H.jsx("button",{...d,className:cn(`${Ns}__style-strikethrough reactodia-btn reactodia-btn-default`,"line-through"===l?"active":void 0),title:o.text("note_annotation.style_strikethrough.title"),onClick:()=>n({...t,textDecorationLine:"line-through"===l?void 0:"line-through"})})]}),H.jsxs("div",{className:"reactodia-btn-group reactodia-btn-group-xs",children:[H.jsx("button",{...d,className:cn(`${Ns}__align-left reactodia-btn reactodia-btn-default`,"left"===c?"active":void 0),title:o.text("note_annotation.style_align_left.title"),onClick:()=>n({...t,textAlign:"left"})}),H.jsx("button",{...d,className:cn(`${Ns}__align-center reactodia-btn reactodia-btn-default`,"center"===c?"active":void 0),title:o.text("note_annotation.style_align_center.title"),onClick:()=>n({...t,textAlign:void 0})}),H.jsx("button",{...d,className:cn(`${Ns}__align-right reactodia-btn reactodia-btn-default`,"right"===c?"active":void 0),title:o.text("note_annotation.style_align_right.title"),onClick:()=>n({...t,textAlign:"right"})})]}),H.jsx("div",{className:"reactodia-btn-group reactodia-btn-group-xs",children:Ei.map((e=>v.createElement("button",{...d,key:e,className:cn(`${Ns}__variant-${e} reactodia-btn reactodia-btn-default`,i===e?"active":void 0),title:o.text("note_annotation.style_color_variant.title",{variant:e}),onClick:()=>r("default"===e?void 0:e)},H.jsx("div",{className:`${Ns}__variant ${Ns}--variant-${e}`}))))})]})}var Is={markerTarget:{d:"M 6 1 a 5 5 0 1 0 0.0001 0 Z",width:12,height:12,fill:"context-stroke",stroke:"context-stroke",strokeWidth:2,fill:"var(--reactodia-canvas-background-color)"},renderLink:e=>e.link instanceof Go?H.jsx(Ps,{...e}):null},Vs="reactodia-note-link";function Ps(e){const{link:t,getPathPosition:n,route:i,primaryLabelProps:r}=e,{canvas:o}=cr(),{renameLinkProvider:a}=o.renderingState.shared,s=a?.getLabel(t)??r?.children??(a?.canRename(t)?"":void 0);return H.jsx(vs,{...e,pathProps:{className:`${Vs}__path`},children:void 0===s?null:H.jsx(Co,{...r,primary:!0,textAnchor:i?.labelTextAnchor??r?.textAnchor,className:cn(`${Vs}__label`,r?.className),link:t,position:r?.position??n(.5),children:H.jsx("span",{children:s})})})}var Hs={renderElement:e=>{const{element:t}=e;return t instanceof ra?H.jsx(Ds,{...e}):t instanceof oa?H.jsx(js,{...e}):null},supports:{[pi.Expanded]:!0}},Rs="reactodia-standard-element";function Ds(e){const{showActions:t,element:n,isExpanded:i,elementState:r}=e,{model:o,editor:a,getElementTypeStyle:s}=sn(),l=Pt(),c=n instanceof ra?n.data:void 0;Dt(tn,c?c.types:[],o);const d=Ms(c,i),{data:u}=Tt({input:[o.locale,c?o.locale.selectEntityImageUrl(c):void 0],load:([e,t],{signal:n})=>void 0===t?void 0:e.resolveAssetUrl(t,{signal:n})});if(!c)return null;const h=o.locale.formatEntityLabel(c,o.language),f=Ws(c,o,l),p=s(c.types),g={"--reactodia-element-style-color":p.color},m=(i?void 0:r.get(pi.PinnedProperties))??{};return H.jsxs("div",{style:g,className:cn(Rs,`${Rs}--standalone`,Gs(c,a.authoringState)),onDoubleClick:e=>{e.preventDefault(),e.stopPropagation(),o.history.execute(Or(n,!n.isExpanded))},children:[H.jsx("div",{className:`${Rs}__main`,children:H.jsxs("div",{className:`${Rs}__body`,children:[H.jsxs("div",{className:`${Rs}__body-horizontal`,children:[H.jsx("div",void 0!==u?{className:`${Rs}__thumbnail`,"aria-hidden":"true",children:H.jsx("img",{src:u,className:`${Rs}__thumbnail-image`})}:p.icon?{className:`${Rs}__thumbnail`,"aria-hidden":"true",children:H.jsx("img",{src:p.icon,className:cn(`${Rs}__thumbnail-icon`,p.iconMonochrome?`${Rs}__thumbnail-icon--monochrome`:void 0)})}:{className:`${Rs}__thumbnail`,"aria-hidden":"true",children:f.length>0?f.charAt(0).toUpperCase():"✳"}),H.jsxs("div",{className:`${Rs}__body-content`,children:[H.jsx("div",{title:f,className:`${Rs}__type`,children:H.jsx("div",{className:`${Rs}__type-value`,children:function(e){return 0===e.types.length?l.text("standard_element.default_type"):e.types.map(((e,t)=>{const n=o.getElementType(e),i=l.formatLabel(n?.data?.label,e,o.language);return H.jsxs(v.Fragment,{children:[0===t?null:", ",H.jsx(ps,{type:"elementType",target:e,children:H.jsx("span",{children:i})})]},e)}))}(c)})}),H.jsx(ps,{type:"element",target:c.id,children:H.jsx("div",{className:`${Rs}__label`,title:h,children:h})})]})]}),qs(c,m)?H.jsx("div",{className:`${Rs}__pinned-props`,children:H.jsx(Zs,{data:c,shouldInclude:e=>Us(e,m)})}):null]})}),i?H.jsxs("div",{className:`${Rs}__dropdown`,children:[void 0===u?null:H.jsx("div",{className:`${Rs}__photo`,children:H.jsx("img",{src:u,className:`${Rs}__photo-image`})}),H.jsxs("div",{className:`${Rs}__dropdown-content`,children:[function(e){const t=void 0===d.editedIri?e.id:d.editedIri;return H.jsxs("div",{children:[H.jsxs("div",{className:`${Rs}__iri`,children:[H.jsx("div",{className:`${Rs}__iri-key`,children:l.text(d.editedIri?"standard_element.iri.label_modified":"standard_element.iri.label")}),H.jsx("div",{className:`${Rs}__iri-value`,children:Ft(t)?H.jsx("span",{children:l.text("standard_element.blank_node")}):H.jsx("a",{...o.locale.prepareAnchor(t),title:t,children:t})})]}),H.jsx("hr",{className:`${Rs}__hr`})]})}(c),H.jsx(Zs,{data:c}),t&&a.inAuthoringMode?H.jsxs(H.Fragment,{children:[H.jsx("hr",{className:`${Rs}__hr`,"data-reactodia-no-export":"true"}),H.jsx(Ks,{target:n,entityContext:d,translation:l})]}):null]})]}):null]})}var Bs=10,Os=[5,10,15,20,30];function js(e){const{element:t,elementState:n,groupPageSize:i=Bs,groupPageSizes:r=Os}=e,{canvas:o}=cr(),a=sn(),{getElementStyle:s}=a;if(!(t instanceof oa))return null;const l=t.items,{color:c}=s(t),d={"--reactodia-standard-group-color":c};let u=n.get(pi.GroupPageSize)??i;u=Number.isFinite(u)?u:i;const h=Math.max(Math.ceil(l.length/u),1);let f=n.get(pi.GroupPageIndex)??0;f=Number.isFinite(f)?f:0,f=Math.min(Math.max(f,0),h-1);const p=f*u,g=l.slice(p,Math.min(p+u,l.length)),m=1===h?0:p+u-l.length;return H.jsxs("div",{className:cn(Rs,`${Rs}--group`),style:d,role:"list",children:[g.map((n=>v.createElement(Fs,{...e,key:n.data.id,data:n.data,isExpanded:!1,target:t,canvas:o,workspace:a}))),Array.from({length:m},((e,t)=>H.jsx("div",{className:`${Rs}__item-filler`,"aria-hidden":!0,children:" "},t))),H.jsx(bs,{pageIndex:f,pageCount:h,onChangePage:e=>t.setElementState(t.elementState.set(pi.GroupPageIndex,e)),pageSize:u,pageSizes:r,onChangePageSize:e=>t.setElementState(t.elementState.set(pi.GroupPageSize,e))})]})}function Fs(e){const{data:t,target:n,canvas:i,workspace:r}=e,o=Pt(),{model:a,editor:s,getElementTypeStyle:l}=r;Dt(tn,t?t.types:[],a);const c=a.locale.formatEntityLabel(t,a.language),d=a.locale.formatIri(t.id),u=Ws(t,a,o),h=o.text("standard_element.group_item.title",{entity:c,entityIri:d,entityTypes:u}),f=Gs(t,s.authoringState),{color:p}=l(t.types),g={"--reactodia-element-style-color":p};return H.jsxs("div",{className:cn(`${Rs}__item`,f),style:g,role:"listitem",children:[H.jsx("div",{className:`${Rs}__item-stripe`,"aria-hidden":"true"}),H.jsxs("div",{className:`${Rs}__item-body`,children:[H.jsx(ps,{type:"element",target:t.id,children:H.jsx("div",{className:`${Rs}__label`,title:h,children:c})}),H.jsx("button",{type:"button",className:cn(`${Rs}__ungroup-one-button`,"reactodia-btn reactodia-btn-default"),"data-reactodia-no-export":"true",title:o.text("standard_element.ungroup.title"),onClick:()=>{Ba(r,{group:n,entities:new Set([t.id]),canvas:i})}})]})]})}function Us(e,t){return Boolean(Object.prototype.hasOwnProperty.call(t,e)&&t[e])}function qs(e,t){for(const n in e.properties)if(Object.prototype.hasOwnProperty.call(e.properties,n)&&Us(n,t))return!0;return!1}function Ws(e,t,n){return 0===e.types.length?n.text("standard_element.default_type"):t.locale.formatEntityTypeList(e,t.language)}function Gs(e,t){const n=t.elements.get(e.id);if(n)switch(n.type){case"entityAdd":return`${Rs}--new`;case"entityChange":return`${Rs}--changed`;case"entityDelete":return`${Rs}--deleted`;default:return}}function Zs(e){const{data:t,shouldInclude:n}=e,{model:i}=sn(),r=Pt(),o=[];for(const e in t.properties)Object.prototype.hasOwnProperty.call(t.properties,e)&&t.properties[e].length>0&&(!n||n(e))&&o.push(e);if(Dt(nn,o,i),0===o.length)return H.jsx("div",{children:r.text("standard_element.no_properties")});const a=o.map((e=>{const n=i.getPropertyType(e),o=r.selectValues(t.properties[e],i.language);return{iri:e,label:r.formatLabel(n?.data?.label,e,i.language),values:0===o.length?t.properties[e]:o}}));return a.sort(((e,t)=>e.label.localeCompare(t.label))),H.jsx("div",{role:"list",className:`${Rs}__properties`,children:a.map((({iri:e,label:t,values:n})=>H.jsxs("div",{role:"listitem",className:`${Rs}__properties-row`,children:[H.jsx(ps,{type:"propertyType",target:e,children:H.jsx("div",{className:`${Rs}__properties-key`,title:r.text("standard_element.property.title",{property:t,propertyIri:i.locale.formatIri(e)}),children:t})}),H.jsx("div",{className:`${Rs}__properties-values`,children:n.map(((e,t)=>H.jsx("div",{className:`${Rs}__properties-value`,title:e.value,lang:"Literal"===e.termType&&e.language?e.language:void 0,children:e.value},t)))})]},e)))})}function Ks(e){const{target:t,entityContext:{canEdit:n,canDelete:i,onEdit:r,onDelete:o},translation:a}=e;return H.jsxs("div",{className:`${Rs}__actions`,"data-reactodia-no-export":"true",children:[H.jsx("button",{type:"button",className:cn(`${Rs}__delete-button`,"reactodia-btn reactodia-btn-default"),title:a.text(i?"standard_element.delete.title":"standard_element.delete.title_disabled"),disabled:!i,onClick:o,children:void 0===i?H.jsx(Yt,{width:15,height:12}):a.text("standard_element.delete.label")}),H.jsx("button",{type:"button",className:cn(`${Rs}__edit-button`,"reactodia-btn reactodia-btn-default"),title:a.text(n?"standard_element.edit.title":"standard_element.edit.title_disabled"),disabled:!n,onClick:()=>r(t),children:void 0===n?H.jsx(Yt,{width:15,height:12}):a.text("standard_element.edit.label")})]})}var Xs={markerTarget:{d:"M0,0 L0,8 L9,4 z",width:9,height:8,fill:"context-stroke"},renderLink:e=>H.jsx(el,{...e})},Qs="reactodia-standard-link",Ys=`${Qs}__property`,Js=`${Qs}__label`;function el(e){const{link:t,className:n,path:i,pathProps:r,markerSource:o,markerTarget:a,getPathPosition:s,route:l,primaryLabelProps:c,prependLabels:d=null,children:u}=e,{model:h,view:{renameLinkProvider:f}}=sn(),p=Pt();Dt(rn,[t.typeId],h);const g=f?.getLabel(t);let v=null;if("visible"===h.getLinkVisibility(t.typeId)){const n=h.getLinkType(t.typeId),i=g??p.formatLabel(n?.data?.label,t.typeId,h.language);v=H.jsxs(H.Fragment,{children:[H.jsx(Co,{...c,primary:!0,textAnchor:l?.labelTextAnchor??c?.textAnchor,className:cn(Js,g?`${Js}--renamed`:void 0,c?.className),title:c?.title??p.text("standard_link.label.title",{relation:i,relationIri:h.locale.formatIri(t.typeId)}),link:t,position:s(.5),children:g?H.jsx("span",{children:i}):H.jsx(ps,{type:"linkType",target:t.typeId,children:H.jsx("span",{children:i})})}),d,t instanceof la?H.jsx(tl,{...e}):null,t instanceof da?H.jsxs(H.Fragment,{children:[H.jsx(Co,{className:`${Qs}__source-count`,link:t,position:s(.1),title:p.text("standard_link.group_source.title",{value:t.itemSources.size}),children:p.text("standard_link.group_source.value",{value:t.itemSources.size})}),H.jsx(Co,{className:`${Qs}__target-count`,link:t,position:s(.9),title:p.text("standard_link.group_target.title",{value:t.itemTargets.size}),children:p.text("standard_link.group_target.value",{value:t.itemTargets.size})})]}):null]})}const{linkState:m}=t,b=r?.stroke;return H.jsxs("g",{className:cn(Qs,t instanceof da?`${Qs}--group`:void 0,n),children:[H.jsx(ko,{path:i,pathProps:{fill:"none",...r,className:cn(`${Qs}__path`,r?.className),stroke:b,strokeDasharray:m.get(pi.LayoutOnly)?"5,5":r?.strokeDasharray},markerSource:o,markerTarget:a}),v,0===t.vertices.length?null:H.jsx(Mo,{linkId:t.id,vertices:t.vertices,fill:b}),u]})}function tl(e){const{link:t,getPathPosition:n,route:i,propertyLabelProps:r,propertyLabelStartLine:o=1}=e,{model:a}=sn(),s=Pt(),{data:l}=t,c=[];for(const e in l.properties)Object.prototype.hasOwnProperty.call(l.properties,e)&&l.properties[e].length>0&&c.push(e);Dt(nn,c,a);const d=[];for(const e of c){const t=a.getPropertyType(e),n=s.selectValues(l.properties[e],a.language),i="function"==typeof r?r(e):r;null!==i&&d.push({iri:e,label:s.formatLabel(t?.data?.label,e,a.language),values:0===n.length?l.properties[e]:n,style:i})}return d.sort(((e,t)=>e.label.localeCompare(t.label))),H.jsx(H.Fragment,{children:d.map(((e,l)=>H.jsxs(Co,{...r,link:t,position:n(.5),line:o+l,textAnchor:i?.labelTextAnchor??e.style?.textAnchor,className:cn(Ys,e.style?.className),title:e.style?.title??s.text("standard_link.property.title",{property:e.label,propertyIri:a.locale.formatIri(e.iri)}),children:[H.jsx(ps,{type:"propertyType",target:e.iri,children:H.jsxs("span",{children:[e.label,": "]})}),e.values.map((e=>e.value)).join(", ")]},e.iri)))})}function nl(e){const{canvas:t,model:n}=cr();return H.jsx(Bo,{layer:"overElements",children:H.jsx(ol,{...e,model:n,canvas:t})})}var il="reactodia-drag-link-mover",rl={allowed:!1,connect:()=>Promise.resolve(),moveSource:()=>Promise.resolve(),moveTarget:()=>Promise.resolve()},ol=class extends v.Component{listener=new wi;cancellation=new AbortController;canDropOnElementCancellation=new AbortController;temporaryLink;temporaryElement;oldLink;constructor(e){super(e),this.state={}}componentDidMount(){const{canvas:e,operation:t}=this.props;switch(this.cancellation=new AbortController,t.mode){case"connect":this.beginCreatingLink(t);break;case"moveSource":case"moveTarget":this.beginMovingLink(t);break;default:throw new Error(`Unknown edit mode: "${t.mode}"`)}this.forceUpdate(),this.queryCanConnectToAny(),this.listener.listen(e.events,"changeTransform",(()=>this.forceUpdate())),document.addEventListener("pointermove",this.onPointerMove),document.addEventListener("pointerup",this.onPointerUp),document.addEventListener("pointercancel",this.onPointerUp)}componentWillUnmount(){this.listener.stopListening(),this.cancellation.abort(),this.canDropOnElementCancellation.abort(),document.removeEventListener("pointermove",this.onPointerMove),document.removeEventListener("pointerup",this.onPointerUp),document.removeEventListener("pointercancel",this.onPointerUp),this.cleanup()}beginCreatingLink(e){const{createLink:t,model:n}=this.props,{source:i,point:r}=e,o=n.history.startBatch(),a=this.createTemporaryElement(r),s=t(i,a,void 0);o.discard(),this.temporaryElement=a,this.temporaryLink=s}beginMovingLink(e){const{createLink:t,model:n}=this.props,{link:i,point:r}=e,o=n.history.startBatch();this.oldLink=i,n.removeLink(i.id);const a=this.createTemporaryElement(r),s="moveSource"===e.mode?t(a,n.targetOf(i),i):t(n.sourceOf(i),a,i);o.discard(),this.temporaryElement=a,this.temporaryLink=s}createTemporaryElement(e){const{model:t}=this.props,n=new Wr({});return n.setPosition(e),t.addElement(n),n}onPointerMove=e=>{const{model:t,canvas:n}=this.props,{targetElement:i,waitingForMetadata:r}=this.state;if(e.preventDefault(),e.stopPropagation(),r)return;const o=n.metrics.pageToPaperCoords(e.pageX,e.pageY);this.temporaryElement.setPosition(o);const a=zr(t.elements,o,n.renderingState);a!==i&&this.queryCanDropOnElement(a),this.setState({targetElement:a})};queryCanConnectToAny(){const{canConnect:e,model:t}=this.props;this.setState({anyConnection:void 0});const n=this.temporaryLink;hi(e(t.getElement(n.sourceId),n,void 0,this.cancellation.signal),this.cancellation.signal).then((e=>{null!==e&&this.setState({anyConnection:e})}),(e=>{console.error("Error calling canConnect() without target",e),this.setState({anyConnection:rl})}))}queryCanDropOnElement(e){const{operation:t,canConnect:n,model:i}=this.props;if(this.canDropOnElementCancellation.abort(),this.canDropOnElementCancellation=new AbortController,!e)return void this.setState({targetConnection:rl});this.setState({targetConnection:void 0});const r=this.temporaryLink;let o,a;switch(t.mode){case"connect":case"moveTarget":o=r?i.getElement(r.sourceId):void 0,a=e;break;case"moveSource":o=e,a=r?i.getElement(r.targetId):void 0}if(!(o&&a&&r))return void this.setState({targetConnection:rl});const s=this.canDropOnElementCancellation.signal;hi(n(o,r,a,s),s).then((e=>{null!==e&&this.setState({targetConnection:e})}),(e=>{console.error("Error calling canConnect() with target",e),this.setState({targetConnection:rl})}))}onPointerUp=e=>{const{canvas:t}=this.props;if(this.state.waitingForMetadata)return;this.setState({waitingForMetadata:!0});const n=t.metrics.pageToPaperCoords(e.pageX,e.pageY);this.executeEditOperation(n)};async executeEditOperation(e){const{operation:t,canvas:n,model:i}=this.props;try{const{targetElement:r,anyConnection:o,targetConnection:a}=this.state,s=i.history.startBatch(),l=this.restoreOldLink();s.discard();const c=r?a:o;if(c?.allowed)switch(t.mode){case"connect":await c.connect(t.source,r,e,n,this.cancellation.signal);break;case"moveSource":await c.moveSource(l,r,n,this.cancellation.signal);break;case"moveTarget":await c.moveTarget(l,r,n,this.cancellation.signal)}}finally{this.cleanupAndFinish()}}cleanupAndFinish(){const{onFinish:e}=this.props;this.cleanup(),e?.()}cleanup(){const{cleanupLink:e,model:t}=this.props,n=t.history.startBatch();t.removeElement(this.temporaryElement.id),t.removeLink(this.temporaryLink.id),e?.(this.temporaryLink),this.restoreOldLink(),n.discard(),this.setState({waitingForMetadata:!1})}restoreOldLink(){const{model:e}=this.props,t=this.oldLink;return this.oldLink=void 0,t&&e.addLink(t),t}render(){const{model:e,canvas:t}=this.props,{waitingForMetadata:n}=this.state;if(!this.temporaryLink)return null;const i=t.renderingState;return H.jsxs(Xr,{paperTransform:t.metrics.transform,className:il,children:[H.jsx(zo,{model:e,renderingState:i}),this.renderHighlight(),this.renderCanDropIndicator(),n?null:H.jsx(mo,{model:e,renderingState:i,shouldRenderLink:e=>e===this.temporaryLink})]})}renderHighlight(){const{canvas:e}=this.props,{targetElement:t,targetConnection:n,waitingForMetadata:i}=this.state;if(!t)return null;const{x:r,y:o,width:a,height:s}=yr(t,e.renderingState);return void 0===n||i?H.jsxs("g",{transform:`translate(${r},${o})`,children:[H.jsx("rect",{className:`${il}__highlight-overlay`,width:a,height:s}),H.jsx(Qt,{size:30,position:{x:a/2,y:s/2}})]}):H.jsx("rect",{className:n?.allowed?`${il}__highlight-allow`:`${il}__highlight-deny`,x:r,y:o,width:a,height:s})}renderCanDropIndicator(){const{targetElement:e,anyConnection:t,waitingForMetadata:n}=this.state;if(e)return null;const{x:i,y:r}=this.temporaryElement.position;let o;return o=void 0===t?H.jsx(Qt,{size:1.2,position:{x:.5,y:-.5}}):t?.allowed?H.jsx("path",{className:`${il}__drop-allow`,d:"M0.5,0 L0.5,-1 M0,-0.5 L1,-0.5",strokeWidth:.2}):H.jsxs("g",{className:`${il}__drop-deny`,children:[H.jsx("circle",{cx:"0.5",cy:"-0.5",r:"0.5",fill:"none",strokeWidth:.2}),H.jsx("path",{d:"M0.5,0 L0.5,-1",strokeWidth:.2,transform:"rotate(-45 0.5 -0.5)"})]}),H.jsxs("g",{transform:`translate(${i} ${r})scale(40)`,children:[H.jsx("rect",{className:`${il}__drop-underlay`,x:-.5,y:-.5,width:1,height:1,rx:.25,ry:.25}),n?H.jsx(Qt,{size:.8}):H.jsx("g",{transform:"translate(0.5, -0.5)scale(0.25)",children:o})]})}};function al(e){const{operation:t,onFinish:n}=e,{model:i}=cr();return H.jsx(nl,{operation:t,createLink:(e,t,n)=>{const r=new Go({sourceId:e.id,targetId:t.id,vertices:n?.vertices,linkState:n?.linkState});return i.addLink(r),r},canConnect:async(e,t,n)=>new sl(e instanceof Wo&&t instanceof Go&&void 0!==n&&!i.getElementLinks(e).some((t=>t instanceof Go&&t.sourceId===e.id&&t.targetId===n.id)),i),onFinish:n})}var sl=class{allowed;model;constructor(e,t){this.allowed=e,this.model=t}async connect(e,t){t&&this.model.addLink(new Go({sourceId:e.id,targetId:t.id}))}async moveSource(e,t){const n=this.model.history.startBatch();this.model.removeLink(e.id);const i=new Go({id:e.id,sourceId:t.id,targetId:e.targetId,vertices:e.vertices,linkState:e.linkState});this.model.addLink(i),n.store(),this.model.setSelection([i])}async moveTarget(e,t){const n=this.model.history.startBatch();this.model.removeLink(e.id);const i=new Go({id:e.id,sourceId:e.sourceId,targetId:t.id,vertices:e.vertices,linkState:e.linkState});this.model.addLink(i),n.store(),this.model.setSelection([i])}};function ll(){const{getCommandBus:e}=sn(),{canvas:t,model:n}=cr(),[i,r]=v.useState(null);return v.useEffect((()=>{const i=e(_s),o=new wi;return o.listen(i,"findCapabilities",(e=>{e.capabilities.push({})})),o.listen(i,"startDragOperation",(({operation:e})=>{r(H.jsx(al,{operation:e,onFinish:()=>r(null)}))})),o.listen(i,"createAnnotation",(({targets:e,content:i,position:r})=>{const o=n.history.startBatch(),a=new Wo({elementState:i?Ci.empty.set(pi.AnnotationContent,i):void 0});if(n.addElement(a),r)a.setPosition(r);else{const i=function(e,t){let n,i=0;for(const r of e){const e=yr(r,t),o=dr.length(hr.center(e));o>=i&&(i=o,n=r)}return n}(e,t.renderingState);i&&(a.setPosition(i.position),t.renderingState.syncUpdate(),o.history.execute(Ur({elements:[a],target:i,graph:n,sizeProvider:t.renderingState})))}for(const t of e)n.addLink(new Go({sourceId:a.id,targetId:t.id}));o.store(),t.renderingState.syncUpdate()})),()=>o.stopListening()}),[]),H.jsx(H.Fragment,{children:i})}var cl="reactodia-form";function dl(e){const{link:t,onFinish:n}=e,{view:{renameLinkProvider:i}}=sn(),r=Pt(),o=function(e){const{model:t}=sn(),n=Pt(),i=e instanceof la||e instanceof da?t.getLinkType(e.typeId):void 0,r=$t(Et(i?.events,"changeData"),(()=>i?.data?.label));return v.useMemo((()=>e instanceof la||e instanceof da?n.formatLabel(r,e.typeId,t.language):""),[e,r,t.language])}(t),[a,s]=v.useState(i?.getLabel(t)??o);return H.jsxs("div",{className:cl,children:[H.jsx("div",{className:`${cl}__body`,children:H.jsxs("div",{className:`${cl}__row`,children:[H.jsx("label",{children:r.text("visual_authoring.rename_link.label.label")}),H.jsx("input",{className:"reactodia-form-control",placeholder:o,autoFocus:!0,value:a,onChange:e=>s(e.target.value)})]})}),H.jsxs("div",{className:`${cl}__controls`,children:[H.jsx("button",{className:`reactodia-btn reactodia-btn-primary ${cl}__apply-button`,title:r.textOptional("visual_authoring.rename_link.dialog.apply.title")??r.text("visual_authoring.dialog.apply.title"),onClick:()=>{i&&i.setLabel(t,a),n()},children:r.textOptional("visual_authoring.rename_link.dialog.apply.label")??r.text("visual_authoring.dialog.apply.label")}),H.jsx("button",{className:"reactodia-btn reactodia-btn-secondary",title:r.text("visual_authoring.dialog.cancel.title"),onClick:n,children:r.text("visual_authoring.dialog.cancel.label")})]})]})}function ul(){const{overlay:e,getCommandBus:t}=sn(),n=Pt();return v.useLayoutEffect((()=>{const i=({target:t})=>{e.showDialog({target:t,dialogType:"reactodia:renameLink",style:{defaultSize:{width:300,height:165},resizableBy:"x",caption:n.text("visual_authoring.rename_link.dialog.caption")},content:H.jsx(dl,{link:t,onFinish:()=>e.hideDialog()})})},r=new wi,o=t(_s);r.listen(o,"renameLink",i);const a=t(Cs);return r.listen(a,"renameLink",i),()=>r.stopListening()}),[]),null}function hl(e,t,n){let i=e;for(;i&&i!==t;){if(n(i))return i;i=i.parentElement}}function fl(e){const{children:t}=e,[n]=v.useState((()=>new ml)),i=t({ref:n._setRoot,controller:n}),[r,o]=v.useState(0);return v.useLayoutEffect((()=>n.ensureFocusable()),[r,i]),v.useEffect((()=>{let e=!1;const t=()=>{e||(e=!0,setTimeout((()=>{o((e=>(e+1)%Number.MAX_SAFE_INTEGER)),e=!1}),0))};return n.events.on("lostFocusable",t),()=>n.events.off("lostFocusable",t)}),[]),H.jsx(pl.Provider,{value:n,children:i})}var pl=v.createContext(null);function gl(e){const{debugLabel:t,active:n=!0}=e??{},i=v.useContext(pl);if(!i)throw new Error("Reactodia: missing <FocusGroup> context");const[r]=v.useState(new vl(t)),o=v.useCallback((e=>{i._bindFocusable(r,e)}),[i,r]),a=Ct(i.events,"changeFocus",(()=>i._getFocus()===r));return{ref:o,tabIndex:n?a?0:-1:void 0}}var vl=class{debugLabel;constructor(e){this.debugLabel=e}},ml=class{_source=new bi;events=this._source;_root=null;_tokens=new WeakMap;_focus;getRoot(){return this._root}_setRoot=e=>{this._root=e,this._focus=void 0};_getFocus(){return this._focus}_bindFocusable(e,t){t?this._tokens.set(t,e):e===this._focus&&this._source.trigger("lostFocusable",{source:this})}_isItem=e=>this._tokens.has(e);_isFocusableItem=e=>this._isItem(e)&&Boolean(e.hasAttribute("tabindex")||e.querySelector("[tabindex]"));focusAt(e){if(!this._root)return;const t=hl(e,this._root,this._isItem);t&&this._changeFocused(t)}focusPrevious(e){const{from:t}=e;if(!this._root)return;const n=hl(t,this._root,this._isItem);if(n){const e=function(e,t,n){let i=e,r=!1;do{for(;;)if(r){if(!i.lastElementChild){r=!1;break}i=i.lastElementChild}else if(i.previousElementSibling)i=i.previousElementSibling,r=!0;else{if(i.parentElement!==t){if(i.parentElement){i=i.parentElement;break}return}if(!t.lastElementChild)return;i=t.lastElementChild,r=!0}if(n(i))return i}while(i!==e)}(n,this._root,this._isFocusableItem);this._tryFocusOnItemElement(e)}}focusNext(e){const{from:t}=e;if(!this._root)return;const n=hl(t,this._root,this._isItem);if(n){const e=function(e,t,n){let i=e,r=!0;do{for(;;){if(r&&i.firstElementChild){i=i.firstElementChild;break}if(i.nextElementSibling){i=i.nextElementSibling,r=!0;break}if(i.parentElement===t){if(t.firstElementChild){i=t.firstElementChild,r=!0;break}return}if(!i.parentElement)return;i=i.parentElement,r=!1}if(n(i))return i}while(i!==e)}(n,this._root,this._isFocusableItem);this._tryFocusOnItemElement(e)}}focusParent(e){const{from:t}=e;if(!this._root)return;const n=hl(t,this._root,this._isItem);if(!n)return;const i=n.parentElement?hl(n.parentElement,this._root,this._isItem):void 0;this._tryFocusOnItemElement(i)}ensureFocusable(e){const{reset:t=!1}=e??{};if(!this._root)return;const n=t?void 0:this._focus;if(n)for(const e of this._root.querySelectorAll('[tabindex="0"]')){const t=hl(e,this._root,this._isItem);if((t?this._tokens.get(t):void 0)===n)return}let i=!1;for(const e of this._root.querySelectorAll("[tabindex]")){const t=hl(e,this._root,this._isItem);if(t&&this._tokens.has(t)){i=!0,this._changeFocused(t);break}}t&&!i&&(this._focus=void 0)}_tryFocusOnItemElement(e){if(e){const t=e.hasAttribute("tabindex")?e:e.querySelector("[tabindex]");t instanceof HTMLElement&&t.focus(),this._changeFocused(e)}}_changeFocused(e){const t=this._tokens.get(e);t&&this._focus!==t&&(this._focus=t,this._source.trigger("changeFocus",{source:this}))}defaultClick=e=>{e.target instanceof HTMLElement&&this.focusAt(e.target)};defaultKeyDown=e=>{"ArrowUp"===e.key?(e.preventDefault(),e.target instanceof HTMLElement&&this.focusPrevious({from:e.target})):"ArrowDown"===e.key&&(e.preventDefault(),e.target instanceof HTMLElement&&this.focusNext({from:e.target}))}},bl="reactodia-dropdown";function wl(e){const{className:t,direction:n="down",expanded:i,toggle:r,onClickOutside:o,children:a,...s}=e,l=v.useRef(null);return v.useLayoutEffect((()=>{if(o&&i){const e=e=>{e.target instanceof Node&&!l.current?.contains(e.target)&&o()};return document.body.addEventListener("pointerdown",e),()=>document.body.removeEventListener("pointerdown",e)}}),[o,i]),H.jsxs("div",{...s,ref:l,className:cn(t,bl,"down"===n?`${bl}--down`:`${bl}--up`,i?`${bl}--expanded`:`${bl}--collapsed`),children:["down"===n?r:null,H.jsx("div",{className:`${bl}__content`,"aria-hidden":!i,children:a}),"up"===n?r:null]})}var yl="reactodia-dropdown-menu";function _l(e){const{className:t,direction:n,title:i,children:r,...o}=e,[a,s]=v.useState(!1),l=v.useMemo((()=>({expanded:a,setExpanded:s})),[a,s]),c=v.useCallback((()=>s(!1)),[s]);return H.jsx(kl.Provider,{value:l,children:H.jsx(fl,{children:({ref:e,controller:l})=>H.jsx(wl,{...o,className:cn(t,yl),"aria-haspopup":"menu",direction:n,expanded:a,toggle:H.jsx(Sl,{title:i}),onClickOutside:c,children:H.jsx("div",{ref:e,role:"menu",className:`${yl}__items`,onClick:l.defaultClick,onKeyDown:e=>((e,t)=>{"Escape"===e.key?s(!1):t.defaultKeyDown(e)})(e,l),children:r})})})})}var kl=v.createContext(null);function xl(){const e=v.useContext(kl);if(!e)throw new Error("Missing Reactodia dropdown menu context");return e}function Sl(e){const{title:t}=e,{expanded:n,setExpanded:i}=xl(),r=function(){const e=v.useContext(pl);if(!e)throw new Error("Reactodia: missing <FocusGroup> context");return e}();return v.useLayoutEffect((()=>{n||r.ensureFocusable({reset:!0})}),[n]),H.jsx("button",{type:"button",className:cn(`${yl}__toggle`,"reactodia-btn","reactodia-btn-default",n?"active":void 0),title:t,onClick:()=>i((e=>!e))})}var Cl="reactodia-dropdown-menu-item";function Ll(e){const{className:t,title:n,disabled:i,onSelect:r,children:o,...a}=e,{expanded:s,setExpanded:l}=xl(),{ref:c,tabIndex:d}=gl({active:s&&!i}),u=v.useCallback((()=>{l((()=>!1)),r?.()}),[r,l]);return H.jsx("button",{...a,ref:c,type:"button",role:"menuitem",tabIndex:d,className:cn(t,Cl,i?`${Cl}--disabled`:void 0,"reactodia-btn reactodia-btn-default"),disabled:i,title:n,onClick:i?void 0:u,children:o})}function Ml(){const e=v.useContext(kl);return Boolean(e)}var El="reactodia-list-element-view";function zl(e){const{element:t,className:n,highlightText:i,disabled:r,selected:o,onClick:a,onDragStart:s,ref:l,...c}=e,{model:d,getElementTypeStyle:u}=sn(),h=Pt();Dt(tn,t.types,d);const{color:f}=u(t.types),{h:p,c:g,l:v}=oi(f),m=o&&!r?oi(p,g,1.2*v).toString():void 0,b=cn(El,o?`${El}--selected`:void 0,r?`${El}--disabled`:void 0,n),w={"--reactodia-element-style-color":f},y=d.locale.formatEntityLabel(t,d.language);return H.jsx("div",{...c,ref:l,className:b,role:c.role??"option",draggable:!r&&Boolean(s),title:c.title??Tl(t,d,h),style:{...c.style,...w},onClick:e=>{!r&&a&&(e.persist(),a(e,t))},onDragStart:s,children:H.jsx("div",{className:`${El}__label`,style:{background:m},children:Nl(y,i)})})}var $l={className:"reactodia-text-highlight"};function Nl(e,t,n=$l){if(!t)return H.jsx("span",{children:e});const i=e.toLowerCase().indexOf(t.toLowerCase());if(i<0)return H.jsx("span",{children:e});const r=i+t.length,o=e.substring(0,i),a=e.substring(i,r),s=e.substring(r);return H.jsxs("span",{children:[o,H.jsx("span",{...n,children:a}),s]})}function Tl(e,t,n){const i=t.locale.formatIri(e.id),r=t.locale.formatEntityLabel(e,t.language),o=t.locale.formatEntityTypeList(e,t.language),a=n.text("inline_entity.title",{entity:r,entityIri:i,entityTypes:o}),s=n.text("inline_entity.title_extra",{entity:r,entityIri:i,entityTypes:o});return`${a}${s?`\n${s}`:""}`}var Al="reactodia-progress-bar";function Il(e){const{state:t,title:n,percent:i=100,height:r=20}=e;return H.jsx("div",{className:`${Al} ${Al}--${t}`,style:{height:"loading"===t||"error"===t?r:0},children:H.jsx("div",{className:`${Al}__bar`,style:{width:`${i}%`},title:n,role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":i})})}var Vl="reactodia-search-input";function Pl(e){const{className:t,inputProps:n={},store:i,children:r}=e,o=Pt(),a=Ct(i.events,"changeValue",(()=>i.value)),s=Ct(i.events,"changeMode",(()=>i.mode));return H.jsxs("div",{role:"search",className:cn(Vl,"explicit"===s?`${Vl}--has-submit`:void 0,t),children:[H.jsx("input",{...n,role:"searchbox",type:n.type??"text",className:cn(`${Vl}__input`,"reactodia-form-control",n.className),placeholder:n.placeholder??o.text("search_defaults.input.placeholder"),value:a,onChange:e=>i.change({value:e.currentTarget.value,action:"input"}),onKeyUp:e=>{"Enter"===e.key&&i.change({value:i.value,action:"submit"})}}),i.value?H.jsx("div",{className:`${Vl}__clear-container`,children:H.jsx("button",{type:"button",className:`${Vl}__clear`,title:o.text("search_defaults.input_clear.title"),onClick:()=>i.change({value:"",action:"clear"}),children:H.jsx("span",{"aria-hidden":"true"})})}):null,"explicit"===s?H.jsx("button",{type:"button",title:o.text("search_defaults.input_submit.title"),className:cn(`${Vl}__submit`,"reactodia-btn","reactodia-btn-default"),onClick:()=>i.change({value:i.value,action:"submit"})}):null,r]})}function Hl(e){const{initialValue:t,submitTimeout:n="immediate",allowSubmit:i}=e,[r]=v.useState((()=>new Rl(t)));return v.useEffect((()=>{r.setDebounceTimeout(n),r.setAllowSubmit(i)})),r}var Rl=class{events=new bi;_value;_mode="debounce";debouncer=new yi(0);allowSubmit;constructor(e){this._value=e}get mode(){return this._mode}get value(){return this._value}setDebounceTimeout(e){switch(e){case"immediate":case"explicit":this.debouncer.setTimeout(0),this._mode=e;break;default:this.debouncer.setTimeout(e),this._mode="debounce"}}setAllowSubmit(e){this.allowSubmit=e}change(e){const{value:t,action:n}=e;if(this.debouncer.dispose(),t!==this._value||"input"!==n){const e=this._value;this._value=t,this.events.trigger("changeValue",{source:this,previous:e,action:n})}switch(n){case"input":"explicit"!==this._mode&&this.trySubmit(t,{debounce:"debounce"===this._mode});break;case"submit":this.trySubmit(t,{debounce:!1});break;case"clear":this.events.trigger("clearSearch",{source:this,value:t})}}trySubmit(e,t){!this.allowSubmit||this.allowSubmit(e)?t.debounce?this.debouncer.call((()=>this.events.trigger("executeSearch",{source:this,value:e}))):this.events.trigger("executeSearch",{source:this,value:e}):this.events.trigger("clearSearch",{source:this,value:e})}},Dl="reactodia-search-results";function Bl(e){const{items:t,selection:n,onSelectionChanged:i,isItemDisabled:r,highlightText:o,useDragAndDrop:a=!0,multiSelection:s=!0,footer:l}=e,c=function(e){const{model:t}=sn(),n=zt(Et(t.events,"changeCells")),i=$t(e?Mt:n,(()=>t.cellsVersion));return v.useMemo((()=>{if(e)return e;const n=Na(t);return e=>n.has(e.id)}),[e,i])}(r),d=v.useMemo((()=>t.map((e=>({data:e,active:!c(e)})))),[t,c]),u=At(t),h=v.useRef(),f=v.useMemo((()=>({highlightText:o,useDragAndDrop:a,selection:n,onSetSelected:(e,t,r)=>{if(t){if(s&&r.shiftKey&&h.current){const t=h.current.id,r=u.current.findIndex((e=>e.id===t)),o=u.current.findIndex((t=>t.id===e.data.id));if(r>=0&&o>=0){const e=new Set(n),t=Math.max(r,o);for(let n=Math.min(r,o);n<=t;n++)e.add(u.current[n].id);i(e)}}else if(!n.has(e.data.id)){const t=new Set(s?n:void 0);t.add(e.data.id),i(t)}h.current=e.data}else if(n.has(e.data.id)){const t=new Set(n);t.delete(e.data.id),i(t)}}})),[o,a,n,i,s]);return v.useEffect((()=>{const e=new Set(n);for(const t of d)t.active&&e.delete(t.data.id);e.size>0&&i(new Set(Array.from(n).filter((t=>!e.has(t)))))}),[c]),H.jsx(Ol.Provider,{value:f,children:H.jsxs("div",{className:Dl,children:[H.jsx(fl,{children:({ref:e,controller:t})=>H.jsx("ul",{ref:e,className:`${Dl}__root`,role:"list","aria-multiselectable":!0,onClick:t.defaultClick,onKeyDown:t.defaultKeyDown,children:d.map((e=>H.jsx(jl,{item:e,selected:n.has(e.data.id)},function(e){return e.data.id}(e))))})}),l]})})}var Ol=v.createContext(null);function jl(e){const{item:t,selected:n}=e,{highlightText:i,useDragAndDrop:r,selection:o,onSetSelected:a}=function(){const e=v.useContext(Ol);if(!e)throw new Error("Reactodia: missing search results context");return e}(),{ref:s,tabIndex:l}=gl({debugLabel:t.data.id,active:t.active});return H.jsx("li",{ref:s,className:`${Dl}__item`,role:"listitem",children:H.jsx(zl,{tabIndex:l,element:t.data,highlightText:i,disabled:!t.active,selected:Boolean(n),onClick:t.active?e=>a(t,!n,e):void 0,onKeyDown:e=>{t.active&&" "===e.key&&(e.preventDefault(),a(t,!n,e))},onDragStart:r?e=>{const n=[];return o.forEach((e=>n.push(e))),o.has(t.data.id)||n.push(t.data.id),function(e,t){try{e.dataTransfer.setData("application/x-reactodia-elements",JSON.stringify(t))}catch(n){e.dataTransfer.setData("text",JSON.stringify(t))}return!1}(e,n)}:void 0})})}function Fl(e){const{className:t,hasQuery:n,minSearchTermLength:i=1,message:r}=e,o=Pt(),a=r??(n?o.text("search_defaults.no_results"):o.text(i<=1?"search_defaults.empty_input_term":"search_defaults.input_term_too_short",{termLength:i}));return H.jsx("div",{className:cn("reactodia-no-search-results",t),children:a})}function Ul(e){const{model:t,items:n,renderItem:i,expanded:r,defaultExpanded:o,onSetExpanded:a,selected:s,defaultSelected:l,rootProps:c,forestProps:d,itemProps:u}=e,h=v.useMemo((()=>({model:t,renderItem:i,forestProps:d,itemProps:u})),[t,i,d,u]);return H.jsx(fl,{children:({ref:e,controller:t})=>H.jsx(ql,{treeContext:h,items:n,expanded:r,defaultExpanded:o??!1,selected:s,defaultSelected:l,rootProps:{...c,ref:e,onClick:t.defaultClick,onKeyDown:e=>((e,t)=>{if("ArrowUp"===e.key||"ArrowDown"===e.key)t.defaultKeyDown(e);else if("ArrowLeft"===e.key||"ArrowRight"===e.key){if(e.target instanceof HTMLElement&&a){e.preventDefault();const i=hl(e.target,e.currentTarget,(e=>e.hasAttribute("data-tree-index")));if(!i)return;const r=Number(i.getAttribute("data-tree-index"));if(Number.isFinite(r))if("ArrowLeft"!==e.key||i.hasAttribute("aria-expanded")&&"false"!==i.getAttribute("aria-expanded")){const t=function(e,t){const n=[];let i=e;for(;i&&i!==t;){if(i.hasAttribute("data-tree-index")){const e=Number(i.getAttribute("data-tree-index"));if(!Number.isFinite(e))return;n.push(e)}i=i.parentElement}return n.reverse(),n}(i,e.currentTarget),r=t?function(e,t,n){let i,r,o,a=t;for(const t of n){if(!a||t<0||t>=a.length)return;i=a[t],o?(o.child={child:void 0,key:e.getKey(i)},o=o.child):(r={child:void 0,key:e.getKey(i)},o=r),a=e.getChildren(i)}return i&&r?[i,r]:void 0}(h.model,n,t):void 0;if(r){const[t,n]=r;a(t,n,"ArrowRight"===e.key)}}else t.focusParent({from:i})}}else c?.onKeyDown?.(e)})(e,t)}})})}function ql(e){const{treeContext:t,items:n,parentPath:i,expanded:r,defaultExpanded:o,selected:a,defaultSelected:s,rootProps:l}=e,{model:c,forestProps:d}=t;return H.jsx("ul",{...l??d,children:n.map(((e,n)=>{const l={parent:i,key:c.getKey(e)};return H.jsx(Wl,{treeContext:t,item:e,index:n,path:l,expanded:r?.get(l.key),defaultExpanded:o,selected:a?.get(l.key),defaultSelected:s},l.key)}))})}function Wl(e){const{treeContext:t,item:n,index:i,path:r,expanded:o,defaultExpanded:a,selected:s,defaultSelected:l}=e,{model:c,renderItem:d,itemProps:u}=t,{ref:h,tabIndex:f}=gl({active:c.isActive(n)}),p=o?.value??a,g=s?.value??l,v=c.getChildren(n);return H.jsxs("li",{...u,ref:h,"data-tree-index":i,"aria-expanded":v&&0!==v.length?p:void 0,"aria-selected":void 0!==g,children:[d({item:n,path:r,focusProps:{tabIndex:f},expanded:p,selected:g}),p&&v&&v.length>0?H.jsx(ql,{treeContext:t,items:v,parentPath:r,expanded:o?.level,defaultExpanded:a,selected:s?.level,defaultSelected:c.getDefaultSelected(n,g)}):null]})}var Gl=class e{states;constructor(e=new Map){this.states=e}[Symbol.iterator](){return this.states[Symbol.iterator]()}get(e){return this.states.get(e)}setAt(t,n){const i=this.states.get(t.key),r=e.setAtItem(i,t.child,n);if(r===i)return this;const o=new Map(this.states);return r?o.set(t.key,r):o.delete(t.key),new e(o)}static setAtItem(t,n,i){if(n){if(t&&t.level){const e=t.level.setAt(n,i);return e===t.level?t:{...t,level:e}}{const r=e.setAtItem(void 0,n.child,i);return r&&r!==t?{value:t?.value,level:new e(new Map([[n.key,r]]))}:r}}const r=i(t?.value);return r===t?.value?t:void 0===r&&void 0===t?.level?void 0:{...t,value:r}}};function Zl(e){let t=e.parent,n={key:e.key,child:void 0};for(;t;)n={key:t.key,child:n},t=t.parent;return n}var Kl=v.createContext(null),Xl="reactodia-class-tree-item";function Ql(e){const{nodes:t,selection:n,onSelect:i,searchText:r,creatableClasses:o,onClickCreate:a,onDragCreate:s,draggableItems:l}=e,c=v.useCallback((({item:e,path:t,focusProps:n,expanded:i,selected:r})=>H.jsx(ec,{node:e,path:t,focusProps:n,expanded:i,selected:r})),[]),d=v.useMemo((()=>({className:`${Xl}__root`,role:"tree"})),[]),u=v.useMemo((()=>({className:`${Xl}__children`,role:"none"})),[]),h=v.useMemo((()=>({className:Xl,role:"treeitem"})),[]),f=Boolean(r),[p,g]=v.useState(),m=v.useCallback((e=>{g((t=>(t??new Gl).setAt(Zl(e),(e=>!(e??f)))))}),[f]);v.useEffect((()=>g(void 0)),[r]);const b=v.useMemo((()=>({searchText:r,creatableClasses:o,onClickCreate:a,onDragCreate:s,draggableItems:l,onExpand:m,onSelect:(e,t)=>i({node:e,selection:(new Gl).setAt(Zl(t),(()=>e))})})),[r,o,a,s,l,m,i]);return H.jsx(Kl.Provider,{value:b,children:H.jsx(Ul,{model:Jl,items:t,renderItem:c,expanded:p,defaultExpanded:f,onSetExpanded:(e,t,n)=>g((e=>(e??new Gl).setAt(t,(()=>n)))),selected:n?.selection,rootProps:d,forestProps:u,itemProps:h})})}var Yl=(e,t)=>({...e,derived:t}),Jl={getKey:e=>e.iri,getChildren:e=>e.derived,getDefaultSelected:()=>{},isActive:()=>!0};function ec(e){const{node:t,path:n,focusProps:i,expanded:r,selected:o}=e,{searchText:a,creatableClasses:s,onClickCreate:l,onDragCreate:c,draggableItems:d,onExpand:u,onSelect:h}=function(){const e=v.useContext(Kl);if(!e)throw new Error("Reactodia: missing class tree context");return e}(),{getElementTypeStyle:f}=sn(),p=Pt(),g=0===t.derived.length?`${Xl}__toggle`:r?`${Xl}__toggle-expanded`:`${Xl}__toggle-collapsed`,m=f([t.iri]),b={"--reactodia-element-style-color":m.color},w=cn(`${Xl}__body`,o?`${Xl}__body--selected`:void 0),y=Nl(t.label,a,{className:`${Xl}__highlighted-term`});return H.jsxs("div",{className:`${Xl}__row`,style:b,children:[H.jsx("div",{className:g,role:"none",onClick:()=>u(n)}),H.jsxs("a",{...i,className:w,href:t.iri,onClick:e=>{e.preventDefault(),h(t,n)},onKeyDown:e=>{" "===e.key&&(e.preventDefault(),h(t,n))},draggable:d,children:[H.jsx("div",{className:`${Xl}__icon-container`,children:m.icon?H.jsx("img",{role:"presentation",className:cn(`${Xl}__icon`,m.iconMonochrome?`${Xl}__icon--monochrome`:void 0),src:m.icon}):H.jsx("div",{className:0===t.derived.length?`${Xl}__default-icon-leaf`:`${Xl}__default-icon-parent`})}),H.jsx("span",{className:`${Xl}__label`,children:y}),t.data?.count?H.jsx("span",{className:`${Xl}__count reactodia-badge`,children:t.data.count}):null]}),s.get(t.iri)?H.jsx("button",{...i,title:p.text("search_element_types.drag_create.title"),className:cn(`${Xl}__create-button`,"reactodia-btn reactodia-btn-default"),draggable:!0,onClick:()=>l(t),onDragStart:e=>{e.dataTransfer.setData("text",""),c(t)}}):null]})}function tc(e){const{searchStore:t,searchTimeout:n=200,minSearchTermLength:i=2}=e,r=Hl({initialValue:"",submitTimeout:n,allowSubmit:e=>oc(e).length>=i}),o=t??r,a=Ct(o.events,"changeValue",(()=>oc(o.value))),s=sn(),l=Pt();return H.jsx(rc,{...e,isControlled:Boolean(t),searchStore:o,normalizedTerm:a,minSearchTermLength:i,workspace:s,translation:l})}var nc="reactodia-class-tree",ic=new Map,rc=class extends v.Component{listener=new wi;searchListener=new wi;loadClassesOperation=new AbortController;refreshOperation=new AbortController;createElementCancellation=new AbortController;constructor(e){super(e),this.state={fetchedGraph:void 0,refreshingState:"none",roots:[],filteredRoots:[],appliedSearchText:"",constructibleClasses:new Map,showOnlyConstructible:!1}}render(){const{className:e,isControlled:t,searchStore:n,normalizedTerm:i,minSearchTermLength:r,draggableItems:o=!0,workspace:{editor:a},translation:s}=this.props,{fetchedGraph:l,refreshingState:c,appliedSearchText:d,roots:u,filteredRoots:h,selection:f,constructibleClasses:p,showOnlyConstructible:g}=this.state,v=d?i:void 0;return H.jsxs("div",{className:cn(nc,t?`${nc}--controlled`:void 0,e),children:[H.jsx("div",{className:`${nc}__filter`,children:H.jsxs("div",{className:`${nc}__filter-group`,children:[t?null:H.jsx(Pl,{store:n,inputProps:{name:"reactodia-class-tree-filter",placeholder:s.textOptional("search_element_types.input.placeholder")}}),a.inAuthoringMode?H.jsxs("label",{className:`${nc}__only-creatable`,children:[H.jsx("input",{type:"checkbox",name:"reactodia-class-tree-only-constructible",checked:g,onChange:this.onShowOnlyCreatableChange})," ",s.text("search_element_types.show_only_creatable")]}):null]})}),H.jsx(Il,{state:c,title:s.text("search_element_types.refresh_progress.title")}),l?.classTree?H.jsxs("div",{className:`${nc}__tree reactodia-scrollable`,tabIndex:-1,children:[H.jsx(Ql,{nodes:h,searchText:v,selection:f,onSelect:this.onSelectNode,creatableClasses:a.inAuthoringMode?p:ic,onClickCreate:this.onCreateInstance,onDragCreate:this.onDragCreate,draggableItems:o}),0===h.length?H.jsx(Fl,{className:`${nc}__no-results`,hasQuery:h!==u,minSearchTermLength:r,message:0===u.length?s.text("search_element_types.no_results"):void 0}):null]}):H.jsx("div",{className:`${nc}__spinner`,children:H.jsx(Yt,{width:30,height:30,errorOccurred:Boolean(l?.fetchError)})})]})}componentDidMount(){const{workspace:{model:e,editor:t}}=this.props;this.listener.listen(e.events,"changeLanguage",(()=>this.refreshClassTree())),this.listener.listen(e.events,"loadingStart",(()=>{this.initClassTree()})),this.listener.listen(t.events,"changeMode",(()=>this.refreshClassTree())),this.listenSearch(),this.initClassTree()}componentDidUpdate(e){this.props.searchStore.events!==e.searchStore.events&&this.listenSearch()}listenSearch(){const{searchStore:e}=this.props;this.searchListener.stopListening(),this.searchListener.listen(e.events,"executeSearch",(({value:e})=>{this.performSearch(e)})),this.searchListener.listen(e.events,"clearSearch",(()=>{this.performSearch("")}))}componentWillUnmount(){this.listener.stopListening(),this.searchListener.stopListening(),this.loadClassesOperation.abort(),this.refreshOperation.abort(),this.createElementCancellation.abort()}initClassTree(){const{workspace:{model:e}}=this.props,{fetchedGraph:t}=this.state,{dataProvider:n}=e;t&&t.dataProvider===n?this.refreshClassTree():n?this.setState({fetchedGraph:void 0},(()=>{this.fetchTypeGraph(n)})):this.refreshClassTree()}async fetchTypeGraph(e){const t=new AbortController;this.loadClassesOperation.abort(),this.loadClassesOperation=t;let n=null;try{n=await hi(e.knownElementTypes({signal:t.signal}),t.signal)}catch(t){return console.error(t),void this.setState({fetchedGraph:{dataProvider:e,fetchError:t}})}if(null===n)return;const i=function(e){const t=new Map;for(const n of e.elementTypes){const e={id:n.id,label:n.label,count:n.count,children:[]};t.set(e.id,e)}const n=new Map;for(const[t,i]of e.subtypeOf)kt(n,t,i);const i=[],r=new Set,o=new Set,a=e=>{if(o.has(e))return;r.add(e);const t=n.get(e);if(t)for(const n of t)r.has(n)?i.push([e,n]):a(n);r.delete(e)};for(const e of t.keys())a(e);for(const[e,t]of i){const i=n.get(e);i&&i.delete(t)}const s=[];for(const e of t.values()){const i=n.get(e.id);if(i&&0!==i.size)for(const n of i){const i=t.get(n);i&&i.children.push(e)}else s.push(e)}return s}(n);this.setState({fetchedGraph:{dataProvider:e,classTree:i}},(()=>{this.refreshClassTree()}))}performSearch=e=>{const t=oc(e);this.setState((e=>sc({...e,appliedSearchText:t})))};onShowOnlyCreatableChange=()=>{this.setState((e=>sc({...e,showOnlyConstructible:!e.showOnlyConstructible})))};onSelectNode=e=>{const{workspace:{getCommandBus:t}}=this.props;this.setState({selection:e},(()=>{t(xs).trigger("setCriteria",{criteria:{elementType:e.node.iri}})}))};onCreateInstance=e=>{this.createInstanceAt(e.iri)};onDragCreate=e=>{const{workspace:{view:t}}=this.props;t.setHandlerForNextDropOnPaper((t=>{this.createInstanceAt(e.iri,t)}))};refreshClassTree=()=>{const e=new AbortController;let t;this.refreshOperation.abort(),this.refreshOperation=e,this.setState(((e,n)=>{const{workspace:{model:i,editor:r},translation:o}=n,a=e.fetchedGraph?.classTree;if(!a)return{refreshingState:"none"};let s="none";if(r.inAuthoringMode){const n=function(e,t){const n=new Set,i=t=>{e.has(t.id)||n.add(t.id),t.children.forEach(i)};return t.forEach(i),n}(e.constructibleClasses,a);n.size>0&&(s="loading",t=n)}const l=function(e,t,n){const i=e=>{const r=[];for(const o of e)r.push({iri:o.id,data:o,label:n.formatLabel(o.label,o.id,t.language),derived:i(o.children)});return r};return i(e)}(a,i,o);return sc({...e,roots:ac(l),refreshingState:s})}),(()=>{t&&this.queryCreatableTypes(t,e.signal)}))};async queryCreatableTypes(e,t){const{workspace:{editor:n}}=this.props,{metadataProvider:i}=n;if(i)try{const n=await hi(i.filterConstructibleTypes(e,{signal:t}),t);if(null===n)return;this.setState((t=>{const i=new Map(t.constructibleClasses);return e.forEach((e=>{i.set(e,n.has(e))})),sc({...t,constructibleClasses:i,refreshingState:"completed"})}))}catch(e){console.error(e),this.setState((e=>sc({...e,refreshingState:"error"})))}}async createInstanceAt(e,t){const{placeCreatedEntity:n,workspace:{model:i,view:r,editor:o,getCommandBus:a},translation:s}=this.props,l=i.history.startBatch();this.createElementCancellation.abort(),this.createElementCancellation=new AbortController;const c=this.createElementCancellation.signal,d=await hi(o.metadataProvider.createEntity(e,{translation:s,language:i.language,signal:c}),c);if(null===d)return;const u=o.createEntity(d.data);let h;if(d.elementState&&u.setElementState(d.elementState),t)h=[t.source,t.position];else{const e=r.findAnyCanvas();e&&(h=[e,lc(e)])}if(h){const[e,t]=h;u.setPosition(t),e.renderingState.syncUpdate(),function(e,t,n){const i=n.getElementSize(e)??{width:0,height:0};e.setPosition({x:t.x-i.width/2,y:t.y-i.height/2})}(u,t,e.renderingState)}n&&await n(u,t),l.store(),i.setSelection([u]),a(Cs).trigger("editEntity",{target:u})}};function oc(e){return e.trim().toLowerCase()}function ac(e){function t(e){if(0===e.length)return e;const t=e.map(n);return t.sort(i),t}function n(e){return Yl(e,t(e.derived))}function i(e,t){return e.label.localeCompare(t.label)}return t(e)}function sc(e){let t=e.roots;return e.appliedSearchText&&(t=function(e,t){if(0===e.length)return e;const n=Ni(t);return e.reduce((function e(t,i){const r=i.derived.reduce(e,[]);return(r.length>0||n(i.label))&&t.push(Yl(i,r)),t}),[])}(t,e.appliedSearchText)),e.showOnlyConstructible&&(n=e.constructibleClasses,t=t.reduce((function e(t,i){const r=i.derived.reduce(e,[]);return(r.length>0||n.get(i.iri))&&t.push(Yl(i,r)),t}),[])),{...e,filteredRoots:t};var n}function lc(e){const t=e.metrics.pane;return e.metrics.clientToPaperCoords(t.clientWidth/2,t.clientHeight/2)}var cc="reactodia-paper",dc=class extends v.Component{rootRef=v.createRef();paneRef=v.createRef();resizeObserver;viewportAnimation;movingState;metrics;constructor(e){var t;super(e),this.state={paneRef:this.paneRef,contentBounds:this.props.contentBounds,pageSize:this.props.pageSize,transform:(t=this.props.pageSize,{width:t.width,height:t.height,originX:0,originY:0,scale:1,paddingX:0,paddingY:0}),mounted:!1},this.resizeObserver=new ResizeObserver(this.onResize),this.metrics=new class extends uc{paper;constructor(e){super(),this.paper=e}get pane(){return this.paper.pane??fc}get transform(){return this.paper.state.transform}getClientRect(){return this.paper.pane?.getBoundingClientRect()??pc}}(this)}get root(){return this.rootRef.current}get pane(){return this.paneRef.current}render(){const{className:e,style:t,showScrollbars:n,panOnTouch:i=!0,onContextMenu:r,onKeyDown:o,onKeyUp:a,renderLayers:s,watermark:l,children:c}=this.props,{transform:d,mounted:u}=this.state,{width:h,height:f,scale:p,paddingX:g,paddingY:v}=d,m={width:h*p+g,height:f*p+v,marginLeft:g,marginTop:v,paddingRight:g,paddingBottom:v};return H.jsxs("div",{ref:this.rootRef,className:cn(cc,e,i?`${cc}--pan-on-touch`:void 0,n?void 0:`${cc}--hide-scrollbars`),style:t,tabIndex:0,onKeyDown:o,onKeyUp:a,children:[H.jsxs("div",{className:`${cc}__pane`,ref:this.paneRef,onPointerDown:this.onAreaPointerDown,children:[H.jsx("div",{className:`${cc}__layers`,style:m,onPointerDown:this.onPointerDown,onContextMenu:r,onScrollCapture:this.onScrollCapture,children:u?s(d):null}),l]}),u?c:void 0]})}componentDidMount(){const e=this.pane;e.addEventListener("dragover",this.onDragOver),e.addEventListener("drop",this.onDragDrop),e.addEventListener("scroll",this.onScrollPassive,{passive:!0}),e.addEventListener("wheel",this.onWheel,{passive:!1}),this.resizeObserver.observe(e),this.setState({mounted:!0})}static getDerivedStateFromProps(e,t){const n=t.paneRef.current;if(n&&(!hr.equals(e.contentBounds,t.contentBounds)||e.pageSize.width!==t.pageSize.width||e.pageSize.height!==t.pageSize.height)){const{clientWidth:i,clientHeight:r}=n,o=function(e,t,n,i){const r=e.x,o=e.y,a=e.x+e.width,s=e.y+e.height,{width:l,height:c}=n,d=Math.floor(r/l),u=Math.floor(o/c),h=Math.ceil(a/l),f=Math.ceil(s/c);return{width:Math.max(h-d,1)*l,height:Math.max(f-u,1)*c,originX:-d*l,originY:-u*c,paddingX:Math.ceil(t.width),paddingY:Math.ceil(t.height),scale:i}}(e.contentBounds,{width:i,height:r},e.pageSize,t.transform.scale);return Qr(t.transform,o)?null:{...t,contentBounds:e.contentBounds,pageSize:e.pageSize,transform:o}}return null}getSnapshotBeforeUpdate(e,t){const{contentBounds:n,pageSize:i}=this.props,{paneRef:r,transform:o}=this.state,a=r.current,s=hr.equals(n,e.contentBounds)&&i.width===e.pageSize.width&&i.height===e.pageSize.height;let l;return!a||s||Qr(o,t.transform)||(l={left:a.scrollLeft,top:a.scrollTop}),{scroll:l}}componentDidUpdate(e,t,n){const i=this.state.paneRef.current;if(i&&n.scroll){const{scale:e,originX:r,originY:o,paddingX:a,paddingY:s}=this.state.transform,l=t.transform,c=n.scroll.top+((o-l.originY)*e+(s-l.paddingY));i.scrollLeft=n.scroll.left+((r-l.originX)*e+(a-l.paddingX)),i.scrollTop=c}Qr(this.state.transform,t.transform)||this.props.onChangeTransform?.(t.transform)}componentWillUnmount(){const e=this.pane;this.stopListeningToPointerMove(),e.removeEventListener("dragover",this.onDragOver),e.removeEventListener("drop",this.onDragDrop),e.removeEventListener("scroll",this.onScrollPassive),e.removeEventListener("wheel",this.onWheel),this.resizeObserver.disconnect()}onAreaPointerDown=e=>{e.target===this.pane&&this.onPointerDown(e)};onPointerDown=e=>{if(this.movingState)return void this.handleMultiPointerDown(e);const t=this.props.onPointerOperation?.(e);if(!t)return;let n;if("move"!==t.action&&"mouse"!==e.pointerType||e.preventDefault(),"panning"===t.action){const{scrollLeft:e,scrollTop:t}=this.pane;n={scrollLeft:e,scrollTop:t},document.getSelection&&document.getSelection()?.removeAllRanges?.()}const{pageX:i,pageY:r}=e;this.movingState={operation:t,pointers:new Map,pointerMoved:!1,originPointerId:e.pointerId,origin:{pageX:i,pageY:r},panningOrigin:n,pinchOrigin:void 0},this.handleMultiPointerDown(e),document.addEventListener("pointermove",this.onPointerMove),document.addEventListener("pointerup",this.onPointerUp),"mouse"!==e.pointerType&&document.addEventListener("pointercancel",this.onPointerCancel),t.onPointerDown(e)};handleMultiPointerDown(e){if(!this.movingState)return;const{pointers:t}=this.movingState;t.set(e.pointerId,{x:e.pageX,y:e.pageY}),this.movingState.pinchOrigin||2!==t.size||(e.preventDefault(),this.movingState.pinchOrigin={pointers:new Map(t),metrics:this.metrics.snapshot()})}onPointerMove=e=>{if(!this.movingState)return;const{origin:t,operation:n,panningOrigin:i}=this.movingState,r=e.pageX-t.pageX,o=e.pageY-t.pageY;if(e.isPrimary&&Math.abs(r)>=1&&Math.abs(o)>=1&&(this.movingState.pointerMoved=!0),this.handleMultiPointerMove(e));else{if(e.preventDefault(),i){const e=this.pane;e.classList.add(`${cc}--panning`),e.scrollLeft=i.scrollLeft-r,e.scrollTop=i.scrollTop-o}n.onPointerMove(e)}};handleMultiPointerMove(e){if(!this.movingState)return!1;const{pointers:t,pinchOrigin:n}=this.movingState;if(t.set(e.pointerId,{x:e.pageX,y:e.pageY}),!n)return!1;const[[i,r],[o,a]]=n.pointers,s=t.get(i),l=t.get(o);if(!s||!l)return!1;const c=dr.scale(dr.add(s,l),.5),d=dr.scale(dr.add(r,a),.5),u=dr.length(dr.subtract(l,s))/Math.max(dr.length(dr.subtract(a,r)),1),h=n.metrics,f=h.clientToPaperCoords(h.pane.clientWidth/2,h.pane.clientHeight/2),p=h.pageToPaperCoords(c.x,c.y),g=h.pageToPaperCoords(d.x,d.y),v=dr.add(g,dr.scale(dr.subtract(f,p),1/u));return this.centerViewport(v,{scale:h.transform.scale*u}),!0}onPointerUp=e=>{if(this.movingState){const{originPointerId:t,pointers:n,pinchOrigin:i}=this.movingState;n.delete(e.pointerId),(e.pointerId===t||i&&n.size<2)&&this.stopListeningToPointerMove(e)}};onPointerCancel=()=>{this.stopListeningToPointerMove()};onScrollCapture=e=>{this.movingState?.operation.hasSameTarget(e)&&this.stopListeningToPointerMove()};stopListeningToPointerMove=e=>{const t=this.movingState;if(this.movingState=void 0,t){this.pane.classList.remove(`${cc}--panning`),document.removeEventListener("pointermove",this.onPointerMove),document.removeEventListener("pointerup",this.onPointerUp),document.removeEventListener("pointercancel",this.onPointerCancel);const{operation:n,pointerMoved:i,pinchOrigin:r}=t;e&&!r?n.onPointerUp(e,{triggerAsClick:!i}):n.onPointerCancel(e)}};onWheel=e=>{const{wheelToScaleDelta:t}=this.props.scaleDefaults,n=t(e);if(void 0!==n){e.preventDefault();const t=this.metrics.pageToPaperCoords(e.pageX,e.pageY);this.setScale(this.scale+n,{pivot:t})}};onResize=()=>{this.props.onResize?.()};centerViewport(e,t){if("number"==typeof t.scale){const{min:n,max:i}=this.props.scaleDefaults;let r=t.scale;return r=Math.max(r,n),r=Math.min(r,i),this.setViewportState({center:e,scale:{x:r,y:r}},t)}return this.setViewportState({center:e},t)}get scale(){return this.state.transform.scale}setScale(e,t){let n=e;const{min:i,max:r}=this.props.scaleDefaults;let o;if(n=Math.max(n,i),n=Math.min(n,r),t&&t.pivot){const{x:e,y:i}=t.pivot,r=this.pane,a=this.metrics.clientToPaperCoords(r.clientWidth/2,r.clientHeight/2),s=n/this.state.transform.scale;o={center:{x:e-(e-a.x)/s,y:i-(i-a.y)/s},scale:{x:n,y:n}}}else o={scale:{x:n,y:n}};return this.setViewportState(o,t)}scaleToFitRect(e,t={}){const{clientWidth:n,clientHeight:i}=this.pane;if(0===e.width)return Promise.resolve();const{min:r,maxFit:o}=this.props.scaleDefaults,{width:a}=wr(e,n,i);let s=a/e.width;return s=Math.max(s,r),s=Math.min(s,o),this.setViewportState({center:{x:e.x+e.width/2,y:e.y+e.height/2},scale:{x:s,y:s}},t)}onDragOver=e=>{const t=gc(this.pane,e);this.props.onDragOver?.(e,t)?e.preventDefault():e.dataTransfer&&(e.dataTransfer.dropEffect="none")};onDragDrop=e=>{const t=gc(this.pane,e);this.props.onDragDrop?.(e,t)};onScrollPassive=e=>{this.props.onScrollPassive?.(e)};get viewportState(){const{clientWidth:e,clientHeight:t,scrollLeft:n,scrollTop:i}=this.pane,{originX:r,originY:o,paddingX:a,paddingY:s,scale:l}=this.state.transform;return{center:{x:(n+e/2-a)/l-r,y:(i+t/2-s)/l-o},scale:{x:l,y:l}}}setViewportState(e,t){this.viewportAnimation&&this.viewportAnimation.cancellation.abort();const n=this.viewportState,i={...n,...e};if(t&&(t.animate||t.duration&&t.duration>0)){const e={from:n,to:i,cancellation:new AbortController},s=(r="number"==typeof t.duration?t.duration:this.props.viewportDefaults.duration,o=e=>{const t=function(e){return e<0?0:e>1?1:e*e*(3-2*e)}(e);this.applyViewportState({center:{x:n.center.x+(i.center.x-n.center.x)*t,y:n.center.y+(i.center.y-n.center.y)*t},scale:{x:n.scale.x+(i.scale.x-n.scale.x)*t,y:n.scale.y+(i.scale.y-n.scale.y)*t}})},a=e.cancellation.signal,new Promise((e=>{let t,n,i;const s=l=>{if(a&&a.aborted)return;n=n||l;let c=l-n;c>r&&(c=r),o(c/r),c<r?t=requestAnimationFrame(s):(i?.(),e())};if(a){const n=()=>{cancelAnimationFrame(t),i?.(),e()};i=()=>{a.removeEventListener("abort",n)},a.addEventListener("abort",n)}t=requestAnimationFrame(s)})));return this.viewportAnimation=e,s.then((()=>{this.viewportAnimation=void 0}))}return this.applyViewportState(i),Promise.resolve();var r,o,a}applyViewportState(e){const t=e.scale.x,n=e.center;this.setState((e=>({transform:{...e.transform,scale:t}})),(()=>{const e=this.pane,{originX:i,originY:r,paddingX:o,paddingY:a}=this.state.transform,s=(n.x+i)*t,l=(n.y+r)*t,{clientWidth:c,clientHeight:d}=e;e.scrollLeft=s-c/2+o,e.scrollTop=l-d/2+a}))}},uc=class{get area(){return this.pane}snapshot(){const{clientWidth:e,clientHeight:t,offsetWidth:n,offsetHeight:i,scrollLeft:r,scrollTop:o}=this.pane,{left:a,right:s,top:l,bottom:c}=this.getClientRect();return new hc({clientWidth:e,clientHeight:t,offsetWidth:n,offsetHeight:i,scrollLeft:r,scrollTop:o},{left:a,right:s,top:l,bottom:c},this.transform)}getTransform(){return this.transform}getPaperSize(){const{width:e,height:t,scale:n}=this.transform;return{width:e/n,height:t/n}}getViewportPageRect(){const{left:e,right:t,top:n,bottom:i}=this.getClientRect();return{x:e+window.scrollX,y:n+window.scrollY,width:t-e,height:i-n}}pageToPaperCoords(e,t){const{left:n,top:i}=this.getClientRect();return this.clientToPaperCoords(e-(n+window.scrollX),t-(i+window.scrollY))}paperToPageCoords(e,t){const{x:n,y:i}=this.paperToScrollablePaneCoords(e,t),{x:r,y:o}=this.scrollablePaneToClientCoords(n,i),{left:a,top:s}=this.getClientRect();return{x:r+(a+window.scrollX),y:o+(s+window.scrollY)}}clientToPaperCoords(e,t){const{x:n,y:i}=this.clientToScrollablePaneCoords(e,t);return this.scrollablePaneToPaperCoords(n,i)}clientToScrollablePaneCoords(e,t){const{paddingX:n,paddingY:i}=this.transform,{scrollLeft:r,scrollTop:o}=this.pane;return{x:e+r-n,y:t+o-i}}scrollablePaneToClientCoords(e,t){const{paddingX:n,paddingY:i}=this.transform,{scrollLeft:r,scrollTop:o}=this.pane;return{x:e-r+n,y:t-o+i}}scrollablePaneToPaperCoords(e,t){return Jr({x:e,y:t},this.transform)}paperToScrollablePaneCoords(e,t){return Yr({x:e,y:t},this.transform)}},hc=class extends uc{pane;clientRect;transform;constructor(e,t,n){super(),this.pane=e,this.clientRect=t,this.transform=n}getClientRect(){return this.clientRect}snapshot(){return this}},fc={clientWidth:0,clientHeight:0,offsetWidth:0,offsetHeight:0,scrollLeft:0,scrollTop:0},pc={left:0,right:0,top:0,bottom:0};function gc(e,t){const n=(t.target instanceof SVGElement&&null!==t.target.ownerSVGElement?t.target.ownerSVGElement:t.target).getBoundingClientRect(),i=e.getBoundingClientRect();return{x:t.offsetX+(n.left-i.left),y:t.offsetY+(n.top-i.top)}}var vc="http://www.w3.org/2000/svg";async function mc(e){const{colorSchemeApi:t,contentBox:n,watermarkSvg:i,preserveDimensions:r,convertImagesToDataUris:o,removeByCssSelectors:a=[]}=e;let s,l;t.actInColorScheme("light",(()=>{s=function(e,t){const n=document.createElementNS(vc,"svg"),i=document.createElementNS(vc,"g");i.setAttribute("class","reactodia-exported-canvas"),n.appendChild(i);const r=Object.create(null);for(const n of e)if(n instanceof SVGSVGElement){const e=yc(n.cloneNode(!0));e.removeAttribute("transform"),i.appendChild(e)}else if(n instanceof HTMLElement){const e=n.cloneNode(!0);e.classList.add("reactodia-exported-layer"),e.setAttribute("style",`transform: translate(${-t.x}px,${-t.y}px)`);const o=document.createElementNS(vc,"foreignObject");o.appendChild(e),o.setAttribute("transform",`translate(${t.x},${t.y})`),o.setAttribute("width",String(t.width)),o.setAttribute("height",String(t.height));const a=document.createElementNS(vc,"g");a.appendChild(o),i.appendChild(a);const s=e.querySelectorAll("img");let l=0;for(const e of n.querySelectorAll("img")){const t=l;l++;const n=`export-key-${t}`;s[t].setAttribute("export-key",n),r[n]={width:e.clientWidth,height:e.clientHeight}}}return{composedSvg:n,imageBounds:r}}(e.layers,n);const t=new Set;var i;i=t,_c((e=>{for(let t=0;t<e.style.length;t++){const n=e.style[t];n.startsWith("--")&&!i.has(n)&&i.add(n)}})),function(e,t){const n=e=>{if(e instanceof HTMLElement)for(let n=0;n<e.style.length;n++){const i=e.style[n];i.startsWith("--")&&!t.has(i)&&t.add(i)}};kc(e,n);let i=e.parentElement;for(;i;)n(i),i=i.parentElement}(s.composedSvg,t),l=function(e,t){const n=new Map,i=getComputedStyle(e);for(const e of i)if(e.startsWith("--")){const t=i.getPropertyValue(e);n.set(e,t)}for(const e of t)if(!n.has(e)){const t=i.getPropertyValue(e);void 0!==t&&n.set(e,t)}return n}(e.styleRoot,t)}));const{composedSvg:c,imageBounds:d}=s;for(const e of a)for(const t of c.querySelectorAll(e))t.remove();const u=function(e){const t=[];return _c((n=>{const i=n.selectorText.replace(/::[a-zA-Z-]+$/,"");e.querySelector(i)&&t.push(n)})),t}(c),h=new Map;o&&(function(e,t){for(const n of e.querySelectorAll("img"))n.src&&!t.has(n.src)&&t.set(n.src,null)}(c,h),function(e,t){for(const n of e){const e=bc(n.style.getPropertyValue("mask-image"));e&&!t.has(e)&&t.set(e,null);const i=bc(n.style.getPropertyValue("background-image"));i&&!t.has(i)&&t.set(i,null)}}(u,h),function(e,t){kc(e,(e=>{if(e instanceof HTMLElement){const n=bc(e.style.maskImage);n&&!t.has(n)&&t.set(n,null);const i=bc(e.style.backgroundImage);i&&!t.has(i)&&t.set(i,null)}}))}(c,h)),r?(c.setAttribute("width",String(n.width)),c.setAttribute("height",String(n.height))):(c.setAttribute("width","100%"),c.setAttribute("height","100%")),c.setAttribute("viewBox",`${n.x} ${n.y} ${n.width} ${n.height}`),i&&function(e,t,n){const i=document.createElementNS(vc,"image");i.setAttributeNS("http://www.w3.org/1999/xlink","href",n),i.setAttribute("class","reactodia-exported-watermark");const r=Math.min(.2*t.width,120),o=t.y+20;i.setAttribute("x",(t.x+t.width-r-20).toString()),i.setAttribute("y",o.toString()),i.setAttribute("width",r.toString()),i.setAttribute("opacity","0.3"),e.insertBefore(i,e.firstChild)}(c,n,i),await async function(e){await Promise.all(Array.from(e.keys(),(async t=>{if(!t.startsWith("data:"))try{const n=await async function(e){if(!e||e.startsWith("data:"))return e;const t=e.match(/\.([a-zA-Z0-9]+)[^.a-zA-Z0-9]?[^.]*$/),n=t?t[1].toLowerCase():void 0;if("svg"===n)try{const t=await fetch(e);if(t.ok){const e=await t.text();if(e.length>0)return"data:image/svg+xml,"+encodeURIComponent(e.replace(/\r\n/g,"\n"))}}catch(e){}const i=await function(e){const t=new Image;t.crossOrigin="anonymous";const n=new Promise(((e,n)=>{t.onload=()=>e(t),t.onerror=e=>n(e)}));return t.src=e,n}(e),r=document.createElement("canvas");r.width=i.width,r.height=i.height,r.getContext("2d").drawImage(i,0,0);try{return r.toDataURL("image/"+("jpg"===n?"jpeg":"png"))}catch(t){throw new Error(`Failed to convert image to data URI: ${e}`,{cause:t})}}(t);n&&"data:image/svg+xml,"!==n&&e.set(t,n)}catch(e){console.warn("Reactodia: Failed to export image: "+t,e)}})))}(h);for(const e of c.querySelectorAll("img")){const t=e.getAttribute("export-key");if(e.removeAttribute("export-key"),t){const{width:n,height:i}=d[t];e.setAttribute("width",n.toString()),e.setAttribute("height",i.toString());const r=h.get(e.src);r&&(e.src=r)}}!function(e,t){kc(e,(e=>{if(e instanceof HTMLElement){const n=bc(e.style.maskImage),i=n?t.get(n):void 0;i&&(e.style.maskImage=wc(i));const r=bc(e.style.backgroundImage),o=r?t.get(r):void 0;o&&(e.style.backgroundImage=wc(o))}}))}(c,h);const f=document.createElementNS("http://www.w3.org/2000/svg","defs");return f.innerHTML=`<style>${function(e){const t=[":root {\n"];for(const[n,i]of e)t.push(" ",n,": ",i,";\n");return t.push("}\n"),t.join("")}(l)}</style>\n<style>${function(e,t){const n=e.map((e=>e.cssText)),i=document.createElement("style");document.body.appendChild(i);const r=i.sheet;try{for(let i=0;i<e.length;i++){const o=e[i],a=bc(o.style.getPropertyValue("mask-image")),s=a?t.get(a):void 0,l=bc(o.style.getPropertyValue("background-image")),c=l?t.get(l):void 0;if(r&&(s||c)){r.insertRule(o.cssText);const e=r.cssRules[0];e instanceof CSSStyleRule&&(s&&e.style.setProperty("mask-image",wc(s)),c&&e.style.setProperty("background-image",wc(c)),n[i]=e.cssText),r.deleteRule(0)}}}finally{document.body.removeChild(i)}return n.join("\n")}(u,h)}</style>`,c.insertBefore(f,c.firstChild),c}function bc(e){if(e){const t=e.trim();let n=/^url\(\s*'(.*)'\s*\)$/i.exec(t);if(n)return n[1];if(n=/^url\(\s*"(.*)"\s*\)$/i.exec(t),n)return n[1]}}function wc(e){return`url("${e}")`}function yc(e){let t=e.firstChild;for(;t;){if(t instanceof SVGGElement)return t;t=t.nextSibling}}function _c(e){const t=new WeakSet,n=i=>{if(!t.has(i))if(t.add(i),i instanceof CSSStyleRule)e(i);else if(i instanceof CSSLayerBlockRule)for(const e of i.cssRules)n(e)};for(let e=0;e<document.styleSheets.length;e++){let t;try{const n=document.styleSheets[e];if(t=n.cssRules||n.rules,!t)continue}catch(e){continue}for(const e of t)n(e)}}function kc(e,t){const n=new WeakSet,i=e=>{if(!n.has(e)){n.add(e),t(e);for(const t of e.children)i(t)}};i(e)}var xc={width:8192,height:8192};var Sc="reactodia-canvas-area",Cc={width:1500,height:800},Lc={duration:500};function Mc(e){const{model:t,renderingState:n,zoomOptions:i,showScrollBars:r,watermarkSvg:o,watermarkUrl:a,children:s}=e,l=v.useContext(mi),c=v.useRef(null),d=v.useRef(null),u=v.useRef(null),h=v.useRef(null),[f]=v.useState((()=>function(){const e={underlay:document.createElement("div"),overLinkGeometry:document.createElement("div"),overLinks:document.createElement("div"),overElements:document.createElement("div")};for(const t of Object.values(e))t.style.display="contents";return{containers:e}}())),p=v.useMemo((()=>function(e={}){return{min:e.min??.2,max:e.max??2,maxFit:e.maxFit??1,step:e.step??.1,fitPadding:e.fitPadding??20,requireCtrl:e.requireCtrl??!1}}(i)),[i]),[g,m]=v.useState({x:0,y:0,width:0,height:0}),[b,w]=v.useState("panning"),[y,_]=v.useState({count:0}),k={colorSchemeApi:l,graphAnimations:y,watermarkSvg:o,zoomOptions:p},[x]=v.useState((()=>new Ec(t,n,k,{setContentBounds:m,setPointerMode:w,setGraphAnimations:_},c,d,u,h)));v.useEffect((()=>x.setProvidedState(k)));const S=v.useMemo((()=>({canvas:x,model:t})),[t,x]),C=v.useMemo((()=>({min:p.min,max:p.max,maxFit:p.maxFit,wheelToScaleDelta:x.getWheelToScaleDelta})),[p]);v.useLayoutEffect((()=>(x.centerTo(),()=>x.stopListening())),[]);const L={"--reactodia-canvas-animation-duration":void 0===y.duration?void 0:`${y.duration}ms`};return H.jsx(lr.Provider,{value:S,children:H.jsx(dc,{ref:c,className:cn(Sc,y.count>0?`${Sc}--animated`:void 0),style:L,panOnTouch:"panning"===b,showScrollbars:r,scaleDefaults:C,viewportDefaults:Lc,onChangeTransform:x.onChangeTransform,onContextMenu:x.onContextMenu,onDragOver:x.onDragOver,onDragDrop:x.onDragDrop,onKeyDown:x.onKeyDown,onKeyUp:x.onKeyUp,onPointerOperation:x.onPointerOperation,onResize:x.onResize,onScrollPassive:x.onScrollPassive,pageSize:Cc,contentBounds:g,renderLayers:e=>H.jsxs(H.Fragment,{children:[H.jsx(Ro,{layer:"underlay",context:f,className:`${Sc}__widgets`}),H.jsxs(Xr,{layerRef:d,className:`${Sc}__linkGeometry`,style:{overflow:"visible"},paperTransform:e,role:"figure",children:[H.jsx(zo,{model:t,renderingState:n}),H.jsx(mo,{model:t,renderingState:n})]}),H.jsx(Ro,{layer:"overLinkGeometry",context:f,className:`${Sc}__widgets`}),H.jsx(xo,{renderingState:n,paperTransform:e,layerRef:u}),H.jsx(Ro,{layer:"overLinks",context:f,className:`${Sc}__widgets`}),H.jsx(ao,{layerRef:h,model:t,renderingState:n,paperTransform:e}),H.jsx(Ro,{layer:"overElements",context:f,className:`${Sc}__widgets`})]}),watermark:o?H.jsx("a",{href:a,target:"_blank",rel:"noreferrer",children:H.jsx("img",{className:`${Sc}__watermark`,src:o,draggable:!1})}):null,children:H.jsx(Ho.Provider,{value:f,children:s})})})}var Ec=class{model;renderingState;state;setters;_paper;linkLayer;labelLayer;elementLayer;listener=new wi;source=new bi;events=this.source;_contentBounds={x:0,y:0,width:0,height:0};_pointerMode="panning";constructor(e,t,n,i,r,o,a,s){this.model=e,this.renderingState=t,this.state=n,this.setters=i,this._paper=r,this.linkLayer=o,this.labelLayer=a,this.elementLayer=s;const l=()=>{t.scheduleOnLayerUpdate(to.PaperArea,this.updateContentBounds)};this.listener.listen(e.events,"changeCells",l),this.listener.listen(e.events,"elementEvent",(({data:e})=>{e.changePosition&&l()})),this.listener.listen(e.events,"linkEvent",(({data:e})=>{e.changeVertices&&l()})),this.listener.listen(t.events,"changeElementSize",l),this.listener.listen(t.shared.events,"findCanvas",(e=>{e.canvases.push(this)}))}get paper(){const e=this._paper.current;if(!e)throw new Error("Reactodia: canvas paper is not initialized yet");return e}stopListening(){this.listener.stopListening()}setProvidedState(e){this.state=e}onChangeTransform=e=>{this.source.trigger("changeTransform",{previous:e,source:this}),this.paper.metrics.transform.scale!==e.scale&&this.source.trigger("changeScale",{previous:e.scale,source:this})};onContextMenu=e=>{if(!this.isEventFromCellLayer(e))return;const t=zc(e.target,e.currentTarget,this.model);this.source.trigger("contextMenu",{source:this,sourceEvent:e,target:t})};onDragOver=(e,t)=>{if(this.renderingState.shared.hasHandlerForNextDropOnPaper())return e.dataTransfer&&(e.dataTransfer.dropEffect="move"),!0;{const{x:n,y:i}=t,r=this.metrics.clientToPaperCoords(n,i);let o=!1;return this.source.trigger("dragover",{source:this,sourceEvent:e,position:r,allowDrop:()=>{o=!0}}),o}};onDragDrop=(e,t)=>{const{x:n,y:i}=t,r={source:this,sourceEvent:e,position:this.metrics.clientToPaperCoords(n,i)};this.renderingState.shared.tryHandleDropOnPaper(r)||this.source.trigger("drop",r)};onKeyDown=e=>{this.isEventFromCellLayer(e)&&this.source.trigger("keydown",{source:this,sourceEvent:e})};onKeyUp=e=>{this.isEventFromCellLayer(e)&&this.source.trigger("keyup",{source:this,sourceEvent:e})};onPointerOperation=e=>{if(0!==e.button)return;let t,n=!1,i=!1,r=!1;const o=zc(e.target,e.currentTarget,this.model);if(o)if(o instanceof qr){const{x:n,y:i}=this.metrics.pageToPaperCoords(e.pageX,e.pageY),{x:r,y:a}=o.position;t={pointerX:n,pointerY:i,elementX:r,elementY:a}}else(o instanceof Gr||o instanceof Zr)&&(r=!0);else n=this.shouldStartPanning(e),i=!n&&"selection"===this._pointerMode;const a=Hr.capture(this.model),s=this.model.history.startBatch(a.title),l={target:o,restoreGeometry:a,batch:s,panning:n,moveElement:t};return{action:n?"panning":i||t||r?"move":void 0,hasSameTarget:e=>{const t=zc(e.target,e.currentTarget,this.model);return void 0!==t&&t===o},onPointerDown:e=>{this.source.trigger("pointerDown",{source:this,sourceEvent:e,target:o,panning:n})},onPointerMove:e=>this.onPointerMove(e,l),onPointerUp:(e,t)=>this.onPointerUp(e,t,l),onPointerCancel:()=>{const e=a.filterOutUnchanged();e.hasChanges()&&s.history.registerToUndo(e),s.discard({revert:!0})}}};shouldStartPanning(e){return"mouse"===e.pointerType&&e.shiftKey===("selection"===this._pointerMode)&&!(e.ctrlKey||e.altKey)}onPointerMove(e,t){const{target:n,panning:i,moveElement:r}=t;if(n){if(n instanceof qr){if(r){const{x:t,y:o}=this.metrics.pageToPaperCoords(e.pageX,e.pageY),{pointerX:a,pointerY:s,elementX:l,elementY:c}=r;n.setPosition({x:l+t-a,y:c+o-s}),this.source.trigger("pointerMove",{source:this,sourceEvent:e,target:n,panning:i})}}else if(n instanceof Gr){const i=this.metrics.pageToPaperCoords(e.pageX,e.pageY),r=this.generateLinkVertex(n,i);r.createAt(i),t.target=r}else if(n instanceof Zr){const t=this.metrics.pageToPaperCoords(e.pageX,e.pageY);n.moveTo(t),this.source.trigger("pointerMove",{source:this,sourceEvent:e,target:n,panning:i})}}else this.source.trigger("pointerMove",{source:this,sourceEvent:e,target:n,panning:i})}generateLinkVertex(e,t){const{model:n,renderingState:i}=this,r=e.vertices,o=r?[...r]:[],a=n.getElement(e.sourceId),s=n.getElement(e.targetId);return new Zr(e,function(e,t){let n=1/0,i=0;for(let r=0;r<e.length-1;r++){const o=e[r],a=e[r+1],s={x:t.x-o.x,y:t.y-o.y},l={x:a.x-o.x,y:a.y-o.y},c=dr.length(l),d=dr.dot(s,l)/c;if(d<0||d>c)continue;const u=Math.abs(dr.cross2D(s,l))/c;u<n&&(n=u,i=r)}return i}(xr(i.getElementShape(a),i.getElementShape(s),o),t))}onPointerUp(e,t,n){const{triggerAsClick:i}=t,{target:r,restoreGeometry:o,batch:a,panning:s}=n;this.source.trigger("pointerUp",{source:this,sourceEvent:e,target:r,panning:s,triggerAsClick:i});const l=o.filterOutUnchanged();l.hasChanges()&&a.history.registerToUndo(l),a.store()}onResize=()=>{this.source.trigger("resize",{source:this})};onScrollPassive=e=>{this.isEventFromCellLayer(e)&&this.source.trigger("scroll",{source:this,sourceEvent:e})};getWheelToScaleDelta=e=>{switch(this.shouldZoom(e)){case"zoom":return function(e,t=.1){return-1*Math.max(-1,Math.min(1,e.deltaY||e.deltaX))*t}(e);case"prevent":return 0;default:return}};shouldZoom(e){const{requireCtrl:t}=this.zoomOptions,n=e.target;if(t)return e.ctrlKey?"zoom":"default";if(e.ctrlKey)return"zoom";if(this.paper.root&&n instanceof window.Element){const e=hl(n,this.paper.root,Do);if(e)return $c(n,e)?"default":hl(n,e,Nc)?"prevent":"zoom"}return this.isEventFromCellLayer(e)&&n instanceof Node&&(this.paper.root===n||this.paper.pane===n||this.paper.pane?.firstChild===n||!$c(n,this.linkLayer.current)&&!$c(n,this.labelLayer.current)&&!$c(n,this.elementLayer.current))?"zoom":"default"}get metrics(){return this.paper.metrics}get pointerMode(){return this._pointerMode}setPointerMode(e){const t=this._pointerMode;t!==e&&(this._pointerMode=e,this.setters.setPointerMode(e),this.source.trigger("changePointerMode",{source:this,previous:t}))}get zoomOptions(){return this.state.zoomOptions}updateContentBounds=()=>{const{elements:e,links:t}=this.model;this._contentBounds=$r(e,t,this.renderingState),this.setters.setContentBounds(this._contentBounds)};isEventFromCellLayer(e){const t=e.target;return t instanceof Node&&Boolean(this.paper.root===t||this.paper.pane===t||this.paper.pane?.firstChild===t||this.linkLayer.current?.contains(t)||this.labelLayer.current?.contains(t)||this.elementLayer.current?.contains(t))}focus(){this.paper.root?.focus({preventScroll:!0})}async centerTo(e,t={}){await this.renderingState.updateLayersUpTo(to.PaperArea);const{width:n,height:i}=this.paper.metrics.transform;return this.paper.centerViewport(e||{x:n/2,y:i/2},t)}async centerContent(e={}){await this.renderingState.updateLayersUpTo(to.PaperArea);const t=this._contentBounds;return this.centerTo({x:t.x+t.width/2,y:t.y+t.height/2},e)}getScale(){return this.paper.scale}setScale(e,t){return this.paper.setScale(e,t)}zoomBy(e,t){return this.setScale(this.getScale()+e,t)}zoomIn(e){return this.zoomBy(this.state.zoomOptions.step,e)}zoomOut(e){return this.zoomBy(-this.state.zoomOptions.step,e)}async zoomToFit(e={}){const{model:t,renderingState:n}=this,{elements:i,links:r}=t;if(0===i.length)return this.centerTo();await this.renderingState.updateLayersUpTo(to.PaperArea);const o=$r(i,r,n);return this.zoomToFitRect(o,e)}zoomToFitRect(e,t){const{fitPadding:n}=this.state.zoomOptions;return this.paper.scaleToFitRect({x:e.x-n,y:e.y-n,width:e.width+n,height:e.height+n},t)}makeToSVGOptions(e){const t=this._contentBounds,{contentPadding:n={x:100,y:100},removeByCssSelectors:i=[]}=e,r=this.linkLayer.current,o=this.labelLayer.current,a=this.elementLayer.current;if(!(r&&o&&a))throw new Error("Cannot find element, link or label layers to export");return{colorSchemeApi:this.state.colorSchemeApi,styleRoot:r,contentBox:{x:t.x-n.x,y:t.y-n.y,width:t.width+2*n.x,height:t.height+2*n.y},layers:[r,o,a],preserveDimensions:!0,convertImagesToDataUris:!0,removeByCssSelectors:["[data-reactodia-no-export]",...i],watermarkSvg:this.state.watermarkSvg}}exportSvg(e={}){return function(e){return mc(e).then((t=>{const n=(new XMLSerializer).serializeToString(t);return e.addXmlHeader?'<?xml version="1.0" encoding="UTF-8"?>'+n:n}))}(this.makeToSVGOptions(e))}exportRaster(e={}){return async function(e){const{mimeType:t="image/png",maxFallbackSize:n=xc}=e,i=await mc({...e,convertImagesToDataUris:!0,preserveDimensions:!0}),r={width:Number(i.getAttribute("width")),height:Number(i.getAttribute("height"))},{innerSize:o,outerSize:a,offset:s}=function(e,t){const n=wr(e,t.width,t.height),i={width:Math.floor(n.width),height:Math.floor(n.height)},r={width:"number"==typeof t.width?t.width:i.width,height:"number"==typeof t.height?t.height:i.height};return{innerSize:i,outerSize:r,offset:{x:Math.round((r.width-i.width)/2),y:Math.round((r.height-i.height)/2)}}}(r,"number"==typeof e.width||"number"==typeof e.height?{width:e.width,height:e.height}:function(e,t){const n=Math.min(t.width/e.width,t.height/e.height),i=Math.min(2,n);return{width:Math.floor(e.width*i),height:Math.floor(e.height*i)}}(r,n));i.setAttribute("width",o.width.toString()),i.setAttribute("height",o.height.toString());const l=(new XMLSerializer).serializeToString(i),{canvas:c,context:d}=function(e,t,n){const i=document.createElement("canvas");i.width=e,i.height=t;const r=i.getContext("2d");return n&&(r.fillStyle=n,r.fillRect(0,0,e,t)),{canvas:i,context:r}}(a.width,a.height,e.backgroundColor),u=await(h="data:image/svg+xml,"+encodeURIComponent(l),new Promise(((e,t)=>{const n=new Image;n.onload=function(){e(n)},n.onerror=function(e){t(e)},n.src=h})));var h;return d.drawImage(u,s.x,s.y,o.width,o.height),c.toDataURL(t,e.quality)}({...e,...this.makeToSVGOptions(e)})}isAnimatingGraph(){return this.state.graphAnimations.count>0}animateGraph(e,t){const n="number"==typeof t?t:Lc.duration;return this.changeGraphAnimationCount(1,n),e(),fi(n).then((()=>this.changeGraphAnimationCount(-1)))}changeGraphAnimationCount(e,t){const n=this.isAnimatingGraph();dn.flushSync((()=>{this.setters.setGraphAnimations((n=>({count:n.count+e,duration:t??n.duration})))})),this.isAnimatingGraph()!==n&&this.source.trigger("changeAnimatingGraph",{source:this,previous:n})}};function zc(e,t,n){if(!(e instanceof globalThis.Element))return;let i,r=e;for(;;){if(r instanceof globalThis.Element){if(r.hasAttribute("data-element-id"))return n.getElement(r.getAttribute("data-element-id"));if(r.hasAttribute("data-link-id")){const e=n.getLink(r.getAttribute("data-link-id"));if(!e)return;return"number"==typeof i?new Zr(e,i):e}r.hasAttribute("data-vertex")&&(i=Number(r.getAttribute("data-vertex")))}if(!r||r===t)break;r=r.parentNode}}function $c(e,t){if(!t||!t.contains(e))return!1;let n=e;for(;n&&n!==t;){if(n instanceof window.Element){const e=getComputedStyle(n);if("scroll"===e.overflowX||"scroll"===e.overflowY)return!0}n=n.parentNode}return!1}function Nc(e){return e.hasAttribute("data-reactodia-prevent-zoom")}function Tc(e){const{model:t,view:n,overlay:i}=sn(),{elementTemplateResolver:r,linkTemplateResolver:o,linkRouter:a,showScrollbars:s,zoomOptions:l,watermarkSvg:c,watermarkUrl:d,children:u}=e,[h]=v.useState((()=>new ro({model:t,shared:n,elementTemplateResolver:r?e=>r((e instanceof ra?e.data:void 0)?.types??[],e):void 0,linkTemplateResolver:o?e=>o(e instanceof la||e instanceof da?e.typeId:void 0,e):void 0,linkRouter:a})));return H.jsx("div",{className:"reactodia-canvas",children:H.jsxs(Mc,{model:t,renderingState:h,zoomOptions:l,showScrollBars:s,watermarkSvg:c,watermarkUrl:d,children:[u,H.jsx(ls,{overlay:i}),H.jsx(ul,{})]})})}var Ac="reactodia-connections-menu";function Ic(e){return H.jsx("div",{className:`${Ac}__spinner`,children:H.jsx(Yt,{width:30,height:30,errorOccurred:Boolean(e.error)})})}function Vc(e){const{data:t,filterKey:n,sortMode:i,suggestions:r,allRelatedLink:o,onExpandLink:a,onMoveToFilter:s}=e,{model:l}=sn(),c=Pt(),d="smart"===i&&!n,u=n?Ni(n):void 0,h=d?[]:(t.links||[]).map((e=>l.getLinkType(e.id)?.data??e)).filter((e=>{const t=c.formatLabel(e.label,e.id,l.language);return!u||u(t)})).sort(Rc(c,l.language)),f=(t.links??[]).map((e=>l.getLinkType(e.id)?.data??e)).filter((e=>{const t=r.scores.get(e.id);return!h.includes(e)&&void 0!==t&&(t.score>0||d)})).sort(Rc(c,l.language,r)),p=Hc(h,{counts:t.counts,scores:r.scores}),g=Hc(f,{counts:t.counts,scores:r.scores,probable:!0}),v=[];if(p.length>1||d&&g.length>1){const{inCount:e,outCount:n,inexact:i}=t.counts.get(o.id),r=e+n;v.push({type:"link",key:o.id,linkType:o,count:i&&r>0?"some":r}),v.push({type:"separator"});for(const e of p)v.push(e)}if(g.length>0&&d){v.push({type:"probable-hint"});for(const e of g)v.push(e)}return H.jsxs("div",{className:cn(`${Ac}__links-list`,"reactodia-scrollable",0===v.length?`${Ac}__links-list-empty`:void 0),tabIndex:-1,children:[H.jsx(fl,{children:({ref:e,controller:t})=>H.jsx("ul",{ref:e,className:`${Ac}__links-root`,role:"list",onClick:t.defaultClick,onKeyDown:t.defaultKeyDown,children:v.map((e=>"link"===e.type?H.jsx(Dc,{link:e.linkType,direction:e.direction,count:e.count,filterKey:e.probable?"":n,probability:e.probability,onExpandLink:a,onMoveToFilter:s},Pc(e)):"separator"===e.type?H.jsx("hr",{className:`${Ac}__links-list-hr`},Pc(e)):"probable-hint"===e.type?H.jsx("li",{className:`${Ac}__links-probably-label`,children:c.text("connections_menu.links.suggest_similar")},Pc(e)):null))})}),0===v.length?H.jsx("label",{className:`${Ac}__links-no-results`,children:c.text("connections_menu.links.no_results")}):null]})}function Pc(e){return"link"===e.type?e.key:e.type}function Hc(e,t){const{counts:n,scores:i,probable:r}=t,o=[],a=(e,t)=>{const{inCount:a,outCount:s,inexact:l}=n.get(e.id)??{inCount:0,outCount:0,inexact:!1},c="in"===t?a:s;if(0===c)return;const d=i.get(e.id);o.push({type:"link",key:`${t}-${r?"probable":""}-${e.id}`,linkType:e,direction:t,count:l&&c>0?"some":c,probable:r,probability:r&&void 0!==d?d.score:0})};for(const t of e)a(t,"in"),a(t,"out");return o}function Rc(e,t,n){return(i,r)=>{if(n){const{scores:e}=n,t=e.has(i.id)?e.get(i.id).score:0,o=e.has(r.id)?e.get(r.id).score:0;if(t>o)return-1;if(t<o)return 1}const o=e.formatLabel(i.label,i.id,t),a=e.formatLabel(r.label,r.id,t);return o.localeCompare(a)}}function Dc(e){const{link:t,filterKey:n,direction:i,count:r,onExpandLink:o,onMoveToFilter:a,probability:s=0}=e,{model:l}=sn(),c=Pt(),{ref:d,tabIndex:u}=gl(),h=c.formatLabel(t.label,t.id,l.language),f=l.locale.formatIri(t.id),p=Math.round(100*s),g=Nl(h+(p>0?` (${p}%)`:""),n),v=c.text("in"===i?"connections_menu.link.source_title":"out"===i?"connections_menu.link.target_title":"connections_menu.link.both_title",{relation:h,relationIri:f}),m=c.text("in"===i?"connections_menu.link.source_navigate_title":"out"===i?"connections_menu.link.target_navigate_title":"connections_menu.link.both_navigate_title",{relation:h,relationIri:f});return H.jsxs("li",{ref:d,className:`${Ac}__link`,role:"listitem","data-linktypeid":t.id,children:[H.jsxs("button",{className:`${Ac}__link-button`,title:v,onClick:()=>{o({chunkId:$i(),linkType:t,direction:i,expectedCount:r,pageCount:1})},tabIndex:u,children:["in"===i||"out"===i?H.jsxs("div",{className:`${Ac}__link-direction`,children:["in"===i&&H.jsx("div",{className:"reactodia-connections-menu__link-direction-in"}),"out"===i&&H.jsx("div",{className:"reactodia-connections-menu__link-direction-out"})]}):null,H.jsx(ps,{type:"linkType",target:t.id,children:H.jsx("div",{className:`${Ac}__link-title`,children:g})}),"some"===r?null:H.jsx("span",{className:`reactodia-badge ${Ac}__link-count`,children:r<=100?r:"100+"}),a?H.jsx("div",{className:`${Ac}__link-filter-spacer`}):null,H.jsx("div",{className:`${Ac}__link-navigate-button`,title:m})]}),a?H.jsx("button",{className:`${Ac}__link-filter-button`,onClick:e=>{e.stopPropagation(),a?.({chunkId:$i(),linkType:t,direction:i,expectedCount:r,pageCount:1})},title:c.text("connections_menu.link.move_to_filter.title"),tabIndex:u}):null]})}function Bc(e){const{data:t,isLoading:n,filterKey:i,onPressAddSelected:r,onMoveToFilter:o}=e,{model:a}=sn(),s=Pt(),l=Ct(a.events,"changeLanguage",(()=>a.language)),[c,d]=v.useState((()=>new Set)),u=v.useMemo((()=>{if(!i)return t.elements;const e=Ni(i);return t.elements.filter((t=>e(a.locale.formatEntityLabel(t,l))))}),[t.elements,i,l]),h=Na(a),f=u.every((e=>h.has(e.id)||c.has(e.id))),p=u.filter((e=>!h.has(e.id))),g=p.filter((e=>c.has(e.id))),m=g.length>0?g:p,b=s.text("connections_menu.entities.counter_label",{count:g.length,total:t.elements.length});let w=null;if("some"!==t.chunk.expectedCount){const e=t.elements.length-Math.min(100,t.chunk.expectedCount),n=Math.abs(e)>100?"100+":Math.abs(e).toString();w=H.jsx("span",{className:`${Ac}__objects-extra`,title:0===e?void 0:s.text(e>0?"connections_menu.entities.extra_title":"connections_menu.entities.missing_title",{value:n}),children:0===e?null:s.text(e>0?"connections_menu.entities.extra_label":"connections_menu.entities.missing_label",{value:n})})}const y=H.jsxs("div",{className:`${Ac}__objects-count`,children:[H.jsx("span",{children:b}),w]});return H.jsxs("div",{className:`${Ac}__objects`,children:[H.jsxs("div",{className:`${Ac}__objects-select-all`,children:[H.jsxs("label",{children:[H.jsx("input",{type:"checkbox",name:"reactodia-connections-menu-select-all",checked:f&&p.length>0,onChange:()=>d(new Set(f?[]:p.map((e=>e.id)))),disabled:0===p.length,title:s.text("connections_menu.select_all.title")}),H.jsx("span",{children:s.text("connections_menu.select_all.label")})]}),H.jsx("div",{className:`${Ac}__objects-spacer`,"aria-hidden":"true"}),y]}),n?H.jsx("div",{className:`${Ac}__objects-loading`,children:H.jsx(Ic,{})}):0===u.length?H.jsx("div",{className:`${Ac}__objects-no-results`,children:s.text("connections_menu.entities.no_results")}):H.jsxs("div",{className:`${Ac}__objects-list`,tabIndex:-1,children:[H.jsx(Bl,{items:u,selection:c,onSelectionChanged:d,highlightText:i}),"some"!==t.chunk.expectedCount&&t.chunk.expectedCount>100?H.jsx("div",o?{className:`${Ac}__move-to-filter`,onClick:()=>o(t.chunk),children:s.text("connections_menu.entities.truncated_results_expand",{limit:100})}:{className:`${Ac}__move-to-filter`,children:s.text("connections_menu.entities.truncated_results",{limit:100})}):null]}),H.jsxs("div",{className:`${Ac}__objects-statusbar`,children:[H.jsx("button",{className:cn(`${Ac}__objects-add-button`,"reactodia-btn reactodia-btn-secondary"),disabled:n||m.length<=1,onClick:()=>r(m,"grouped"),children:s.text("connections_menu.entities.add_group")}),H.jsx("button",{className:cn(`${Ac}__objects-add-button`,"reactodia-btn reactodia-btn-primary"),disabled:n||0===p.length,onClick:()=>r(m,"separately"),children:s.text(g.length>0?"connections_menu.entities.add_selected":"connections_menu.entities.add_all")})]})]})}function Oc(e){const t=sn(),{canvas:n}=cr(),i=Pt(),r=v.useRef("alphabet"),o=t.getCommandBus(ks);return v.useEffect((()=>{const a=new wi;return a.listen(o,"findCapabilities",(e=>{e.capabilities.push({})})),a.listen(o,"show",(({targets:o})=>{if(0===o.length)return;const{model:a,overlay:s}=t,l=o.length>1?new jc(o,a,n):void 0,c=l??o[0],d=new Set;for(const e of o)for(const t of sa(e))d.add(t.id);s.showDialog({target:c,dialogType:Ko,style:{caption:i.text("connections_menu.dialog.caption"),defaultSize:{width:310,height:340},minSize:{width:300,height:250}},content:H.jsx(Fc,{...e,placeTarget:c,targetIris:Array.from(d),initialMode:r.current,onChangeMode:e=>{r.current=e},onCancel:()=>s.hideDialog()}),onClose:()=>l?.removeFrom(a)})})),()=>a.stopListening()}),[o]),null}var jc=class extends Wr{listener=new wi;constructor(e,t,n){super({});const i=new Set(e),r=()=>{const{x:t,y:i,width:r,height:o}=$r(e,[],n.renderingState);this.setPosition({x:t+r,y:i+o/2})};r();const o=t.history.startBatch();t.addElement(this),o.discard(),this.listener.listen(t.events,"changeCells",(e=>{(e.changedElement===this||e.updateAll)&&t.getElement(this.id)!==this&&this.listener.stopListening()})),this.listener.listen(t.events,"elementEvent",(({data:e})=>{e.changePosition&&i.has(e.changePosition.source)&&r()})),this.listener.listen(n.renderingState.events,"changeElementSize",(e=>{i.has(e.source)&&r()}))}removeFrom(e){if(this.listener.stopListening(),e.getElement(this.id)===this){const t=e.history.startBatch();e.removeElement(this.id),t.discard()}}};function Fc(e){const{canvas:t}=cr(),n=sn(),i=Pt(),r=Hl({initialValue:"",submitTimeout:200}),o=Hl({initialValue:""});return H.jsx(Uc,{...e,connectionSearch:r,objectSearch:o,canvas:t,workspace:n,translation:i})}var Uc=class extends v.Component{ALL_RELATED_ELEMENTS_LINK;handler=new wi;linkTypesListener=new wi;suggestionCancellation=new AbortController;linksScrolledListRef=v.createRef();linksScrollPosition;constructor(e){super(e);const{targetIris:t,initialMode:n,suggestProperties:i,workspace:{model:r},translation:o}=this.props;this.ALL_RELATED_ELEMENTS_LINK={id:"urn:reactodia:allLinks",label:[r.factory.literal(o.text("connections_menu.all_link.label"))]};const a=Boolean(i)&&1===t.length;this.state={loadingState:"none",panel:"connections",connectionSortMode:a?n:"alphabet",connectionSuggestions:{filterKey:null,scores:new Map}}}updateAll=()=>this.forceUpdate();scheduleUpdateAll=()=>{const{canvas:e}=this.props;e.renderingState.scheduleOnLayerUpdate(to.Overlay,this.updateAll)};componentDidMount(){const{connectionSearch:e,objectSearch:t,workspace:{model:n}}=this.props;this.handler.listen(n.events,"changeLanguage",this.scheduleUpdateAll),this.handler.listen(e.events,"changeValue",this.updateAll),this.handler.listen(e.events,"executeSearch",(({value:e})=>{this.loadSuggestions(e)})),this.handler.listen(t.events,"changeValue",this.updateAll),this.loadLinks()}getSnapshotBeforeUpdate(e,t){return"objects"===this.state.panel&&"connections"===t.panel&&this.linksScrolledListRef.current&&(this.linksScrollPosition=this.linksScrolledListRef.current.scrollTop),0}componentDidUpdate(e,t){"connections"===this.state.panel&&"objects"===t.panel&&void 0!==this.linksScrollPosition&&this.linksScrolledListRef.current&&(this.linksScrolledListRef.current.scrollTop=this.linksScrollPosition)}componentWillUnmount(){const{canvas:e}=this.props;this.handler.stopListening(),this.linkTypesListener.stopListening(),e.renderingState.cancelOnLayerUpdate(to.Overlay,this.updateAll),this.suggestionCancellation.abort()}async loadLinks(){const{targetIris:e,workspace:{model:t,triggerWorkspaceEvent:n}}=this.props;this.setState({loadingState:"loading",connections:{links:[],counts:new Map}});const i=e.length>1,r=new Map;try{await Promise.all(e.map((e=>t.dataProvider.connectedLinkStats({elementId:e,inexactCount:i}).then((e=>{for(const{id:t,inCount:n,outCount:o,inexact:a}of e){const e=r.get(t)??{inCount:0,outCount:0,inexact:!1};r.set(t,{inexact:Boolean(i||e.inexact||a),inCount:e.inCount+n,outCount:e.outCount+o})}})))))}catch(e){return console.error(e),void this.setState({loadingState:"error"})}const o=Array.from(r.keys(),(e=>t.createLinkType(e)?.data??{id:e,label:[]}));r.set(this.ALL_RELATED_ELEMENTS_LINK.id,Array.from(r.values()).reduce(((e,t)=>({inexact:Boolean(e.inexact||t.inexact),inCount:e.inCount+t.inCount,outCount:e.outCount+t.outCount})),{inCount:0,outCount:0,inexact:!1})),this.setState({loadingState:"completed",connections:{links:o,counts:r}},(()=>{this.resubscribeOnLinkTypeEvents(),n(on.connectionsLoadLinks),this.loadSuggestions("")}))}resubscribeOnLinkTypeEvents(){const{workspace:{model:e}}=this.props,{connections:t}=this.state;if(this.linkTypesListener.stopListening(),t){for(const{id:n}of t.links){const t=e.createLinkType(n);this.linkTypesListener.listen(t.events,"changeData",this.scheduleUpdateAll)}const n=new Set(t.links.map((e=>e.id)));this.linkTypesListener.listen(e.events,"changeLinkVisibility",(e=>{n.has(e.source)&&this.scheduleUpdateAll()}))}}async loadObjects(e){const{targetIris:t,workspace:{model:n,triggerWorkspaceEvent:i}}=this.props,{linkType:r,direction:o,pageCount:a}=e;this.setState({loadingState:"loading",objects:{chunk:e,elements:[]}});const s=new Map;try{await Promise.all(t.map((e=>n.dataProvider.lookup({refElementId:e,refElementLinkId:r.id===this.ALL_RELATED_ELEMENTS_LINK.id?void 0:r.id,linkDirection:o,limit:100*a}).then((e=>{for(const{element:t}of e)s.set(t.id,t)})))))}catch(e){return console.error(e),void this.setState({loadingState:"error"})}const l=Array.from(s.values());this.setState({loadingState:"completed",objects:{chunk:e,elements:l}},(()=>{i(on.connectionsLoadElements)}))}async loadSuggestions(e){const{targetIris:t,suggestProperties:n,workspace:{model:i}}=this.props,{loadingState:r,panel:o,connectionSortMode:a,connections:s,connectionSuggestions:l}=this.state;if(this.suggestionCancellation.abort(),n&&1===t.length&&"connections"===o&&"completed"===r&&s&&(e.length>0||"smart"===a)&&l.filterKey!==e){const r=t[0],o=i.language,a=e.trim(),l=s.links.map((e=>e.id));this.suggestionCancellation=new AbortController;const c=this.suggestionCancellation.signal,d=await n({elementId:r,token:a,properties:l,lang:o,signal:c}),u=new Map;for(const e of d)u.set(e.propertyIri,e);this.setState((t=>({connectionSuggestions:{...t.connectionSuggestions,filterKey:e,scores:u}})))}}render(){const{connectionSearch:e,objectSearch:t,translation:n}=this.props,{panel:i}=this.state;return H.jsxs("div",{className:Ac,children:[this.getBreadCrumbs(),H.jsx(Pl,{className:`${Ac}__search`,store:"connections"===i?e:t,inputProps:{name:"reactodia-connection-menu-filter",placeholder:n.textOptional("connections_menu.input.placeholder")},children:this.renderSortSwitches()}),this.getBody()]})}getBreadCrumbs(){const{workspace:{model:e},translation:t}=this.props,{objects:n,panel:i}=this.state;if(n&&"objects"===i){const{linkType:i,direction:r}=n.chunk,{label:o}=e.getLinkType(i.id)?.data??i,a=t.formatLabel(o,i.id,e.language);return H.jsxs("span",{className:`${Ac}__breadcrumbs`,children:[H.jsx("button",{className:`${Ac}__breadcrumbs-link`,onClick:this.onCollapseLink,children:t.text("connections_menu.breadcrumbs_root.label")})," / ",a," ",r?`(${r})`:null]})}return null}onExpandLink=e=>{const{objectSearch:t,workspace:{triggerWorkspaceEvent:n}}=this.props,{objects:i}=this.state;this.setState({panel:"objects"},(()=>t.change({value:"",action:"clear"}))),i&&i.chunk.linkType.id===e.linkType.id&&i.chunk.direction===e.direction||this.loadObjects(e),n(on.connectionsExpandLink)};onCollapseLink=()=>{this.setState({panel:"connections",loadingState:"completed"})};getBody(){const{targetIris:e,connectionSearch:t,objectSearch:n,workspace:{getCommandBus:i}}=this.props,{panel:r,connectionSortMode:o,loadingState:a,objects:s,connections:l,connectionSuggestions:c}=this.state;if("error"===a)return H.jsx(Ic,{error:!0});if(s&&"objects"===r)return H.jsx(Bc,{data:s,onMoveToFilter:this.onMoveToFilter,filterKey:n.value,isLoading:"loading"===a,onPressAddSelected:this.onAddSelectedElements},s.chunk.chunkId);if(l&&"connections"===r){if("loading"===a||"smart"===o&&null===c.filterKey)return H.jsx(Ic,{});const n={capabilities:[]};return i(xs).trigger("findCapabilities",n),H.jsx(Vc,{data:l,suggestions:c,filterKey:t.value,sortMode:o,allRelatedLink:this.ALL_RELATED_ELEMENTS_LINK,onExpandLink:this.onExpandLink,onMoveToFilter:n.capabilities.length>0&&1===e.length?this.onMoveToFilter:void 0,scrolledListRef:this.linksScrolledListRef})}return H.jsx("div",{})}onAddSelectedElements=(e,t)=>{const{onCancel:n}=this.props,{objects:i}=this.state,r=e.map((e=>e.id)),o=i?i.chunk.linkType.id:void 0;this.placeElements(r,i&&o!==this.ALL_RELATED_ELEMENTS_LINK.id?o:void 0,t),n()};placeElements(e,t,n){const{placeTarget:i,canvas:r,workspace:{model:o,triggerWorkspaceEvent:a}}=this.props,s=o.history.startBatch(Ht.text("connections_menu.place_elements.command"));let l=[];switch(n){case"separately":l=e.map((e=>o.createElement(e)));break;case"grouped":{const t=new oa({items:e.map((e=>({data:ra.placeholderData(e)})))});o.addElement(t),l=[t];break}}r.renderingState.syncUpdate(),s.history.execute(Ur({target:i,elements:l,graph:o,sizeProvider:r.renderingState})),t&&"hidden"===o.getLinkVisibility(t)&&s.history.execute(Fr(o,t,"visible")),s.history.execute(za(o,e)),s.history.execute($a(o,{addedElements:e})),s.store(),a(on.editorAddElements)}onMoveToFilter=e=>{const{targetIris:t,workspace:{getCommandBus:n}}=this.props,{linkType:i,direction:r}=e,o=1===t.length?t[0]:void 0;if(!o)return;n(xs).trigger("setCriteria",i.id===this.ALL_RELATED_ELEMENTS_LINK.id?{criteria:{refElement:o}}:{criteria:{refElement:o,refElementLink:i.id,linkDirection:r}})};renderSortSwitches(){const{targetIris:e,suggestProperties:t,translation:n}=this.props,{panel:i}=this.state;return"connections"===i&&t&&1===e.length?H.jsxs("div",{className:`${Ac}__sort-switches`,children:[this.renderSortSwitch("alphabet",`${Ac}__sort-label-alpha`,n.text("connections_menu.sort_alphabetically.title")),this.renderSortSwitch("smart",`${Ac}__sort-label-smart`,n.text("connections_menu.sort_smart.title"))]}):null}renderSortSwitch(e,t,n){const{connectionSortMode:i}=this.state;return H.jsxs("div",{children:[H.jsx("input",{type:"radio",name:"sort",id:e,value:e,className:`${Ac}__sort-switch`,onChange:this.onSortChange,checked:i===e}),H.jsx("label",{htmlFor:e,title:n,className:cn(`${Ac}__sort-switch-label`,t)})]})}onSortChange=e=>{const{onChangeMode:t,connectionSearch:n}=this.props,{connectionSortMode:i}=this.state,r=e.target.value;i!==r&&this.setState({connectionSortMode:r},(()=>{t(r),n.change({value:n.value,action:"submit"})}))}};function qc(e){const{allowDrop:t,getDroppedItems:n=Wc}=e,{canvas:i}=cr(),{model:r,triggerWorkspaceEvent:o}=sn();return v.useEffect((()=>{const e=new wi;return e.listen(i.events,"dragover",(e=>{t&&!t(e)||(e.sourceEvent.dataTransfer&&(e.sourceEvent.dataTransfer.dropEffect="move"),e.allowDrop())})),e.listen(i.events,"drop",(e=>{e.sourceEvent.preventDefault();const t=n(e);if(t.length>0){const n=r.history.startBatch(Ht.text("drop_on_canvas.drop.command")),a=Na(r),s=new Set,l=[],c=[];for(const e of t)if("element"===e.type){let t=!1,n=!1;for(const i of sa(e.element))n=!0,a.has(i.id)||s.has(i.id)||(t=!0,s.add(i.id),ra.isPlaceholderData(i)&&l.push(i.id));n&&!t||c.push(e.element)}for(const e of c)r.getElement(e.id)||r.addElement(e);!function(e,t,n){for(const n of e)n.setPosition(t);n.renderingState.syncUpdate();let{x:i,y:r}=t,o=!0;for(const t of e){let{width:e,height:a}=yr(t,n.renderingState);0===e&&(e=100),0===a&&(a=50),o&&(o=!1,i-=e/2,r-=a/2),t.setPosition({x:i,y:r}),r+=a+20}}(c,e.position,i),n.history.execute(za(r,l)),n.history.execute($a(r,{addedElements:Array.from(s)})),n.store(),c.length>0&&c[c.length-1].focus(),r.setSelection(c),i.renderingState.syncUpdate(),o(on.editorAddElements)}})),()=>e.stopListening()}),[t,n]),null}function Wc(e){const t=(t,n=!1)=>{try{const i=e.sourceEvent.dataTransfer?.getData(t);if(!i)return;let r=[];try{const e=JSON.parse(i);Array.isArray(e)&&(r=e.filter((e=>"string"==typeof e)))}catch(e){r=[n?decodeURI(i):i]}if(0===r.length)return;return r.map((e=>({type:"element",element:new ra({data:ra.placeholderData(e)})})))}catch(e){return}};return t("application/x-reactodia-elements")??t("text/uri-list",!0)??t("text")??[]}var Gc="reactodia-form";function Zc(e){const{link:t,onChange:n,disabled:i,error:r}=e,{editor:o}=sn(),a=Pt(),s=Tt({input:[o.metadataProvider,t.source.id,t.target.id],load:([e],{signal:n})=>async function(e){const{link:t,metadataProvider:n,signal:i}=e;if(!n)return[];const r=await hi(n.canConnect(t.source,t.target,void 0,{signal:i}),i);if(null===r)return[];const o=new Set,a=new Set;for(const{inLinks:e,outLinks:t}of r){for(const t of e)o.add(t);for(const e of t)a.add(e)}let s=1;const l=[];for(const e of a)l.push({key:s,iri:e,direction:"out"}),s++;for(const e of o)l.push({key:s,iri:e,direction:"in"}),s++;return l}({link:t,metadataProvider:e,signal:n})}),l="completed"===s.status?s.data:void 0,c=(l??[]).find((({iri:e,direction:n})=>e===t.base.linkTypeId&&n===t.direction));return H.jsxs("div",{className:`${Gc}__control-row`,children:[H.jsx("label",{children:a.text("visual_authoring.select_relation.type.label")}),l&&"completed"===s.status?H.jsxs("select",{className:"reactodia-form-control",name:"reactodia-link-type-selector-select",value:c?.key??-1,onChange:e=>{const i=Number(e.currentTarget.value),r=l?.find((e=>e.key===i));r&&n({...t,base:{...t.base,linkTypeId:r.iri},direction:r.direction})},disabled:i,children:[H.jsx("option",{value:-1,disabled:!0,children:a.text("visual_authoring.select_relation.type.placeholder")}),H.jsx(Kc,{link:t,linkTypes:l})]}):H.jsx("div",{children:H.jsx(Yt,{width:20,height:20,errorOccurred:"error"===s.status})}),r?H.jsx("span",{className:`${Gc}__control-error`,children:r}):null]})}function Kc(e){const{link:t,linkTypes:n}=e,{model:i}=sn(),r=Pt(),o=Ct(i.events,"changeLanguage",(()=>i.language));return Dt(rn,n.map((e=>e.iri)),i),H.jsx(H.Fragment,{children:[...n].sort(Xc(i,r,o)).map((({key:e,iri:n,direction:o})=>{const a=i.getLinkType(n),s=r.formatLabel(a?.data?.label,n,i.language);let[l,c]=[t.source,t.target].map((e=>i.locale.formatEntityLabel(e,i.language)));return"in"===o&&([l,c]=[c,l]),H.jsx("option",{value:e,children:r.text("visual_authoring.select_relation.relation_type.label",{relation:s,source:l,target:c})},e)}))})}function Xc(e,t,n){return(i,r)=>{const o=e.getLinkType(i.iri),a=e.getLinkType(r.iri),s=t.formatLabel(o?.data?.label,i.iri,n),l=t.formatLabel(a?.data?.label,r.iri,n),c=s.localeCompare(l);return 0!==c?c:"out"===i.direction&&"in"===r.direction?-1:"in"===i.direction&&"out"===r.direction?1:0}}function Qc(e,t,n){let[i,r]=[t,n];return"in"===e.direction&&([i,r]=[r,i]),new la({sourceId:i.id,targetId:r.id,data:{...e.base,sourceId:i.iri,targetId:r.iri}})}v.createContext(null);var Yc="reactodia-resizable-box";function Jc(e){const{className:t,mapCoordsFromPage:n,startResize:i,minWidth:r=0,minHeight:o=0}=e,[a,s]=v.useState(),l=e=>{e.stopPropagation(),s(i())},c=()=>{a?.end(),s(void 0)},d=(e,t,i,s)=>{if(!a)return;const{initialBounds:l}=a,c=n(0,0),{x:d,y:u}=dr.subtract(n(e,t),c),{x:h,y:f}=dr.subtract(n(i,s),c),p={x:Math.min(l.x+d,l.x+l.width-r),y:Math.min(l.y+u,l.y+l.height-o),width:Math.max(l.width+h,r),height:Math.max(l.height+f,o)};a.onResize(p)};v.useEffect((()=>()=>a?.end()),[]);const u=H.jsx("svg",{className:`${Yc}__corner`,viewBox:"-2 -2 14 14",children:H.jsx("circle",{cx:5,cy:5,r:5})}),h=H.jsx("svg",{className:`${Yc}__vertical`,viewBox:"-2 -2 34 14",children:H.jsx("rect",{x:0,y:0,rx:2,ry:2,width:30,height:10})}),f=H.jsx("svg",{className:`${Yc}__horizontal`,viewBox:"-2 -2 14 34",children:H.jsx("rect",{x:0,y:0,rx:2,ry:2,width:10,height:30})}),p=`${Yc}__handle`;return H.jsxs("div",{className:cn(Yc,t),children:[H.jsx(Fa,{className:p,dock:"n",onBeginDragHandle:l,onEndDragHandle:c,onDragHandle:(e,t,n)=>d(0,n,0,-n),children:h}),H.jsx(Fa,{className:p,dock:"s",onBeginDragHandle:l,onEndDragHandle:c,onDragHandle:(e,t,n)=>d(0,0,0,n),children:h}),H.jsx(Fa,{className:p,dock:"w",onBeginDragHandle:l,onEndDragHandle:c,onDragHandle:(e,t)=>d(t,0,-t,0),children:f}),H.jsx(Fa,{className:p,dock:"e",onBeginDragHandle:l,onEndDragHandle:c,onDragHandle:(e,t)=>d(0,0,t,0),children:f}),H.jsx(Fa,{className:p,dock:"nw",onBeginDragHandle:l,onEndDragHandle:c,onDragHandle:(e,t,n)=>d(t,n,-t,-n),children:u}),H.jsx(Fa,{className:p,dock:"ne",onBeginDragHandle:l,onEndDragHandle:c,onDragHandle:(e,t,n)=>d(0,n,t,-n),children:u}),H.jsx(Fa,{className:p,dock:"sw",onBeginDragHandle:l,onEndDragHandle:c,onDragHandle:(e,t,n)=>d(t,0,-t,n),children:u}),H.jsx(Fa,{className:p,dock:"se",onBeginDragHandle:l,onEndDragHandle:c,onDragHandle:(e,t,n)=>d(0,0,t,n),children:u})]})}var ed="reactodia-selection-action";function td(e){const{dock:t,dockRow:n,dockColumn:i,className:r,title:o,hotkey:a,disabled:s,onSelect:l,onMouseDown:c,onPointerDown:d,children:u}=e,h=br(a,s?void 0:l),f=o&&h?`${o} (${h.text})`:o;return H.jsx("button",{type:"button",className:cn(ed,nd(t),r),style:id(n,i),title:f,"aria-label":o,"aria-keyshortcuts":h?.text,disabled:s,onClick:l,onMouseDown:c,onPointerDown:d,children:u})}function nd(e){switch(e){case"nw":return`${ed}--dock-nw`;case"n":return`${ed}--dock-n`;case"ne":return`${ed}--dock-ne`;case"e":return`${ed}--dock-e`;case"se":return`${ed}--dock-se`;case"s":return`${ed}--dock-s`;case"sw":return`${ed}--dock-sw`;case"w":return`${ed}--dock-w`;default:return}}function id(e,t){return{"--reactodia-dock-x":t??0,"--reactodia-dock-y":e??0}}function rd(e){return Ct(e.events,"changeSelection",(()=>{const t=1===e.selection.length?e.selection[0]:void 0;return t instanceof qr?t:void 0}))}function od(e){const{dock:t,dockRow:n,dockColumn:i,className:r,title:o}=e;return H.jsx("div",{role:"button",className:cn(r,nd(t),`${ed}__spinner`),style:id(n,i),title:o,children:H.jsx(Yt,{width:20,height:20})})}function ad(e){const{className:t,title:n,hotkey:i,...r}=e,{canvas:o}=cr(),{model:a,editor:s}=sn(),l=Pt(),c=Ct(a.events,"changeSelection",(()=>a.selection)).filter((e=>e instanceof qr));let d=0,u=0;for(const e of c)e instanceof ra&&(u++,Oo.isAddedEntity(s.authoringState,e.iri)&&d++);const h=1===d&&1===u;return H.jsx(td,{...r,className:cn(t,h?`${ed}__delete`:`${ed}__remove`),title:n||l.text(h?"selection_action.remove.title_new":1===c.length?"selection_action.remove.title_single":"selection_action.remove.title"),hotkey:void 0===i?"None+Delete":i,onSelect:()=>{s.removeSelectedElements(),o.focus()}})}function sd(e){const{className:t,title:n,...i}=e,{model:r,canvas:o}=cr(),a=Pt(),s=Ct(r.events,"changeSelection",(()=>r.selection)).filter((e=>e instanceof qr));return s.length<=1?null:H.jsx(td,{...i,className:cn(t,`${ed}__zoomToFit`),title:n??a.text("selection_action.zoom_to_fit.title"),onSelect:()=>{const e=new Set;for(const t of s)for(const n of r.getElementLinks(t))e.add(n);const t=$r(s,e,o.renderingState);o.zoomToFitRect(t,{animate:!0})}})}function ld(e){const{className:t,title:n,...i}=e,{model:r,canvas:o}=cr(),{performLayout:a}=sn(),s=Pt(),l=Ct(r.events,"changeSelection",(()=>r.selection)).filter((e=>e instanceof qr));return l.length<=1?null:H.jsx(td,{...i,className:cn(t,`${ed}__layout`),title:n??s.text("selection_action.layout.title"),onSelect:()=>{a({canvas:o,selectedElements:new Set(l),animate:!0})}})}function cd(e){const{className:t,title:n,...i}=e,{canvas:r}=cr(),{model:o}=sn(),a=Pt(),s=Ct(o.events,"changeSelection",(()=>o.selection)).filter((e=>e instanceof qr)),l=function(e,t){return v.useCallback((n=>{if(0===t.length)return()=>{};const i=new Set(t),r=new wi;return r.listen(e.events,"elementEvent",(({data:e})=>{if(e.changeElementState&&i.has(e.changeElementState.source)){const t=Boolean(e.changeElementState.previous.get(pi.Expanded));e.changeElementState.source.isExpanded!==t&&n()}})),()=>r.stopListening()}),[e.events,t])}(o,s),c=e=>{const t=r.renderingState.getElementTemplate(e);return Boolean(t.supports?.[pi.Expanded])},d=$t(oo(l,r.renderingState),(()=>s.every((e=>!c(e)||e.isExpanded))));return s.some(c)?H.jsx(td,{...i,className:cn(t,d?`${ed}__collapse`:`${ed}__expand`),title:n??a.text(1===s.length?"selection_action.expand.title_single":"selection_action.expand.title"),onSelect:()=>{if(1===s.length){const e=s[0];o.history.execute(Or(e,!e.isExpanded))}else{const e=o.history.startBatch(Ht.text(d?"selection_action.expand.collapse_command":"selection_action.expand.expand_command"));for(const t of s)c(t)&&e.history.execute(Or(t,!d));e.store()}}}):null}function dd(e){const{dock:t,dockRow:n,dockColumn:i,className:r,title:o,anchorProps:a,onSelect:s}=e,{model:l}=sn(),c=Pt(),d=rd(l);if(!(d instanceof ra))return null;const u=l.locale.prepareAnchor(d.iri);return H.jsx("a",{...u,role:"button",...a,className:cn(ed,nd(t),r,`${ed}__link`),style:id(n,i),title:o??c.text("selection_action.anchor.title"),onClick:e=>{s?s(d,e):u.onClick?.(e)}})}function ud(e){const{className:t,title:n,...i}=e,{model:r,overlay:o,getCommandBus:a}=sn(),s=Pt(),l=Ct(o.events,"changeOpenedDialog",(()=>o.openedDialog?.knownType===Ko)),c=Ct(r.events,"changeSelection",(()=>r.selection)).filter((e=>e instanceof qr));let d=0;for(const e of c)for(const t of sa(e))d++;const u=a(ks),h={capabilities:[]};return u.trigger("findCapabilities",h),h.capabilities.length>0&&d>0?H.jsx(td,{...i,className:cn(t,l?`${ed}__navigate-close`:`${ed}__navigate-open`),title:n??s.text("selection_action.connections.title"),onSelect:()=>{l?o.hideDialog():u.trigger("show",{targets:c})}}):null}function hd(e){const{className:t,title:n,...i}=e,{model:r,getCommandBus:o}=sn(),a=Pt(),s=rd(r),l=o(xs),c={capabilities:[]};return l.trigger("findCapabilities",c),s instanceof ra&&c.capabilities.length>0?H.jsx(td,{...i,className:cn(t,`${ed}__add-to-filter`),title:n??a.text("selection_action.add_to_filter.title"),onSelect:()=>{l.trigger("setCriteria",{criteria:{refElement:s.iri}})}}):null}function fd(e){const{className:t,title:n,hotkey:i,...r}=e,{canvas:o}=cr(),a=sn(),s=Pt(),{model:l}=a,c=Ct(l.events,"changeSelection",(()=>l.selection)).filter((e=>e instanceof qr)),d=c.length>0&&c.every((e=>e instanceof ra)),u=c.length>0&&c.every((e=>e instanceof oa));return 0===c.length||1===c.length&&d||c.every((e=>e instanceof Wo))?null:H.jsx(td,{...r,className:cn(t,u?`${ed}__ungroup`:`${ed}__group`),disabled:!(d||u),title:n??s.text(u?"selection_action.group.title_ungroup":"selection_action.group.title"),hotkey:void 0===i?"None+G":i,onSelect:async()=>{if(d){const e=await Ra(a,{elements:c,canvas:o});l.setSelection([e]),e.focus()}else if(u){const e=await Da(a,{groups:c,canvas:o});l.setSelection(e),o.focus()}}})}function pd(e){const{model:t}=cr(),n=rd(t);return n instanceof ra?H.jsx(gd,{...e,target:n}):n instanceof Wo?H.jsx(vd,{...e,target:n}):null}function gd(e){const{target:t,className:n,title:i,linkType:r,...o}=e,{canvas:a}=cr(),{editor:s,getCommandBus:l}=sn(),c=Pt(),d=Ct(s.events,"changeMode",(()=>s.inAuthoringMode)),u=function(e,t,n){const{canvas:i}=cr(),r=t instanceof ra?t:void 0,o=$t(Et(r?.events,"changeData"),(()=>r?.data)),a=$t(oo(Et(e.events,"changeAuthoringState"),i.renderingState),(()=>e.authoringState)),s=t instanceof ra?a.elements.get(t.iri):void 0,{data:l,status:c}=Tt({input:[e.metadataProvider,o,s,n],load:async([e,t,n,i],{signal:r})=>!(!e||!t||n&&"entityDelete"===n.type)&&(await e.canConnect(t,void 0,i,{signal:r})).length>0});return"completed"===c?l:void 0}(s,d?t:void 0,r);if(!d)return null;if(void 0===u){const{dock:t,dockRow:n,dockColumn:i}=e;return H.jsx(od,{dock:t,dockRow:n,dockColumn:i})}return H.jsx(td,{...o,className:cn(n,`${ed}__establish-link`),disabled:!u,title:i??c.text(u?"selection_action.establish_relation.title":"selection_action.establish_relation.title_disabled"),onPointerDown:e=>{e.preventDefault();const n=a.metrics.pageToPaperCoords(e.pageX,e.pageY);l(Cs).trigger("startDragEdit",{operation:{mode:"connect",source:t,linkType:r,point:n}})}})}function vd(e){const{target:t,className:n,title:i,linkType:r,...o}=e,{canvas:a}=cr(),{getCommandBus:s}=sn(),l=Pt(),c={capabilities:[]};return s(_s).trigger("findCapabilities",c),0===c.capabilities.length?null:H.jsx(td,{...o,className:cn(n,`${ed}__establish-link`),title:i??l.text("selection_action.establish_relation.title"),onPointerDown:e=>{e.preventDefault();const n=a.metrics.pageToPaperCoords(e.pageX,e.pageY);s(_s).trigger("startDragOperation",{operation:{mode:"connect",source:t,point:n}})}})}function md(e){const{className:t,title:n,initialContent:i,...r}=e,{model:o,getCommandBus:a}=sn(),s=Pt(),l=Ct(o.events,"changeSelection",(()=>o.selection)).filter((e=>e instanceof qr)),c={capabilities:[]};return a(_s).trigger("findCapabilities",c),0===l.length||0===c.capabilities.length?null:H.jsx(td,{...r,className:cn(t,`${ed}__annotate`),title:n??s.text("selection_action.annotate.title"),onSelect:()=>{let e;"function"==typeof i?e=i(l):void 0===i?e={type:"plaintext",text:s.text("selection_action.annotate.defaultContent")}:null!==i&&(e=i),a(_s).trigger("createAnnotation",{targets:l,content:e})}})}function bd(e){const{model:t,canvas:n}=cr(),i=rd(t);return i?H.jsx(Bo,{layer:"overElements",children:H.jsx(yd,{...e,target:i,canvas:n,model:t})}):null}var wd="reactodia-halo",yd=class extends v.Component{listener=new wi;targetListener=new wi;constructor(e){super(e),this.state={}}componentDidMount(){const{canvas:e,target:t}=this.props;this.listener.listen(e.events,"changeTransform",(()=>this.forceUpdate())),this.listenToElement(t)}componentDidUpdate(e){e.target!==this.props.target&&this.listenToElement(this.props.target)}componentWillUnmount(){this.listener.stopListening(),this.listenToElement(void 0)}listenToElement(e){const{canvas:t}=this.props;this.targetListener.stopListening(),e&&(this.targetListener.listenAny(e.events,this.onElementEvent),this.targetListener.listen(t.renderingState.events,"changeElementSize",(t=>{t.source===e&&dn.flushSync((()=>{this.forceUpdate()}))})))}onElementEvent=e=>{e.changePosition&&dn.flushSync((()=>{this.forceUpdate()}))};render(){const{target:e,canvas:t,model:n,margin:i,children:r}=this.props,o=t.renderingState.getElementTemplate(e),a=Boolean(o.supports?.[pi.ElementSize]),s=yr(e,t.renderingState),{x:l,y:c}=t.metrics.paperToScrollablePaneCoords(s.x,s.y),{x:d,y:u}=t.metrics.paperToScrollablePaneCoords(s.x+s.width,s.y+s.height),h={"--reactodia-selection-single-box-margin":i,"--reactodia-halo-left":`${l}px`,"--reactodia-halo-top":`${c}px`,"--reactodia-halo-width":d-l+"px","--reactodia-halo-height":u-c+"px"};return H.jsxs("div",{className:cn(wd,a?`${wd}--resizable`:void 0),style:h,children:[a&&H.jsx(Jc,{className:`${wd}__resizer`,mapCoordsFromPage:(e,n)=>t.metrics.pageToPaperCoords(e,n),startResize:()=>(n.history.registerToUndo(Lr.compound(Ht.text("commands.transform_elements.title"),[Hr.capturePartial([e],[])])),new _d(e,s)),minWidth:40,minHeight:40}),r??H.jsxs(H.Fragment,{children:[H.jsx(fd,{dock:"nw",dockColumn:1}),H.jsx(ad,{dock:"ne"}),H.jsx(cd,{dock:"s"}),H.jsx(dd,{dock:"w"}),H.jsx(ud,{dock:"e"}),H.jsx(hd,{dock:"se"}),H.jsx(md,{dock:"se",dockColumn:1}),H.jsx(pd,{dock:"sw"})]})]})}},_d=class{target;initialBounds;constructor(e,t){this.target=e,this.initialBounds=t}onResize({x:e,y:t,width:n,height:i}){this.target.setPosition({x:e,y:t}),this.target.setElementState(this.target.elementState.set(pi.ElementSize,{width:n,height:i}))}end(){}},kd=v.createContext(null);function xd(){const e=v.useContext(kd);if(!e)throw new Error("Missing context for LinkAction");return e}var Sd="reactodia-link-action";function Cd(e){const{dockSide:t,dockIndex:n,disabled:i,className:r,title:o,hotkey:a,onSelect:s,onMouseDown:l,onPointerDown:c,children:d}=e,{getPosition:u}=xd(),h=br(a,i?void 0:s),f=o&&h?`${o} (${h.text})`:o;return H.jsx("button",{role:"button",className:cn(r,Sd),style:u(t,n),disabled:i,title:f,"aria-label":o,"aria-keyshortcuts":h?.text,onClick:s,onMouseDown:l,onPointerDown:c,children:d})}function Ld(e){const{dockSide:t,dockIndex:n,className:i,title:r}=e,{buttonSize:o,getPosition:a}=xd();return H.jsx("div",{className:cn(i,`${Sd}__spinner`),style:a(t,n),title:r,children:H.jsx(Yt,{width:o,height:o})})}function Md(e){const{className:t,title:n,...i}=e,{link:r}=xd(),{model:o,editor:a,getCommandBus:s}=sn(),l=Pt(),c=Ct(a.events,"changeMode",(()=>a.inAuthoringMode)),d=$d(c?r:void 0,o,a),u="completed"===d.status?d.data:void 0,h=Ct(a.events,"changeAuthoringState",(()=>r instanceof la&&Oo.isDeletedRelation(a.authoringState,r.data)));if(!(c&&r instanceof la)||h)return null;if(void 0===u){const{dockSide:t,dockIndex:n}=e;return H.jsx(Ld,{dockSide:t,dockIndex:n})}return H.jsx(Cd,{...i,className:cn(t,`${Sd}__button`,`${Sd}__edit`),title:n??l.text(u.canChangeType?"link_action.edit_relation.title":"link_action.edit_relation.title_disabled"),disabled:!u.canChangeType,onSelect:()=>s(Cs).trigger("editRelation",{target:r})})}function Ed(e){const{link:t}=xd();return t instanceof la?H.jsx(zd,{...e,link:t}):t instanceof Go?H.jsx(Nd,{...e,link:t}):null}function zd(e){const{link:t,className:n,title:i,hotkey:r,...o}=e,{model:a,editor:s}=sn(),l=Pt(),c=$d(t,a,s),d="completed"===c.status?c.data:void 0,u=Ct(s.events,"changeAuthoringState",(()=>t instanceof la&&Oo.isDeletedRelation(s.authoringState,t.data)));if(!(s.inAuthoringMode&&t instanceof la)||u)return null;if(void 0===d){const{dockSide:t,dockIndex:n}=e;return H.jsx(Ld,{dockSide:t,dockIndex:n})}return H.jsx(Cd,{...o,className:cn(n,`${Sd}__button`,`${Sd}__delete`),title:i??l.text(d.canDelete?"link_action.delete_relation.title":"link_action.delete_relation.title_disabled"),hotkey:void 0===r?"None+Delete":r,disabled:!d.canDelete,onSelect:()=>s.deleteRelation(t.data)})}function $d(e,t,n){const{canvas:i}=cr(),r=$t(oo(Et(n.events,"changeAuthoringState"),i.renderingState),(()=>n.authoringState));return Tt({input:[n.metadataProvider,e,r],load:async([e,n,i],{signal:r})=>{if(e&&n instanceof la&&!function(e,t){return Oo.isDeletedEntity(e,t.data.sourceId)||Oo.isDeletedEntity(e,t.data.targetId)}(i,n)){const i=t.getElement(n.sourceId),o=t.getElement(n.targetId);return e.canModifyRelation(n.data,i.data,o.data,{signal:r})}return{}}})}function Nd(e){const{link:t,className:n,title:i,hotkey:r,...o}=e,{editor:a}=sn(),s=Pt();return H.jsx(Cd,{...o,className:cn(n,`${Sd}__button`,`${Sd}__delete`),title:i??s.text("link_action.delete_annotation.title"),hotkey:void 0===r?"None+Delete":r,onSelect:()=>a.removeItems([t])})}function Td(e){const{link:t}=xd();return t instanceof la?H.jsx(Ad,{...e,link:t}):t instanceof Go?H.jsx(Id,{...e,link:t}):null}function Ad(e){const{link:t,dockSide:n,className:i,title:r,...o}=e,{buttonSize:a,getAngleInDegrees:s}=xd(),{canvas:l}=cr(),{editor:c,getCommandBus:d}=sn(),u=Pt(),h=Ct(c.events,"changeMode",(()=>c.inAuthoringMode)),f=Ct(c.events,"changeAuthoringState",(()=>Oo.isDeletedRelation(c.authoringState,t.data)));return h?H.jsx(Cd,{...o,dockSide:n,dockIndex:0,className:cn(i,`${Sd}__endpoint`),title:r??u.text("source"===n?"link_action.move_relation.move_source_title":"link_action.move_relation.move_target_title"),disabled:f,onPointerDown:e=>{e.preventDefault();const i=l.metrics.pageToPaperCoords(e.pageX,e.pageY);d(Cs).trigger("startDragEdit",{operation:{mode:"source"===n?"moveSource":"moveTarget",link:t,point:i}})},children:H.jsx(Vd,{dockSide:n,buttonSize:a,angle:s(n)})}):null}function Id(e){const{link:t,dockSide:n,className:i,title:r,...o}=e,{buttonSize:a,getAngleInDegrees:s}=xd(),{canvas:l}=cr(),{getCommandBus:c}=sn(),d=Pt(),u={capabilities:[]};return c(_s).trigger("findCapabilities",u),0===u.capabilities.length?null:H.jsx(Cd,{...o,dockSide:n,dockIndex:0,className:cn(i,`${Sd}__endpoint`),title:r??d.text("source"===n?"link_action.move_relation.move_source_title":"link_action.move_relation.move_target_title"),onPointerDown:e=>{e.preventDefault();const i=l.metrics.pageToPaperCoords(e.pageX,e.pageY);c(_s).trigger("startDragOperation",{operation:{mode:"source"===n?"moveSource":"moveTarget",link:t,point:i}})},children:H.jsx(Vd,{dockSide:n,buttonSize:a,angle:s(n)})})}function Vd(e){const{dockSide:t,buttonSize:n,angle:i}=e;return H.jsx("svg",{width:n,height:n,style:{transform:`rotate(${i}deg)`},children:H.jsx("g",{transform:`scale(${n})`,children:"source"===t?H.jsx("circle",{r:.5,cx:.5,cy:.5,fill:"currentColor"}):H.jsx("polygon",{points:"0,0.5 1,1 1,0",fill:"currentColor"})})})}function Pd(e){const{className:t,title:n}=e,{link:i}=xd(),{canvas:r}=cr(),{view:{renameLinkProvider:o},getCommandBus:a}=sn(),s=Pt(),l=$t(Et(r.renderingState.events,"changeLinkLabelBounds"),(()=>r.renderingState.getLinkLabelBounds(i)));if(!o?.canRename(i)||!l)return null;const{x:c,y:d,width:u,height:h}=l,{x:f,y:p}=r.metrics.paperToScrollablePaneCoords(c+u,d+h/2),g={width:15,height:17,left:f,top:p-8.5};return H.jsx("button",{className:cn(t,`${Sd}__rename`),style:g,title:n??s.text("link_action.rename_link.title"),onClick:()=>a(_s).trigger("renameLink",{target:i})})}function Hd(e){const{canvas:t,model:n}=cr(),i=$t(Et(n.events,"changeSelection"),(()=>{const e=1===n.selection.length?n.selection[0]:void 0;return e instanceof Gr?e:void 0}));return i?H.jsx(jd,{...e,target:i,model:n,canvas:t}):null}var Rd="reactodia-halo-link",Dd=0,Bd=20,Od=5,jd=class e extends v.Component{listener=new wi;targetListener=new wi;constructor(t){super(t),this.state={actionContext:e.makeActionContext(this.props)}}static makeActionContext(e){const{target:t,model:n,canvas:i,buttonSize:r=Bd,buttonMargin:o=Od}=e,a=function(e,t,n){const i=t.getElement(e.sourceId),r=t.getElement(e.targetId);if(!i||!r)return;const o=n.getLinkTemplate(e),a=n.getRouting(e.id),s=a?a.vertices:e.vertices||[],l=n.getElementShape(i),c=n.getElementShape(r),d=xr(l,c,s);return Er.create({type:o?.spline??Er.defaultType,points:d,source:hr.center(l.bounds),target:hr.center(c.bounds)})}(t,n,i.renderingState);if(!a)return null;const s=Sr(a.geometry.points);return{link:t,spline:a,buttonSize:r,getPosition:(e,t)=>{const n=(r+o)*t,l=Cr(a.geometry.points,"source"===e?n:s-n),{x:c,y:d}=i.metrics.paperToScrollablePaneCoords(l.x,l.y);return{top:d-r/2,left:c-r/2}},getAngleInDegrees:e=>{const{points:t}=a.geometry,n=dr.normalize(dr.subtract(t["source"===e?0:t.length-2],t["source"===e?1:t.length-1]));return Math.atan2(n.y,n.x)*(180/Math.PI)}}}componentDidMount(){const{canvas:e,target:t}=this.props;this.listener.listen(e.events,"changeTransform",(()=>this.forceUpdate())),this.listenToTarget(t)}componentDidUpdate(e){this.props.target!==e.target&&this.listenToTarget(this.props.target),this.props.target===e.target&&this.props.buttonSize===e.buttonSize&&this.props.buttonMargin===e.buttonMargin||this.updateActionContext()}componentWillUnmount(){this.listener.stopListening(),this.listenToTarget(void 0)}listenToTarget(e){const{model:t,canvas:n}=this.props;if(this.targetListener.stopListening(),e){const i=t.getElement(e.sourceId),r=t.getElement(e.targetId);this.targetListener.listen(i.events,"changePosition",this.updateActionContext),this.targetListener.listen(r.events,"changePosition",this.updateActionContext),this.targetListener.listen(e.events,"changeVertices",this.updateActionContext),this.targetListener.listen(n.renderingState.events,"changeElementSize",(e=>{e.source!==i&&e.source!==r||this.updateActionContext()})),this.targetListener.listen(n.renderingState.events,"changeRoutings",(t=>{t.previous.get(e.id)!==t.source.getRouting(e.id)&&this.updateActionContext()}))}}updateActionContext=()=>{this.setState(((t,n)=>({actionContext:e.makeActionContext(n)})))};render(){const{canvas:e,highlightMargin:t=Dd,buttonSize:n=Bd,buttonMargin:i=Od,children:r}=this.props,{actionContext:o}=this.state;if(!o)return null;const a={"--reactodia-link-button-size":`${n}px`,"--reactodia-link-button-margin":`${i}px`};return H.jsxs(H.Fragment,{children:[H.jsx(Fd,{actionContext:o,style:a,margin:t,canvas:e}),H.jsx(Bo,{layer:"overElements",children:H.jsx("div",{className:Rd,style:a,children:H.jsx(kd.Provider,{value:o,children:r??H.jsxs(H.Fragment,{children:[H.jsx(Td,{dockSide:"target"}),H.jsx(Td,{dockSide:"source"}),H.jsx(Md,{dockSide:"target",dockIndex:1}),H.jsx(Ed,{dockSide:"target",dockIndex:2}),H.jsx(Pd,{})]})})})})]})}};function Fd(e){const{actionContext:{link:t,spline:n},style:i,margin:r,canvas:o}=e,a=$t(Et(o.renderingState.events,"changeLinkLabelBounds"),(()=>o.renderingState.getLinkLabelBounds(t)));let s;if(a){const{x:e,y:t}=o.metrics.paperToScrollablePaneCoords(a.x,a.y),{x:n,y:i}=o.metrics.paperToScrollablePaneCoords(a.x+a.width,a.y+a.height);s={left:e-r,top:t-r,width:n-e+2*r,height:i-t+2*r}}return H.jsxs(H.Fragment,{children:[H.jsx(Bo,{layer:"overLinkGeometry",children:H.jsx(Xr,{paperTransform:o.metrics.transform,className:Rd,style:{...i,overflow:"visible",pointerEvents:"none"},children:H.jsx("path",{className:`${Rd}__path-highlight`,d:n.toPath()})})}),s&&H.jsx(Bo,{layer:"overLinks",children:H.jsx("div",{className:Rd,style:i,children:H.jsx("div",{className:`${Rd}__label-highlight`,style:s})})})]})}var Ud="reactodia-inline-entity";function qd(e){const{target:t}=e,{model:n,getElementTypeStyle:i}=sn(),r=Pt(),o=n.locale.formatEntityLabel(t,n.language),{color:a}=i(t.types);return H.jsx("span",{className:Ud,style:{"--reactodia-inline-entity-color":a},title:Tl(t,n,r),children:H.jsx("span",{className:`${Ud}__label`,children:o})})}function Wd(e){const{searchStore:t,searchTimeout:n="explicit",minSearchTermLength:i=3}=e,r=Hl({initialValue:"",submitTimeout:n,allowSubmit:e=>e.length>=i}),o=t??r,a=sn(),s=Pt();return H.jsx(Zd,{...e,isControlled:Boolean(t),searchStore:o,minSearchTermLength:i,workspace:a,translation:s})}var Gd="reactodia-instances-search",Zd=class extends v.Component{listener=new wi;criteriaListener=new wi;searchListener=new wi;delayedUpdateAll=new yi;requestCancellation=new AbortController;currentRequest;constructor(e){super(e),this.state={criteria:{},resultId:0,selection:new Set}}componentDidMount(){const{workspace:e}=this.props,{model:t}=e;this.listener.listen(t.events,"changeLanguage",(()=>this.forceUpdate())),this.listener.listen(t.events,"loadingStart",(()=>{this.setState({criteria:{}},(()=>this.props.searchStore.change({value:"",action:"clear"})))}));const n=e.getCommandBus(xs);this.listener.listen(n,"findCapabilities",(e=>{e.capabilities.push({})})),this.listener.listen(n,"setCriteria",(({criteria:e})=>{const{searchStore:t,onChangeCriteria:n,workspace:{triggerWorkspaceEvent:i}}=this.props;i(on.searchUpdateCriteria),this.setState({criteria:e},(()=>{t.change({value:e.text??"",action:"clear"}),n?.(this.state.criteria)}))})),this.listenSearch(),this.resubscribeToCriteria(),this.queryItems(!1)}componentDidUpdate(e,t){this.props.searchStore.events!==e.searchStore.events&&this.listenSearch(),this.state.criteria!==t.criteria&&(this.resubscribeToCriteria(),this.queryItems(!1))}listenSearch(){const{searchStore:e}=this.props;this.searchListener.stopListening(),this.searchListener.listen(e.events,"executeSearch",(({value:e})=>{this.submitCriteriaUpdate(e,{triggerChange:!1})})),this.searchListener.listen(e.events,"clearSearch",(()=>{this.submitCriteriaUpdate("",{triggerChange:!1})}))}componentWillUnmount(){this.listener.stopListening(),this.criteriaListener.stopListening(),this.searchListener.stopListening(),this.requestCancellation.abort(),this.currentRequest=void 0}resubscribeToCriteria(){const{workspace:{model:e}}=this.props,{criteria:t}=this.state;if(this.criteriaListener.stopListening(),t.elementType){const n=e.createElementType(t.elementType);n&&this.criteriaListener.listen(n.events,"changeData",this.scheduleUpdateAll)}if(t.refElement){const n=e.elements.find((e=>e instanceof ra&&e.iri===t.refElement));n&&this.criteriaListener.listen(n.events,"changeData",this.scheduleUpdateAll)}if(t.refElementLink){const n=e.createLinkType(t.refElementLink);n&&this.criteriaListener.listen(n.events,"changeData",this.scheduleUpdateAll)}}scheduleUpdateAll=()=>{this.delayedUpdateAll.call(this.updateAll)};updateAll=()=>this.forceUpdate();render(){const{className:e,isControlled:t,searchStore:n,minSearchTermLength:i,translation:r}=this.props,o=this.state.querying?"loading":this.state.error?"error":this.state.items?"completed":"none",a=this.state.items??[],s=this.state.querying||0===this.state.selection.size;return H.jsxs("div",{className:cn(Gd,t?`${Gd}--controlled`:void 0,e),children:[H.jsxs("div",{className:`${Gd}__criteria`,children:[this.renderCriteria(),t?null:H.jsx(Pl,{store:n,className:`${Gd}__text-criteria`,inputProps:{name:"reactodia-instances-search-text",placeholder:r.textOptional("search_entities.input.placeholder")}})]}),H.jsx(Il,{state:o,title:r.text("search_entities.query_progress.title")}),H.jsxs("div",{className:`${Gd}__rest reactodia-scrollable`,tabIndex:-1,children:[H.jsx(Bl,{items:a,highlightText:this.state.criteria.text,selection:this.state.selection,onSelectionChanged:this.onSelectionChanged,footer:0===a.length?H.jsx(Fl,{hasQuery:void 0!==this.state.items,minSearchTermLength:i}):null}),H.jsx("div",{className:`${Gd}__rest-end`,children:H.jsx("button",{type:"button",className:`${Gd}__load-more reactodia-btn reactodia-btn-primary`,disabled:this.state.querying,style:{display:this.state.moreItemsAvailable?void 0:"none"},title:r.text("search_entities.show_more_results.title"),onClick:()=>this.queryItems(!0),children:r.text("search_entities.show_more_results.label")})})]},this.state.resultId),H.jsxs("div",{className:cn(`${Gd}__actions`,s?`${Gd}__actions-hidden`:void 0),"aria-hidden":s?"true":void 0,children:[H.jsx("button",{type:"button",className:`${Gd}__action reactodia-btn reactodia-btn-secondary`,disabled:this.state.querying||this.state.selection.size<=1,title:r.text("search_entities.add_group.title"),onClick:()=>this.placeSelectedItems("group"),children:r.text("search_entities.add_group.label")}),H.jsx("button",{type:"button",className:`${Gd}__action reactodia-btn reactodia-btn-primary`,disabled:this.state.querying||0===this.state.selection.size,title:r.text("search_entities.add_selected.title"),onClick:()=>this.placeSelectedItems("separately"),children:r.text("search_entities.add_selected.label")})]})]})}onSelectionChanged=e=>{this.setState({selection:e})};renderCriteria(){const{workspace:{model:e},translation:t}=this.props,{criteria:n}=this.state,i=[];if(n.elementType){const r=e.getElementType(n.elementType),o=t.formatLabel(r?.data?.label,n.elementType,e.language);i.push(H.jsxs("div",{className:`${Gd}__criterion`,children:[this.renderRemoveCriterionButtons((()=>this.setState({criteria:{...n,elementType:void 0}},(()=>this.props.onChangeCriteria?.(this.state.criteria))))),t.template("search_entities.criteria_has_type",{entityType:H.jsx("span",{className:`${Gd}__criterion-class`,title:n.elementType,children:o})})]},"hasType"))}else if(n.refElement){const r=function(e,t){for(const n of e.elements)for(const e of sa(n))if(e.id===t)return e}(e,n.refElement)??ra.placeholderData(n.refElement);let o;if(n.refElementLink){const i=e.getLinkType(n.refElementLink);o=t.formatLabel(i?.data?.label,n.refElementLink,e.language)}const a=H.jsx(qd,{target:r}),s=n.refElementLink?H.jsx("span",{className:`${Gd}__criterion-link-type`,title:n.refElementLink,children:o}):void 0,l=H.jsx("span",{className:`${Gd}__link-direction-in`}),c=H.jsx("span",{className:`${Gd}__link-direction-out`});i.push(H.jsxs("div",{className:`${Gd}__criterion`,children:[this.renderRemoveCriterionButtons((()=>this.setState({criteria:{...n,refElement:void 0,refElementLink:void 0}},(()=>this.props.onChangeCriteria?.(this.state.criteria))))),t.template(n.refElementLink?"in"===n.linkDirection?"search_entities.criteria_connected_to_source":"out"==n.linkDirection?"search_entities.criteria_connected_to_target":"search_entities.criteria_connected_via":"search_entities.criteria_connected",{entity:a,relationType:s,sourceIcon:l,targetIcon:c})]},"hasLinkedElement"))}return H.jsx("div",{className:`${Gd}__criterions`,children:i})}renderRemoveCriterionButtons(e){return H.jsx("div",{className:`${Gd}__criterion-remove reactodia-btn-group reactodia-btn-group-xs`,children:H.jsx("button",{type:"button",title:"Remove criteria",className:cn(`${Gd}__criterion-remove-button`,"reactodia-btn reactodia-btn-default"),onClick:e})})}submitCriteriaUpdate(e,t){const{onChangeCriteria:n}=this.props;this.setState((t=>{const n=""===e?void 0:e;return t.criteria.text===n?null:{criteria:{...t.criteria,text:n}}}),t.triggerChange?()=>n?.(this.state.criteria):void 0)}queryItems(e){const{workspace:{model:t,triggerWorkspaceEvent:n}}=this.props;let i;if(this.requestCancellation.abort(),e){if(!this.currentRequest)throw new Error("Cannot request more items without initial request.");const{limit:e}=this.currentRequest;i={...this.currentRequest,limit:"number"==typeof e?e+100:e}}else i=Kd(this.state.criteria);if(!(i.text||i.elementTypeId||i.refElementId||i.refElementLinkId))return void this.setState({querying:!1,error:void 0,items:void 0,selection:new Set,moreItemsAvailable:!1});this.requestCancellation=new AbortController;const r=this.requestCancellation.signal;i={...i,signal:r},this.currentRequest=i,this.setState({querying:!0,error:void 0,moreItemsAvailable:!1}),t.dataProvider.lookup(i).then((e=>{r.aborted||(this.processFilterData(e),n(on.searchQueryItem))})).catch((e=>{r.aborted||(console.error(e),this.setState({querying:!1,error:e}))}))}processFilterData(e){const t="number"==typeof this.currentRequest.limit&&this.currentRequest.limit>100,n=new Set;if(t)for(const e of this.state.items)n.add(e.id);const i=t?[...this.state.items]:[];for(const{element:t}of e)n.has(t.id)||i.push(t);const r="number"==typeof this.currentRequest.limit&&e.length>=this.currentRequest.limit;this.setState(t?{querying:!1,items:i,error:void 0,moreItemsAvailable:r}:{querying:!1,resultId:this.state.resultId+1,items:i,selection:new Set,error:void 0,moreItemsAvailable:r})}placeSelectedItems(e){const{onAddElements:t,workspace:{model:n,view:i}}=this.props,r=i.findAnyCanvas(),{items:o,selection:a}=this.state;if(!r||0===a.size)return;const s=n.history.startBatch(Ht.text("search_entities.place_elements.command")),l=o?o.filter((e=>a.has(e.id))):Array.from(a,ra.placeholderData);let c;if("separately"===e){const e=new Wr({position:Xd(r,.3,.5)});c=l.map((e=>n.createElement(e))),r.renderingState.syncUpdate(),s.history.execute(Ur({target:e,elements:c,graph:n,sizeProvider:r.renderingState,distance:150}))}else{const e=new oa({items:l.map((e=>({data:e}))),position:Xd(r,.5,.5)});c=[e],n.addElement(e),r.renderingState.syncUpdate();const{x:t,y:i,width:o,height:a}=yr(e,r.renderingState);e.setPosition({x:t-o/2,y:i-a/2})}const d=Array.from(a);s.history.execute(za(n,d)),s.history.execute($a(n,{addedElements:d})),s.store(),t?.(c)}};function Kd(e){const{text:t,elementType:n,refElement:i,refElementLink:r,linkDirection:o}=e;return{text:t,elementTypeId:n,refElementId:i,refElementLinkId:r,linkDirection:o,limit:100}}function Xd(e,t,n){const i=e.metrics.pane;return e.metrics.clientToPaperCoords(i.clientWidth*t,i.clientHeight*n)}function Qd(e){const{searchStore:t,searchTimeout:n=200,minSearchTermLength:i=1}=e,r=Hl({initialValue:"",submitTimeout:n,allowSubmit:e=>e.length>=i}),o=t??r,a=sn(),s=Pt();return H.jsx(eu,{...e,isControlled:Boolean(t),searchStore:o,minSearchTermLength:i,workspace:a,translation:s})}var Yd="reactodia-links-toolbox",Jd=!0,eu=class extends v.Component{listener=new wi;selectionListener=new wi;searchListener=new wi;linkListener=new wi;debounceSelection=new yi(50);delayedUpdateAll=new yi;constructor(e){super(e),this.state={filteredLinks:{term:"",diagramHasLink:!1,selection:[],selectionLinks:new Set,links:[]}}}componentDidMount(){const{workspace:{model:e}}=this.props;this.listener.listen(e.events,"loadingSuccess",this.updateOnCurrentSelection),this.listener.listen(e.events,"changeLanguage",this.updateOnCurrentSelection),this.subscribeToSelectionChanges(),this.listenSearch(),this.updateOnCurrentSelection()}componentDidUpdate(e,t){const{trackSelected:n=Jd,searchStore:i}=this.props;n!==e.trackSelected&&this.subscribeToSelectionChanges(),i.events!==e.searchStore.events&&this.listenSearch(),this.state.filteredLinks!==t.filteredLinks&&this.subscribeOnFilteredLinksEvents()}listenSearch(){const{searchStore:e}=this.props;this.searchListener.stopListening(),this.searchListener.listen(e.events,"executeSearch",(({value:e})=>{this.setState(((t,n)=>tu(t,e,n)))})),this.searchListener.listen(e.events,"clearSearch",(()=>{this.setState(((e,t)=>tu(e,"",t)))}))}componentWillUnmount(){this.listener.stopListening(),this.selectionListener.stopListening(),this.searchListener.stopListening(),this.linkListener.stopListening(),this.debounceSelection.dispose(),this.delayedUpdateAll.dispose()}subscribeToSelectionChanges(){const{trackSelected:e=Jd,workspace:{model:t}}=this.props;this.selectionListener.stopListening(),e&&this.selectionListener.listen(t.events,"changeSelection",(()=>{this.debounceSelection.call(this.updateOnCurrentSelection)}))}updateOnCurrentSelection=()=>{this.setState(((e,t)=>tu(e,t.searchStore.value,t)))};subscribeOnFilteredLinksEvents(){const{workspace:{model:e}}=this.props,{filteredLinks:t}=this.state;this.linkListener.stopListening();const n=new Set;for(const e of t.links)n.add(e.iri),this.linkListener.listen(e.type.events,"changeData",this.onLinkChanged);this.linkListener.listen(e.events,"changeLinkVisibility",(e=>{n.has(e.source)&&this.onLinkChanged()}))}onLinkChanged=()=>{this.delayedUpdateAll.call((()=>this.forceUpdate()))};render(){const{className:e,isControlled:t,searchStore:n,minSearchTermLength:i,workspace:r,translation:o}=this.props,{filteredLinks:a}=this.state,s=a.links.filter((e=>a.selectionLinks.has(e.iri))),l=a.links.filter((e=>!a.selectionLinks.has(e.iri)));return H.jsxs("div",{className:cn(Yd,t?`${Yd}--controlled`:void 0,e),children:[H.jsxs("div",{className:`${Yd}__heading`,children:[t?null:H.jsx(Pl,{store:n,className:`${Yd}__filter`,inputProps:{name:"reactodia-link-types-filter",placeholder:o.textOptional("search_link_types.input.placeholder")}}),H.jsxs("div",{className:`${Yd}__switch-all`,children:[H.jsx(iu,{onSetVisibility:e=>ru(a.links,e,r),disabled:0===a.links.length}),H.jsxs("span",{children:[" ",o.text("search_link_types.switch_all.label")]})]})]}),H.jsx("div",{className:`${Yd}__rest`,children:H.jsxs("div",{className:"reactodia-scrollable",children:[s.length>0?H.jsxs(H.Fragment,{children:[H.jsx("div",{role:"heading",className:`${Yd}__links-heading`,children:1===a.selection.length?o.template("search_link_types.heading_connected_single",{entity:H.jsx(qd,{target:a.selection[0]})}):o.template("search_link_types.heading_connected",{count:a.selection.length})}),this.renderLinks(s)]}):null,s.length>0&&l.length>0?H.jsx("div",{role:"heading",className:`${Yd}__links-heading`,children:o.template("search_link_types.heading_other",{count:l.length})}):null,this.renderLinks(l),0===a.links.length?H.jsx(Fl,{className:`${Yd}__no-results`,hasQuery:a.term.length>0,minSearchTermLength:i,message:a.diagramHasLink?void 0:o.text("search_link_types.no_results")}):null]})})]})}renderLinks(e){const{workspace:{getCommandBus:t}}=this.props,{filteredLinks:n}=this.state,i=t(xs),r={capabilities:[]};return i.trigger("findCapabilities",r),H.jsx("ul",{className:`${Yd}__links`,children:e.map((e=>H.jsx(nu,{link:e,onAddToFilter:r.capabilities.length>0&&n.selectionLinks.has(e.iri)?this.onAddToFilter:void 0,filterKey:n.term},e.iri)))})}onAddToFilter=e=>{const{workspace:{getCommandBus:t}}=this.props,{filteredLinks:n}=this.state;1===n.selection.length&&t(xs).trigger("setCriteria",{criteria:{refElement:n.selection[0].id,refElementLink:e}})}};function tu(e,t,n){const{trackSelected:i=Jd,workspace:{model:r},translation:o}=n,a=new Set;for(const e of r.links)(e instanceof la||e instanceof da)&&a.add(e.typeId);const s=Ni(t),l=Array.from(a,(e=>r.createLinkType(e))).map((e=>({iri:e.id,type:e,label:o.formatLabel(e.data?.label,e.id,r.language)}))).filter((e=>s(e.label))).sort(((e,t)=>e.label.localeCompare(t.label))),c=new Map,d=new Set;if(i)for(const e of r.selection)if(e instanceof qr){for(const t of sa(e))c.set(t.id,t);for(const t of r.getElementLinks(e))d.add(t.typeId)}return{...e,filteredLinks:{term:t,diagramHasLink:a.size>0,selection:Array.from(c.values()),selectionLinks:d,links:l}}}function nu(e){const{link:t,filterKey:n,onAddToFilter:i}=e,r=sn(),o=Pt(),{model:a}=r;return H.jsxs("li",{"data-linktypeid":t.iri,className:`${Yd}__link-item`,children:[H.jsx(iu,{className:`${Yd}__link-buttons`,visibility:a.getLinkVisibility(t.iri),onSetVisibility:e=>ru([t],e,r)}),H.jsx(ps,{type:"linkType",target:t.iri,children:H.jsx("div",{className:`${Yd}__link-title`,children:Nl(t.label,n)})}),i?H.jsx("div",{className:`${Yd}__filter-button`,title:o.text("search_link_types.add_to_filter.title"),onClick:()=>i(t.iri)}):null]})}function iu(e){const{className:t,visibility:n,onSetVisibility:i,disabled:r}=e,o=Pt();return H.jsxs("div",{className:cn(t,"reactodia-btn-group reactodia-btn-group-xs"),children:[H.jsx("button",{title:o.text("search_link_types.switch_hidden.title"),className:cn(`${Yd}__toggle-invisible`,"reactodia-btn reactodia-btn-default","hidden"===n?"active":void 0),disabled:r,onClick:()=>i("hidden")}),H.jsx("button",{title:o.text("search_link_types.switch_without_label.title"),className:cn(`${Yd}__toggle-lines-only`,"reactodia-btn reactodia-btn-default","withoutLabel"===n?"active":void 0),disabled:r,onClick:()=>i("withoutLabel")}),H.jsx("button",{title:o.text("search_link_types.switch_visible.title"),className:cn(`${Yd}__toggle-visible`,"reactodia-btn reactodia-btn-default","visible"===n?"active":void 0),disabled:r,onClick:()=>i("visible")})]})}function ru(e,t,n){const{model:i}=n,r=i.history.startBatch(Ht.text("search_link_types.switch.command"));for(const n of e)i.history.execute(Fr(i,n.iri,t));r.store()}function ou(e){const{canvas:t}=cr(),n=sn(),i=Pt(),r=v.useContext(vi)??"light";return H.jsx(hu,{...e,canvas:t,workspace:n,translation:i,colorScheme:r})}var au="reactodia-navigator",su="auto",lu=.4,cu=300,du=160,uu=.2,hu=class extends v.Component{delayedRedraw=new yi;delayedSizeCheck=new yi;listener=new wi;canvas;transform;isDraggingViewport=!1;constructor(e){super(e);const{expanded:t=su}=this.props;this.state={initialized:!1,expanded:Boolean(t),autoToggle:"auto"===t,allowExpand:!0}}componentDidMount(){const{canvas:e,workspace:{model:t}}=this.props,{renderingState:n}=e;this.listener.listen(t.events,"changeCells",this.scheduleRedraw),this.listener.listen(t.events,"elementEvent",this.scheduleRedraw),this.listener.listen(e.events,"pointerMove",this.scheduleRedraw),this.listener.listen(e.events,"scroll",this.scheduleRedraw),this.listener.listen(e.events,"resize",(()=>{this.delayedSizeCheck.call(this.onCheckSize)})),this.listener.listen(n.shared.events,"changeHighlight",this.scheduleRedraw),this.listener.listen(n.events,"changeElementSize",this.scheduleRedraw),this.onCheckSize()}shouldComponentUpdate(e,t){return!(e.colorScheme===this.props.colorScheme&&e.dock===this.props.dock&&e.dockOffsetX===this.props.dockOffsetX&&e.dockOffsetY===this.props.dockOffsetY&&e.width===this.props.width&&e.height===this.props.height&&t===this.state)}componentDidUpdate(e){this.props.colorScheme!==e.colorScheme&&this.scheduleRedraw()}componentWillUnmount(){this.delayedRedraw.dispose(),this.delayedSizeCheck.dispose(),this.listener.stopListening(),this.stopDragViewport()}scheduleRedraw=()=>{this.state.expanded&&this.delayedRedraw.call(this.draw)};draw=()=>{const{canvas:e,workspace:{model:t},width:n=cu,height:i=du}=this.props,r=e.metrics.transform;this.calculateTransform(r);const o=function(e,t){const{backgroundFill:n,scrollablePaneFill:i,viewportFill:r,viewportStroke:o,overflowStroke:a}=e,s=getComputedStyle(t);return{backgroundFill:n??s.getPropertyValue("--reactodia-navigator-background-fill"),scrollablePaneFill:i??s.getPropertyValue("--reactodia-navigator-scrollable-pane-fill"),viewportFill:r??s.getPropertyValue("--reactodia-navigator-viewport-fill"),viewportStroke:o??fu(s.getPropertyValue("--reactodia-navigator-viewport-stroke-color"),s.getPropertyValue("--reactodia-navigator-viewport-stroke-width"),s.getPropertyValue("--reactodia-navigator-viewport-stroke-dash")),overflowStroke:a??fu(s.getPropertyValue("--reactodia-navigator-overflow-stroke-color"),s.getPropertyValue("--reactodia-navigator-overflow-stroke-width"),s.getPropertyValue("--reactodia-navigator-overflow-stroke-dash"))}}(this.props,this.canvas),a=this.canvas.getContext("2d");if(a.fillStyle=o.backgroundFill,a.clearRect(0,0,n,i),a.fillRect(0,0,n,i),0===t.elements.length)return;const s=function(e){return{x:-e.paddingX,y:-e.paddingY}}(r),l=dr.add(s,function(e){return{x:e.width*e.scale+2*e.paddingX,y:e.height*e.scale+2*e.paddingY}}(r)),c=gu(s,0,this.transform),d=gu(l,0,this.transform);a.fillStyle=o.scrollablePaneFill,a.fillRect(c.x,c.y,d.x-c.x,d.y-c.y),a.save();const{clientWidth:u,clientHeight:h}=e.metrics.pane,f=e.metrics.clientToScrollablePaneCoords(0,0),p=e.metrics.clientToScrollablePaneCoords(u,h),{x:g,y:v}=gu(f,0,this.transform),{x:m,y:b}=gu(p,0,this.transform),w={x:g,y:v,width:m-g,height:b-v};this.fillViewport(a,w,o),this.drawElements(a,r,o),this.strokeViewport(a,w,o),a.restore()};drawElements(e,t,n){const{canvas:i,workspace:{model:r}}=this.props;for(const o of r.elements){const{type:r,bounds:{x:a,y:s,width:l,height:c}}=i.renderingState.getElementShape(o);e.beginPath(),e.fillStyle=this.chooseElementColor(o,n);const{x:d,y:u}=vu({x:a,y:s},t,this.transform),{x:h,y:f}=vu({x:a+l,y:s+c},t,this.transform);"ellipse"===r?e.ellipse((d+h)/2,(u+f)/2,(h-d)/2,(f-u)/2,0,2*Math.PI,0):e.rect(d,u,h-d,f-u),e.fill()}}chooseElementColor(e,t){const{canvas:n,workspace:{getElementStyle:i}}=this.props,{highlighter:r}=n.renderingState.shared;if(r&&!r(e))return"lightgray";const{color:o}=i(e);return o}fillViewport(e,t,n){e.fillStyle=n.viewportFill,e.fillRect(t.x,t.y,t.width,t.height)}strokeViewport(e,t,n){const{width:i=cu,height:r=du}=this.props,{x:o,y:a}=t,s=o+t.width,l=a+t.height;if(pu(e,n.viewportStroke),e.strokeRect(o,a,s-o,l-a),e.beginPath(),o<0){const t=e.lineWidth;e.moveTo(t,a),e.lineTo(t,l)}if(a<0){const t=e.lineWidth;e.moveTo(o,t),e.lineTo(s,t)}if(s>i){const t=i-e.lineWidth;e.moveTo(t,a),e.lineTo(t,l)}if(l>r){const t=r-e.lineWidth;e.moveTo(o,t),e.lineTo(s,t)}pu(e,n.overflowStroke),e.stroke()}calculateTransform(e){const{canvas:t,workspace:{model:n},width:i=cu,height:r=du,scalePadding:o=uu}=this.props,a=$r(n.elements,n.links,t.renderingState),s=Math.max(a.width,i/.25)*o,l=Math.max(a.height,r/.25)*o,c=Yr({x:a.x-s,y:a.y-l},e),d=Yr({x:a.x+a.width+s,y:a.y+a.height+l},e),u=d.x-c.x,h=d.y-c.y,f=Math.min(i/u,r/h);this.transform={scale:f,canvasOffset:{x:(i-u*f)/2,y:(r-h*f)/2},paneOffset:c}}canvasFromPageCoords(e,t){const{top:n,left:i}=this.canvas.getBoundingClientRect();return{x:e-i-window.scrollX,y:t-n-window.scrollY}}onCheckSize=()=>{const{canvas:e,autoCollapseFraction:t=lu,width:n=cu,height:i=du}=this.props,{expanded:r,autoToggle:o,allowExpand:a}=this.state,{clientWidth:s,clientHeight:l}=e.metrics.pane,c=n<.9*s&&i<.9*l,d=c&&n<s*t&&i<l*t;o&&r!==d?this.setState({expanded:d,allowExpand:c},(()=>{this.scheduleRedraw(),this.setInitialized()})):c!==a?this.setState({allowExpand:c},(()=>{this.setInitialized()})):this.setInitialized()};async setInitialized(){await Promise.resolve(),this.setState({initialized:!0})}render(){const{dock:e="se",dockOffsetX:t,dockOffsetY:n,width:i=cu,height:r=du,translation:o}=this.props,{initialized:a,expanded:s,allowExpand:l}=this.state,c=s&&l;return H.jsx(rs,{dock:e,dockOffsetX:t,dockOffsetY:n,children:H.jsxs("div",{className:cn(au,a?`${au}--animated`:void 0,`${au}--${c?"expanded":"collapsed"}`),style:c?{width:i,height:r}:void 0,children:[H.jsx("canvas",{ref:this.onCanvasMount,width:i,height:r,onMouseDown:e=>{this.startDragViewport(),this.onDragViewport(e)},onWheel:this.onWheel}),H.jsx("button",{type:"button",className:`${au}__toggle`,title:o.text(s?"navigator.toggle_collapse.title":"navigator.toggle_expand.title"),disabled:!l,onClick:this.onToggleClick,children:H.jsx("div",{className:`${au}__toggle-icon`})})]})})}onCanvasMount=e=>{this.canvas=e};startDragViewport(){this.isDraggingViewport||(this.isDraggingViewport=!0,document.addEventListener("mousemove",this.onDragViewport),document.addEventListener("mouseup",this.onMouseUp))}stopDragViewport(){this.isDraggingViewport&&(this.isDraggingViewport=!1,document.removeEventListener("mousemove",this.onDragViewport),document.removeEventListener("mouseup",this.onMouseUp))}onDragViewport=e=>{if(e.preventDefault(),this.isDraggingViewport){const{canvas:t}=this.props,n=function(e,t,n){return Jr({x:n.paneOffset.x+(e.x-n.canvasOffset.x)/n.scale,y:n.paneOffset.y+(e.y-n.canvasOffset.y)/n.scale},t)}(this.canvasFromPageCoords(e.pageX,e.pageY),t.metrics.transform,this.transform);t.centerTo(n)}};onMouseUp=()=>{this.stopDragViewport()};onWheel=e=>{e.preventDefault();const{canvas:t}=this.props,n=Math.max(-1,Math.min(1,e.deltaY||e.deltaX));t.zoomBy(.1*-n)};onToggleClick=()=>{this.setState((e=>({expanded:!e.expanded,autoToggle:!1})),this.scheduleRedraw)}};function fu(e,t,n){const i=Number(t),r=n.split(" ").map((e=>Number(e)));return{color:e||void 0,width:Number.isFinite(i)?i:void 0,dash:r.every((e=>Number.isFinite(e)))?r:void 0}}function pu(e,t){const{color:n="transparent",width:i=1,dash:r=[]}=t;e.strokeStyle=n,e.lineWidth=i,e.setLineDash(r)}function gu(e,t,n){return{x:n.canvasOffset.x+(e.x-n.paneOffset.x)*n.scale,y:n.canvasOffset.y+(e.y-n.paneOffset.y)*n.scale}}function vu(e,t,n){return gu(Yr(e,t),0,n)}var mu="reactodia-selection";function bu(e){const{hotkeySelectAll:t}=e,{model:n,canvas:i}=cr(),r=Nt(Et(n.events,"changeSelection"),(()=>n.selection.filter((e=>e instanceof qr))),xt),[o,a]=v.useState();return v.useEffect((()=>{let e;const t=new wi;let r;t.listen(i.events,"pointerDown",(t=>{if(!t.target&&!t.panning&&t.sourceEvent.shiftKey===("selection"!==t.source.pointerMode)){t.sourceEvent.preventDefault();const{pageX:n,pageY:r}=t.sourceEvent;e={pageX:n,pageY:r},a(wu(e,e,i.metrics)),o()}}));const o=()=>{r?.stopListening(),r=new wi,r.listen(i.events,"pointerMove",(t=>{const{pageX:n,pageY:r}=t.sourceEvent;e&&a(wu(e,{pageX:n,pageY:r},i.metrics))}))};return t.listen(i.events,"pointerUp",(t=>{const{pageX:o,pageY:s}=t.sourceEvent;r?.stopListening(),a(void 0),t.triggerAsClick?(t.sourceEvent.shiftKey===("selection"!==t.source.pointerMode)||n.selection.length>1)&&t.target instanceof qr&&(t.sourceEvent.preventDefault(),_u(t.target,n)):e&&function(e,t,n){const i=new Set(t.selection),r=Array.from(yu(t.elements,e,i,n.renderingState));r.length>0&&t.setSelection([...t.selection,...r])}(wu(e,{pageX:o,pageY:s},i.metrics),n,i),e=void 0})),()=>{t.stopListening(),r?.stopListening()}}),[]),br(void 0===t?"Mod+A":t,(()=>{n.setSelection(n.elements)})),o||r.length>1?H.jsx(Bo,{layer:"overElements",children:H.jsx(ku,{...e,model:n,canvas:i,selectedElements:r,highlightedBox:o})}):null}function wu(e,t,n){const{x:i,y:r}=n.pageToPaperCoords(e.pageX,e.pageY),{x:o,y:a}=n.pageToPaperCoords(t.pageX,t.pageY);return{x:Math.min(i,o),y:Math.min(r,a),width:Math.abs(o-i),height:Math.abs(a-r)}}function*yu(e,t,n,i){for(const r of e){const e=yr(r,i);!n.has(r)&&hr.intersects(t,e)&&(yield r)}}function _u(e,t){const{selection:n}=t,i=n.includes(e)?n.filter((t=>t!=e)):[...n,e];t.setSelection(i)}function ku(e){const{model:t,canvas:n,selectedElements:i,highlightedBox:r,boxMargin:o=5,itemMargin:a=2,children:s}=e;$t(Et(n.events,"changeTransform"),(()=>n.metrics.transform));const l=xu(Nt(oo(function(e,t,n){return v.useCallback((i=>{if(0===n.length)return()=>{};const r=new Set(n),o=new wi;return o.listen(e.events,"elementEvent",(({data:e})=>{e.changePosition&&r.has(e.changePosition.source)&&i()})),o.listen(t.renderingState.events,"changeElementSize",(e=>{r.has(e.source)&&i()})),()=>o.stopListening()}),[e.events,t.renderingState.events,n])}(t,n,i),n.renderingState),(()=>$r(i,[],n.renderingState)),hr.equals),o,n.metrics),c=r?Array.from(yu(t.elements,r,new Set(i),n.renderingState)):[],d=v.useRef(void 0);d.current||(d.current=new Su(n,t)),v.useEffect((()=>()=>{d.current?.onPointerUp()}),[]);const u=d.current;return u.setElements(i),H.jsxs("div",{className:mu,children:[i.length>1?H.jsxs(H.Fragment,{children:[i.map((e=>H.jsx("div",{className:`${mu}__selectedItem`,style:xu(yr(e,n.renderingState),a,n.metrics)},e.id))),H.jsx("div",{className:`${mu}__selectedActions`,style:l,children:s??H.jsxs(H.Fragment,{children:[H.jsx(sd,{dock:"nw",dockColumn:1}),H.jsx(ld,{dock:"nw",dockColumn:2}),H.jsx(fd,{dock:"nw",dockColumn:3}),H.jsx(ad,{dock:"ne"}),H.jsx(ud,{dock:"e"}),H.jsx(cd,{dock:"s"}),H.jsx(md,{dock:"se",dockColumn:1})]})}),H.jsx("div",{className:`${mu}__selectedBox`,style:l,onClick:u.onClick,onPointerDown:u.onPointerDown,onPointerMove:u.onPointerMove,onPointerUp:u.onPointerUp,onPointerCancel:u.onPointerUp})]}):null,r?H.jsx("div",{className:`${mu}__highlightedBox`,style:xu(r,0,n.metrics)}):null,c.map((e=>H.jsx("div",{className:`${mu}__highlightedItem`,style:xu(yr(e,n.renderingState),a,n.metrics)},e.id)))]})}function xu(e,t,n){const{x:i,y:r}=n.paperToScrollablePaneCoords(e.x,e.y),{x:o,y:a}=n.paperToScrollablePaneCoords(e.x+e.width,e.y+e.height);return{left:i-t,top:r-t,width:o-i+2*t,height:a-r+2*t}}var Su=class{canvas;model;elements=[];moveState;constructor(e,t){this.canvas=e,this.model=t}setElements(e){this.elements=e}onClick=e=>{if(this.isToggleSelectionEvent(e)){e.preventDefault();const t=this.canvas.metrics.pageToPaperCoords(e.pageX,e.pageY),n=zr(this.model.elements,t,this.canvas.renderingState);n&&_u(n,this.model)}};onPointerDown=e=>{const{canvas:t,model:n,elements:i}=this;if(this.isToggleSelectionEvent(e))return;e.preventDefault(),e.currentTarget.setPointerCapture(e.pointerId);const r=t.metrics.pageToPaperCoords(e.pageX,e.pageY),o=new Set;for(const e of i)o.add(e.id);const a=new Map,s=new Map;for(const e of i){a.set(e,e.position);for(const t of n.getElementLinks(e))t.vertices.length>0&&t.sourceId===e.id&&o.has(t.targetId)&&s.set(t,t.vertices)}this.moveState={origin:r,positions:a,links:s,command:Hr.capturePartial(i,Array.from(s.keys()))},t.focus()};isToggleSelectionEvent(e){return e.shiftKey}onPointerMove=e=>{const{canvas:t,moveState:n}=this;if(n){e.preventDefault();const{x:i,y:r}=t.metrics.pageToPaperCoords(e.pageX,e.pageY),o=i-n.origin.x,a=r-n.origin.y;for(const[e,t]of n.positions)e.setPosition({x:t.x+o,y:t.y+a});for(const[e,t]of n.links)e.setVertices(t.map((e=>({x:e.x+o,y:e.y+a}))));t.renderingState.syncUpdate()}};onPointerUp=e=>{this.moveState&&(e?.preventDefault(),this.moveState.command.hasChanges()&&this.model.history.registerToUndo(this.moveState.command),this.moveState=void 0)}},Cu="reactodia-toolbar";function Lu(e){const{dock:t,dockOffsetX:n,dockOffsetY:i,menu:r,children:o}=e,a=Pt(),s="s"===t||"sw"===t||"se"===t;return H.jsx(rs,{dock:t,dockOffsetX:n,dockOffsetY:i,children:H.jsxs("div",{className:cn(Cu,s?`${Cu}--drop-up`:void 0),role:"toolbar",children:[r?H.jsx(_l,{className:`${Cu}__menu`,direction:s?"up":"down",title:a.text("toolbar.menu_toggle.title"),children:r}):null,o?H.jsx("div",{className:cn(`${Cu}__quick-access-group`,"reactodia-btn-group","reactodia-btn-group-sm"),children:o}):null]})})}var Mu="reactodia-toolbar-action";function Eu(e){const{className:t,title:n,disabled:i,hotkey:r,onSelect:o,children:a}=e,s=Ml(),l=br(r,o),c=n&&l?`${n} (${l.text})`:n;return s?H.jsxs(Ll,{className:t,title:c,"aria-label":n,"aria-keyshortcuts":l?.text,disabled:i,onSelect:o,children:[a,l?H.jsxs(H.Fragment,{children:[H.jsx("span",{className:`${Mu}__spacer`}),H.jsx("span",{className:`${Mu}__hotkey`,children:l.text})]}):null]}):H.jsx("button",{type:"button",className:cn(t,"reactodia-btn reactodia-btn-default"),title:c,"aria-label":n,"aria-keyshortcuts":l?.text,disabled:i,onClick:o,children:a})}function zu(e){const{className:t,title:n,...i}=e,{model:r,editor:o}=sn(),a=Pt();return H.jsx(Eu,{...i,className:cn(t,`${Mu}__clear-all`),title:n??a.text("toolbar_action.clear_all.title"),onSelect:()=>{const e=r.history.startBatch(Ht.text("toolbar_action.clear_all.command"));o.removeItems([...r.elements]),e.store()},children:a.text("toolbar_action.clear_all.label")})}function $u(e){const{className:t,title:n,kind:i,fileName:r="diagram",rasterOptions:o,children:a,...s}=e,{canvas:l}=cr(),c=Pt();return"exportRaster"===i?H.jsx(Eu,{...s,className:cn(t,`${Mu}__export-image`),title:n??c.text("toolbar_action.export_raster.title"),onSelect:async()=>{const e=o??{backgroundColor:"white"};ui.saveAs(function(e){const t=";base64,";if(-1===e.indexOf(t)){const t=e.split(","),n=t[0].split(":")[1],i=decodeURIComponent(t[1]);return new Blob([i],{type:n})}{const n=e.split(t),i=n[0].split(":")[1],r=window.atob(n[1]),o=r.length,a=new Uint8Array(o);for(let e=0;e<o;++e)a[e]=r.charCodeAt(e);return new Blob([a],{type:i})}}(await l.exportRaster(e)),`${r}.png`)},children:a??c.text("toolbar_action.export_raster.label")}):"exportSvg"===i?H.jsx(Eu,{...s,className:cn(t,`${Mu}__export-image`),title:n??c.text("toolbar_action.export_svg.title"),onSelect:async()=>{const e=await l.exportSvg({addXmlHeader:!0});ui.saveAs(new Blob([e],{type:"image/svg+xml"}),`${r}.svg`)},children:a??c.text("toolbar_action.export_svg.label")}):"print"===i?H.jsx(Eu,{...s,className:cn(t,`${Mu}__print`),title:n??c.text("toolbar_action.export_print.title"),onSelect:async()=>{const e=window.open("",void 0,"width=1280,height=720");if(!e)return void console.error("Reactodia: failed to open print preview window");const t=await l.exportSvg();e.document.write(t),e.document.close(),e.print()},children:a??c.text("toolbar_action.export_print.label")}):null}function Nu(e){const{className:t,title:n,hotkey:i,...r}=e,{model:{history:o}}=cr(),a=Pt(),s=Ml(),l=Ct(o.events,"historyChanged",(()=>{const{undoStack:e}=o;return 0===e.length?void 0:e[e.length-1]})),c=!n&&l?Au(l,a):void 0;return H.jsx(Eu,{...r,className:cn(t,`${Mu}__undo`),disabled:!l,title:n??(void 0===c?a.text("toolbar_action.undo.title"):a.text("toolbar_action.undo.title_named",{command:c})),hotkey:void 0===i?"Mod+Z":i,onSelect:()=>o.undo(),children:s?a.text("toolbar_action.undo.label"):null})}function Tu(e){const{className:t,title:n,hotkey:i,...r}=e,{model:{history:o}}=cr(),a=Pt(),s=Ml(),l=Ct(o.events,"historyChanged",(()=>{const{redoStack:e}=o;return 0===o.redoStack.length?void 0:e[e.length-1]})),c=!n&&l?Au(l,a):void 0;return H.jsx(Eu,{...r,className:cn(t,`${Mu}__redo`),disabled:!l,title:n??(void 0===c?a.text("toolbar_action.redo.title"):a.text("toolbar_action.redo.title_named",{command:c})),hotkey:void 0===i?"Mod+Shift+Z":i,onSelect:()=>o.redo(),children:s?a.text("toolbar_action.redo.label"):null})}function Au(e,t){return"string"==typeof e.title||void 0===e.title?e.title:e.title.resolve(t)}function Iu(e){const{className:t,title:n,...i}=e,{model:r,canvas:o}=cr(),{performLayout:a}=sn(),s=Pt(),l=Ct(r.events,"changeCells",(()=>0===r.elements.length));return H.jsx(Eu,{...i,className:cn(t,`${Mu}__layout`),title:n??s.text("toolbar_action.layout.title"),disabled:l,onSelect:async()=>{await a({canvas:o,animate:!0})},children:s.text("toolbar_action.layout.label")})}function Vu(e){const{className:t,title:n,languages:i}=e,{model:r}=cr(),o=Pt(),a=Ct(r.events,"changeLanguage",(()=>r.language));return 0===i.length?null:H.jsxs("div",{className:cn(t,`${Mu}__language-selector`),title:n??o.text("toolbar_action.language_selector.title"),children:[H.jsx("label",{htmlFor:"reactodia-language-selector"}),H.jsx("select",{id:"reactodia-language-selector",value:a,onChange:e=>r.setLanguage(e.currentTarget.value),children:i.map((({code:e,label:t})=>H.jsx("option",{value:e,children:t},e)))})]})}var Pu=v.createContext(null);function Hu(e={}){const t=v.useContext(Pu);if(!t)throw new Error("Missing Reactodia unified search section context");const{searchStore:n,isSectionActive:i,setSectionActive:r}=t,[o,a]=v.useState(i),{searchTimeout:s=0,allowSubmit:l}=e,c=Hl({initialValue:n.value,submitTimeout:s,allowSubmit:l});return v.useLayoutEffect((()=>{if(i){a(!0);const e=new wi;return e.listen(n.events,"changeValue",(({source:e,action:t})=>{c.change({value:e.value,action:t})})),c.change({value:n.value,action:"submit"}),()=>e.stopListening()}}),[i]),v.useEffect((()=>{o&&c.change({value:n.value,action:"submit"})}),[o]),{shouldRender:o,isSectionActive:i,setSectionActive:r,searchStore:c}}function Ru(e){const{searchTimeout:t=200,minSearchTermLength:n=2,draggableItems:i,placeCreatedEntity:r}=e,{searchStore:o,shouldRender:a}=Hu({searchTimeout:t,allowSubmit:e=>e.length>=n});return a?H.jsx(tc,{className:"reactodia-search-section-element-types",searchStore:o,draggableItems:i,placeCreatedEntity:r}):null}function Du(e){const{searchTimeout:t=600,minSearchTermLength:n=3}=e,{getCommandBus:i}=sn(),{shouldRender:r,setSectionActive:o,searchStore:a}=Hu({searchTimeout:t,allowSubmit:e=>e.length>=n}),s=i(xs);return v.useEffect((()=>{const e=new wi;return e.listen(s,"setCriteria",(({criteria:e})=>{o(!0,Bu(e))})),()=>e.stopListening()}),[r,s]),H.jsx(Wd,{className:"reactodia-search-section-entities",searchStore:a,onChangeCriteria:e=>{r&&o(!0,Bu(e))},onAddElements:()=>{o(!1)}})}function Bu(e){return e.text||e.elementType||e.refElement?e:void 0}function Ou(e){const{searchTimeout:t=200,minSearchTermLength:n=1}=e,{shouldRender:i,isSectionActive:r,searchStore:o}=Hu({searchTimeout:t,allowSubmit:e=>e.length>=n});return i?H.jsx(Qd,{className:"reactodia-search-section-link-types",trackSelected:r,searchStore:o}):null}var ju="reactodia-unified-search";function Fu(e){const{sections:t,direction:n="down",defaultWidth:i=300,defaultHeight:r=350,minWidth:o=200,minHeight:a=150,offsetWithMaxWidth:s=20,offsetWithMaxHeight:l=20,hotkeyFocus:c}=e,[d,u]=v.useState(!1),[h,f]=v.useState(Uu.empty),p=Hl({initialValue:""}),g=Ct(p.events,"changeValue",(()=>p.value));v.useEffect((()=>{const e=()=>{f((e=>e.deactivate())),u(!1)};return p.events.on("clearSearch",e),()=>p.events.off("clearSearch",e)}),[p,f,u]);const[m,b]=v.useState({width:i,height:r}),w=v.useRef({width:1/0,height:1/0}),y={width:Math.min(m.width,w.current.width),height:Math.min(m.height,w.current.height)},_=v.useMemo((()=>t.map((e=>({...e,context:{searchStore:p,isSectionActive:e.key===h?.key,setSectionActive:(t,n)=>{t?(f((t=>t.activate(e.key,n))),u(!0),x.current?.focus()):(f((e=>e.deactivate())),u(!1))}}})))),[t,p,h,f,u]),{getCommandBus:k}=sn(),x=v.useRef(null),S=v.useCallback((({sectionKey:e})=>{e&&(t.some((t=>t.key===e))?f((t=>t.activate(e))):console.warn(`Unified search: cannot activate section that does not exists: ${e}`)),x.current?.focus()}),[t,f]),C=k(Ss);v.useEffect((()=>(C.on("focus",S),()=>C.off("focus",S))),[C,S]);const L=br(c,(()=>S({}))),M=g.length>0||void 0!==h.getSearchExtra(),E=v.useCallback((()=>{M||u(!1)}),[M,u]);return H.jsx(wl,{className:ju,direction:n,expanded:d,"aria-keyshortcuts":L?.text,onClickOutside:E,toggle:H.jsx(qu,{inputRef:x,searchTerm:g,setSearchTerm:e=>p.change({value:e,action:"input"}),onSubmit:()=>{},onClear:M?()=>p.change({value:"",action:"clear"}):void 0,expanded:d,setExpanded:e=>{f((n=>{if(!e)return n.deactivate();if(void 0===n.key){const e=t.some((e=>e.key===h.previousActive))?h.previousActive:t.length>0?t[0].key:void 0;if(e)return n.activate(e)}return n})),u(e)},minWidth:o,panelSize:y}),children:H.jsx(Wu,{sections:_,activeSectionKey:h.key,onActivateSection:e=>f((t=>t.switch(e))),dropUp:"up"===n,size:y,minSize:{width:o,height:a},offsetForMaxSize:{x:s,y:l},onResize:e=>{const t={width:Math.max(e.width,o),height:Math.max(e.height,a)};m.width===t.width&&m.height===t.height||b(t)},setMaxSize:e=>{w.current=e,(m.width>e.width||m.height>e.height)&&b({...m})}})})}var Uu=class e{key;previousActive;searchExtras;static empty=new e(void 0,void 0,{});constructor(e,t,n){this.key=e,this.previousActive=t,this.searchExtras=n}getSearchExtra(){const{key:e,searchExtras:t}=this;if(void 0!==e&&Object.prototype.hasOwnProperty.call(t,e))return t[e]}activate(t,n){return this.key===t&&this.getSearchExtra()===n?this:new e(t,this.key===t?this.previousActive:this.key,{...this.searchExtras,[t]:n})}deactivate(){return new e(void 0,this.key,this.searchExtras)}switch(t){return this.key===t?this:new e(t,this.key,this.searchExtras)}};function qu(e){const{inputRef:t,searchTerm:n,setSearchTerm:i,onSubmit:r,onClear:o,expanded:a,setExpanded:s,panelSize:l}=e,c=Pt();return H.jsxs("div",{className:cn(`${ju}__toggle`),style:{width:l?.width},role:"search",children:[H.jsx("input",{ref:t,role:"searchbox",type:"text",className:`${ju}__search-input`,placeholder:c.textOptional("unified_search.input.placeholder")??c.text("search_defaults.input.placeholder"),name:"reactodia-search",value:n,onClick:()=>s(!0),onFocus:()=>s(!0),onChange:e=>i(e.currentTarget.value),onKeyUp:e=>{switch(e.key){case"Enter":n.length>0&&s(!0),r();break;case"Escape":o?o():s(!1);break;default:s(!0)}}}),o?H.jsx("button",{type:"button",title:c.text("unified_search.input_clear.title"),className:`${ju}__clear-button`,onClick:o}):a?H.jsx("button",{type:"button",title:c.text("unified_search.input_collapse.title"),className:`${ju}__collapse-button`,onClick:()=>s(!1)}):H.jsx("div",{className:`${ju}__search-icon`,onClick:()=>t.current?.focus()})]})}function Wu(e){const{sections:t,activeSectionKey:n,onActivateSection:i,dropUp:r,size:o,minSize:a,offsetForMaxSize:s,onResize:l,setMaxSize:c}=e,{canvas:d}=cr(),u=v.useRef(null),h=v.useRef(void 0),f=()=>{if(!u.current)return;const{x:e,y:t,width:n,height:i}=u.current.getBoundingClientRect(),r=e+window.scrollX,o=t+window.scrollY,[a]=function(e){const t=getComputedStyle(e);return[t.getPropertyValue("--reactodia-viewport-dock-align-x"),t.getPropertyValue("--reactodia-viewport-dock-align-y")]}(u.current),s=d.metrics.getViewportPageRect();h.current={bounds:{x:r,y:o,width:n,height:i},centeredByX:"center"===a,centerOffsetX:Math.max(2*r+n-2*s.x-s.width,0)}};!function(e){const{canvas:t}=cr(),n=v.useRef(void 0);v.useLayoutEffect((()=>{n.current=e})),v.useLayoutEffect((()=>{const e=new yi,i=()=>{const t=n.current;t&&e.call(t)};return t.events.on("resize",i),n.current?.(),()=>{e.dispose(),t.events.off("resize",i)}}),[])}((()=>{if(h.current||f(),h.current){const{bounds:e,centeredByX:t,centerOffsetX:n}=h.current,i=d.metrics.getViewportPageRect(),o=r?e.y-i.y-s.y:i.y+i.height-e.y-s.y;c({width:Math.max(t?i.width-n-s.x:i.x+i.width-e.x-s.x,a.width),height:Math.max(o,a.height)})}}));const p=(e,t,n)=>{if(h.current){const{bounds:e,centeredByX:i}=h.current;l({width:e.width+t*(i?2:1),height:e.height+(r?-n:n)})}},g=e=>`reactodia-unified-search-panel-${e.key}`;return H.jsxs("div",{ref:u,className:`${ju}__panel`,style:{width:o.width,height:o.height},children:[H.jsx("div",{className:`${ju}__section-tabs`,role:"tablist",children:t.map((e=>H.jsx("button",{className:cn(`${ju}__section-tab`,"reactodia-btn","reactodia-btn-default",e.key===n?"active":void 0),role:"tab","aria-selected":e.key===n,"aria-controls":g(e),"aria-label":e.title,title:e.title,onClick:()=>i(e.key),children:e.label},e.key)))}),t.map((e=>H.jsx(Pu.Provider,{value:e.context,children:H.jsx("div",{id:g(e),role:"tabpanel",className:cn(`${ju}__section`,e.context.isSectionActive?`${ju}__section--active`:void 0),children:e.component})},e.key))),H.jsx(Fa,{dock:r?"n":"s",axis:"y",onBeginDragHandle:f,onDragHandle:p}),H.jsx(Fa,{dock:"e",axis:"x",className:`${ju}__right-handle`,onBeginDragHandle:f,onDragHandle:p}),H.jsx(Fa,{dock:r?"ne":"se",axis:"all",className:`${ju}__corner-handle`,onBeginDragHandle:f,onDragHandle:p})]})}function Gu(e){const t=Hl({initialValue:"",submitTimeout:200}),n=sn(),i=Pt();return H.jsx(Xu,{...e,searchStore:t,workspace:n,translation:i})}var Zu="reactodia-element-selector",Ku="reactodia-form",Xu=class extends v.Component{listener=new wi;fetchTypesCancellation=new AbortController;filterCancellation=new AbortController;loadingItemCancellation=new AbortController;constructor(e){super(e),this.state={elementTypesState:"none",existingElements:[],existingElementsState:"none"}}componentDidMount(){const{searchStore:e}=this.props;this.listener.listen(e.events,"changeValue",(({source:e})=>{0===e.value.length?this.searchExistingElements(""):this.forceUpdate()})),this.listener.listen(e.events,"executeSearch",(({value:e})=>{this.searchExistingElements(e)})),this.fetchPossibleElementTypes()}componentWillUnmount(){this.listener.stopListening(),this.fetchTypesCancellation.abort(),this.filterCancellation.abort(),this.loadingItemCancellation.abort()}async fetchPossibleElementTypes(){const{source:e,workspace:{editor:{metadataProvider:t}}}=this.props;if(!t)return;this.fetchTypesCancellation.abort(),this.fetchTypesCancellation=new AbortController;const n=this.fetchTypesCancellation.signal,i=await hi(t.canConnect(e,void 0,void 0,{signal:n}),n);if(null===i)return;const r=new Set;for(const{targetTypes:e}of i)for(const t of e)r.add(t);this.setState({elementTypes:Array.from(r)})}async searchExistingElements(e){const{workspace:{model:t}}=this.props;if(this.filterCancellation.abort(),this.setState({existingElements:[],existingElementsState:"none"}),e.length>0){this.setState({existingElementsState:"loading"}),this.filterCancellation=new AbortController;const n=this.filterCancellation.signal,i=Kd({text:e});let r;try{if(r=await hi(t.dataProvider.lookup(i),n),null===r)return}catch(e){return console.error("Error looking up existing entities",e),void this.setState({existingElementsState:"error"})}const o=r.map((e=>e.element));this.setState({existingElements:o,existingElementsState:"none"})}}onElementTypeChange=async e=>{this.setState({elementTypesState:"loading"}),this.loadingItemCancellation.abort(),this.loadingItemCancellation=new AbortController;const t=this.loadingItemCancellation.signal,{onChange:n,workspace:{model:i,editor:{metadataProvider:r}},translation:o}=this.props,a=e.target.value;let s;try{if(s=await hi(r.createEntity(a,{translation:o,language:i.language,signal:t}),t),null===s)return}catch(e){return console.error("Error calling MetadataProvider.createEntity()",e),void this.setState({elementTypesState:"error"})}this.setState({elementTypesState:"none"}),n({value:s,isNew:!0,loading:!1})};renderElementTypeSelector(){const{elementValue:e,translation:t}=this.props,{elementTypes:n,elementTypesState:i}=this.state,r=e.value.data.types.length?e.value.data.types[0]:"";return"none"!==i?H.jsx(Yt,{width:20,height:20,errorOccurred:"error"===i}):H.jsxs("div",{className:`${Ku}__control-row`,children:[H.jsx("label",{children:t.text("visual_authoring.select_entity.type.label")}),n?H.jsxs("select",{className:"reactodia-form-control",name:"reactodia-element-type-selector-select",value:r,onChange:e=>{this.onElementTypeChange(e)},children:[H.jsx("option",{value:xi,disabled:!0,children:t.text("visual_authoring.select_entity.type.placeholder")}),H.jsx(Yu,{elementTypes:n})]}):H.jsx("div",{children:H.jsx(Yt,{width:20,height:20})}),e.error?H.jsx("span",{className:`${Ku}__control-error`,children:e.error}):""]})}renderExistingElementsList(){const{searchStore:e,elementValue:t}=this.props,{elementTypes:n,existingElements:i,existingElementsState:r}=this.state;return"none"!==r?H.jsx("div",{className:`${Zu}__results-spinner`,children:H.jsx(Yt,{width:30,height:30,errorOccurred:"error"===r})}):H.jsx(Qu,{items:i,requiredElementTypes:n,selected:t.isNew?void 0:t.value.data,onSelect:e=>{this.onSelectExistingItem(e)},highlightText:e.value})}async onSelectExistingItem(e){const{onChange:t,workspace:{model:n}}=this.props;this.loadingItemCancellation.abort(),this.loadingItemCancellation=new AbortController;const i=this.loadingItemCancellation.signal;t({value:{data:e},isNew:!1,loading:!0});const r=await n.dataProvider.elements({elementIds:[e.id]});i.aborted||t({value:{data:r.get(e.id)},isNew:!1,loading:!1})}render(){const{searchStore:e,translation:t}=this.props;return H.jsxs("div",{className:cn(`${Ku}__row`,Zu,e.value.length>0?`${Zu}--search-existing`:void 0),children:[H.jsx(Pl,{store:e,className:`${Zu}__search`,inputProps:{className:`${Zu}__search-input`,name:"reactodia-element-type-selector-search",placeholder:t.textOptional("visual_authoring.select_entity.input.placeholder"),autoFocus:!0},children:H.jsx("span",{className:`${Zu}__search-icon`})}),e.value.length>0?H.jsx("div",{className:`${Zu}__existing-elements-list`,role:"listbox","aria-label":t.text("visual_authoring.select_entity.results.aria_label"),tabIndex:-1,children:this.renderExistingElementsList()}):H.jsxs("div",{children:[H.jsx("div",{className:`${Zu}__separator`,children:H.jsx("i",{className:`${Zu}__separator-text`,children:t.text("visual_authoring.select_entity.separator.label")})}),this.renderElementTypeSelector()]})]})}};function Qu(e){const{items:t,requiredElementTypes:n,selected:i,onSelect:r,highlightText:o}=e,{model:a,editor:s}=sn(),l=i?.id,c=v.useMemo((()=>new Set(void 0===l?void 0:[l])),[l]),d=$t(zt(Et(a.events,"changeCells")),(()=>a.cellsVersion)),u=v.useMemo((()=>{const e=Na(a);return t=>e.has(t.id)}),[d]),h=Ct(s.events,"changeTemporaryState",(()=>s.temporaryState));return H.jsx(Bl,{items:t,selection:c,onSelectionChanged:e=>{if(1===e.size){const[n]=e,i=t.find((e=>e.id===n));i&&r(i)}},isItemDisabled:v.useCallback((e=>{const t=n&&n.some((t=>e.types.includes(t)));return u(e)&&!h.elements.has(e.id)||!t}),[u,h,n]),highlightText:o,useDragAndDrop:!1,multiSelection:!1,footer:0===t.length?H.jsx(Fl,{hasQuery:!0}):void 0})}function Yu(e){const{elementTypes:t}=e,{model:n}=sn(),i=Pt(),r=Ct(n.events,"changeLanguage",(()=>n.language));return Dt(tn,t,n),H.jsx(H.Fragment,{children:[...t].sort(Ju(n,i,r)).map((e=>{const t=n.getElementType(e),o=i.formatLabel(t?.data?.label,e,r);return H.jsx("option",{value:e,children:i.text("visual_authoring.select_entity.entity_type.label",{type:o,typeIri:e})},e)}))})}function Ju(e,t,n){return(i,r)=>{const o=e.getElementType(i),a=e.getElementType(r),s=t.formatLabel(o?.data?.label,i,n),l=t.formatLabel(a?.data?.label,r,n);return s.localeCompare(l)}}var eh="reactodia-form",th=class extends v.Component{static contextType=an;link;validationCancellation=new AbortController;constructor(e){super(e);const{source:t,target:n,initialTargetIsNew:i,originalLink:r}=this.props;this.link=r,this.state={elementValue:{value:{data:n.data},isNew:i,loading:!1,validated:!0,allowChange:!0},linkValue:{link:{base:r.data,source:t.data,target:n.data,direction:"out"},validated:!0,allowChange:!0}}}componentDidMount(){this.validate()}componentWillUnmount(){this.validationCancellation.abort()}validate(){const{originalLink:e,translation:t}=this.props,{elementValue:n,linkValue:i}=this.state;this.setState({isValidating:!0}),this.validationCancellation.abort(),this.validationCancellation=new AbortController;const r=this.validationCancellation.signal,o=function(e,t){const n=e.types.indexOf("urn:reactodia:newElement")<0?void 0:t.text("visual_authoring.select_entity.validation.error_required");return Promise.resolve({error:n,allowChange:!0})}(n.value.data,t),a=async function(e,t,n,i,r){const{model:o,editor:a}=n;return"urn:reactodia:newLink"===e.linkTypeId?{error:i.text("visual_authoring.select_relation.validation.error_required"),allowChange:!0}:Wt(e,t)?{error:void 0,allowChange:!0}:function(e,t){for(const n of e.links)for(const e of ha(n))if(Wt(e,t))return!0;return!1}(o,e)?{error:i.text("visual_authoring.select_relation.validation.error_duplicate"),allowChange:a.temporaryState.links.has(e)}:(await o.dataProvider.links({primary:[e.sourceId],secondary:[e.targetId],linkTypeIds:[e.linkTypeId],signal:r})).some((t=>Wt(t,e)))?{error:i.text("visual_authoring.select_relation.validation.error_duplicate"),allowChange:!1}:{error:void 0,allowChange:!0}}({...(s=i.link).base,sourceId:"out"===s.direction?s.source.id:s.target.id,targetId:"out"===s.direction?s.target.id:s.source.id},e.data,this.context,t,r);var s;Promise.all([o,a]).then((([e,t])=>{r.aborted||(this.setState({isValidating:!1}),this.setElementOrLink({elementValue:{...n,...e,validated:!0},linkValue:{...i,...t,validated:!0}}))}))}render(){const{source:e,originalLink:t,translation:n}=this.props,{elementValue:i,linkValue:r,isValidating:o}=this.state,a=!i.error&&!r.error;return H.jsxs("div",{className:eh,children:[H.jsxs("div",{className:`${eh}__body`,children:[H.jsx(Gu,{source:e.data,elementValue:i,onChange:n=>{this.setElementOrLink({elementValue:{value:n.value,isNew:n.isNew,loading:n.loading,error:void 0,validated:!1,allowChange:!1},linkValue:{link:{base:t.data,source:e.data,target:n.value.data,direction:"out"},validated:!1,allowChange:!1}})}}),i.loading?H.jsxs("div",{style:{display:"flex"},children:[H.jsx(Yt,{width:20,height:20})," ",n.text("visual_authoring.find_or_create.loading.label")]}):H.jsx(Zc,{link:r.link,error:r.error,onChange:e=>this.setElementOrLink({linkValue:{link:e,error:void 0,validated:!1,allowChange:!1}}),disabled:void 0!==i.error}),o?H.jsx("div",{className:`${eh}__progress`,children:H.jsx(Il,{state:"loading",title:n.text("visual_authoring.find_or_create.validation_progress.title"),height:10})}):null]}),H.jsxs("div",{className:`${eh}__controls`,children:[H.jsx("button",{className:`reactodia-btn reactodia-btn-primary ${eh}__apply-button`,onClick:this.onApply,disabled:i.loading||!a||o,title:n.textOptional("visual_authoring.find_or_create.dialog.apply.title")??n.text("visual_authoring.dialog.apply.title"),children:n.textOptional("visual_authoring.find_or_create.dialog.apply.label")??n.text("visual_authoring.dialog.apply.label")}),H.jsx("button",{className:"reactodia-btn reactodia-btn-secondary",onClick:this.props.onCancel,title:n.text("visual_authoring.dialog.cancel.title"),children:n.text("visual_authoring.dialog.cancel.label")})]})]})}setElementOrLink({elementValue:e,linkValue:t}){const{model:n,editor:i}=this.context;this.setState((n=>({elementValue:e||n.elementValue,linkValue:t||n.linkValue})),(()=>{const{source:e,target:t}=this.props,{elementValue:r,linkValue:o}=this.state;if((r&&!r.validated||o&&!o.validated)&&this.validate(),r&&r.validated&&r.allowChange){let e=i.temporaryState;e=jo.removeEntity(e,t.data),e=jo.removeRelation(e,this.link.data),i.setTemporaryState(e);const o=n.history.startBatch();o.history.execute(va(n,t.iri,r.value.data)),o.discard(),e=jo.addEntity(e,t.data),e=jo.addRelation(e,this.link.data),i.setTemporaryState(e)}if(o&&o.validated&&o.allowChange){i.removeTemporaryCells([this.link]);const n=Qc(o.link,e,t);this.link=i.createRelation(n,{temporary:!0})}}))}onApply=()=>{const{model:e,editor:t}=this.context,{source:n,target:i,onAfterApply:r}=this.props,{elementValue:o,linkValue:a}=this.state,s=this.link;o.isNew||t.setTemporaryState(jo.removeEntity(t.temporaryState,o.value.data)),t.removeTemporaryCells([i,s]);const l=e.history.startBatch(Ht.text(o.isNew?"visual_authoring.find_or_create.create_command":"visual_authoring.find_or_create.connect_command"));o.isNew?(e.addElement(i),o.value.elementState&&i.setElementState(o.value.elementState),t.setAuthoringState(Oo.addEntity(t.authoringState,i.data))):e.requestLinks({addedElements:[o.value.data.id]});const c=Qc(a.link,n,i);t.createRelation(c),l.store(),r()}},nh="reactodia-authoring-state";function ih(e){const{target:t,inlineActions:n}=e,{canvas:i}=cr(),{model:r,editor:o}=sn(),a=Pt(),s=Ct(r.events,"changeSelection",(()=>1===r.selection.length&&r.selection[0]===t)),l=Ct(t.events,"changeData",(()=>t.data)),c=[l],d=$t(Et(o.events,"changeAuthoringState",c),(()=>o.authoringState.elements.get(l.id))),u=$t(Et(o.events,"changeValidationState",c),(()=>o.validationState.elements.get(l.id))),h=$t(Et(o.events,"changeTemporaryState",c),(()=>o.temporaryState.elements.has(l.id))),[f,p]=v.useState((()=>i.renderingState.getElementShape(t)));v.useEffect((()=>{const e=new wi;return e.listen(i.renderingState.events,"changeElementSize",(e=>{e.source===t&&p(i.renderingState.getElementShape(t))})),()=>e.stopListening()}),[t]);let g=null;if(h)g=H.jsxs(H.Fragment,{children:[H.jsx(ah,{shape:f,className:`${nh}__outline-overlay`}),H.jsx(ah,{shape:f,fill:"url(#stripe-pattern)"})]});else if(d&&"entityDelete"===d.type){const e=f.bounds.width/2,n=f.bounds.height/2,i="rect"===f.type?e:e*Math.SQRT1_2,r="rect"===f.type?n:n*Math.SQRT1_2;g=H.jsxs("g",{children:[H.jsx(ah,{shape:f,className:`${nh}__outline-overlay`}),H.jsx("line",{className:`${nh}__outline-cross-line`,x1:e-i,y1:n-r,x2:e+i,y2:n+r}),H.jsx("line",{className:`${nh}__outline-cross-line`,x1:e-i,y1:n+r,x2:e+i,y2:n-r})]},t.id)}let m=null;if(u){const e=Ia(u.items),t=u.items.map((e=>{if(e.propertyType){const t=r.getPropertyType(e.propertyType);return`${a.formatLabel(t?.data?.label,e.propertyType,r.language)}: ${e.message}`}return e.message})).join("\n");m=H.jsxs("div",{className:cn(`${nh}__item-validation`,rh(e)),title:t,children:[u.loading?H.jsx(Yt,{width:15,height:17}):H.jsx("div",{className:`${nh}__item-validation-icon`}),!u.loading&&u.items.length>0?u.items.length:void 0]})}const b=H.jsx("div",{className:`${nh}__state-indicator`,children:H.jsxs("div",{className:`${nh}__state-indicator-body`,children:[d?H.jsx("span",{className:`${nh}__state-label`,children:"entityAdd"===d.type?a.text("authoring_state.entity_add.label"):"entityChange"===d.type?a.text("authoring_state.entity_change.label"):"entityDelete"===d.type?a.text("authoring_state.entity_delete.label"):null}):null,h?null:H.jsx(oh,{target:t,state:d,allActions:Boolean(n)}),m]})},t.id);return H.jsx(po,{target:t,children:H.jsxs("div",{className:cn(`${nh}__decorator`,d||u?void 0:`${nh}__decorator--optional`,s?`${nh}__decorator--selected`:void 0),"data-reactodia-no-export":"true",children:[g?H.jsxs("svg",{className:`${nh}__element-outlines`,width:f.bounds.width,height:f.bounds.height,children:[H.jsx("defs",{children:H.jsx("pattern",{id:"stripe-pattern",patternUnits:"userSpaceOnUse",width:13,height:13,patternTransform:"rotate(45)",children:H.jsx("line",{className:`${nh}__outline-stripe-line`,x1:0,y:0,x2:0,y2:13})})}),g]}):null,b]})})}function rh(e){switch(e){case"info":return`${nh}--severity-info`;case"warning":return`${nh}--severity-warning`;case"error":return`${nh}--severity-error`;default:return}}function oh(e){const{target:t,state:n,allActions:i}=e,{editor:r}=sn(),o=Pt(),a=Ms(t.data,i);return H.jsxs("div",{className:`${nh}__actions`,children:[!i||n&&"entityAdd"!==n.type&&"entityChange"!==n.type?null:H.jsx("button",{className:`${nh}__action ${nh}__action-edit`,disabled:!a.canEdit,onClick:()=>a.onEdit(t),title:o.text(a.canEdit?"authoring_state.entity_action_edit.title":"authoring_state.entity_action_edit.title_disabled"),children:o.text("authoring_state.entity_action_edit.label")}),i&&!n||"entityAdd"===n?.type?H.jsx("button",{className:`${nh}__action ${nh}__action-delete`,disabled:!a.canDelete,onClick:()=>a.onDelete(),title:o.text(a.canEdit?"authoring_state.entity_action_delete.title":"authoring_state.entity_action_delete.title_disabled"),children:o.text("authoring_state.entity_action_delete.label")}):null,n&&"entityAdd"!==n.type?H.jsx("button",{className:`${nh}__action ${nh}__action-discard`,onClick:()=>r.discardChange(n),title:o.text("authoring_state.entity_action_discard.title"),children:o.text("authoring_state.entity_action_discard.label")}):null]})}function ah(e){const{shape:t,...n}=e;switch(t.type){case"rect":return H.jsx("rect",{x:0,y:0,width:t.bounds.width,height:t.bounds.height,...n});case"ellipse":{const e=t.bounds.width/2,i=t.bounds.height/2;return H.jsx("ellipse",{cx:e,cy:i,rx:e,ry:i,...n})}default:return null}}function sh(e){const{canvas:t}=cr(),n=sn(),i=Pt(),{editor:r}=n;return Ct(r.events,"changeMode",(()=>r.inAuthoringMode))?H.jsx(dh,{...e,workspace:n,canvas:t,translation:i}):null}var lh="reactodia-authoring-state",ch=5,dh=class extends v.Component{listener=new wi;componentDidMount(){this.listenEvents()}componentWillUnmount(){const{canvas:e}=this.props;this.listener.stopListening(),e.renderingState.cancelOnLayerUpdate(to.Overlay,this.performUpdate)}listenEvents(){const{workspace:{model:e,editor:t},canvas:n}=this.props;this.listener.listen(e.events,"elementEvent",(({data:e})=>{e.changePosition&&this.scheduleUpdate()})),this.listener.listen(e.events,"linkEvent",(({data:e})=>{e.changeVertices&&this.scheduleUpdate()})),this.listener.listen(e.events,"changeCells",this.scheduleUpdate),this.listener.listen(t.events,"changeAuthoringState",this.scheduleUpdate),this.listener.listen(t.events,"changeTemporaryState",this.scheduleUpdate),this.listener.listen(t.events,"changeValidationState",this.scheduleUpdate),this.listener.listen(n.events,"changeTransform",this.performUpdate),this.listener.listen(n.renderingState.events,"changeElementSize",this.scheduleUpdate),this.listener.listen(n.renderingState.events,"changeLinkLabelBounds",this.scheduleUpdate)}scheduleUpdate=()=>{const{canvas:e}=this.props;e.renderingState.scheduleOnLayerUpdate(to.Overlay,this.performUpdate)};performUpdate=()=>{this.forceUpdate()};calculateLinkPath(e){return this.calculateSpline(e).toPath()}calculateSpline(e){const{workspace:{model:t},canvas:n}=this.props,i=t.getElement(e.sourceId),r=t.getElement(e.targetId),o=n.renderingState.getLinkTemplate(e),a=n.renderingState.getRouting(e.id),s=a?a.vertices:e.vertices||[],l=n.renderingState.getElementShape(i),c=n.renderingState.getElementShape(r),d=xr(l,c,s);return Er.create({type:o?.spline??Er.defaultType,points:d,source:hr.center(l.bounds),target:hr.center(c.bounds)})}renderLinkStateLabels(){const{workspace:{model:e,editor:t}}=this.props,n=[];for(const i of e.links){if(!(i instanceof la))continue;const e=t.authoringState.links.get(i.data),r=this.renderLinkStatus(e),o=this.renderLinkValidations(i.data);if(r||o){const e=this.getLinkStateLabelPosition(i);e&&n.push(H.jsx("div",{className:`${lh}__state-indicator`,style:{left:e.x,top:e.y},children:H.jsxs("div",{className:`${lh}__state-indicator-body`,children:[r,o]})},i.id))}}return n}renderLinkStatus(e){const{workspace:{editor:t},translation:n}=this.props;return e?H.jsxs(H.Fragment,{children:[H.jsx("span",{className:`${lh}__state-label`,children:"relationAdd"===e.type?n.text("authoring_state.relation_add.label"):"relationChange"===e.type?n.text("authoring_state.relation_change.label"):"relationDelete"===e.type?n.text("authoring_state.relation_delete.label"):null}),H.jsx("span",{className:`${lh}__action ${lh}__action-discard`,onClick:()=>t.discardChange(e),title:n.text("authoring_state.relation_action_discard.title"),children:n.text("authoring_state.relation_action_discard.label")})]}):null}renderLinkStateHighlighting(){const{workspace:{model:e,editor:t}}=this.props,n=[];for(const i of e.links)if(i instanceof la)if(t.temporaryState.links.has(i.data)){const e=this.calculateLinkPath(i);n.push(H.jsx("path",{className:`${lh}__link-temporary`,d:e},i.id))}else{const e=t.authoringState.links.get(i.data),r=Oo.isDeletedRelation(t.authoringState,i.data),o=Oo.hasEntityChangedIri(t.authoringState,i.data.sourceId)||Oo.hasEntityChangedIri(t.authoringState,i.data.targetId);if(e||r||o){const t=this.calculateLinkPath(i);n.push(H.jsx("path",{className:r?`${lh}__link-deleted`:"relationAdd"===e?.type?`${lh}__link-added`:"relationChange"===e?.type?`${lh}__link-changed`:o?`${lh}__link-uncertain`:`${lh}__link-changed`,d:t},i.id))}}return n}getLinkStateLabelPosition(e){const{canvas:t,linkLabelMargin:n=ch}=this.props,i=t.renderingState.getLinkLabelBounds(e);if(i){const{x:e,y:t}=i;return{x:e,y:t-n/2}}{const t=this.calculateSpline(e),n=Sr(t.geometry.points);return Cr(t.geometry.points,n/2)}}renderLinkValidations(e){const{workspace:{model:t,editor:n},translation:i}=this.props,{validationState:r}=n,o=r.links.get(e);if(!o)return null;const a=o.items.map((e=>{if(e.propertyType){const n=t.getPropertyType(e.propertyType);return`${i.formatLabel(n?.data?.label,e.propertyType,t.language)}: ${e.message}`}return e.message})).join("\n"),s=Ia(o.items);return H.jsxs("div",{className:cn(`${lh}__item-validation`,uh(s)),title:a,children:[o.loading?H.jsx(Yt,{width:15,height:17}):H.jsx("div",{className:`${lh}__item-validation-icon`}),!o.loading&&o.items.length>0?o.items.length:void 0]})}render(){const{canvas:e}=this.props,t=e.metrics.transform,{scale:n,originX:i,originY:r}=t,o={position:"absolute",left:0,top:0,transform:`scale(${n},${n})translate(${i}px,${r}px)`};return H.jsxs(H.Fragment,{children:[H.jsx(Bo,{layer:"overLinkGeometry",children:H.jsx("div",{className:lh,children:H.jsx(Xr,{paperTransform:t,style:{overflow:"visible",pointerEvents:"none"},children:this.renderLinkStateHighlighting()})})}),H.jsx(Bo,{layer:"overElements",children:H.jsx("div",{className:lh,children:H.jsx("div",{className:`${lh}__validation-layer`,style:o,children:this.renderLinkStateLabels()})})})]})}};function uh(e){switch(e){case"info":return`${lh}--severity-info`;case"warning":return`${lh}--severity-warning`;case"error":return`${lh}--severity-error`;default:return}}function hh(e){const{operation:t,onFinishEditing:n}=e,i=sn(),r=Pt(),{model:o,editor:a}=i,{metadataProvider:s}=a;return H.jsx(nl,{operation:t,createLink:v.useCallback(((e,t,n)=>{if(n&&!(n instanceof la))throw new Error("DragEditLayer: cannot clone a non-relation link");const i=new la({sourceId:e.id,targetId:t.id,data:{sourceId:e instanceof ra?e.iri:"",targetId:t instanceof ra?t.iri:"",linkTypeId:n?.data.linkTypeId??"urn:reactodia:newLink",properties:n?.data.properties??{}},vertices:n?.vertices,linkState:n?.linkState}),r=a.createRelation(i,{temporary:!0});return n||o.setLinkVisibility(Si,"withoutLabel"),r}),[t]),canConnect:v.useCallback((async(e,t,n,l)=>{const c=n instanceof ra?a.authoringState.elements.get(n.iri):void 0;if(!(s&&t instanceof la&&e instanceof ra&&(!n||n instanceof ra))||c&&"entityDelete"===c.type)return new fh([],i,r);const d="urn:reactodia:newLink"===t.data.linkTypeId?void 0:t.data.linkTypeId;return n&&d&&o.findLink(d,e.id,n.id)?new fh([],i,r):new fh(await s.canConnect(e.data,n?.data,d,{signal:l}),i,r)}),[s]),cleanupLink:v.useCallback((e=>{e instanceof la&&a.setTemporaryState(jo.removeRelation(a.temporaryState,e.data))}),[]),onFinish:n})}var fh=class{connections;workspace;translation;constructor(e,t,n){this.connections=e,this.workspace=t,this.translation=n}get allowed(){return this.connections.length>0}async connect(e,t,n,i,r){if(!(e instanceof ra&&(!t||t instanceof ra)))return;let o=t;o||(o=await this.createNewElement(r),o.setPosition(n),i.renderingState.syncUpdate(),function(e,t,n){const{width:i,height:r}=n.getElementSize(e)??{width:0,height:0};e.setPosition({x:t.x-i/2,y:t.y-r/2})}(o,n,i.renderingState));const a=await this.createNewLink(e,o,r);this.afterCommit(t,o,a)}async moveSource(e,t,n,i){const{editor:r}=this.workspace;if(!(e instanceof la&&t instanceof ra))return;const o=r.moveRelationSource({link:e,newSource:t});this.afterCommit(t,void 0,o)}async moveTarget(e,t,n,i){const{editor:r}=this.workspace;if(!(e instanceof la&&t instanceof ra))return;const o=r.moveRelationTarget({link:e,newTarget:t});this.afterCommit(t,void 0,o)}async createNewElement(e){const{model:t,editor:n}=this.workspace;if(!n.metadataProvider)throw new Error("Cannot create new entity without metadata provider");const i=new Set;for(const{targetTypes:e}of this.connections)for(const t of e)i.add(t);const r=1===i.size?Array.from(i)[0]:xi,o=await n.metadataProvider.createEntity(r,{translation:this.translation,language:t.language,signal:e}),a=n.createEntity(o.data,{temporary:!0});return o.elementState&&a.setElementState(o.elementState),a}async createNewLink(e,t,n){const{model:i,editor:r}=this.workspace;if(!r.metadataProvider)throw new Error("Cannot create new relation without metadata provider");const o=new Set,a=new Set;for(const{targetTypes:e,inLinks:n,outLinks:i}of this.connections)if(t.data.types.some((t=>e.has(t)))){for(const e of n)o.add(e);for(const e of i)a.add(e)}const s=1===o.size?[...o][0]:void 0,l=1===a.size?[...a][0]:void 0;let c,d;0===o.size&&l?(c=l,d="out"):s&&0===a.size?(c=s,d="in"):s&&l&&s===l?(c=l,d=i.findLink(c,e.id,t.id)?"in":"out"):(c=Si,d="out");let[u,h]=[e,t];"in"===d&&([u,h]=[h,u]);const f=await r.metadataProvider.createRelation(u.data,h.data,c,{translation:this.translation,language:i.language,signal:n}),p=new la({sourceId:u.id,targetId:h.id,data:f.data,linkState:f.linkState}),g=i.findLink(p.typeId,p.sourceId,p.targetId);return g instanceof la?g:r.createRelation(p,{temporary:!0})}afterCommit(e,t,n){const{model:i,getCommandBus:r}=this.workspace;e?(i.setSelection([n]),r(Cs).trigger("editRelation",{target:n})):t&&n&&(i.setSelection([t]),r(Cs).trigger("findOrCreateEntity",{link:n,target:t}))}};function ph(e){const{propertyEditor:t,inlineEntityActions:n=!0}=e,{model:i,editor:r,overlay:o,getCommandBus:a}=sn(),s=Pt();return v.useLayoutEffect((()=>{const e=new wi;return e.listen(o.events,"changeOpenedDialog",(({previous:e})=>{e&&e.target&&r.removeTemporaryCells([e.target])})),()=>{e.stopListening()}}),[]),v.useLayoutEffect((()=>{const e=a(Cs),n=new wi;return n.listen(e,"editEntity",(({target:e})=>{let n;n=e instanceof ra?e:new ra({data:e});const i=t({type:"entity",target:n,onClose:()=>o.hideDialog()});o.showDialog({target:e instanceof ra?e:void 0,dialogType:"reactodia:editEntity",style:{caption:s.text("visual_authoring.edit_entity.dialog.caption"),defaultSize:{width:340,height:400}},content:i,holdSelection:!0})})),n.listen(e,"findOrCreateEntity",(t=>{const{link:n,target:a}=t,l=H.jsx(th,{source:i.getElement(n.sourceId),target:a,initialTargetIsNew:r.temporaryState.elements.has(a.iri),originalLink:n,onAfterApply:()=>{o.hideDialog(),Oo.isAddedEntity(r.authoringState,a.iri)&&e.trigger("editEntity",{target:a})},onCancel:()=>o.hideDialog(),translation:s});o.showDialog({target:a,dialogType:"reactodia:findOrCreateEntity",style:{caption:s.text("visual_authoring.find_or_create.dialog.caption"),minSize:{width:250,height:320}},content:l,onClose:()=>r.removeAllTemporaryCells()})})),n.listen(e,"editRelation",(({target:n})=>{const i=r.temporaryState.links.has(n.data)?s.text("visual_authoring.edit_relation.dialog.caption_new"):s.text("visual_authoring.edit_relation.dialog.caption"),a=t({type:"relation",target:n,onChangeTarget:t=>{o.hideDialog(),e.trigger("editRelation",{target:t})},onClose:()=>o.hideDialog()});o.showDialog({target:n,dialogType:"reactodia:editRelation",style:{defaultSize:{width:340,height:300},caption:i},content:a,onClose:()=>r.removeTemporaryCells([n])})})),()=>n.stopListening()}),[]),H.jsxs(H.Fragment,{children:[H.jsx(sh,{}),H.jsx(gh,{inlineActions:n}),H.jsx(vh,{})]})}var gh=v.memo((function(e){const{inlineActions:t}=e,{canvas:n}=cr(),{model:i,editor:r}=sn(),o=Ct(r.events,"changeMode",(()=>r.inAuthoringMode)),a=$t(oo(Et(i.events,"changeCells"),n.renderingState),(()=>i.cellsVersion)),s=v.useMemo((()=>new WeakMap),[t,a]),l=[];if(o)for(const e of i.elements)if(e instanceof ra){let n=s.get(e);n||(n=H.jsx(ih,{target:e,inlineActions:t},e.id),s.set(e,n)),l.push(n)}return l}));function vh(){const[e,t]=v.useState(null),{getCommandBus:n}=sn();return v.useLayoutEffect((()=>{const e=n(Cs),i=new wi;return i.listen(e,"startDragEdit",(({operation:e})=>{t(H.jsx(hh,{operation:e,onFinishEditing:()=>t(null)}))})),()=>i.stopListening()}),[]),e}var mh="reactodia-zoom-control";function bh(e){const{dock:t,dockOffsetX:n,dockOffsetY:i,showPointerModeToggle:r=!0}=e,{canvas:o}=cr(),a=Pt(),s=Ct(o.events,"changePointerMode",(()=>o.pointerMode));return H.jsx(rs,{dock:t,dockOffsetX:n,dockOffsetY:i,children:H.jsxs("div",{className:mh,role:"toolbar",children:[H.jsx("button",{type:"button",className:cn(`${mh}__zoom-in-button`,"reactodia-btn reactodia-btn-default"),title:a.text("zoom_control.zoom_in.title"),onClick:()=>o.zoomIn()}),H.jsx("button",{type:"button",className:cn(`${mh}__zoom-out-button`,"reactodia-btn reactodia-btn-default"),title:a.text("zoom_control.zoom_out.title"),onClick:()=>o.zoomOut()}),H.jsx("button",{type:"button",className:cn(`${mh}__zoom-fit-button`,"reactodia-btn reactodia-btn-default"),title:a.text("zoom_control.zoom_to_fit.title"),onClick:()=>o.zoomToFit({animate:!0})}),r?H.jsx("button",{type:"button",className:cn(`${mh}__selection-mode-button`,"reactodia-btn reactodia-btn-default","selection"===s?"active":void 0),title:a.text("zoom_control.pointer_mode.title"),onClick:()=>o.setPointerMode("panning"===s?"selection":"panning")}):null]})})}function wh(e){const{colorScheme:t="auto"}=e,n=v.useContext(mi),i=v.useContext(vi),r=function(e){const t=document.documentElement,[n,i]=v.useState((()=>t.getAttribute("data-theme")??(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"")));return v.useLayoutEffect((()=>{if(e){const e=window.matchMedia("(prefers-color-scheme: dark)"),n=()=>{i(t.getAttribute("data-theme")??(e.matches?"dark":""))};e.addEventListener("change",n);const r=new MutationObserver(n);return t&&r.observe(t,{attributes:!0,attributeFilter:["data-theme"]}),()=>{e.removeEventListener("change",n),r.disconnect()}}}),[t,e]),n}(!i&&"auto"===t);let o=t;"auto"===o&&(o=i??("dark"===r?"dark":"light"));const[a,s]=v.useState();void 0!==a&&(o=a);const l=v.useMemo((()=>n.defined?n:{defined:!0,actInColorScheme:(e,t)=>{dn.flushSync((()=>s(e))),t(),dn.flushSync((()=>s(void 0)))}}),[n,s]);return H.jsx(mi.Provider,{value:l,children:H.jsx(vi.Provider,{value:o,children:H.jsx("div",{className:cn("reactodia-workspace",e.className,"dark"===o?"reactodia-workspace-dark":"reactodia-workspace-light"),style:e.style,"data-theme":o,children:e.children})})})}function yh(e){const{className:t,style:n,colorScheme:i,children:r,canvas:o,canvasWidgets:a,annotations:s,connectionsMenu:l,dropOnCanvas:c,halo:d,haloLink:u,selection:h,navigator:f,visualAuthoring:p,zoomControl:g,menu:m,search:b,actions:w,mainToolbar:y,actionsToolbar:_,languages:k=[]}=e,x=Pt(),S=null===m?null:m??H.jsxs(H.Fragment,{children:[H.jsx(zu,{}),H.jsx($u,{kind:"exportRaster"}),H.jsx($u,{kind:"exportSvg"}),H.jsx($u,{kind:"print"})]}),C=null===w?null:w??H.jsxs(H.Fragment,{children:[H.jsx(Nu,{}),H.jsx(Tu,{}),H.jsx(Iu,{}),H.jsx(Vu,{languages:k})]}),L=v.useMemo((()=>[{key:"elementTypes",label:x.text("default_workspace.search_section_entity_types.label"),title:x.text("default_workspace.search_section_entity_types.title"),component:H.jsx(Ru,{})},{key:"entities",label:x.text("default_workspace.search_section_entities.label"),title:x.text("default_workspace.search_section_entities.title"),component:H.jsx(Du,{})},{key:"linkTypes",label:x.text("default_workspace.search_section_link_types.label"),title:x.text("default_workspace.search_section_link_types.title"),component:H.jsx(Ou,{})}]),[]),M=y?.dock??"nw",E="s"===M||"sw"===M||"se"===M;return H.jsx(wh,{className:t,style:n,colorScheme:i,children:H.jsxs(Tc,{...o,children:[p?H.jsx(ph,{...p}):null,null===s?null:H.jsx(ll,{...s}),null===l?null:H.jsx(Oc,{...l}),null===c?null:H.jsx(qc,{...c}),null===d?null:H.jsx(bd,{...d}),null===u?null:H.jsx(Hd,{...u}),null===h?null:H.jsx(bu,{...h}),null===g?null:H.jsx(bh,{dock:"w",...g}),null===f?null:H.jsx(ou,{dock:"se",...f}),H.jsx(Lu,{...y,dock:M,menu:S,children:null===b?null:H.jsx(Fu,{...b,direction:b?.direction??(E?"up":"down"),sections:b?.sections??L})}),null===C?null:H.jsx(Lu,{..._,dock:_?.dock??"sw",menu:null,children:C}),a,r]})})}v.createContext(null);var _h="en",kh=()=>{};function xh(e){const{workspace:t,onMount:n,children:i}=e;return v.useEffect((()=>t.mount()),[t]),v.useEffect((()=>{if(n)return n({getContext:()=>t}),()=>n(null)}),[n]),H.jsx(Vt,{translation:t.translation,children:H.jsx(an.Provider,{value:t,children:i})})}var Sh=class{refCount=0;cancellation=new AbortController;extensionCommands=new WeakMap;resolveTypeStyle;cachedTypeStyles;cachedGroupStyles;annotationStyles=new Map([["default",{color:"#bec3c9"}],["primary",{color:"#337ab7"}],["success",{color:"#5cb85c"}],["info",{color:"#54c7ec"}],["warning",{color:"#ffba00"}],["danger",{color:"#c9302c"}]]);layoutTypeProvider;model;view;editor;overlay;translation;triggerWorkspaceEvent;constructor(e){const{translation:t=new Ao({bundles:[To]}),history:n=new Pr,dialogSettingsProvider:i=new hs,metadataProvider:r,validationProvider:o,renameLinkProvider:a,typeStyleResolver:s,defaultLanguage:l=_h,defaultLayout:c,onWorkspaceEvent:d=()=>{}}=e;this.translation=t,this.resolveTypeStyle=s??kh,this.cachedTypeStyles=new WeakMap,this.cachedGroupStyles=new WeakMap,this.model=new Ea({history:n,translation:this.translation}),this.model.setLanguage(l),this.view=new Uo({defaultElementResolver:e=>e instanceof Wo?Es:Hs,defaultLinkResolver:e=>e instanceof Go?Is:Xs,defaultLayout:c,renameLinkProvider:null===a?void 0:a??new Lh}),this.editor=new Va({model:this.model,translation:this.translation,getDisposeSignal:()=>this.disposeSignal,metadataProvider:r,validationProvider:o}),this.overlay=new os({model:this.model,view:this.view,translation:this.translation,dialogSettingsProvider:i}),this.triggerWorkspaceEvent=d,this.layoutTypeProvider={getElementTypes:e=>e instanceof ra?e.data.types:[]};const u=new wi;u.listen(this.model.events,"loadingSuccess",(()=>{for(const e of this.view.findAllCanvases())e.renderingState.syncUpdate(),e.zoomToFit()})),d&&(u.listen(this.model.events,"changeSelection",(()=>d(on.editorChangeSelection))),u.listen(this.overlay.events,"changeOpenedDialog",(()=>d(on.editorToggleDialog))))}mount(){this.refCount++;let e=!0;return()=>{e&&(e=!1,this.refCount--,0===this.refCount&&(this.view.dispose(),this.cancellation.abort(),this.cancellation=new AbortController))}}get disposeSignal(){return this.cancellation.signal}getCommandBus=e=>{let t=this.extensionCommands.get(e);return t||(t=new bi,this.extensionCommands.set(e,t)),t};getElementStyle=e=>e instanceof ra?this.getElementTypeStyle(e.data.types):e instanceof oa?this.getGroupTypeStyle(e):this.tryGetColorVariantStyle(e)??this.getElementTypeStyle([]);getElementTypeStyle=e=>{let t=this.cachedTypeStyles.get(e);if(!t){const n=this.resolveTypeStyle(e);let i;i=n&&n.color?oi(n.color).toString():oi(function(e){const t=Ch(e,195935983);return(void 0===t?0:t)/2147483647*360}(e),40,75).toString(),t={...n,color:i},this.cachedTypeStyles.set(e,t)}return t};getGroupTypeStyle(e){const{items:t}=e;let n=this.cachedGroupStyles.get(t);if(!n){const e=new U(Ch,xt);for(const n of t)e.set(n.data.types,(e.get(n.data.types)??0)+1);let i=0,r=[];for(const[t,n]of e)n>i&&(i=n,r=t);n=this.getElementTypeStyle(r),this.cachedGroupStyles.set(t,n)}return n}tryGetColorVariantStyle(e){const{elementState:t}=e,n=t.get(pi.ColorVariant);if(n||e instanceof Wo)return this.annotationStyles.get(n??"default")}performLayout=async e=>{const{canvas:t,layoutFunction:n,selectedElements:i,fixedElements:r,animate:o,zoomToFit:a=!0}=e,{model:s,view:l,overlay:c}=this,d=this.translation,u=t??l.findAnyCanvas();if(!u)throw new Error("Failed to find any canvas to perform layout");u.renderingState.syncUpdate();const h=c.startTask({title:d.text("workspace.perform_layout.task"),delay:200});let f;try{f=await async function(e){const{layoutFunction:t,model:n,sizeProvider:i,typeProvider:r,fixedElements:o,selectedElements:a}=e;if(a&&a.size<=1)return{positions:new Map,sizes:new Map,nestedLayouts:[]};let s=n.elements;a&&(s=s.filter((e=>a.has(e))));const l=Object.create(null),c=Object.create(null);for(const e of s)l[e.id]={types:r?.getElementTypes?.(e)??[],fixed:o?.has(e)},c[e.id]=yr(e,i);const d=[];for(const e of n.links)Object.hasOwn(l,e.sourceId)&&Object.hasOwn(l,e.targetId)&&"hidden"!==n.getLinkVisibility(e.typeId)&&d.push({type:r?.getLinkType?.(e)??e.typeId,source:e.sourceId,target:e.targetId});const u=await t({nodes:l,links:d},{bounds:c}),h=new Map,f=new Map;for(const[e,{x:t,y:n,width:i,height:r}]of Object.entries(u.bounds))h.set(e,{x:t,y:n}),f.set(e,{width:i,height:r});return{positions:h,sizes:f,nestedLayouts:[]}}({layoutFunction:n??l.defaultLayout,model:s,selectedElements:i,fixedElements:r,sizeProvider:u.renderingState,typeProvider:this.layoutTypeProvider})}catch(e){return h.setError(e),void console.error("Failed to compute graph layout",e)}finally{h.end()}const p=s.history.startBatch(Ht.text("workspace.perform_layout.command"));p.history.registerToUndo(Hr.capture(s));for(const e of s.links)e.setVertices([]);p.history.registerToUndo(function(e){function t(){const{metrics:t}=e,{clientWidth:n,clientHeight:i}=e.metrics.pane,r=t.clientToPaperCoords(n/2,i/2),{scale:o}=t.transform;return{center:r,scale:o}}function n({center:t,scale:n}){e.centerTo(t,{scale:n})}const i=t(),r=Lr.create(Ht.text("commands.restore_viewport.title"),(()=>{const e=t();return n(i),Lr.create(Ht.text("commands.restore_viewport.title"),(()=>(n(e),r)))}));return r}(u)),o?await Promise.all([u.animateGraph((()=>{go(f,s),p.store()})),a?u.zoomToFit({animate:!0}):null]):(go(f,s),p.store(),a&&await u.zoomToFit())};group=e=>Ra(this,e);ungroupAll=e=>Da(this,e);ungroupSome=e=>Ba(this,e)};function Ch(e,t=0){let n=0|t;for(const t of e)n=R(n,B(t,n));return 0|n}var Lh=class extends qo{canRename(e){return e instanceof Go}},Mh=class extends v.Component{_workspace;static contextType=It;constructor(e,t){super(e,t);const{history:n,dialogSettingsProvider:i,metadataProvider:r,validationProvider:o,renameLinkProvider:a,typeStyleResolver:s,selectLabelLanguage:l,translations:c=[],useDefaultTranslation:d=!0,defaultLanguage:u,defaultLayout:h,onWorkspaceEvent:f}=this.props;let p=c;var g;d&&(p=[...c,To]),this._workspace=(g={translation:this.context??new Ao({bundles:p,selectLabel:l}),history:n,dialogSettingsProvider:i,metadataProvider:r,validationProvider:o,renameLinkProvider:a,typeStyleResolver:s,defaultLanguage:u,defaultLayout:h,onWorkspaceEvent:f},new Sh(g))}getContext(){return this._workspace}render(){const{children:e}=this.props;return H.jsx(xh,{workspace:this._workspace,children:e})}},Eh=A((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=function(e,t,n){this.source=e,this.target=t,this.type=n};e.PowerEdge=t;var n=function(){function e(e,t,n,i){var a=this;if(this.linkAccessor=n,this.modules=new Array(e),this.roots=[],i)this.initModulesFromGroup(i);else{this.roots.push(new o);for(var s=0;s<e;++s)this.roots[0].add(this.modules[s]=new r(s))}this.R=t.length,t.forEach((function(e){var t=a.modules[n.getSourceIndex(e)],i=a.modules[n.getTargetIndex(e)],r=n.getType(e);t.outgoing.add(r,i),i.incoming.add(r,t)}))}return e.prototype.initModulesFromGroup=function(e){var t=new o;this.roots.push(t);for(var n=0;n<e.leaves.length;++n){var i=e.leaves[n],s=new r(i.id);this.modules[i.id]=s,t.add(s)}if(e.groups)for(var l=0;l<e.groups.length;++l){var c=e.groups[l],d={};for(var u in c)"leaves"!==u&&"groups"!==u&&c.hasOwnProperty(u)&&(d[u]=c[u]);t.add(new r(-1-l,new a,new a,this.initModulesFromGroup(c),d))}return t},e.prototype.merge=function(e,t,n){void 0===n&&(n=0);var i=e.incoming.intersection(t.incoming),a=e.outgoing.intersection(t.outgoing),s=new o;s.add(e),s.add(t);var l=new r(this.modules.length,a,i,s);this.modules.push(l);var c=function(n,i,r){n.forAll((function(n,o){n.forAll((function(n){var a=n[i];a.add(o,l),a.remove(o,e),a.remove(o,t),e[r].remove(o,n),t[r].remove(o,n)}))}))};return c(a,"incoming","outgoing"),c(i,"outgoing","incoming"),this.R-=i.count()+a.count(),this.roots[n].remove(e),this.roots[n].remove(t),this.roots[n].add(l),l},e.prototype.rootMerges=function(e){void 0===e&&(e=0);for(var t=this.roots[e].modules(),n=t.length,i=new Array(n*(n-1)),r=0,o=0,a=n-1;o<a;++o)for(var s=o+1;s<n;++s){var l=t[o],c=t[s];i[r]={id:r,nEdges:this.nEdges(l,c),a:l,b:c},r++}return i},e.prototype.greedyMerge=function(){for(var e=0;e<this.roots.length;++e)if(!(this.roots[e].modules().length<2)){var t=this.rootMerges(e).sort((function(e,t){return e.nEdges==t.nEdges?e.id-t.id:e.nEdges-t.nEdges}))[0];if(!(t.nEdges>=this.R))return this.merge(t.a,t.b,e),!0}},e.prototype.nEdges=function(e,t){var n=e.incoming.intersection(t.incoming),i=e.outgoing.intersection(t.outgoing);return this.R-n.count()-i.count()},e.prototype.getGroupHierarchy=function(e){var n=this,r=[];return i(this.roots[0],{},r),this.allEdges().forEach((function(i){var o=n.modules[i.source],a=n.modules[i.target];e.push(new t(void 0===o.gid?i.source:r[o.gid],void 0===a.gid?i.target:r[a.gid],i.type))})),r},e.prototype.allEdges=function(){var t=[];return e.getEdges(this.roots[0],t),t},e.getEdges=function(t,n){t.forAll((function(t){t.getEdges(n),e.getEdges(t.children,n)}))},e}();function i(e,t,n){e.forAll((function(e){if(e.isLeaf())t.leaves||(t.leaves=[]),t.leaves.push(e.id);else{var r=t;if(e.gid=n.length,!e.isIsland()||e.isPredefined()){if(r={id:e.gid},e.isPredefined())for(var o in e.definition)r[o]=e.definition[o];t.groups||(t.groups=[]),t.groups.push(e.gid),n.push(r)}i(e.children,r,n)}}))}e.Configuration=n;var r=function(){function e(e,t,n,i,r){void 0===t&&(t=new a),void 0===n&&(n=new a),void 0===i&&(i=new o),this.id=e,this.outgoing=t,this.incoming=n,this.children=i,this.definition=r}return e.prototype.getEdges=function(e){var n=this;this.outgoing.forAll((function(i,r){i.forAll((function(i){e.push(new t(n.id,i.id,r))}))}))},e.prototype.isLeaf=function(){return 0===this.children.count()},e.prototype.isIsland=function(){return 0===this.outgoing.count()&&0===this.incoming.count()},e.prototype.isPredefined=function(){return void 0!==this.definition},e}();e.Module=r;var o=function(){function e(){this.table={}}return e.prototype.count=function(){return Object.keys(this.table).length},e.prototype.intersection=function(t){var n=new e;return n.table=function(e,t){var n={};for(var i in e)i in t&&(n[i]=e[i]);return n}(this.table,t.table),n},e.prototype.intersectionCount=function(e){return this.intersection(e).count()},e.prototype.contains=function(e){return e in this.table},e.prototype.add=function(e){this.table[e.id]=e},e.prototype.remove=function(e){delete this.table[e.id]},e.prototype.forAll=function(e){for(var t in this.table)e(this.table[t])},e.prototype.modules=function(){var e=[];return this.forAll((function(t){t.isPredefined()||e.push(t)})),e},e}();e.ModuleSet=o;var a=function(){function e(){this.sets={},this.n=0}return e.prototype.count=function(){return this.n},e.prototype.contains=function(e){var t=!1;return this.forAllModules((function(n){t||n.id!=e||(t=!0)})),t},e.prototype.add=function(e,t){(e in this.sets?this.sets[e]:this.sets[e]=new o).add(t),++this.n},e.prototype.remove=function(e,t){var n=this.sets[e];n.remove(t),0===n.count()&&delete this.sets[e],--this.n},e.prototype.forAll=function(e){for(var t in this.sets)e(this.sets[t],Number(t))},e.prototype.forAllModules=function(e){this.forAll((function(t){return t.forAll(e)}))},e.prototype.intersection=function(t){var n=new e;return this.forAll((function(e,i){if(i in t.sets){var r=e.intersection(t.sets[i]),o=r.count();o>0&&(n.sets[i]=r,n.n+=o)}})),n},e}();e.LinkSets=a,e.getGroups=function(e,t,i,r){for(var o=new n(e.length,t,i,r);o.greedyMerge(););var a=[],s=o.getGroupHierarchy(a);return a.forEach((function(t){var n=function(n){var i=t[n];"number"==typeof i&&(t[n]=e[i])};n("source"),n("target")})),{groups:s,powerEdges:a}}})),zh=A((e=>{function t(e,t){var n={};for(var i in e)n[i]={};for(var i in t)n[i]={};return Object.keys(n).length}function n(e,t){var n=0;for(var i in e)void 0!==t[i]&&++n;return n}function i(e,t,n,i){var r=function(e,t){var n={},i=function(e,t){void 0===n[e]&&(n[e]={}),n[e][t]={}};return e.forEach((function(e){var n=t.getSourceIndex(e),r=t.getTargetIndex(e);i(n,r),i(r,n)})),n}(e,i);e.forEach((function(e){var o=r[i.getSourceIndex(e)],a=r[i.getTargetIndex(e)];i.setLength(e,1+t*n(o,a))}))}function r(e,t,n){var i=[],r=0,o=[],a=[];function s(e){e.index=e.lowlink=r++,o.push(e),e.onStack=!0;for(var t=0,n=e.out;t<n.length;t++){var i=n[t];void 0===i.index?(s(i),e.lowlink=Math.min(e.lowlink,i.lowlink)):i.onStack&&(e.lowlink=Math.min(e.lowlink,i.index))}if(e.lowlink===e.index){for(var l=[];o.length&&((i=o.pop()).onStack=!1,l.push(i),i!==e););a.push(l.map((function(e){return e.id})))}}for(var l=0;l<e;l++)i.push({id:l,out:[]});for(var c=0,d=t;c<d.length;c++){var u=d[c],h=i[n.getSourceIndex(u)],f=i[n.getTargetIndex(u)];h.out.push(f)}for(var p=0,g=i;p<g.length;p++){var v=g[p];void 0===v.index&&s(v)}return a}Object.defineProperty(e,"__esModule",{value:!0}),e.symmetricDiffLinkLengths=function(e,r,o){void 0===o&&(o=1),i(e,o,(function(e,i){return Math.sqrt(t(e,i)-n(e,i))}),r)},e.jaccardLinkLengths=function(e,r,o){void 0===o&&(o=1),i(e,o,(function(e,i){return Math.min(Object.keys(e).length,Object.keys(i).length)<1.1?0:n(e,i)/t(e,i)}),r)},e.generateDirectedEdgeConstraints=function(e,t,n,i){var o=r(e,t,i),a={};o.forEach((function(e,t){return e.forEach((function(e){return a[e]=t}))}));var s=[];return t.forEach((function(e){var t=i.getSourceIndex(e),r=i.getTargetIndex(e);a[t]!==a[r]&&s.push({axis:n,left:t,right:r,gap:i.getMinSeparation(e)})})),s},e.stronglyConnectedComponents=r})),$h=A((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=function(){function e(){this.locks={}}return e.prototype.add=function(e,t){this.locks[e]=t},e.prototype.clear=function(){this.locks={}},e.prototype.isEmpty=function(){for(var e in this.locks)return!1;return!0},e.prototype.apply=function(e){for(var t in this.locks)e(Number(t),this.locks[t])},e}();e.Locks=t,e.Descent=function(){function e(e,i,r){void 0===r&&(r=null),this.D=i,this.G=r,this.threshold=1e-4,this.numGridSnapNodes=0,this.snapGridSize=100,this.snapStrength=1e3,this.scaleSnapByMaxH=!1,this.random=new n,this.project=null,this.x=e,this.k=e.length;var o=this.n=e[0].length;this.H=new Array(this.k),this.g=new Array(this.k),this.Hd=new Array(this.k),this.a=new Array(this.k),this.b=new Array(this.k),this.c=new Array(this.k),this.d=new Array(this.k),this.e=new Array(this.k),this.ia=new Array(this.k),this.ib=new Array(this.k),this.xtmp=new Array(this.k),this.locks=new t,this.minD=Number.MAX_VALUE;for(var a,s=o;s--;)for(a=o;--a>s;){var l=i[s][a];l>0&&l<this.minD&&(this.minD=l)}for(this.minD===Number.MAX_VALUE&&(this.minD=1),s=this.k;s--;){for(this.g[s]=new Array(o),this.H[s]=new Array(o),a=o;a--;)this.H[s][a]=new Array(o);this.Hd[s]=new Array(o),this.a[s]=new Array(o),this.b[s]=new Array(o),this.c[s]=new Array(o),this.d[s]=new Array(o),this.e[s]=new Array(o),this.ia[s]=new Array(o),this.ib[s]=new Array(o),this.xtmp[s]=new Array(o)}}return e.createSquareMatrix=function(e,t){for(var n=new Array(e),i=0;i<e;++i){n[i]=new Array(e);for(var r=0;r<e;++r)n[i][r]=t(i,r)}return n},e.prototype.offsetDir=function(){for(var e=this,t=new Array(this.k),n=0,i=0;i<this.k;++i){var r=t[i]=this.random.getNextBetween(.01,1)-.5;n+=r*r}return n=Math.sqrt(n),t.map((function(t){return t*(e.minD/n)}))},e.prototype.computeDerivatives=function(e){var t=this,n=this.n;if(!(n<1)){for(var i,r=new Array(this.k),o=new Array(this.k),a=new Array(this.k),s=0,l=0;l<n;++l){for(i=0;i<this.k;++i)a[i]=this.g[i][l]=0;for(var c=0;c<n;++c)if(l!==c){for(var d=n;d--;){var u=0;for(i=0;i<this.k;++i){var h=r[i]=e[i][l]-e[i][c];u+=o[i]=h*h}if(u>1e-9)break;var f=this.offsetDir();for(i=0;i<this.k;++i)e[i][c]+=f[i]}var p=Math.sqrt(u),g=this.D[l][c],v=null!=this.G?this.G[l][c]:1;if(v>1&&p>g||!isFinite(g))for(i=0;i<this.k;++i)this.H[i][l][c]=0;else{v>1&&(v=1);var m=g*g,b=2*v*(p-g)/(m*p),w=p*p*p,y=2*-v/(m*w);for(isFinite(b)||console.log(b),i=0;i<this.k;++i)this.g[i][l]+=r[i]*b,a[i]-=this.H[i][l][c]=y*(w+g*(o[i]-u)+p*u)}}for(i=0;i<this.k;++i)s=Math.max(s,this.H[i][l][l]=a[i])}var _=this.snapGridSize/2,k=this.snapGridSize,x=this.snapStrength/(_*_),S=this.numGridSnapNodes;for(l=0;l<S;++l)for(i=0;i<this.k;++i){var C=this.x[i][l],L=C/k,M=L%1,E=L-M;-_<(h=Math.abs(M)<=.5?C-E*k:C>0?C-(E+1)*k:C-(E-1)*k)&&h<=_&&(this.scaleSnapByMaxH?(this.g[i][l]+=s*x*h,this.H[i][l][l]+=s*x):(this.g[i][l]+=x*h,this.H[i][l][l]+=x))}this.locks.isEmpty()||this.locks.apply((function(n,r){for(i=0;i<t.k;++i)t.H[i][n][n]+=s,t.g[i][n]-=s*(r[i]-e[i][n])}))}},e.dotProd=function(e,t){for(var n=0,i=e.length;i--;)n+=e[i]*t[i];return n},e.rightMultiply=function(t,n,i){for(var r=t.length;r--;)i[r]=e.dotProd(t[r],n)},e.prototype.computeStepSize=function(t){for(var n=0,i=0,r=0;r<this.k;++r)n+=e.dotProd(this.g[r],t[r]),e.rightMultiply(this.H[r],t[r],this.Hd[r]),i+=e.dotProd(t[r],this.Hd[r]);return 0!==i&&isFinite(i)?1*n/i:0},e.prototype.reduceStress=function(){this.computeDerivatives(this.x);for(var e=this.computeStepSize(this.g),t=0;t<this.k;++t)this.takeDescentStep(this.x[t],this.g[t],e);return this.computeStress()},e.copy=function(e,t){for(var n=e.length,i=t[0].length,r=0;r<n;++r)for(var o=0;o<i;++o)t[r][o]=e[r][o]},e.prototype.stepAndProject=function(t,n,i,r){e.copy(t,n),this.takeDescentStep(n[0],i[0],r),this.project&&this.project[0](t[0],t[1],n[0]),this.takeDescentStep(n[1],i[1],r),this.project&&this.project[1](n[0],t[1],n[1]);for(var o=2;o<this.k;o++)this.takeDescentStep(n[o],i[o],r)},e.mApply=function(e,t,n){for(var i=e;i-- >0;)for(var r=t;r-- >0;)n(i,r)},e.prototype.matrixApply=function(t){e.mApply(this.k,this.n,t)},e.prototype.computeNextPosition=function(e,t){var n=this;this.computeDerivatives(e);var i=this.computeStepSize(this.g);if(this.stepAndProject(e,t,this.g,i),this.project){this.matrixApply((function(i,r){return n.e[i][r]=e[i][r]-t[i][r]}));var r=this.computeStepSize(this.e);r=Math.max(.2,Math.min(r,1)),this.stepAndProject(e,t,this.e,r)}},e.prototype.run=function(e){for(var t=Number.MAX_VALUE,n=!1;!n&&e-- >0;){var i=this.rungeKutta();n=Math.abs(t/i-1)<this.threshold,t=i}return t},e.prototype.rungeKutta=function(){var t=this;this.computeNextPosition(this.x,this.a),e.mid(this.x,this.a,this.ia),this.computeNextPosition(this.ia,this.b),e.mid(this.x,this.b,this.ib),this.computeNextPosition(this.ib,this.c),this.computeNextPosition(this.c,this.d);var n=0;return this.matrixApply((function(e,i){var r=(t.a[e][i]+2*t.b[e][i]+2*t.c[e][i]+t.d[e][i])/6,o=t.x[e][i]-r;n+=o*o,t.x[e][i]=r})),n},e.mid=function(t,n,i){e.mApply(t.length,t[0].length,(function(e,r){return i[e][r]=t[e][r]+(n[e][r]-t[e][r])/2}))},e.prototype.takeDescentStep=function(e,t,n){for(var i=0;i<this.n;++i)e[i]=e[i]-n*t[i]},e.prototype.computeStress=function(){for(var e=0,t=0,n=this.n-1;t<n;++t)for(var i=t+1,r=this.n;i<r;++i){for(var o=0,a=0;a<this.k;++a){var s=this.x[a][t]-this.x[a][i];o+=s*s}o=Math.sqrt(o);var l=this.D[t][i];if(isFinite(l)){var c=l-o;e+=c*c/(l*l)}}return e},e.zeroDistance=1e-10,e}();var n=function(){function e(e){void 0===e&&(e=1),this.seed=e,this.a=214013,this.c=2531011,this.m=2147483648,this.range=32767}return e.prototype.getNext=function(){return this.seed=(this.seed*this.a+this.c)%this.m,(this.seed>>16)/this.range},e.prototype.getNextBetween=function(e,t){return e+this.getNext()*(t-e)},e}();e.PseudoRandom=n})),Nh=A((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=function(){function e(e){this.scale=e,this.AB=0,this.AD=0,this.A2=0}return e.prototype.addVariable=function(e){var t=this.scale/e.scale,n=e.weight;this.AB+=n*t*(e.offset/e.scale),this.AD+=n*t*e.desiredPosition,this.A2+=n*t*t},e.prototype.getPosn=function(){return(this.AD-this.AB)/this.A2},e}();e.PositionStats=t;var n=function(){function e(e,t,n,i){void 0===i&&(i=!1),this.left=e,this.right=t,this.gap=n,this.equality=i,this.active=!1,this.unsatisfiable=!1,this.left=e,this.right=t,this.gap=n,this.equality=i}return e.prototype.slack=function(){return this.unsatisfiable?Number.MAX_VALUE:this.right.scale*this.right.position()-this.gap-this.left.scale*this.left.position()},e}();e.Constraint=n;var i=function(){function e(e,t,n){void 0===t&&(t=1),void 0===n&&(n=1),this.desiredPosition=e,this.weight=t,this.scale=n,this.offset=0}return e.prototype.dfdv=function(){return 2*this.weight*(this.position()-this.desiredPosition)},e.prototype.position=function(){return(this.block.ps.scale*this.block.posn+this.offset)/this.scale},e.prototype.visitNeighbours=function(e,t){var n=function(n,i){return n.active&&e!==i&&t(n,i)};this.cOut.forEach((function(e){return n(e,e.right)})),this.cIn.forEach((function(e){return n(e,e.left)}))},e}();e.Variable=i;var r=function(){function e(e){this.vars=[],e.offset=0,this.ps=new t(e.scale),this.addVariable(e)}return e.prototype.addVariable=function(e){e.block=this,this.vars.push(e),this.ps.addVariable(e),this.posn=this.ps.getPosn()},e.prototype.updateWeightedPosition=function(){this.ps.AB=this.ps.AD=this.ps.A2=0;for(var e=0,t=this.vars.length;e<t;++e)this.ps.addVariable(this.vars[e]);this.posn=this.ps.getPosn()},e.prototype.compute_lm=function(e,t,n){var i=this,r=e.dfdv();return e.visitNeighbours(t,(function(t,o){var a=i.compute_lm(o,e,n);o===t.right?(r+=a*t.left.scale,t.lm=a):(r+=a*t.right.scale,t.lm=-a),n(t)})),r/e.scale},e.prototype.populateSplitBlock=function(e,t){var n=this;e.visitNeighbours(t,(function(t,i){i.offset=e.offset+(i===t.right?t.gap:-t.gap),n.addVariable(i),n.populateSplitBlock(i,e)}))},e.prototype.traverse=function(e,t,n,i){var r=this;void 0===n&&(n=this.vars[0]),void 0===i&&(i=null),n.visitNeighbours(i,(function(i,o){t.push(e(i)),r.traverse(e,t,o,n)}))},e.prototype.findMinLM=function(){var e=null;return this.compute_lm(this.vars[0],null,(function(t){!t.equality&&(null===e||t.lm<e.lm)&&(e=t)})),e},e.prototype.findMinLMBetween=function(e,t){this.compute_lm(e,null,(function(){}));var n=null;return this.findPath(e,null,t,(function(e,t){!e.equality&&e.right===t&&(null===n||e.lm<n.lm)&&(n=e)})),n},e.prototype.findPath=function(e,t,n,i){var r=this,o=!1;return e.visitNeighbours(t,(function(t,a){o||a!==n&&!r.findPath(a,e,n,i)||(o=!0,i(t,a))})),o},e.prototype.isActiveDirectedPathBetween=function(e,t){if(e===t)return!0;for(var n=e.cOut.length;n--;){var i=e.cOut[n];if(i.active&&this.isActiveDirectedPathBetween(i.right,t))return!0}return!1},e.split=function(t){return t.active=!1,[e.createSplitBlock(t.left),e.createSplitBlock(t.right)]},e.createSplitBlock=function(t){var n=new e(t);return n.populateSplitBlock(t,null),n},e.prototype.splitBetween=function(t,n){var i=this.findMinLMBetween(t,n);if(null!==i){var r=e.split(i);return{constraint:i,lb:r[0],rb:r[1]}}return null},e.prototype.mergeAcross=function(e,t,n){t.active=!0;for(var i=0,r=e.vars.length;i<r;++i){var o=e.vars[i];o.offset+=n,this.addVariable(o)}this.posn=this.ps.getPosn()},e.prototype.cost=function(){for(var e=0,t=this.vars.length;t--;){var n=this.vars[t],i=n.position()-n.desiredPosition;e+=i*i*n.weight}return e},e}();e.Block=r;var o=function(){function e(e){this.vs=e;var t=e.length;for(this.list=new Array(t);t--;){var n=new r(e[t]);this.list[t]=n,n.blockInd=t}}return e.prototype.cost=function(){for(var e=0,t=this.list.length;t--;)e+=this.list[t].cost();return e},e.prototype.insert=function(e){e.blockInd=this.list.length,this.list.push(e)},e.prototype.remove=function(e){var t=this.list.length-1,n=this.list[t];this.list.length=t,e!==n&&(this.list[e.blockInd]=n,n.blockInd=e.blockInd)},e.prototype.merge=function(e){var t=e.left.block,n=e.right.block,i=e.right.offset-e.left.offset-e.gap;t.vars.length<n.vars.length?(n.mergeAcross(t,e,i),this.remove(t)):(t.mergeAcross(n,e,-i),this.remove(n))},e.prototype.forEach=function(e){this.list.forEach(e)},e.prototype.updateBlockPositions=function(){this.list.forEach((function(e){return e.updateWeightedPosition()}))},e.prototype.split=function(e){var t=this;this.updateBlockPositions(),this.list.forEach((function(n){var i=n.findMinLM();null!==i&&i.lm<a.LAGRANGIAN_TOLERANCE&&(n=i.left.block,r.split(i).forEach((function(e){return t.insert(e)})),t.remove(n),e.push(i))}))},e}();e.Blocks=o;var a=function(){function e(e,t){this.vs=e,this.cs=t,this.vs=e,e.forEach((function(e){e.cIn=[],e.cOut=[]})),this.cs=t,t.forEach((function(e){e.left.cOut.push(e),e.right.cIn.push(e)})),this.inactive=t.map((function(e){return e.active=!1,e})),this.bs=null}return e.prototype.cost=function(){return this.bs.cost()},e.prototype.setStartingPositions=function(e){this.inactive=this.cs.map((function(e){return e.active=!1,e})),this.bs=new o(this.vs),this.bs.forEach((function(t,n){return t.posn=e[n]}))},e.prototype.setDesiredPositions=function(e){this.vs.forEach((function(t,n){return t.desiredPosition=e[n]}))},e.prototype.mostViolated=function(){for(var t=Number.MAX_VALUE,n=null,i=this.inactive,r=i.length,o=r,a=0;a<r;++a){var s=i[a];if(!s.unsatisfiable){var l=s.slack();if((s.equality||l<t)&&(t=l,n=s,o=a,s.equality))break}}return o!==r&&(t<e.ZERO_UPPERBOUND&&!n.active||n.equality)&&(i[o]=i[r-1],i.length=r-1),n},e.prototype.satisfy=function(){null==this.bs&&(this.bs=new o(this.vs)),this.bs.split(this.inactive);for(var t=null;(t=this.mostViolated())&&(t.equality||t.slack()<e.ZERO_UPPERBOUND&&!t.active);){var n=t.left.block;if(n!==t.right.block)this.bs.merge(t);else{if(n.isActiveDirectedPathBetween(t.right,t.left)){t.unsatisfiable=!0;continue}var i=n.splitBetween(t.left,t.right);if(null===i){t.unsatisfiable=!0;continue}this.bs.insert(i.lb),this.bs.insert(i.rb),this.bs.remove(n),this.inactive.push(i.constraint),t.slack()>=0?this.inactive.push(t):this.bs.merge(t)}}},e.prototype.solve=function(){this.satisfy();for(var e=Number.MAX_VALUE,t=this.bs.cost();Math.abs(e-t)>1e-4;)this.satisfy(),e=t,t=this.bs.cost();return t},e.LAGRANGIAN_TOLERANCE=-1e-4,e.ZERO_UPPERBOUND=-1e-10,e}();e.Solver=a,e.removeOverlapInOneDimension=function(e,t,r){for(var o=e.map((function(e){return new i(e.desiredCenter)})),s=[],l=e.length,c=0;c<l-1;c++)s.push(new n(o[c],o[c+1],(e[c].size+e[c+1].size)/2));var d=o[0],u=o[l-1],h=e[0].size/2,f=e[l-1].size/2,p=null,g=null;return t&&(p=new i(t,1e3*d.weight),o.push(p),s.push(new n(p,d,h))),r&&(g=new i(r,1e3*u.weight),o.push(g),s.push(new n(u,g,f))),new a(o,s).solve(),{newCenters:o.slice(0,e.length).map((function(e){return e.position()})),lowerBound:p?p.position():d.position()-h,upperBound:g?g.position():u.position()+f}}})),Th=A((e=>{var t,n=e&&e.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)});Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function e(){this.findIter=function(e){for(var t=this._root,n=this.iterator();null!==t;){var i=this._comparator(e,t.data);if(0===i)return n._cursor=t,n;n._ancestors.push(t),t=t.get_child(i>0)}return null}}return e.prototype.clear=function(){this._root=null,this.size=0},e.prototype.find=function(e){for(var t=this._root;null!==t;){var n=this._comparator(e,t.data);if(0===n)return t.data;t=t.get_child(n>0)}return null},e.prototype.lowerBound=function(e){return this._bound(e,this._comparator)},e.prototype.upperBound=function(e){var t=this._comparator;return this._bound(e,(function(e,n){return t(n,e)}))},e.prototype.min=function(){var e=this._root;if(null===e)return null;for(;null!==e.left;)e=e.left;return e.data},e.prototype.max=function(){var e=this._root;if(null===e)return null;for(;null!==e.right;)e=e.right;return e.data},e.prototype.iterator=function(){return new r(this)},e.prototype.each=function(e){for(var t,n=this.iterator();null!==(t=n.next());)e(t)},e.prototype.reach=function(e){for(var t,n=this.iterator();null!==(t=n.prev());)e(t)},e.prototype._bound=function(e,t){for(var n=this._root,i=this.iterator();null!==n;){var r=this._comparator(e,n.data);if(0===r)return i._cursor=n,i;i._ancestors.push(n),n=n.get_child(r>0)}for(var o=i._ancestors.length-1;o>=0;--o)if(t(e,(n=i._ancestors[o]).data)>0)return i._cursor=n,i._ancestors.length=o,i;return i._ancestors.length=0,i},e}();e.TreeBase=i;var r=function(){function e(e){this._tree=e,this._ancestors=[],this._cursor=null}return e.prototype.data=function(){return null!==this._cursor?this._cursor.data:null},e.prototype.next=function(){if(null===this._cursor){var e=this._tree._root;null!==e&&this._minNode(e)}else if(null===this._cursor.right){var t;do{if(t=this._cursor,!this._ancestors.length){this._cursor=null;break}this._cursor=this._ancestors.pop()}while(this._cursor.right===t)}else this._ancestors.push(this._cursor),this._minNode(this._cursor.right);return null!==this._cursor?this._cursor.data:null},e.prototype.prev=function(){if(null===this._cursor){var e=this._tree._root;null!==e&&this._maxNode(e)}else if(null===this._cursor.left){var t;do{if(t=this._cursor,!this._ancestors.length){this._cursor=null;break}this._cursor=this._ancestors.pop()}while(this._cursor.left===t)}else this._ancestors.push(this._cursor),this._maxNode(this._cursor.left);return null!==this._cursor?this._cursor.data:null},e.prototype._minNode=function(e){for(;null!==e.left;)this._ancestors.push(e),e=e.left;this._cursor=e},e.prototype._maxNode=function(e){for(;null!==e.right;)this._ancestors.push(e),e=e.right;this._cursor=e},e}();e.Iterator=r;var o=function(){function e(e){this.data=e,this.left=null,this.right=null,this.red=!0}return e.prototype.get_child=function(e){return e?this.right:this.left},e.prototype.set_child=function(e,t){e?this.right=t:this.left=t},e}();e.RBTree=function(e){function t(t){var n=e.call(this)||this;return n._root=null,n._comparator=t,n.size=0,n}return n(t,e),t.prototype.insert=function(e){var n=!1;if(null===this._root)this._root=new o(e),n=!0,this.size++;else{var i=new o(void 0),r=!1,a=!1,s=null,l=i,c=null,d=this._root;for(l.right=this._root;;){if(null===d?(d=new o(e),c.set_child(r,d),n=!0,this.size++):t.is_red(d.left)&&t.is_red(d.right)&&(d.red=!0,d.left.red=!1,d.right.red=!1),t.is_red(d)&&t.is_red(c)){var u=l.right===s;d===c.get_child(a)?l.set_child(u,t.single_rotate(s,!a)):l.set_child(u,t.double_rotate(s,!a))}var h=this._comparator(d.data,e);if(0===h)break;a=r,null!==s&&(l=s),s=c,c=d,d=d.get_child(r=h<0)}this._root=i.right}return this._root.red=!1,n},t.prototype.remove=function(e){if(null===this._root)return!1;var n=new o(void 0),i=n;i.right=this._root;for(var r=null,a=null,s=null,l=!0;null!==i.get_child(l);){var c=l;a=r,r=i,i=i.get_child(l);var d=this._comparator(e,i.data);if(l=d>0,0===d&&(s=i),!t.is_red(i)&&!t.is_red(i.get_child(l)))if(t.is_red(i.get_child(!l))){var u=t.single_rotate(i,l);r.set_child(c,u),r=u}else if(!t.is_red(i.get_child(!l))){var h=r.get_child(!c);if(null!==h)if(t.is_red(h.get_child(!c))||t.is_red(h.get_child(c))){var f=a.right===r;t.is_red(h.get_child(c))?a.set_child(f,t.double_rotate(r,c)):t.is_red(h.get_child(!c))&&a.set_child(f,t.single_rotate(r,c));var p=a.get_child(f);p.red=!0,i.red=!0,p.left.red=!1,p.right.red=!1}else r.red=!1,h.red=!0,i.red=!0}}return null!==s&&(s.data=i.data,r.set_child(r.right===i,i.get_child(null===i.left)),this.size--),this._root=n.right,null!==this._root&&(this._root.red=!1),null!==s},t.is_red=function(e){return null!==e&&e.red},t.single_rotate=function(e,t){var n=e.get_child(!t);return e.set_child(!t,n.get_child(t)),n.set_child(t,e),e.red=!0,n.red=!1,n},t.double_rotate=function(e,n){return e.set_child(!n,t.single_rotate(e.get_child(!n),!n)),t.single_rotate(e,n)},t}(i)})),Ah=A((e=>{var t,n=e&&e.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)});Object.defineProperty(e,"__esModule",{value:!0});var i=Nh(),r=Th();function o(e){return e.bounds=void 0!==e.leaves?e.leaves.reduce((function(e,t){return t.bounds.union(e)}),a.empty()):a.empty(),void 0!==e.groups&&(e.bounds=e.groups.reduce((function(e,t){return o(t).union(e)}),e.bounds)),e.bounds=e.bounds.inflate(e.padding),e.bounds}e.computeGroupBounds=o;var a=function(){function e(e,t,n,i){this.x=e,this.X=t,this.y=n,this.Y=i}return e.empty=function(){return new e(Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY)},e.prototype.cx=function(){return(this.x+this.X)/2},e.prototype.cy=function(){return(this.y+this.Y)/2},e.prototype.overlapX=function(e){var t=this.cx(),n=e.cx();return t<=n&&e.x<this.X?this.X-e.x:n<=t&&this.x<e.X?e.X-this.x:0},e.prototype.overlapY=function(e){var t=this.cy(),n=e.cy();return t<=n&&e.y<this.Y?this.Y-e.y:n<=t&&this.y<e.Y?e.Y-this.y:0},e.prototype.setXCentre=function(e){var t=e-this.cx();this.x+=t,this.X+=t},e.prototype.setYCentre=function(e){var t=e-this.cy();this.y+=t,this.Y+=t},e.prototype.width=function(){return this.X-this.x},e.prototype.height=function(){return this.Y-this.y},e.prototype.union=function(t){return new e(Math.min(this.x,t.x),Math.max(this.X,t.X),Math.min(this.y,t.y),Math.max(this.Y,t.Y))},e.prototype.lineIntersections=function(t,n,i,r){for(var o=[[this.x,this.y,this.X,this.y],[this.X,this.y,this.X,this.Y],[this.X,this.Y,this.x,this.Y],[this.x,this.Y,this.x,this.y]],a=[],s=0;s<4;++s){var l=e.lineIntersection(t,n,i,r,o[s][0],o[s][1],o[s][2],o[s][3]);null!==l&&a.push({x:l.x,y:l.y})}return a},e.prototype.rayIntersection=function(e,t){var n=this.lineIntersections(this.cx(),this.cy(),e,t);return n.length>0?n[0]:null},e.prototype.vertices=function(){return[{x:this.x,y:this.y},{x:this.X,y:this.y},{x:this.X,y:this.Y},{x:this.x,y:this.Y}]},e.lineIntersection=function(e,t,n,i,r,o,a,s){var l=n-e,c=a-r,d=i-t,u=s-o,h=u*l-c*d;if(0==h)return null;var f=e-r,p=t-o,g=(c*p-u*f)/h,v=(l*p-d*f)/h;return g>=0&&g<=1&&v>=0&&v<=1?{x:e+g*l,y:t+g*d}:null},e.prototype.inflate=function(t){return new e(this.x-t,this.X+t,this.y-t,this.Y+t)},e}();e.Rectangle=a,e.makeEdgeBetween=function(e,t,n){var i=e.rayIntersection(t.cx(),t.cy())||{x:e.cx(),y:e.cy()},r=t.rayIntersection(e.cx(),e.cy())||{x:t.cx(),y:t.cy()},o=r.x-i.x,a=r.y-i.y,s=Math.sqrt(o*o+a*a),l=s-n;return{sourceIntersection:i,targetIntersection:r,arrowStart:{x:i.x+l*o/s,y:i.y+l*a/s}}},e.makeEdgeTo=function(e,t,n){var i=t.rayIntersection(e.x,e.y);i||(i={x:t.cx(),y:t.cy()});var r=i.x-e.x,o=i.y-e.y,a=Math.sqrt(r*r+o*o);return{x:i.x-n*r/a,y:i.y-n*o/a}};var s=function(e,t,n){this.v=e,this.r=t,this.pos=n,this.prev=d(),this.next=d()},l=function(e,t,n){this.isOpen=e,this.v=t,this.pos=n};function c(e,t){return e.pos>t.pos?1:e.pos<t.pos||e.isOpen?-1:t.isOpen?1:0}function d(){return new r.RBTree((function(e,t){return e.pos-t.pos}))}var u={getCentre:function(e){return e.cx()},getOpen:function(e){return e.y},getClose:function(e){return e.Y},getSize:function(e){return e.width()},makeRect:function(e,t,n,i){return new a(n-i/2,n+i/2,e,t)},findNeighbours:function(e,t){var n=function(n,i){for(var r,o=t.findIter(e);null!==(r=o[n]());){var a=r.r.overlapX(e.r);if((a<=0||a<=r.r.overlapY(e.r))&&(e[n].insert(r),r[i].insert(e)),a<=0)break}};n("next","prev"),n("prev","next")}},h={getCentre:function(e){return e.cy()},getOpen:function(e){return e.x},getClose:function(e){return e.X},getSize:function(e){return e.height()},makeRect:function(e,t,n,i){return new a(e,t,n-i/2,n+i/2)},findNeighbours:function(e,t){var n=function(n,i){var r=t.findIter(e)[n]();null!==r&&r.r.overlapX(e.r)>0&&(e[n].insert(r),r[i].insert(e))};n("next","prev"),n("prev","next")}};function f(e,t,n,i){void 0===i&&(i=!1);var r=e.padding,o=void 0!==e.groups?e.groups.length:0,a=void 0!==e.leaves?e.leaves.length:0,s=o?e.groups.reduce((function(e,i){return e.concat(f(i,t,n,!0))}),[]):[],l=(i?2:0)+a+o,c=new Array(l),d=new Array(l),u=0,h=function(e,t){d[u]=e,c[u++]=t};if(i){var g=e.bounds,v=t.getCentre(g),m=t.getSize(g)/2,b=t.getOpen(g),w=t.getClose(g),y=v-m+r/2,_=v+m-r/2;e.minVar.desiredPosition=y,h(t.makeRect(b,w,y,r),e.minVar),e.maxVar.desiredPosition=_,h(t.makeRect(b,w,_,r),e.maxVar)}a&&e.leaves.forEach((function(e){return h(e.bounds,e.variable)})),o&&e.groups.forEach((function(e){var n=e.bounds;h(t.makeRect(t.getOpen(n),t.getClose(n),t.getCentre(n),t.getSize(n)),e.minVar)}));var k=p(d,c,t,n);return o&&(c.forEach((function(e){e.cOut=[],e.cIn=[]})),k.forEach((function(e){e.left.cOut.push(e),e.right.cIn.push(e)})),e.groups.forEach((function(e){var n=(e.padding-t.getSize(e.bounds))/2;e.minVar.cIn.forEach((function(e){return e.gap+=n})),e.minVar.cOut.forEach((function(t){t.left=e.maxVar,t.gap+=n}))}))),s.concat(k)}function p(e,t,n,r){var o,a=e.length,u=2*a;console.assert(t.length>=a);var h=new Array(u);for(o=0;o<a;++o){var f=e[o],p=new s(t[o],f,n.getCentre(f));h[o]=new l(!0,p,n.getOpen(f)),h[o+a]=new l(!1,p,n.getClose(f))}h.sort(c);var g=new Array,v=d();for(o=0;o<u;++o){var m=h[o];if(p=m.v,m.isOpen)v.insert(p),n.findNeighbours(p,v);else{v.remove(p);var b=function(e,t){var o=(n.getSize(e.r)+n.getSize(t.r))/2+r;g.push(new i.Constraint(e.v,t.v,o))},w=function(e,t,n){for(var i,r=p[e].iterator();null!==(i=r[e]());)n(i,p),i[t].remove(p)};w("prev","next",(function(e,t){return b(e,t)})),w("next","prev",(function(e,t){return b(t,e)}))}}return console.assert(0===v.size),g}function g(e,t){return p(e,t,u,1e-6)}function v(e,t){return p(e,t,h,1e-6)}function m(e){return f(e,u,1e-6)}function b(e){return f(e,h,1e-6)}e.generateXConstraints=g,e.generateYConstraints=v,e.generateXGroupConstraints=m,e.generateYGroupConstraints=b,e.removeOverlaps=function(e){var t=e.map((function(e){return new i.Variable(e.cx())})),n=g(e,t),r=new i.Solver(t,n);r.solve(),t.forEach((function(t,n){return e[n].setXCentre(t.position())})),t=e.map((function(e){return new i.Variable(e.cy())})),n=v(e,t),(r=new i.Solver(t,n)).solve(),t.forEach((function(t,n){return e[n].setYCentre(t.position())}))};var w=function(e){function t(t,n){var i=e.call(this,0,n)||this;return i.index=t,i}return n(t,e),t}(i.Variable);e.IndexedVariable=w,e.Projection=function(){function e(e,t,n,i,r){void 0===n&&(n=null),void 0===i&&(i=null),void 0===r&&(r=!1);var s=this;if(this.nodes=e,this.groups=t,this.rootGroup=n,this.avoidOverlaps=r,this.variables=e.map((function(e,t){return e.variable=new w(t,1)})),i&&this.createConstraints(i),r&&n&&void 0!==n.groups){e.forEach((function(e){if(e.width&&e.height){var t=e.width/2,n=e.height/2;e.bounds=new a(e.x-t,e.x+t,e.y-n,e.y+n)}else e.bounds=new a(e.x,e.x,e.y,e.y)})),o(n);var l=e.length;t.forEach((function(e){s.variables[l]=e.minVar=new w(l++,void 0!==e.stiffness?e.stiffness:.01),s.variables[l]=e.maxVar=new w(l++,void 0!==e.stiffness?e.stiffness:.01)}))}}return e.prototype.createSeparation=function(e){return new i.Constraint(this.nodes[e.left].variable,this.nodes[e.right].variable,e.gap,void 0!==e.equality&&e.equality)},e.prototype.makeFeasible=function(e){var t=this;if(this.avoidOverlaps){var n="x",i="width";"x"===e.axis&&(n="y",i="height");var r=e.offsets.map((function(e){return t.nodes[e.node]})).sort((function(e,t){return e[n]-t[n]})),o=null;r.forEach((function(e){if(o){var t=o[n]+o[i];t>e[n]&&(e[n]=t)}o=e}))}},e.prototype.createAlignment=function(e){var t=this,n=this.nodes[e.offsets[0].node].variable;this.makeFeasible(e);var r="x"===e.axis?this.xConstraints:this.yConstraints;e.offsets.slice(1).forEach((function(e){r.push(new i.Constraint(n,t.nodes[e.node].variable,e.offset,!0))}))},e.prototype.createConstraints=function(e){var t=this,n=function(e){return void 0===e.type||"separation"===e.type};this.xConstraints=e.filter((function(e){return"x"===e.axis&&n(e)})).map((function(e){return t.createSeparation(e)})),this.yConstraints=e.filter((function(e){return"y"===e.axis&&n(e)})).map((function(e){return t.createSeparation(e)})),e.filter((function(e){return"alignment"===e.type})).forEach((function(e){return t.createAlignment(e)}))},e.prototype.setupVariablesAndBounds=function(e,t,n,i){this.nodes.forEach((function(r,o){r.fixed?(r.variable.weight=r.fixedWeight?r.fixedWeight:1e3,n[o]=i(r)):r.variable.weight=1;var s=(r.width||0)/2,l=(r.height||0)/2,c=e[o],d=t[o];r.bounds=new a(c-s,c+s,d-l,d+l)}))},e.prototype.xProject=function(e,t,n){(this.rootGroup||this.avoidOverlaps||this.xConstraints)&&this.project(e,t,e,n,(function(e){return e.px}),this.xConstraints,m,(function(e){return e.bounds.setXCentre(n[e.variable.index]=e.variable.position())}),(function(e){var t=n[e.minVar.index]=e.minVar.position(),i=n[e.maxVar.index]=e.maxVar.position(),r=e.padding/2;e.bounds.x=t-r,e.bounds.X=i+r}))},e.prototype.yProject=function(e,t,n){(this.rootGroup||this.yConstraints)&&this.project(e,t,t,n,(function(e){return e.py}),this.yConstraints,b,(function(e){return e.bounds.setYCentre(n[e.variable.index]=e.variable.position())}),(function(e){var t=n[e.minVar.index]=e.minVar.position(),i=n[e.maxVar.index]=e.maxVar.position(),r=e.padding/2;e.bounds.y=t-r,e.bounds.Y=i+r}))},e.prototype.projectFunctions=function(){var e=this;return[function(t,n,i){return e.xProject(t,n,i)},function(t,n,i){return e.yProject(t,n,i)}]},e.prototype.project=function(e,t,n,i,r,a,s,l,c){this.setupVariablesAndBounds(e,t,i,r),this.rootGroup&&this.avoidOverlaps&&(o(this.rootGroup),a=a.concat(s(this.rootGroup))),this.solve(this.variables,a,n,i),this.nodes.forEach(l),this.rootGroup&&this.avoidOverlaps&&(this.groups.forEach(c),o(this.rootGroup))},e.prototype.solve=function(e,t,n,r){var o=new i.Solver(e,t);o.setStartingPositions(n),o.setDesiredPositions(r),o.solve()},e}()})),Ih=A((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=function(){function e(e){this.elem=e,this.subheaps=[]}return e.prototype.toString=function(e){for(var t="",n=!1,i=0;i<this.subheaps.length;++i){var r=this.subheaps[i];r.elem?(n&&(t+=","),t+=r.toString(e),n=!0):n=!1}return""!==t&&(t="("+t+")"),(this.elem?e(this.elem):"")+t},e.prototype.forEach=function(e){this.empty()||(e(this.elem,this),this.subheaps.forEach((function(t){return t.forEach(e)})))},e.prototype.count=function(){return this.empty()?0:1+this.subheaps.reduce((function(e,t){return e+t.count()}),0)},e.prototype.min=function(){return this.elem},e.prototype.empty=function(){return null==this.elem},e.prototype.contains=function(e){if(this===e)return!0;for(var t=0;t<this.subheaps.length;t++)if(this.subheaps[t].contains(e))return!0;return!1},e.prototype.isHeap=function(e){var t=this;return this.subheaps.every((function(n){return e(t.elem,n.elem)&&n.isHeap(e)}))},e.prototype.insert=function(t,n){return this.merge(new e(t),n)},e.prototype.merge=function(e,t){return this.empty()?e:e.empty()?this:t(this.elem,e.elem)?(this.subheaps.push(e),this):(e.subheaps.push(this),e)},e.prototype.removeMin=function(e){return this.empty()?null:this.mergePairs(e)},e.prototype.mergePairs=function(t){if(0==this.subheaps.length)return new e(null);if(1==this.subheaps.length)return this.subheaps[0];var n=this.subheaps.pop().merge(this.subheaps.pop(),t),i=this.mergePairs(t);return n.merge(i,t)},e.prototype.decreaseKey=function(t,n,i,r){var o=t.removeMin(r);t.elem=o.elem,t.subheaps=o.subheaps,null!==i&&null!==o.elem&&i(t.elem,t);var a=new e(n);return null!==i&&i(n,a),this.merge(a,r)},e}();e.PairingHeap=t,e.PriorityQueue=function(){function e(e){this.lessThan=e}return e.prototype.top=function(){return this.empty()?null:this.root.elem},e.prototype.push=function(){for(var e,n=[],i=0;i<arguments.length;i++)n[i]=arguments[i];for(var r,o=0;r=n[o];++o)e=new t(r),this.root=this.empty()?e:this.root.merge(e,this.lessThan);return e},e.prototype.empty=function(){return!this.root||!this.root.elem},e.prototype.isHeap=function(){return this.root.isHeap(this.lessThan)},e.prototype.forEach=function(e){this.root.forEach(e)},e.prototype.pop=function(){if(this.empty())return null;var e=this.root.min();return this.root=this.root.removeMin(this.lessThan),e},e.prototype.reduceKey=function(e,t,n){void 0===n&&(n=null),this.root=this.root.decreaseKey(e,t,n,this.lessThan)},e.prototype.toString=function(e){return this.root.toString(e)},e.prototype.count=function(){return this.root.count()},e}()})),Vh=A((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=Ih(),n=function(e,t){this.id=e,this.distance=t},i=function(e){this.id=e,this.neighbours=[]},r=function(e,t,n){this.node=e,this.prev=t,this.d=n};e.Calculator=function(){function e(e,t,r,o,a){this.n=e,this.es=t,this.neighbours=new Array(this.n);for(var s=this.n;s--;)this.neighbours[s]=new i(s);for(s=this.es.length;s--;){var l=this.es[s],c=r(l),d=o(l),u=a(l);this.neighbours[c].neighbours.push(new n(d,u)),this.neighbours[d].neighbours.push(new n(c,u))}}return e.prototype.DistanceMatrix=function(){for(var e=new Array(this.n),t=0;t<this.n;++t)e[t]=this.dijkstraNeighbours(t);return e},e.prototype.DistancesFromNode=function(e){return this.dijkstraNeighbours(e)},e.prototype.PathFromNodeToNode=function(e,t){return this.dijkstraNeighbours(e,t)},e.prototype.PathFromNodeToNodeWithPrevCost=function(e,n,i){var o=new t.PriorityQueue((function(e,t){return e.d<=t.d})),a=this.neighbours[e],s=new r(a,null,0),l={};for(o.push(s);!o.empty()&&(a=(s=o.pop()).node).id!==n;)for(var c=a.neighbours.length;c--;){var d=a.neighbours[c],u=this.neighbours[d.id];if(!s.prev||u.id!==s.prev.node.id){var h=u.id+","+a.id;if(!(h in l&&l[h]<=s.d)){var f=s.prev?i(s.prev.node.id,a.id,u.id):0,p=s.d+d.distance+f;l[h]=p,o.push(new r(u,s,p))}}}for(var g=[];s.prev;)g.push((s=s.prev).node.id);return g},e.prototype.dijkstraNeighbours=function(e,n){void 0===n&&(n=-1);for(var i=new t.PriorityQueue((function(e,t){return e.d<=t.d})),r=this.neighbours.length,o=new Array(r);r--;){var a=this.neighbours[r];a.d=r===e?0:Number.POSITIVE_INFINITY,a.q=i.push(a)}for(;!i.empty();){var s=i.pop();if(o[s.id]=s.d,s.id===n){for(var l=[],c=s;void 0!==c.prev;)l.push(c.prev.id),c=c.prev;return l}for(r=s.neighbours.length;r--;){var d=s.neighbours[r],u=(c=this.neighbours[d.id],s.d+d.distance);s.d!==Number.MAX_VALUE&&c.d>u&&(c.d=u,c.prev=s,i.reduceKey(c.q,c,(function(e,t){return e.q=t})))}}return o},e}()})),Ph=A((e=>{var t,n=e&&e.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)});Object.defineProperty(e,"__esModule",{value:!0});var i=Ah(),r=function(){};e.Point=r;var o=function(e,t,n,i){this.x1=e,this.y1=t,this.x2=n,this.y2=i};function a(e,t,n){return(t.x-e.x)*(n.y-e.y)-(n.x-e.x)*(t.y-e.y)}function s(e,t,n){return a(e,t,n)>0}function l(e,t,n){return a(e,t,n)<0}function c(e,t){var n,i,r,o,a=t.length-1;if(l(e,t[1],t[0])&&!s(e,t[a-1],t[0]))return 0;for(n=0,i=a;;){if(i-n==1)return s(e,t[n],t[i])?n:i;if((o=l(e,t[(r=Math.floor((n+i)/2))+1],t[r]))&&!s(e,t[r-1],t[r]))return r;s(e,t[n+1],t[n])?o||s(e,t[n],t[r])?i=r:n=r:o&&l(e,t[n],t[r])?i=r:n=r}}function d(e,t){var n,i,r,o,a=t.length-1;if(s(e,t[a-1],t[0])&&!l(e,t[1],t[0]))return 0;for(n=0,i=a;;){if(i-n==1)return l(e,t[n],t[i])?n:i;if(o=l(e,t[(r=Math.floor((n+i)/2))+1],t[r]),s(e,t[r-1],t[r])&&!o)return r;l(e,t[n+1],t[n])?o?l(e,t[n],t[r])?i=r:n=r:i=r:o?n=r:s(e,t[n],t[r])?i=r:n=r}}function u(e,t,n,i,r,o){for(var a=n(t[0],e),s=i(e[a],t),l=!1;!l;){for(l=!0;a===e.length-1&&(a=0),!r(t[s],e[a],e[a+1]);)++a;for(;0===s&&(s=t.length-1),!o(e[a],t[s],t[s-1]);)--s,l=!1}return{t1:a,t2:s}}function h(e,t){return u(e,t,c,d,s,l)}e.LineSegment=o,e.PolyPoint=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return n(t,e),t}(r),e.isLeft=a,e.ConvexHull=function(e){var t,n=e.slice(0).sort((function(e,t){return e.x!==t.x?t.x-e.x:t.y-e.y})),i=e.length,r=n[0].x;for(t=1;t<i&&n[t].x===r;++t);var o=t-1,s=[];if(s.push(n[0]),o===i-1)n[o].y!==n[0].y&&s.push(n[o]);else{var l,c=i-1,d=n[i-1].x;for(t=i-2;t>=0&&n[t].x===d;t--);for(l=t+1,t=o;++t<=l;)if(!(a(n[0],n[l],n[t])>=0&&t<l)){for(;s.length>1&&!(a(s[s.length-2],s[s.length-1],n[t])>0);)s.length-=1;0!=t&&s.push(n[t])}c!=l&&s.push(n[c]);var u=s.length;for(t=l;--t>=o;)if(!(a(n[c],n[o],n[t])>=0&&t>o)){for(;s.length>u&&!(a(s[s.length-2],s[s.length-1],n[t])>0);)s.length-=1;0!=t&&s.push(n[t])}}return s},e.clockwiseRadialSweep=function(e,t,n){t.slice(0).sort((function(t,n){return Math.atan2(t.y-e.y,t.x-e.x)-Math.atan2(n.y-e.y,n.x-e.x)})).forEach(n)},e.tangent_PolyPolyC=u,e.LRtangent_PolyPolyC=function(e,t){var n=h(t,e);return{t1:n.t2,t2:n.t1}},e.RLtangent_PolyPolyC=h,e.LLtangent_PolyPolyC=function(e,t){return u(e,t,d,d,l,l)},e.RRtangent_PolyPolyC=function(e,t){return u(e,t,c,c,s,s)};var f=function(e,t){this.t1=e,this.t2=t};e.BiTangent=f;var p=function(){};e.BiTangents=p,e.TVGPoint=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return n(t,e),t}(r);var g=function(e,t,n,i){this.id=e,this.polyid=t,this.polyvertid=n,this.p=i,i.vv=this};e.VisibilityVertex=g;var v=function(){function e(e,t){this.source=e,this.target=t}return e.prototype.length=function(){var e=this.source.p.x-this.target.p.x,t=this.source.p.y-this.target.p.y;return Math.sqrt(e*e+t*t)},e}();function m(e,t){for(var n=[],r=1,o=t.length;r<o;++r){var a=i.Rectangle.lineIntersection(e.x1,e.y1,e.x2,e.y2,t[r-1].x,t[r-1].y,t[r].x,t[r].y);a&&n.push(a)}return n}function b(e,t){for(var n=e.length-1,i=t.length-1,r=new p,o=0;o<n;++o)for(var s=0;s<i;++s){var l=e[0==o?n-1:o-1],c=e[o],d=e[o+1],u=t[0==s?i-1:s-1],h=t[s],g=t[s+1],v=a(l,c,h),m=a(c,u,h),b=a(c,h,g),w=a(u,h,c),y=a(h,l,c),_=a(h,c,d);v>=0&&m>=0&&b<0&&w>=0&&y>=0&&_<0?r.ll=new f(o,s):v<=0&&m<=0&&b>0&&w<=0&&y<=0&&_>0?r.rr=new f(o,s):v<=0&&m>0&&b<=0&&w>=0&&y<0&&_>=0?r.rl=new f(o,s):v>=0&&m<0&&b>=0&&w<=0&&y>0&&_<=0&&(r.lr=new f(o,s))}return r}function w(e,t){return!e.every((function(e){return!function(e,t){for(var n=1,i=t.length;n<i;++n)if(l(t[n-1],t[n],e))return!1;return!0}(e,t)}))}e.VisibilityEdge=v,e.TangentVisibilityGraph=function(){function e(e,t){if(this.P=e,this.V=[],this.E=[],t)this.V=t.V.slice(0),this.E=t.E.slice(0);else{for(var n=e.length,i=0;i<n;i++){for(var r=e[i],o=0;o<r.length;++o){var a=new g(this.V.length,i,o,r[o]);this.V.push(a),o>0&&this.E.push(new v(r[o-1].vv,a))}r.length>1&&this.E.push(new v(r[0].vv,r[r.length-1].vv))}for(i=0;i<n-1;i++){var s=e[i];for(o=i+1;o<n;o++){var l=e[o],c=b(s,l);for(var d in c){var u=c[d];this.addEdgeIfVisible(s[u.t1],l[u.t2],i,o)}}}}}return e.prototype.addEdgeIfVisible=function(e,t,n,i){this.intersectsPolys(new o(e.x,e.y,t.x,t.y),n,i)||this.E.push(new v(e.vv,t.vv))},e.prototype.addPoint=function(e,t){var n,i,r,o=this.P.length;this.V.push(new g(this.V.length,o,0,e));for(var a=0;a<o;++a)if(a!==t){var s=this.P[a],l=(n=e,r=void 0,(r=(i=s).slice(0)).push(i[0]),{rtan:c(n,r),ltan:d(n,r)});this.addEdgeIfVisible(e,s[l.ltan],t,a),this.addEdgeIfVisible(e,s[l.rtan],t,a)}return e.vv},e.prototype.intersectsPolys=function(e,t,n){for(var i=0,r=this.P.length;i<r;++i)if(i!=t&&i!=n&&m(e,this.P[i]).length>0)return!0;return!1},e}(),e.tangents=b,e.polysOverlap=function(e,t){if(w(e,t))return!0;if(w(t,e))return!0;for(var n=1,i=e.length;n<i;++n){var r=e[n],a=e[n-1];if(m(new o(a.x,a.y,r.x,r.y),t).length>0)return!0}return!1}})),Hh=A((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=10,n=(1+Math.sqrt(5))/2,i=1e-4;e.applyPacking=function(e,r,o,a,s,l){void 0===s&&(s=1),void 0===l&&(l=!0);var c=r,d=o,u=(s=void 0!==s?s:1,a=void 0!==a?a:0,0),h=0,f=0,p=0,g=[];function v(e,t){g=[],u=0,h=0,p=0;for(var n=0;n<e.length;n++)m(e[n],t);return Math.abs(u/h-s)}function m(e,n){for(var r=void 0,o=0;o<g.length;o++)if(g[o].space_left>=e.height&&g[o].x+g[o].width+e.width+t-n<=i){r=g[o];break}g.push(e),void 0!==r?(e.x=r.x+r.width+t,e.y=r.bottom,e.space_left=e.height,e.bottom=e.y,r.space_left-=e.height+t,r.bottom+=e.height+t):(e.y=p,p+=e.height+t,e.x=0,e.bottom=e.y,e.space_left=e.height),e.y+e.height-h>-1e-4&&(h=e.y+e.height-0),e.x+e.width-u>-1e-4&&(u=e.x+e.width-0)}0!=e.length&&(function(e){e.forEach((function(e){var t,n,i,r,o;t=e,n=Number.MAX_VALUE,i=Number.MAX_VALUE,r=0,o=0,t.array.forEach((function(e){var t=void 0!==e.width?e.width:a,s=void 0!==e.height?e.height:a;t/=2,s/=2,r=Math.max(e.x+t,r),n=Math.min(e.x-t,n),o=Math.max(e.y+s,o),i=Math.min(e.y-s,i)})),t.width=r-n,t.height=o-i}))}(e),function(e){var r=Number.POSITIVE_INFINITY,o=0;e.sort((function(e,t){return t.height-e.height}));for(var a=g=f=e.reduce((function(e,t){return e.width<t.width?e.width:t.width})),s=m=function(e){var n=0;return e.forEach((function(e){return n+=e.width+t})),n}(e),l=0,c=Number.MAX_VALUE,d=Number.MAX_VALUE,u=-1,h=Number.MAX_VALUE,p=Number.MAX_VALUE;h>f||p>i;){if(1!=u){var g=s-(s-a)/n;c=v(e,g)}if(0!=u){var m=a+(s-a)/n;d=v(e,m)}if(h=Math.abs(g-m),p=Math.abs(c-d),c<r&&(r=c,o=g),d<r&&(r=d,o=m),c>d?(a=g,g=m,c=d,u=1):(s=m,m=g,d=c,u=0),l++>100)break}v(e,o)}(e),l&&function(e){e.forEach((function(e){var t={x:0,y:0};e.array.forEach((function(e){t.x+=e.x,t.y+=e.y})),t.x/=e.array.length,t.y/=e.array.length;var n=e.x-(t.x-e.width/2)+c/2-u/2,i=e.y-(t.y-e.height/2)+d/2-h/2;e.array.forEach((function(e){e.x+=n,e.y+=i}))}))}(e))},e.separateGraphs=function(e,t){for(var n={},i={},r=[],o=0,a=0;a<t.length;a++){var s=t[a],l=s.source,c=s.target;i[l.index]?i[l.index].push(c):i[l.index]=[c],i[c.index]?i[c.index].push(l):i[c.index]=[l]}for(a=0;a<e.length;a++){var d=e[a];n[d.index]||u(d,!0)}function u(e,t){if(void 0===n[e.index]){t&&(o++,r.push({array:[]})),n[e.index]=o,r[o-1].array.push(e);var a=i[e.index];if(a)for(var s=0;s<a.length;s++)u(a[s],!1)}}return r}})),Rh=A((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t,n=Eh(),i=zh(),r=$h(),o=Ah(),a=Vh(),s=Ph(),l=Hh();function c(e){return void 0!==e.leaves||void 0!==e.groups}!function(e){e[e.start=0]="start",e[e.tick=1]="tick",e[e.end=2]="end"}(t=e.EventType||(e.EventType={})),e.Layout=function(){function e(){var t=this;this._canvasSize=[1,1],this._linkDistance=20,this._defaultNodeSize=10,this._linkLengthCalculator=null,this._linkType=null,this._avoidOverlaps=!1,this._handleDisconnected=!0,this._running=!1,this._nodes=[],this._groups=[],this._rootGroup=null,this._links=[],this._constraints=[],this._distanceMatrix=null,this._descent=null,this._directedLinkConstraints=null,this._threshold=.01,this._visibilityGraph=null,this._groupCompactness=1e-6,this.event=null,this.linkAccessor={getSourceIndex:e.getSourceIndex,getTargetIndex:e.getTargetIndex,setLength:e.setLinkLength,getType:function(e){return"function"==typeof t._linkType?t._linkType(e):0}}}return e.prototype.on=function(e,n){return this.event||(this.event={}),"string"==typeof e?this.event[t[e]]=n:this.event[e]=n,this},e.prototype.trigger=function(e){this.event&&void 0!==this.event[e.type]&&this.event[e.type](e)},e.prototype.kick=function(){for(;!this.tick(););},e.prototype.tick=function(){if(this._alpha<this._threshold)return this._running=!1,this.trigger({type:t.end,alpha:this._alpha=0,stress:this._lastStress}),!0;var e,n,i=this._nodes.length;for(this._descent.locks.clear(),n=0;n<i;++n)(e=this._nodes[n]).fixed&&(void 0!==e.px&&void 0!==e.py||(e.px=e.x,e.py=e.y),this._descent.locks.add(n,[e.px,e.py]));var r=this._descent.rungeKutta();return 0===r?this._alpha=0:void 0!==this._lastStress&&(this._alpha=r),this._lastStress=r,this.updateNodePositions(),this.trigger({type:t.tick,alpha:this._alpha,stress:this._lastStress}),!1},e.prototype.updateNodePositions=function(){for(var e,t=this._descent.x[0],n=this._descent.x[1],i=this._nodes.length;i--;)(e=this._nodes[i]).x=t[i],e.y=n[i]},e.prototype.nodes=function(e){if(!e){if(0===this._nodes.length&&this._links.length>0){var t=0;this._links.forEach((function(e){t=Math.max(t,e.source,e.target)})),this._nodes=new Array(++t);for(var n=0;n<t;++n)this._nodes[n]={}}return this._nodes}return this._nodes=e,this},e.prototype.groups=function(e){var t=this;return e?(this._groups=e,this._rootGroup={},this._groups.forEach((function(e){void 0===e.padding&&(e.padding=1),void 0!==e.leaves&&e.leaves.forEach((function(n,i){"number"==typeof n&&((e.leaves[i]=t._nodes[n]).parent=e)})),void 0!==e.groups&&e.groups.forEach((function(n,i){"number"==typeof n&&((e.groups[i]=t._groups[n]).parent=e)}))})),this._rootGroup.leaves=this._nodes.filter((function(e){return void 0===e.parent})),this._rootGroup.groups=this._groups.filter((function(e){return void 0===e.parent})),this):this._groups},e.prototype.powerGraphGroups=function(e){var t=n.getGroups(this._nodes,this._links,this.linkAccessor,this._rootGroup);return this.groups(t.groups),e(t),this},e.prototype.avoidOverlaps=function(e){return arguments.length?(this._avoidOverlaps=e,this):this._avoidOverlaps},e.prototype.handleDisconnected=function(e){return arguments.length?(this._handleDisconnected=e,this):this._handleDisconnected},e.prototype.flowLayout=function(e,t){return arguments.length||(e="y"),this._directedLinkConstraints={axis:e,getMinSeparation:"number"==typeof t?function(){return t}:t},this},e.prototype.links=function(e){return arguments.length?(this._links=e,this):this._links},e.prototype.constraints=function(e){return arguments.length?(this._constraints=e,this):this._constraints},e.prototype.distanceMatrix=function(e){return arguments.length?(this._distanceMatrix=e,this):this._distanceMatrix},e.prototype.size=function(e){return e?(this._canvasSize=e,this):this._canvasSize},e.prototype.defaultNodeSize=function(e){return e?(this._defaultNodeSize=e,this):this._defaultNodeSize},e.prototype.groupCompactness=function(e){return e?(this._groupCompactness=e,this):this._groupCompactness},e.prototype.linkDistance=function(e){return e?(this._linkDistance="function"==typeof e?e:+e,this._linkLengthCalculator=null,this):this._linkDistance},e.prototype.linkType=function(e){return this._linkType=e,this},e.prototype.convergenceThreshold=function(e){return e?(this._threshold="function"==typeof e?e:+e,this):this._threshold},e.prototype.alpha=function(e){return arguments.length?(e=+e,this._alpha?this._alpha=e>0?e:0:e>0&&(this._running||(this._running=!0,this.trigger({type:t.start,alpha:this._alpha=e}),this.kick())),this):this._alpha},e.prototype.getLinkLength=function(e){return"function"==typeof this._linkDistance?+this._linkDistance(e):this._linkDistance},e.setLinkLength=function(e,t){e.length=t},e.prototype.getLinkType=function(e){return"function"==typeof this._linkType?this._linkType(e):0},e.prototype.symmetricDiffLinkLengths=function(e,t){var n=this;return void 0===t&&(t=1),this.linkDistance((function(t){return e*t.length})),this._linkLengthCalculator=function(){return i.symmetricDiffLinkLengths(n._links,n.linkAccessor,t)},this},e.prototype.jaccardLinkLengths=function(e,t){var n=this;return void 0===t&&(t=1),this.linkDistance((function(t){return e*t.length})),this._linkLengthCalculator=function(){return i.jaccardLinkLengths(n._links,n.linkAccessor,t)},this},e.prototype.start=function(t,n,s,l,c,d){var u=this;void 0===t&&(t=0),void 0===n&&(n=0),void 0===s&&(s=0),void 0===l&&(l=0),void 0===c&&(c=!0),void 0===d&&(d=!0);var h,f=this.nodes().length,p=f+2*this._groups.length,g=this._canvasSize[0],v=this._canvasSize[1],m=new Array(p),b=new Array(p),w=null,y=this._avoidOverlaps;this._nodes.forEach((function(e,t){e.index=t,void 0===e.x&&(e.x=g/2,e.y=v/2),m[t]=e.x,b[t]=e.y})),this._linkLengthCalculator&&this._linkLengthCalculator(),this._distanceMatrix?h=this._distanceMatrix:(h=new a.Calculator(p,this._links,e.getSourceIndex,e.getTargetIndex,(function(e){return u.getLinkLength(e)})).DistanceMatrix(),w=r.Descent.createSquareMatrix(p,(function(){return 2})),this._links.forEach((function(e){"number"==typeof e.source&&(e.source=u._nodes[e.source]),"number"==typeof e.target&&(e.target=u._nodes[e.target])})),this._links.forEach((function(t){var n=e.getSourceIndex(t),i=e.getTargetIndex(t);w[n][i]=w[i][n]=t.weight||1})));var _=r.Descent.createSquareMatrix(p,(function(e,t){return h[e][t]}));if(this._rootGroup&&void 0!==this._rootGroup.groups){var k=f;this._groups.forEach((function(){!function(e,t,n){w[e][t]=w[t][e]=n,_[e][t]=_[t][e]=.1}(k,k+1,u._groupCompactness),m[k]=0,b[k++]=0,m[k]=0,b[k++]=0}))}else this._rootGroup={leaves:this._nodes,groups:[]};var x=this._constraints||[];for(this._directedLinkConstraints&&(this.linkAccessor.getMinSeparation=this._directedLinkConstraints.getMinSeparation,x=x.concat(i.generateDirectedEdgeConstraints(f,this._links,this._directedLinkConstraints.axis,this.linkAccessor))),this.avoidOverlaps(!1),this._descent=new r.Descent([m,b],_),this._descent.locks.clear(),k=0;k<f;++k){var S=this._nodes[k];S.fixed&&(S.px=S.x,S.py=S.y,this._descent.locks.add(k,[S.x,S.y]))}if(this._descent.threshold=this._threshold,this.initialLayout(t,m,b),x.length>0&&(this._descent.project=new o.Projection(this._nodes,this._groups,this._rootGroup,x).projectFunctions()),this._descent.run(n),this.separateOverlappingComponents(g,v,d),this.avoidOverlaps(y),y&&(this._nodes.forEach((function(e,t){e.x=m[t],e.y=b[t]})),this._descent.project=new o.Projection(this._nodes,this._groups,this._rootGroup,x,!0).projectFunctions(),this._nodes.forEach((function(e,t){m[t]=e.x,b[t]=e.y}))),this._descent.G=w,this._descent.run(s),l){this._descent.snapStrength=1e3,this._descent.snapGridSize=this._nodes[0].width,this._descent.numGridSnapNodes=f,this._descent.scaleSnapByMaxH=f!=p;var C=r.Descent.createSquareMatrix(p,(function(e,t){return e>=f||t>=f?w[e][t]:0}));this._descent.G=C,this._descent.run(l)}return this.updateNodePositions(),this.separateOverlappingComponents(g,v,d),c?this.resume():this},e.prototype.initialLayout=function(t,n,i){if(this._groups.length>0&&t>0){var r=this._nodes.length,o=this._links.map((function(e){return{source:e.source.index,target:e.target.index}})),a=this._nodes.map((function(e){return{index:e.index}}));this._groups.forEach((function(e,t){a.push({index:e.index=r+t})})),this._groups.forEach((function(e){void 0!==e.leaves&&e.leaves.forEach((function(t){return o.push({source:e.index,target:t.index})})),void 0!==e.groups&&e.groups.forEach((function(t){return o.push({source:e.index,target:t.index})}))})),(new e).size(this.size()).nodes(a).links(o).avoidOverlaps(!1).linkDistance(this.linkDistance()).symmetricDiffLinkLengths(5).convergenceThreshold(1e-4).start(t,0,0,0,!1),this._nodes.forEach((function(e){n[e.index]=a[e.index].x,i[e.index]=a[e.index].y}))}else this._descent.run(t)},e.prototype.separateOverlappingComponents=function(e,t,n){var i=this;if(void 0===n&&(n=!0),!this._distanceMatrix&&this._handleDisconnected){var r=this._descent.x[0],o=this._descent.x[1];this._nodes.forEach((function(e,t){e.x=r[t],e.y=o[t]}));var a=l.separateGraphs(this._nodes,this._links);l.applyPacking(a,e,t,this._defaultNodeSize,1,n),this._nodes.forEach((function(e,t){i._descent.x[0][t]=e.x,i._descent.x[1][t]=e.y,e.bounds&&(e.bounds.setXCentre(e.x),e.bounds.setYCentre(e.y))}))}},e.prototype.resume=function(){return this.alpha(.1)},e.prototype.stop=function(){return this.alpha(0)},e.prototype.prepareEdgeRouting=function(e){void 0===e&&(e=0),this._visibilityGraph=new s.TangentVisibilityGraph(this._nodes.map((function(t){return t.bounds.inflate(-e).vertices()})))},e.prototype.routeEdge=function(e,t,n){void 0===t&&(t=5);var i=[],r=new s.TangentVisibilityGraph(this._visibilityGraph.P,{V:this._visibilityGraph.V,E:this._visibilityGraph.E}),l={x:e.source.x,y:e.source.y},c={x:e.target.x,y:e.target.y},d=r.addPoint(l,e.source.index),u=r.addPoint(c,e.target.index);r.addEdgeIfVisible(l,c,e.source.index,e.target.index),void 0!==n&&n(r);var h=new a.Calculator(r.V.length,r.E,(function(e){return e.source.id}),(function(e){return e.target.id}),(function(e){return e.length()})).PathFromNodeToNode(d.id,u.id);if(1===h.length||h.length===r.V.length){var f=o.makeEdgeBetween(e.source.innerBounds,e.target.innerBounds,t);i=[f.sourceIntersection,f.arrowStart]}else{for(var p=h.length-2,g=r.V[h[p]].p,v=r.V[h[0]].p,m=(i=[e.source.innerBounds.rayIntersection(g.x,g.y)],p);m>=0;--m)i.push(r.V[h[m]].p);i.push(o.makeEdgeTo(v,e.target.innerBounds,t))}return i},e.getSourceIndex=function(e){return"number"==typeof e.source?e.source:e.source.index},e.getTargetIndex=function(e){return"number"==typeof e.target?e.target:e.target.index},e.linkId=function(t){return e.getSourceIndex(t)+"-"+e.getTargetIndex(t)},e.dragStart=function(t){c(t)?e.storeOffset(t,e.dragOrigin(t)):(e.stopNode(t),t.fixed|=2)},e.stopNode=function(e){e.px=e.x,e.py=e.y},e.storeOffset=function(t,n){void 0!==t.leaves&&t.leaves.forEach((function(t){t.fixed|=2,e.stopNode(t),t._dragGroupOffsetX=t.x-n.x,t._dragGroupOffsetY=t.y-n.y})),void 0!==t.groups&&t.groups.forEach((function(t){return e.storeOffset(t,n)}))},e.dragOrigin=function(e){return c(e)?{x:e.bounds.cx(),y:e.bounds.cy()}:e},e.drag=function(t,n){c(t)?(void 0!==t.leaves&&t.leaves.forEach((function(e){t.bounds.setXCentre(n.x),t.bounds.setYCentre(n.y),e.px=e._dragGroupOffsetX+n.x,e.py=e._dragGroupOffsetY+n.y})),void 0!==t.groups&&t.groups.forEach((function(t){return e.drag(t,n)}))):(t.px=n.x,t.py=n.y)},e.dragEnd=function(t){c(t)?(void 0!==t.leaves&&t.leaves.forEach((function(t){e.dragEnd(t),delete t._dragGroupOffsetX,delete t._dragGroupOffsetY})),void 0!==t.groups&&t.groups.forEach(e.dragEnd)):t.fixed&=-7},e.mouseOver=function(e){e.fixed|=4,e.px=e.x,e.py=e.y},e.mouseOut=function(e){e.fixed&=-5},e}()})),Dh=A((e=>{var t,n=e&&e.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)});Object.defineProperty(e,"__esModule",{value:!0});var i=Rh(),r=function(e){function t(t){var n=e.call(this)||this,r=t;return r.trigger&&(n.trigger=r.trigger),r.kick&&(n.kick=r.kick),r.drag&&(n.drag=r.drag),r.on&&(n.on=r.on),n.dragstart=n.dragStart=i.Layout.dragStart,n.dragend=n.dragEnd=i.Layout.dragEnd,n}return n(t,e),t.prototype.trigger=function(){},t.prototype.kick=function(){},t.prototype.drag=function(){},t.prototype.on=function(){return this},t}(i.Layout);e.LayoutAdaptor=r,e.adaptor=function(e){return new r(e)}})),Bh=A((e=>{var t,n=e&&e.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)});Object.defineProperty(e,"__esModule",{value:!0});var i=Rh(),r=function(e){function t(){var t=e.call(this)||this;t.event=d3.dispatch(i.EventType[i.EventType.start],i.EventType[i.EventType.tick],i.EventType[i.EventType.end]);var n=t;return t.drag=function(){if(!e)var e=d3.behavior.drag().origin(i.Layout.dragOrigin).on("dragstart.d3adaptor",i.Layout.dragStart).on("drag.d3adaptor",(function(e){i.Layout.drag(e,d3.event),n.resume()})).on("dragend.d3adaptor",i.Layout.dragEnd);if(!arguments.length)return e;this.call(e)},t}return n(t,e),t.prototype.trigger=function(e){var t={type:i.EventType[e.type],alpha:e.alpha,stress:e.stress};this.event[t.type](t)},t.prototype.kick=function(){var t=this;d3.timer((function(){return e.prototype.tick.call(t)}))},t.prototype.on=function(e,t){return this.event.on("string"==typeof e?e:i.EventType[e],t),this},t}(i.Layout);e.D3StyleLayoutAdaptor=r,e.d3adaptor=function(){return new r}})),Oh=A((e=>{var t,n=e&&e.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)});Object.defineProperty(e,"__esModule",{value:!0});var i=Rh();e.D3StyleLayoutAdaptor=function(e){function t(t){var n=e.call(this)||this;n.d3Context=t,n.event=t.dispatch(i.EventType[i.EventType.start],i.EventType[i.EventType.tick],i.EventType[i.EventType.end]);var r=n;return n.drag=function(){if(!e)var e=t.drag().subject(i.Layout.dragOrigin).on("start.d3adaptor",i.Layout.dragStart).on("drag.d3adaptor",(function(e){i.Layout.drag(e,t.event),r.resume()})).on("end.d3adaptor",i.Layout.dragEnd);if(!arguments.length)return e;arguments[0].call(e)},n}return n(t,e),t.prototype.trigger=function(e){var t={type:i.EventType[e.type],alpha:e.alpha,stress:e.stress};this.event.call(t.type,t)},t.prototype.kick=function(){var t=this,n=this.d3Context.timer((function(){return e.prototype.tick.call(t)&&n.stop()}))},t.prototype.on=function(e,t){return this.event.on("string"==typeof e?e:i.EventType[e],t),this},t}(i.Layout)})),jh=A((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=Bh(),n=Oh();e.d3adaptor=function(e){return!e||function(e){return e.version&&null!==e.version.match(/^3\./)}(e)?new t.D3StyleLayoutAdaptor:new n.D3StyleLayoutAdaptor(e)}})),Fh=A((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=Ah(),n=Nh(),i=Vh(),r=function(e,t,n){this.id=e,this.rect=t,this.children=n,this.leaf=void 0===n||0===n.length};e.NodeWrapper=r;var o=function(e,t,n,i,r){void 0===i&&(i=null),void 0===r&&(r=null),this.id=e,this.x=t,this.y=n,this.node=i,this.line=r};e.Vert=o;var a=function(){function e(t,n){this.s=t,this.t=n;var i=e.findMatch(t,n),r=n.slice(0).reverse(),o=e.findMatch(t,r);i.length>=o.length?(this.length=i.length,this.si=i.si,this.ti=i.ti,this.reversed=!1):(this.length=o.length,this.si=o.si,this.ti=n.length-o.ti-o.length,this.reversed=!0)}return e.findMatch=function(e,t){for(var n=e.length,i=t.length,r={length:0,si:-1,ti:-1},o=new Array(n),a=0;a<n;a++){o[a]=new Array(i);for(var s=0;s<i;s++)if(e[a]===t[s]){var l=o[a][s]=0===a||0===s?1:o[a-1][s-1]+1;l>r.length&&(r.length=l,r.si=a-l+1,r.ti=s-l+1)}else o[a][s]=0}return r},e.prototype.getSequence=function(){return this.length>=0?this.s.slice(this.si,this.si+this.length):[]},e}();e.LongestCommonSubsequence=a,e.GridRouter=function(){function e(e,n,i){void 0===i&&(i=12);var a=this;this.originalnodes=e,this.groupPadding=i,this.leaves=null,this.nodes=e.map((function(e,t){return new r(t,n.getBounds(e),n.getChildren(e))})),this.leaves=this.nodes.filter((function(e){return e.leaf})),this.groups=this.nodes.filter((function(e){return!e.leaf})),this.cols=this.getGridLines("x"),this.rows=this.getGridLines("y"),this.groups.forEach((function(e){return e.children.forEach((function(t){return a.nodes[t].parent=e}))})),this.root={children:[]},this.nodes.forEach((function(e){void 0===e.parent&&(e.parent=a.root,a.root.children.push(e.id)),e.ports=[]})),this.backToFront=this.nodes.slice(0),this.backToFront.sort((function(e,t){return a.getDepth(e)-a.getDepth(t)})),this.backToFront.slice(0).reverse().filter((function(e){return!e.leaf})).forEach((function(e){var n=t.Rectangle.empty();e.children.forEach((function(e){return n=n.union(a.nodes[e].rect)})),e.rect=n.inflate(a.groupPadding)}));var s=this.midPoints(this.cols.map((function(e){return e.pos}))),l=this.midPoints(this.rows.map((function(e){return e.pos}))),c=s[0],d=s[s.length-1],u=l[0],h=l[l.length-1],f=this.rows.map((function(e){return{x1:c,x2:d,y1:e.pos,y2:e.pos}})).concat(l.map((function(e){return{x1:c,x2:d,y1:e,y2:e}}))),p=this.cols.map((function(e){return{x1:e.pos,x2:e.pos,y1:u,y2:h}})).concat(s.map((function(e){return{x1:e,x2:e,y1:u,y2:h}}))),g=f.concat(p);g.forEach((function(e){return e.verts=[]})),this.verts=[],this.edges=[],f.forEach((function(e){return p.forEach((function(t){var n=new o(a.verts.length,t.x1,e.y1);e.verts.push(n),t.verts.push(n),a.verts.push(n);for(var i=a.backToFront.length;i-- >0;){var r=a.backToFront[i],s=r.rect,l=Math.abs(n.x-s.cx()),c=Math.abs(n.y-s.cy());if(l<s.width()/2&&c<s.height()/2){n.node=r;break}}}))})),g.forEach((function(e){a.nodes.forEach((function(t){t.rect.lineIntersections(e.x1,e.y1,e.x2,e.y2).forEach((function(n){var i=new o(a.verts.length,n.x,n.y,t,e);a.verts.push(i),e.verts.push(i),t.ports.push(i)}))}));var t=Math.abs(e.y1-e.y2)<.1,n=function(e,n){return t?n.x-e.x:n.y-e.y};e.verts.sort(n);for(var i=1;i<e.verts.length;i++){var r=e.verts[i-1],s=e.verts[i];r.node&&r.node===s.node&&r.node.leaf||a.edges.push({source:r.id,target:s.id,length:Math.abs(n(r,s))})}}))}return e.prototype.avg=function(e){return e.reduce((function(e,t){return e+t}))/e.length},e.prototype.getGridLines=function(e){for(var t=[],n=this.leaves.slice(0,this.leaves.length);n.length>0;){var i=n.filter((function(t){return t.rect["overlap"+e.toUpperCase()](n[0].rect)})),r={nodes:i,pos:this.avg(i.map((function(t){return t.rect["c"+e]()})))};t.push(r),r.nodes.forEach((function(e){return n.splice(n.indexOf(e),1)}))}return t.sort((function(e,t){return e.pos-t.pos})),t},e.prototype.getDepth=function(e){for(var t=0;e.parent!==this.root;)t++,e=e.parent;return t},e.prototype.midPoints=function(e){for(var t=e[1]-e[0],n=[e[0]-t/2],i=1;i<e.length;i++)n.push((e[i]+e[i-1])/2);return n.push(e[e.length-1]+t/2),n},e.prototype.findLineage=function(e){var t=[e];do{t.push(e=e.parent)}while(e!==this.root);return t.reverse()},e.prototype.findAncestorPathBetween=function(e,t){for(var n=this.findLineage(e),i=this.findLineage(t),r=0;n[r]===i[r];)r++;return{commonAncestor:n[r-1],lineages:n.slice(r).concat(i.slice(r))}},e.prototype.siblingObstacles=function(e,t){var n=this,i=this.findAncestorPathBetween(e,t),r={};i.lineages.forEach((function(e){return r[e.id]={}}));var o=i.commonAncestor.children.filter((function(e){return!(e in r)}));return i.lineages.filter((function(e){return e.parent!==i.commonAncestor})).forEach((function(e){return o=o.concat(e.parent.children.filter((function(t){return t!==e.id})))})),o.map((function(e){return n.nodes[e]}))},e.getSegmentSets=function(e,t){for(var n=[],i=0;i<e.length;i++)for(var r=e[i],o=0;o<r.length;o++)(c=r[o]).edgeid=i,c.i=o,Math.abs(c[1][t]-c[0][t])<.1&&n.push(c);n.sort((function(e,n){return e[0][t]-n[0][t]}));for(var a=[],s=null,l=0;l<n.length;l++){var c=n[l];(!s||Math.abs(c[0][t]-s.pos)>.1)&&a.push(s={pos:c[0][t],segments:[]}),s.segments.push(c)}return a},e.nudgeSegs=function(e,t,i,r,o,a){var s=r.length;if(!(s<=1)){for(var l=r.map((function(t){return new n.Variable(t[0][e])})),c=[],d=0;d<s;d++)for(var u=0;u<s;u++)if(d!==u){var h=r[d],f=h.edgeid,p=r[u].edgeid,g=-1,v=-1;"x"==e?o(f,p)&&(h[0][t]<h[1][t]?(g=u,v=d):(g=d,v=u)):o(f,p)&&(h[0][t]<h[1][t]?(g=d,v=u):(g=u,v=d)),g>=0&&c.push(new n.Constraint(l[g],l[v],a))}new n.Solver(l,c).solve(),l.forEach((function(t,n){var o=r[n],a=t.position();o[0][e]=o[1][e]=a;var s=i[o.edgeid];o.i>0&&(s[o.i-1][1][e]=a),o.i<s.length-1&&(s[o.i+1][0][e]=a)}))}},e.nudgeSegments=function(t,n,i,r,o){for(var a=e.getSegmentSets(t,n,i),s=0;s<a.length;s++){for(var l=a[s],c=[],d=0;d<l.segments.length;d++){var u=l.segments[d];c.push({type:0,s:u,pos:Math.min(u[0][i],u[1][i])}),c.push({type:1,s:u,pos:Math.max(u[0][i],u[1][i])})}c.sort((function(e,t){return e.pos-t.pos+e.type-t.type}));var h=[],f=0;c.forEach((function(a){0===a.type?(h.push(a.s),f++):f--,0==f&&(e.nudgeSegs(n,i,t,h,r,o),h=[])}))}},e.prototype.routeEdges=function(t,n,i,r){var o=this,a=t.map((function(e){return o.route(i(e),r(e))})),s=e.orderEdges(a),l=a.map((function(t){return e.makeSegments(t)}));return e.nudgeSegments(l,"x","y",s,n),e.nudgeSegments(l,"y","x",s,n),e.unreverseEdges(l,a),l},e.unreverseEdges=function(e,t){e.forEach((function(e,n){t[n].reversed&&(e.reverse(),e.forEach((function(e){e.reverse()})))}))},e.angleBetween2Lines=function(e,t){var n=Math.atan2(e[0].y-e[1].y,e[0].x-e[1].x),i=Math.atan2(t[0].y-t[1].y,t[0].x-t[1].x),r=n-i;return(r>Math.PI||r<-Math.PI)&&(r=i-n),r},e.isLeft=function(e,t,n){return(t.x-e.x)*(n.y-e.y)-(t.y-e.y)*(n.x-e.x)<=0},e.getOrder=function(e){for(var t={},n=0;n<e.length;n++){var i=e[n];void 0===t[i.l]&&(t[i.l]={}),t[i.l][i.r]=!0}return function(e,n){return void 0!==t[e]&&t[e][n]}},e.orderEdges=function(t){for(var n=[],i=0;i<t.length-1;i++)for(var r=i+1;r<t.length;r++){var o,s,l,c=t[i],d=t[r],u=new a(c,d);0!==u.length&&(u.reversed&&(d.reverse(),d.reversed=!0,u=new a(c,d)),(u.si<=0||u.ti<=0)&&(u.si+u.length>=c.length||u.ti+u.length>=d.length)?n.push({l:i,r}):(u.si+u.length>=c.length||u.ti+u.length>=d.length?(o=c[u.si+1],l=c[u.si-1],s=d[u.ti-1]):(o=c[u.si+u.length-2],s=c[u.si+u.length],l=d[u.ti+u.length]),e.isLeft(o,s,l)?n.push({l:r,r:i}):n.push({l:i,r})))}return e.getOrder(n)},e.makeSegments=function(e){function t(e){return{x:e.x,y:e.y}}for(var n=function(e,t,n){return Math.abs((t.x-e.x)*(n.y-e.y)-(t.y-e.y)*(n.x-e.x))<.001},i=[],r=t(e[0]),o=1;o<e.length;o++){var a=t(e[o]),s=o<e.length-1?e[o+1]:null;s&&n(r,a,s)||(i.push([r,a]),r=a)}return i},e.prototype.route=function(e,t){var n=this,r=this.nodes[e],o=this.nodes[t];this.obstacles=this.siblingObstacles(r,o);var a={};this.obstacles.forEach((function(e){return a[e.id]=e})),this.passableEdges=this.edges.filter((function(e){var t=n.verts[e.source],i=n.verts[e.target];return!(t.node&&t.node.id in a||i.node&&i.node.id in a)}));for(var s=1;s<r.ports.length;s++)this.passableEdges.push({source:r.ports[0].id,target:r.ports[s].id,length:0});for(s=1;s<o.ports.length;s++)this.passableEdges.push({source:o.ports[0].id,target:o.ports[s].id,length:0});var l=new i.Calculator(this.verts.length,this.passableEdges,(function(e){return e.source}),(function(e){return e.target}),(function(e){return e.length})).PathFromNodeToNodeWithPrevCost(r.ports[0].id,o.ports[0].id,(function(e,t,i){var a=n.verts[e],s=n.verts[t],l=n.verts[i],c=Math.abs(l.x-a.x),d=Math.abs(l.y-a.y);return a.node===r&&a.node===s.node||s.node===o&&s.node===l.node?0:c>1&&d>1?1e3:0})).reverse().map((function(e){return n.verts[e]}));return l.push(this.nodes[o.id].ports[0]),l.filter((function(e,t){return!(t<l.length-1&&l[t+1].node===r&&e.node===r||t>0&&e.node===o&&l[t-1].node===o)}))},e.getRoutePath=function(t,n,i,r){var o,a,s,l,c,d={routepath:"M "+t[0][0].x+" "+t[0][0].y+" ",arrowpath:""};if(t.length>1)for(var u=0;u<t.length;u++){var h=(a=(o=t[u])[1].x)-o[0].x,f=(s=o[1].y)-o[0].y;if(u<t.length-1){Math.abs(h)>0?a-=h/Math.abs(h)*n:s-=f/Math.abs(f)*n,d.routepath+="L "+a+" "+s+" ";var p=t[u+1],g=p[0].x,v=p[0].y;h=p[1].x-g,f=p[1].y-v;var m,b,w=e.angleBetween2Lines(o,p)<0?1:0;Math.abs(h)>0?(m=g+h/Math.abs(h)*n,b=v):(m=g,b=v+f/Math.abs(f)*n);var y=Math.abs(m-a),_=Math.abs(b-s);d.routepath+="A "+y+" "+_+" 0 0 "+w+" "+m+" "+b+" "}else{var k=[a,s];Math.abs(h)>0?(l=[a-=h/Math.abs(h)*r,s+i],c=[a,s-i]):(l=[a+i,s-=f/Math.abs(f)*r],c=[a-i,s]),d.routepath+="L "+a+" "+s+" ",r>0&&(d.arrowpath="M "+k[0]+" "+k[1]+" L "+l[0]+" "+l[1]+" L "+c[0]+" "+c[1])}}else h=(a=(o=t[0])[1].x)-o[0].x,f=(s=o[1].y)-o[0].y,k=[a,s],Math.abs(h)>0?(l=[a-=h/Math.abs(h)*r,s+i],c=[a,s-i]):(l=[a+i,s-=f/Math.abs(f)*r],c=[a-i,s]),d.routepath+="L "+a+" "+s+" ",r>0&&(d.arrowpath="M "+k[0]+" "+k[1]+" L "+l[0]+" "+l[1]+" L "+c[0]+" "+c[1]);return d},e}()})),Uh=A((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=Vh(),n=$h(),i=Ah(),r=zh();e.Link3D=function(){function e(e,t){this.source=e,this.target=t}return e.prototype.actualLength=function(e){var t=this;return Math.sqrt(e.reduce((function(e,n){var i=n[t.target]-n[t.source];return e+i*i}),0))},e}(),e.Node3D=function(e,t,n){void 0===e&&(e=0),void 0===t&&(t=0),void 0===n&&(n=0),this.x=e,this.y=t,this.z=n},e.Layout3D=function(){function e(t,n,i){void 0===i&&(i=1);var r=this;this.nodes=t,this.links=n,this.idealLinkLength=i,this.constraints=null,this.useJaccardLinkLengths=!0,this.result=new Array(e.k);for(var o=0;o<e.k;++o)this.result[o]=new Array(t.length);t.forEach((function(t,n){for(var i=0,o=e.dims;i<o.length;i++){var a=o[i];void 0===t[a]&&(t[a]=Math.random())}r.result[0][n]=t.x,r.result[1][n]=t.y,r.result[2][n]=t.z}))}return e.prototype.linkLength=function(e){return e.actualLength(this.result)},e.prototype.start=function(e){var a=this;void 0===e&&(e=100);var s=this.nodes.length,l=new o;this.useJaccardLinkLengths&&r.jaccardLinkLengths(this.links,l,1.5),this.links.forEach((function(e){return e.length*=a.idealLinkLength}));var c=new t.Calculator(s,this.links,(function(e){return e.source}),(function(e){return e.target}),(function(e){return e.length})).DistanceMatrix(),d=n.Descent.createSquareMatrix(s,(function(e,t){return c[e][t]})),u=n.Descent.createSquareMatrix(s,(function(){return 2}));this.links.forEach((function(e){var t=e.source,n=e.target;return u[t][n]=u[n][t]=1})),this.descent=new n.Descent(this.result,d),this.descent.threshold=.001,this.descent.G=u,this.constraints&&(this.descent.project=new i.Projection(this.nodes,null,null,this.constraints).projectFunctions());for(var h=0;h<this.nodes.length;h++){var f=this.nodes[h];f.fixed&&this.descent.locks.add(h,[f.x,f.y,f.z])}return this.descent.run(e),this},e.prototype.tick=function(){this.descent.locks.clear();for(var e=0;e<this.nodes.length;e++){var t=this.nodes[e];t.fixed&&this.descent.locks.add(e,[t.x,t.y,t.z])}return this.descent.rungeKutta()},e.k=(e.dims=["x","y","z"]).length,e}();var o=function(){function e(){}return e.prototype.getSourceIndex=function(e){return e.source},e.prototype.getTargetIndex=function(e){return e.target},e.prototype.getLength=function(e){return e.length},e.prototype.setLength=function(e,t){e.length=t},e}()})),qh=A((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=Rh(),n=Fh();e.gridify=function(e,t,i,r){return e.cola.start(0,0,0,10,!1),function(e,t,i,r){e.forEach((function(e){e.routerNode={name:e.name,bounds:e.bounds.inflate(-i)}})),t.forEach((function(t){t.routerNode={bounds:t.bounds.inflate(-r),children:(void 0!==t.groups?t.groups.map((function(t){return e.length+t.id})):[]).concat(void 0!==t.leaves?t.leaves.map((function(e){return e.index})):[])}}));var o=e.concat(t).map((function(e,t){return e.routerNode.id=t,e.routerNode}));return new n.GridRouter(o,{getChildren:function(e){return e.children},getBounds:function(e){return e.bounds}},i-r)}(e.cola.nodes(),e.cola.groups(),i,r).routeEdges(e.powerGraph.powerEdges,t,(function(e){return e.source.routerNode.id}),(function(e){return e.target.routerNode.id}))},e.powerGraphGridLayout=function(e,n,i){var r;e.nodes.forEach((function(e,t){return e.index=t})),(new t.Layout).avoidOverlaps(!1).nodes(e.nodes).links(e.links).powerGraphGroups((function(e){(r=e).groups.forEach((function(e){return e.padding=i}))}));var o=e.nodes.length,a=[],s=e.nodes.slice(0);return s.forEach((function(e,t){return e.index=t})),r.groups.forEach((function(e){var t=e.index=e.id+o;s.push(e),void 0!==e.leaves&&e.leaves.forEach((function(e){return a.push({source:t,target:e.index})})),void 0!==e.groups&&e.groups.forEach((function(e){return a.push({source:t,target:e.id+o})}))})),r.powerEdges.forEach((function(e){a.push({source:e.source.index,target:e.target.index})})),(new t.Layout).size(n).nodes(s).links(a).avoidOverlaps(!1).linkDistance(30).symmetricDiffLinkLengths(5).convergenceThreshold(1e-4).start(100,0,0,0,!1),{cola:(new t.Layout).convergenceThreshold(.001).size(n).avoidOverlaps(!0).nodes(e.nodes).links(e.links).groupCompactness(1e-4).linkDistance(30).symmetricDiffLinkLengths(5).powerGraphGroups((function(e){(r=e).groups.forEach((function(e){e.padding=i}))})).start(50,0,100,0,!1),powerGraph:r}}})),Wh=I(A((e=>{function t(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),t(Dh()),t(jh()),t($h()),t(Ph()),t(Fh()),t(Hh()),t(Rh()),t(Uh()),t(zh()),t(Eh()),t(Ih()),t(Th()),t(Ah()),t(Vh()),t(Nh()),t(qh())}))());function Gh(e,t,n){const{preferredLinkLength:i=200,avoidOverlaps:r=!0}=n??{};return function(e,t){const n=new Map,o=[];for(const[i,r]of Object.entries(e.nodes)){const e=Object.hasOwn(t.bounds,i)?t.bounds[i]:void 0;n.set(i,{x:e?e.x:0,y:e?e.y:0,width:e?e.width:void 0,height:e?e.height:void 0,fixed:r.fixed?1:0})}for(const t of e.links){const e=n.get(t.source),i=n.get(t.target);e&&i&&o.push({source:e,target:i})}((e,t)=>{(new Wh.Layout).nodes(Array.from(e.values())).links(t).avoidOverlaps(r).convergenceThreshold(1e-9).jaccardLinkLengths(i).handleDisconnected(!0).start(30,0,10,void 0,!1)})(n,o);const a=Object.create(null);for(const[e,t]of n)a[e]={x:t.x,y:t.y,width:t.width??0,height:t.height??0};return{bounds:a}}(e,t)}function Zh(e,t,n){const{preferredLinkLength:i=200,padding:r={x:50,y:50}}=n??{},o=function(e,t){const n=Object.create(null);let i=1/0,r=1/0;for(const[t,{x:o,y:a,width:s,height:l}]of Object.entries(e.bounds)){const e=Math.max(s,l);i=Math.min(s?e/s:1,i),r=Math.min(l?e/l:1,r),n[t]={x:o,y:a,width:e,height:e}}const o=function(e,t){if(!t)return{state:e,unwrap:e=>e};const n=Object.create(null);for(const[i,{x:r,y:o,width:a,height:s}]of Object.entries(e.bounds))n[i]={x:r-t.x,y:o-t.y,width:a+2*t.x,height:s+2*t.y};return{state:{bounds:n},unwrap:e=>{const n=Object.create(null);for(const[i,{x:r,y:o,width:a,height:s}]of Object.entries(e.bounds))n[i]={x:r+t.x,y:o+t.y,width:a-2*t.x,height:s-2*t.y};return{bounds:n}}}}({bounds:n},t);return{state:o.state,unwrap:t=>{const n=o.unwrap(t),a=function(e){let t=1/0,n=1/0,i=-1/0,r=-1/0;for(const[o,{x:a,y:s,width:l,height:c}]of Object.entries(e.bounds))t=Math.min(t,a),n=Math.min(n,s),i=Math.max(i,a+l),r=Math.max(r,s+c);return{x:Number.isFinite(t)?t:0,y:Number.isFinite(n)?n:0,width:Number.isFinite(t)&&Number.isFinite(i)?i-t:0,height:Number.isFinite(n)&&Number.isFinite(r)?r-n:0}}(n),s=Object.create(null);for(const[t,o]of Object.entries(n.bounds)){const n=Object.hasOwn(e.bounds,t)?e.bounds[t]:void 0;s[t]={x:(o.x-a.x)/i+a.x,y:(o.y-a.y)/r+a.y,width:n?n.width:o.width,height:n?n.height:o.height}}return{bounds:s}}}}(Gh(e,t,{preferredLinkLength:i,avoidOverlaps:!1}),r),a=function(e){const t=new Map;for(const[n,{x:i,y:r,width:o,height:a}]of Object.entries(e.bounds))t.set(n,new Wh.Rectangle(i,i+o,r,r+a));Wh.removeOverlaps(Array.from(t.values()));const n=Object.create(null);for(const[i,{x:r,y:o}]of t){const t=Object.hasOwn(e.bounds,i)?e.bounds[i]:void 0;n[i]={x:r,y:o,width:t?t.width:0,height:t?t.height:0}}return{bounds:n}}(o.state),s=o.unwrap(a);return Promise.resolve(s)}var Kh;!function(e){e.EN="en",e.FR="fr"}(Kh||(Kh={}));const Xh={[Kh.FR]:{authoring_state:{"entity_action_delete.label":"supprimer","entity_action_delete.title":"Supprimer l'entité","entity_action_delete.title_disabled":"Impossible de supprimer l'entité","entity_action_discard.label":"annuler","entity_action_discard.title":"Annuler toutes les modifications de l'entité","entity_action_edit.label":"modifier","entity_action_edit.title":"Modifier l'entité","entity_action_edit.title_disabled":"Impossible de modifier l'entité","entity_add.label":"Nouveau","entity_change.label":"Modifier","entity_delete.label":"Supprimer","relation_action_discard.label":"annuler","relation_action_discard.title":"Annuler toutes les modifications de la relation","relation_add.label":"Nouveau","relation_change.label":"Modifier","relation_delete.label":"Supprimer"},classic_workspace:{"canvas.label":"Canevas","class_tree.heading":"Classes","connections.heading":"Connexions","instances.heading":"Instances"},commands:{"change_entity.title":"Modifier les données de l'entité","change_link_type_visibility.title":"Modifier la visibilité du type de lien","change_relation.title":"Modifier les données de la relation","collapse_element.title":"Réduire l'élément","expand_element.title":"Développer l'élément","place_elements_around.title":"Placer les éléments","restore_geometry.title":"Déplacer les éléments et les liens","restore_link_vertices.title":"Modifier les sommets du lien","restore_viewport.title":"Définir la zone d'affichage","set_element_state.title":"Modifier l'état de l'élément","set_entity_data.title":"Définir les données de l'élément d'entité","set_entity_group_items.title":"Définir les éléments du groupe d'entités","set_link_state.title":"Modifier l'état du lien","set_relation_data.title":"Définir les données du lien de relation","set_relation_group_items.title":"Définir les éléments du groupe de relations","transform_elements.title":"Redimensionner les éléments"},connections_menu:{"all_link.label":"Tous","breadcrumbs_root.label":"Types de liens","dialog.caption":"Connexions","entities.add_all":"Tout ajouter","entities.add_group":"Ajouter en tant que groupe","entities.add_selected":"Ajouter la sélection","entities.counter_label":"{{count}} sur {{total}}","entities.extra_label":" ({{value}})","entities.extra_title":"Entités supplémentaires","entities.missing_label":" ({{value}})","entities.missing_title":"Entités manquantes","entities.no_results":"Aucun résultat","entities.truncated_results":"Seules les {{limit}} premières entités sont affichées","entities.truncated_results_expand":"Seules les {{limit}} premières entités sont affichées,\ncliquez ici pour voir tous les résultats","input.placeholder":null,"link.both_navigate_title":"Naviguer vers tous les éléments connectés","link.both_title":"tous connectés","link.source_navigate_title":"Naviguer vers les éléments source « {{relation}} »","link.source_title":"source de « {{relation}} » {{relationIri}}","link.target_navigate_title":"Naviguer vers les éléments cible « {{target}} »","link.target_title":"cible de « {{relation}} » {{relationIri}}","link.move_to_filter.title":"Définir comme filtre dans le panneau Instances","links.no_results":"Aucun résultat","links.suggest_similar":"Vous cherchez probablement...","place_elements.command":"Ajouter les éléments connectés","select_all.label":"Tout sélectionner","select_all.title":"Sélectionner ou désélectionner toutes les entités","sort_alphabetically.title":"Trier par ordre alphabétique","sort_smart.title":"Tri intelligent"},data_diagram_model:{"add_element.command":"Ajouter un élément","add_link.command":"Ajouter un lien","create_links.command":"Créer des liens","group_entities.command":"Grouper les entités","import_layout.command":"Importer la disposition","regroup_relations.command":"Regrouper les relations","request_entities.command":"Demander les données des entités","request_relations.command":"Demander les relations entre les entités","remove_element.command":"Supprimer l'élément","remove_link.command":"Supprimer le lien","ungroup_entities.command":"Dégrouper les entités"},default_data_locale:{iri:"<{{value}}>",iri_blank:"(nœud anonyme)"},default_workspace:{"search_section_entities.label":"Entités","search_section_entities.title":"Recherche d'entités","search_section_entity_types.label":"Types","search_section_entity_types.title":"Hiérarchie des types d'entités","search_section_link_types.label":"Liens","search_section_link_types.title":"Types de relations sur le diagramme"},drop_on_canvas:{"drop.command":"Glisser-déposer sur le diagramme"},editor_controller:{"apply_authored_changes.command":"Appliquer les modifications au diagramme","discard_change.command":"Annuler la modification","entity_add.command":"Créer une nouvelle entité","entity_change.command":"Modifier l'entité","entity_delete.command":"Supprimer l'entité","relation_add.command":"Créer une nouvelle relation","relation_change.command":"Modifier la relation","relation_delete.command":"Supprimer la relation","relation_move_source.command":"Déplacer la source de la relation","relation_move_target.command":"Déplacer la cible de la relation","remove_items.command":"Supprimer les éléments du diagramme","set_authoring_state.command":"Créer, modifier ou supprimer des entités et des relations","validate_entity_failed.message":"Échec de la validation de l'entité"},forms:{"input_file.drag_hint":"Glissez des fichiers ici ou","input_file.remove_value.title":"Supprimer le fichier","input_file.select_files.label":"Sélectionner des fichiers","input_list.add_value.title":"Ajouter une valeur de propriété","input_list.remove_value.title":"Supprimer la valeur de propriété"},group_paginator:{"current_page.label":"{{page}} sur {{pageCount}}","go_next.title":"Aller à la page suivante","go_previous.title":"Aller à la page précédente","page_size.title":"Nombre d'éléments à afficher par page"},inline_entity:{title:"{{entity}} {{entityIri}}",title_extra:"Types : {{entityTypes}}"},link_action:{"delete_annotation.title":"Supprimer le lien d'annotation","delete_relation.title":"Supprimer la relation","delete_relation.title_disabled":"Impossible de supprimer la relation","edit_relation.title":"Modifier la relation","edit_relation.title_disabled":"Impossible de modifier la relation","rename_link.title":"Renommer le lien","move_relation.move_source_title":"Déplacer la source du lien","move_relation.move_target_title":"Déplacer la cible du lien","vertex.remove_title":"Supprimer le sommet"},navigator:{"toggle_collapse.title":"Réduire le navigateur","toggle_expand.title":"Développer le navigateur"},note_annotation:{"change_text.command":"Modifier le texte de l'annotation","style_align_center.title":"Centrer","style_align_left.title":"Aligner à gauche","style_align_right.title":"Aligner à droite","style_bold.title":"Gras","style_color_variant.title":"Variante de couleur : {{variant}}","style_italic.title":"Italique","style_strikethrough.title":"Barré","style_underline.title":"Souligné"},overlay_controller:{multiple_tasks_in_progress:"Plusieurs tâches sont en cours",unknown_error:"Une erreur inconnue s'est produite"},search_defaults:{empty_input_term:"Saisissez un terme à rechercher.","input.placeholder":"Rechercher...","input_clear.title":"Effacer la recherche","input_submit.title":"Rechercher",input_term_too_short:"Saisissez au moins {{termLength}} caractères pour rechercher.",no_results:"Aucun résultat trouvé."},search_element_types:{"drag_create.title":"Cliquez ou glissez pour créer une nouvelle entité de ce type","input.placeholder":null,no_results:"Aucun type d'élément trouvé.","refresh_progress.title":"Chargement de l'arborescence des types d'éléments",show_only_creatable:"Afficher uniquement les constructibles"},search_entities:{"add_group.label":"Ajouter en tant que groupe","add_group.title":"Placer les entités sélectionnées sur le canevas en tant que groupe","add_selected.label":"Ajouter la sélection","add_selected.title":"Placer les entités sélectionnées sur le canevas",criteria_has_type:"A le type {{entityType}}",criteria_connected:"Connecté à {{entity}}",criteria_connected_via:"Connecté à {{entity}} via {{relationType}}",criteria_connected_to_source:"Connecté à {{entity}} via {{relationType}} en tant que {{sourceIcon}} source",criteria_connected_to_target:"Connecté à {{entity}} via {{relationType}} en tant que {{targetIcon}} cible","input.placeholder":null,"place_elements.command":"Ajouter les éléments sélectionnés","query_progress.title":"Recherche d'entités en cours","show_more_results.label":"Afficher plus","show_more_results.title":"Charger plus de résultats"},search_link_types:{"add_to_filter.title":"Rechercher les éléments connectés via la relation",heading_connected:"Connecté aux entités sélectionnées",heading_connected_single:"Connecté à {{entity}}",heading_other:"Autres liens","input.placeholder":null,no_results:"Aucun lien trouvé.","switch.command":"Modifier la visibilité des types de liens","switch_all.label":"Tout basculer","switch_hidden.title":"Masquer les liens et les étiquettes","switch_visible.title":"Afficher les liens avec étiquettes","switch_without_label.title":"Afficher uniquement les lignes des liens (sans étiquettes)"},selection_action:{"add_to_filter.title":"Rechercher les éléments connectés","anchor.title":"Accéder à la ressource","annotate.defaultContent":"Annotation","annotate.title":"Ajouter une annotation à cet élément","connections.title":"Naviguer vers les éléments connectés","expand.collapse_command":"Réduire les éléments","expand.expand_command":"Développer les éléments","expand.title":"Développer les éléments sélectionnés pour révéler des propriétés supplémentaires","expand.title_single":"Développer un élément pour révéler des propriétés supplémentaires","establish_relation.title":"Établir un lien","establish_relation.title_disabled":"L'établissement d'un lien n'est pas autorisé pour cet élément","group.title":"Grouper les entités","group.title_ungroup":"Dégrouper les entités","layout.title":"Disposer les éléments sélectionnés avec l'algorithme à forces dirigées","remove.title":"Supprimer les éléments sélectionnés du diagramme","remove.title_new":"Annuler le nouvel élément","remove.title_single":"Supprimer un élément du diagramme","zoom_to_fit.title":"Ajuster le zoom aux éléments sélectionnés"},standard_element:{blank_node:"(nœud anonyme)",default_type:"Chose","delete.label":"Supprimer","delete.title":"Supprimer l'entité","delete.title_disabled":"Impossible de supprimer l'entité","edit.label":"Modifier","edit.title":"Modifier l'entité","edit.title_disabled":"Impossible de modifier l'entité","group_item.title":"{{entity}}\nIRI : {{entityIri}}\nTypes : {{entityTypes}}","iri.label":"IRI :","iri.label_modified":"IRI (modifié) :",no_properties:"aucune propriété","property.title":"{{property}} {{propertyIri}}","ungroup.title":"Dégrouper une entité"},standard_link:{"group_source.title":"{{value}} éléments source","group_source.value":"{{value}}","group_target.title":"{{value}} éléments cible","group_target.value":"{{value}}","label.title":"{{relation}} {{relationIri}}","property.title":"{{property}} {{propertyIri}}"},toolbar:{"menu_toggle.title":"Ouvrir le menu"},toolbar_action:{"clear_all.command":"Tout effacer","clear_all.title":"Supprimer tous les éléments et liens du diagramme","clear_all.label":"Tout effacer","export_print.label":"Imprimer","export_print.title":"Imprimer le diagramme","export_raster.label":"Exporter en PNG","export_raster.title":"Exporter le diagramme en image PNG","export_svg.label":"Exporter en SVG","export_svg.title":"Exporter le diagramme en image SVG","redo.label":"Rétablir","redo.title":"Rétablir la dernière commande annulée","redo.title_named":"Rétablir : {{command}}","save_authoring.title":"Appliquer les modifications du graphe","save_layout.title":"Enregistrer la disposition du diagramme","language_selector.title":"Sélectionner la langue des données (étiquettes, propriétés, etc.)","layout.label":"Disposition","layout.title":"Disposer le diagramme avec l'algorithme à forces dirigées","undo.label":"Annuler","undo.title":"Annuler la dernière commande","undo.title_named":"Annuler : {{command}}"},unified_search:{"input.placeholder":null,"input_clear.title":"Effacer","input_collapse.title":"Fermer"},visual_authoring:{"dialog.apply.label":"Appliquer","dialog.apply.title":"Appliquer les modifications","dialog.cancel.label":"Annuler","dialog.cancel.title":"Annuler la boîte de dialogue","edit_entity.dialog.apply.label":null,"edit_entity.dialog.apply.title":null,"edit_entity.dialog.caption":"Modifier l'entité","edit_entity.iri.label":"IRI","edit_entity.iri.placeholder":"IRI de l'entité","edit_relation.dialog.apply.label":null,"edit_relation.dialog.apply.title":null,"edit_relation.dialog.caption":"Modifier la relation","edit_relation.dialog.caption_new":"Établir une nouvelle relation","edit_relation.validation_progress.title":"Validation du type de lien sélectionné","find_or_create.connect_command":"Lier à une entité","find_or_create.create_command":"Créer une nouvelle entité","find_or_create.dialog.apply.label":null,"find_or_create.dialog.apply.title":null,"find_or_create.dialog.caption":"Établir une nouvelle connexion","find_or_create.loading.label":"Chargement de l'entité...","find_or_create.validation_progress.title":"Validation des types d'élément et de lien sélectionnés","property.label":"{{property}}","property.text_value.placeholder":"Valeur de la propriété","property.title":"{{property}} {{propertyIri}}","rename_link.dialog.apply.label":null,"rename_link.dialog.apply.title":null,"rename_link.dialog.caption":"Renommer le lien","rename_link.label.label":"Étiquette","select_entity.entity_type.label":"{{type}}","select_entity.input.placeholder":null,"select_entity.type.label":"Type d'entité","select_entity.type.placeholder":"Sélectionner le type d'entité","select_entity.results.aria_label":"Sélectionner un élément existant à placer sur le diagramme","select_entity.separator.label":"ou créer une nouvelle entité","select_entity.validation.error_required":"Requis.","select_relation.relation_type.label":"{{relation}} [{{source}} → {{target}}]","select_relation.type.label":"Type de relation","select_relation.type.placeholder":"Sélectionner le type de relation","select_relation.validation.error_duplicate":"La relation existe déjà.","select_relation.validation.error_required":"Requis."},workspace:{"group_entities.command":"Grouper les entités","perform_layout.task":"Calcul de la disposition du graphe","perform_layout.command":"Disposition du graphe","ungroup_entities.command":"Dégrouper les entités"},workspace_layout:{"toggle_collapse.title":"Réduire le panneau","toggle_expand.title":"Développer le panneau"},zoom_control:{"pointer_mode.title":"Basculer le mode de sélection :\nGlissez pour sélectionner, Maj + pointeur pour déplacer le canevas","zoom_in.title":"Zoom avant","zoom_out.title":"Zoom arrière","zoom_to_fit.title":"Ajuster à l'écran"}}};function Qh(e){const t=Xh[e];return t?[t]:[]}let Yh=null;function Jh(e){const{currentRepository:t,config:n,providerSettings:i}=e;return new Yi({endpointUrl:t,queryMethod:"POST",queryFunction:n.queryFunction},i)}function ef(e){const{language:t,initialDiagram:n,config:i}=e,{onMount:r}=function(e,t){const[n,i]=v.useState(),r=v.useRef(void 0);if(r.current)r.current.latestOnLoad=e;else{const t={latestOnLoad:e,context:void 0,loadedWorkspace:{getContext:()=>{if(!t.context)throw new Error("Cannot get Reactodia Workspace context: it is not mounted yet");return t.context},onMount:e=>{const n=e?.getContext();t.context=n,i(n)}}};r.current=t}return v.useEffect((()=>{if(n){const e=r.current.latestOnLoad,t=new AbortController;return(async()=>{const i=n.overlay.startTask();try{await Promise.resolve(),await e({context:n,signal:t.signal})}catch(e){t.signal.aborted||(i.setError(e),console.error("Reactodia: failed to load a workspace",e))}finally{i.end()}t.signal.aborted||n.model.history.reset()})(),()=>{t.abort(),n.model.discardLayout()}}}),[n,...t]),r.current.loadedWorkspace}((async({context:t,signal:r})=>{Yh=t;const{model:o}=t,a=Jh(e);n?await o.importLayout({dataProvider:a,diagram:n,signal:r}):(await o.createNewDiagram({dataProvider:a,signal:r}),i.seedIris&&await async function(e,t,n){const{model:i,performLayout:r}=e;for(const e of t)i.createElement(e);await i.requestData(),await r({signal:n})}(t,i.seedIris,r))}),[t]);return v.createElement(Mh,{ref:r,defaultLayout:Zh,defaultLanguage:t,translations:Qh(t)},v.createElement(yh,{}))}const tf=class{constructor(t){e(this,t),this.language=Kh.EN}onProviderSettingsChange(){this.renderGraph()}onLanguageChange(){const e=null==Yh?void 0:Yh.model.exportLayout();this.renderGraph(e)}componentDidLoad(){this.renderGraph()}disconnectedCallback(){this.reactRoot&&(this.reactRoot.unmount(),this.reactRoot=void 0)}render(){return t(n,{key:"8ef8d44db9d8e5eae72474c71c3c586f1f267d9b"})}renderGraph(e){var t;if(!this.currentRepository)throw new Error("currentRepository is required");if(!(null===(t=this.config)||void 0===t?void 0:t.queryFunction))throw new Error("config.queryFunction is required");if(!this.hostElement)return;const n={initialDiagram:e,currentRepository:this.currentRepository,config:this.config,language:this.language,providerSettings:this.providerSettings};this.reactRoot&&!e?async function(e){if(!Yh)return;const{model:t}=Yh,n=Jh(e);await t.createNewDiagram({dataProvider:n})}(n):this.reactRoot=function(e,t){const n=L.createRoot(e);return n.render(v.createElement(ef,t)),n}(this.hostElement,n)}get hostElement(){return i(this)}static get watchers(){return{currentRepository:["onProviderSettingsChange"],providerSettings:["onProviderSettingsChange"],language:["onLanguageChange"]}}};tf.style="graphwise-reactodia{display:block;width:100%;height:75vh}graphwise-reactodia .reactodia-container{position:relative;width:100%;height:100%}";export{tf as graphwise_reactodia}
1
+ import{r as e,h as t,H as n,g as i}from"./p-Cypw7ydc.js";var r,o,a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},s={exports:{}},l={};function c(){if(r)return l;r=1;var e=Symbol.for("react.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),a=Symbol.for("react.provider"),s=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),u=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),f=Symbol.iterator,p={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,v={};function m(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||p}function b(){}function w(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||p}m.prototype.isReactComponent={},m.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},m.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},b.prototype=m.prototype;var y=w.prototype=new b;y.constructor=w,g(y,m.prototype),y.isPureReactComponent=!0;var _=Array.isArray,k=Object.prototype.hasOwnProperty,x={current:null},S={key:!0,ref:!0,__self:!0,__source:!0};function C(t,n,i){var r,o={},a=null,s=null;if(null!=n)for(r in void 0!==n.ref&&(s=n.ref),void 0!==n.key&&(a=""+n.key),n)k.call(n,r)&&!S.hasOwnProperty(r)&&(o[r]=n[r]);var l=arguments.length-2;if(1===l)o.children=i;else if(1<l){for(var c=Array(l),d=0;d<l;d++)c[d]=arguments[d+2];o.children=c}if(t&&t.defaultProps)for(r in l=t.defaultProps)void 0===o[r]&&(o[r]=l[r]);return{$$typeof:e,type:t,key:a,ref:s,props:o,_owner:x.current}}function L(t){return"object"==typeof t&&null!==t&&t.$$typeof===e}var M=/\/+/g;function E(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function z(n,i,r,o,a){var s=typeof n;"undefined"!==s&&"boolean"!==s||(n=null);var l=!1;if(null===n)l=!0;else switch(s){case"string":case"number":l=!0;break;case"object":switch(n.$$typeof){case e:case t:l=!0}}if(l)return a=a(l=n),n=""===o?"."+E(l,0):o,_(a)?(r="",null!=n&&(r=n.replace(M,"$&/")+"/"),z(a,i,r,"",(function(e){return e}))):null!=a&&(L(a)&&(a=function(t,n){return{$$typeof:e,type:t.type,key:n,ref:t.ref,props:t.props,_owner:t._owner}}(a,r+(!a.key||l&&l.key===a.key?"":(""+a.key).replace(M,"$&/")+"/")+n)),i.push(a)),1;if(l=0,o=""===o?".":o+":",_(n))for(var c=0;c<n.length;c++){var d=o+E(s=n[c],c);l+=z(s,i,r,d,a)}else if(d=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=f&&e[f]||e["@@iterator"])?e:null}(n),"function"==typeof d)for(n=d.call(n),c=0;!(s=n.next()).done;)l+=z(s=s.value,i,r,d=o+E(s,c++),a);else if("object"===s)throw i=String(n),Error("Objects are not valid as a React child (found: "+("[object Object]"===i?"object with keys {"+Object.keys(n).join(", ")+"}":i)+"). If you meant to render a collection of children, use an array instead.");return l}function $(e,t,n){if(null==e)return e;var i=[],r=0;return z(e,i,"","",(function(e){return t.call(n,e,r++)})),i}function T(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var N={current:null},A={transition:null},I={ReactCurrentDispatcher:N,ReactCurrentBatchConfig:A,ReactCurrentOwner:x};function V(){throw Error("act(...) is not supported in production builds of React.")}return l.Children={map:$,forEach:function(e,t,n){$(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return $(e,(function(){t++})),t},toArray:function(e){return $(e,(function(e){return e}))||[]},only:function(e){if(!L(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},l.Component=m,l.Fragment=n,l.Profiler=o,l.PureComponent=w,l.StrictMode=i,l.Suspense=d,l.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=I,l.act=V,l.cloneElement=function(t,n,i){if(null==t)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+t+".");var r=g({},t.props),o=t.key,a=t.ref,s=t._owner;if(null!=n){if(void 0!==n.ref&&(a=n.ref,s=x.current),void 0!==n.key&&(o=""+n.key),t.type&&t.type.defaultProps)var l=t.type.defaultProps;for(c in n)k.call(n,c)&&!S.hasOwnProperty(c)&&(r[c]=void 0===n[c]&&void 0!==l?l[c]:n[c])}var c=arguments.length-2;if(1===c)r.children=i;else if(1<c){l=Array(c);for(var d=0;d<c;d++)l[d]=arguments[d+2];r.children=l}return{$$typeof:e,type:t.type,key:o,ref:a,props:r,_owner:s}},l.createContext=function(e){return(e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:a,_context:e},e.Consumer=e},l.createElement=C,l.createFactory=function(e){var t=C.bind(null,e);return t.type=e,t},l.createRef=function(){return{current:null}},l.forwardRef=function(e){return{$$typeof:c,render:e}},l.isValidElement=L,l.lazy=function(e){return{$$typeof:h,_payload:{_status:-1,_result:e},_init:T}},l.memo=function(e,t){return{$$typeof:u,type:e,compare:void 0===t?null:t}},l.startTransition=function(e){var t=A.transition;A.transition={};try{e()}finally{A.transition=t}},l.unstable_act=V,l.useCallback=function(e,t){return N.current.useCallback(e,t)},l.useContext=function(e){return N.current.useContext(e)},l.useDebugValue=function(){},l.useDeferredValue=function(e){return N.current.useDeferredValue(e)},l.useEffect=function(e,t){return N.current.useEffect(e,t)},l.useId=function(){return N.current.useId()},l.useImperativeHandle=function(e,t,n){return N.current.useImperativeHandle(e,t,n)},l.useInsertionEffect=function(e,t){return N.current.useInsertionEffect(e,t)},l.useLayoutEffect=function(e,t){return N.current.useLayoutEffect(e,t)},l.useMemo=function(e,t){return N.current.useMemo(e,t)},l.useReducer=function(e,t,n){return N.current.useReducer(e,t,n)},l.useRef=function(e){return N.current.useRef(e)},l.useState=function(e){return N.current.useState(e)},l.useSyncExternalStore=function(e,t,n){return N.current.useSyncExternalStore(e,t,n)},l.useTransition=function(){return N.current.useTransition()},l.version="18.3.1",l}function d(){return o||(o=1,s.exports=c()),s.exports}var u,h,f,p,g,v=d(),m={},b={exports:{}},w={},y={exports:{}},_={};function k(){if(f)return w;f=1;var e=d(),t=(h||(h=1,y.exports=(u||(u=1,function(e){function t(e,t){var n=e.length;e.push(t);e:for(;0<n;){var i=n-1>>>1,o=e[i];if(!(0<r(o,t)))break e;e[i]=t,e[n]=o,n=i}}function n(e){return 0===e.length?null:e[0]}function i(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var i=0,o=e.length,a=o>>>1;i<a;){var s=2*(i+1)-1,l=e[s],c=s+1,d=e[c];if(0>r(l,n))c<o&&0>r(d,l)?(e[i]=d,e[c]=n,i=c):(e[i]=l,e[s]=n,i=s);else{if(!(c<o&&0>r(d,n)))break e;e[i]=d,e[c]=n,i=c}}}return t}function r(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var o=performance;e.unstable_now=function(){return o.now()}}else{var a=Date,s=a.now();e.unstable_now=function(){return a.now()-s}}var l=[],c=[],d=1,u=null,h=3,f=!1,p=!1,g=!1,v="function"==typeof setTimeout?setTimeout:null,m="function"==typeof clearTimeout?clearTimeout:null,b="undefined"!=typeof setImmediate?setImmediate:null;function w(e){for(var r=n(c);null!==r;){if(null===r.callback)i(c);else{if(!(r.startTime<=e))break;i(c),r.sortIndex=r.expirationTime,t(l,r)}r=n(c)}}function y(e){if(g=!1,w(e),!p)if(null!==n(l))p=!0,N(_);else{var t=n(c);null!==t&&A(y,t.startTime-e)}}function _(t,r){p=!1,g&&(g=!1,m(C),C=-1),f=!0;var o=h;try{for(w(r),u=n(l);null!==u&&(!(u.expirationTime>r)||t&&!E());){var a=u.callback;if("function"==typeof a){u.callback=null,h=u.priorityLevel;var s=a(u.expirationTime<=r);r=e.unstable_now(),"function"==typeof s?u.callback=s:u===n(l)&&i(l),w(r)}else i(l);u=n(l)}if(null!==u)var d=!0;else{var v=n(c);null!==v&&A(y,v.startTime-r),d=!1}return d}finally{u=null,h=o,f=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var k,x=!1,S=null,C=-1,L=5,M=-1;function E(){return!(e.unstable_now()-M<L)}function z(){if(null!==S){var t=e.unstable_now();M=t;var n=!0;try{n=S(!0,t)}finally{n?k():(x=!1,S=null)}}else x=!1}if("function"==typeof b)k=function(){b(z)};else if("undefined"!=typeof MessageChannel){var $=new MessageChannel,T=$.port2;$.port1.onmessage=z,k=function(){T.postMessage(null)}}else k=function(){v(z,0)};function N(e){S=e,x||(x=!0,k())}function A(t,n){C=v((function(){t(e.unstable_now())}),n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_continueExecution=function(){p||f||(p=!0,N(_))},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):L=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return h},e.unstable_getFirstCallbackNode=function(){return n(l)},e.unstable_next=function(e){switch(h){case 1:case 2:case 3:var t=3;break;default:t=h}var n=h;h=t;try{return e()}finally{h=n}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=h;h=e;try{return t()}finally{h=n}},e.unstable_scheduleCallback=function(i,r,o){var a=e.unstable_now();switch(o="object"==typeof o&&null!==o&&"number"==typeof(o=o.delay)&&0<o?a+o:a,i){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return i={id:d++,callback:r,priorityLevel:i,startTime:o,expirationTime:s=o+s,sortIndex:-1},o>a?(i.sortIndex=o,t(c,i),null===n(l)&&i===n(c)&&(g?(m(C),C=-1):g=!0,A(y,o-a))):(i.sortIndex=s,t(l,i),p||f||(p=!0,N(_))),i},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=h;return function(){var n=h;h=t;try{return e.apply(this,arguments)}finally{h=n}}}}(_)),_)),y.exports);function n(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var i=new Set,r={};function o(e,t){a(e,t),a(e+"Capture",t)}function a(e,t){for(r[e]=t,e=0;e<t.length;e++)i.add(t[e])}var s=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),l=Object.prototype.hasOwnProperty,c=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,p={},g={};function v(e,t,n,i,r,o,a){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=i,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=a}var m={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){m[e]=new v(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];m[t]=new v(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){m[e]=new v(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){m[e]=new v(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){m[e]=new v(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){m[e]=new v(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){m[e]=new v(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){m[e]=new v(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){m[e]=new v(e,5,!1,e.toLowerCase(),null,!1,!1)}));var b=/[\-:]([a-z])/g;function k(e){return e[1].toUpperCase()}function x(e,t,n,i){var r=m.hasOwnProperty(t)?m[t]:null;(null!==r?0!==r.type:i||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,n,i){if(null==t||function(e,t,n,i){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!i&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,i))return!0;if(i)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,r,i)&&(n=null),i||null===r?function(e){return!!l.call(g,e)||!l.call(p,e)&&(c.test(e)?g[e]=!0:(p[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):r.mustUseProperty?e[r.propertyName]=null===n?3!==r.type&&"":n:(t=r.attributeName,i=r.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(r=r.type)||4===r&&!0===n?"":""+n,i?e.setAttributeNS(i,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(b,k);m[t]=new v(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(b,k);m[t]=new v(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(b,k);m[t]=new v(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){m[e]=new v(e,1,!1,e.toLowerCase(),null,!1,!1)})),m.xlinkHref=new v("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){m[e]=new v(e,1,!1,e.toLowerCase(),null,!0,!0)}));var S=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,C=Symbol.for("react.element"),L=Symbol.for("react.portal"),M=Symbol.for("react.fragment"),E=Symbol.for("react.strict_mode"),z=Symbol.for("react.profiler"),$=Symbol.for("react.provider"),T=Symbol.for("react.context"),N=Symbol.for("react.forward_ref"),A=Symbol.for("react.suspense"),I=Symbol.for("react.suspense_list"),V=Symbol.for("react.memo"),P=Symbol.for("react.lazy"),H=Symbol.for("react.offscreen"),R=Symbol.iterator;function D(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=R&&e[R]||e["@@iterator"])?e:null}var B,O=Object.assign;function j(e){if(void 0===B)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);B=t&&t[1]||""}return"\n"+B+e}var F=!1;function U(e,t){if(!e||F)return"";F=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){var i=e}Reflect.construct(e,[],t)}else{try{t.call()}catch(e){i=e}e.call(t.prototype)}else{try{throw Error()}catch(e){i=e}e()}}catch(t){if(t&&i&&"string"==typeof t.stack){for(var r=t.stack.split("\n"),o=i.stack.split("\n"),a=r.length-1,s=o.length-1;1<=a&&0<=s&&r[a]!==o[s];)s--;for(;1<=a&&0<=s;a--,s--)if(r[a]!==o[s]){if(1!==a||1!==s)do{if(a--,0>--s||r[a]!==o[s]){var l="\n"+r[a].replace(" at new "," at ");return e.displayName&&l.includes("<anonymous>")&&(l=l.replace("<anonymous>",e.displayName)),l}}while(1<=a&&0<=s);break}}}finally{F=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?j(e):""}function q(e){switch(e.tag){case 5:return j(e.type);case 16:return j("Lazy");case 13:return j("Suspense");case 19:return j("SuspenseList");case 0:case 2:case 15:return U(e.type,!1);case 11:return U(e.type.render,!1);case 1:return U(e.type,!0);default:return""}}function W(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case M:return"Fragment";case L:return"Portal";case z:return"Profiler";case E:return"StrictMode";case A:return"Suspense";case I:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case T:return(e.displayName||"Context")+".Consumer";case $:return(e._context.displayName||"Context")+".Provider";case N:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case V:return null!==(t=e.displayName||null)?t:W(e.type)||"Memo";case P:t=e._payload,e=e._init;try{return W(e(t))}catch(e){}}return null}function G(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return W(t);case 8:return t===E?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function Z(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function K(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function X(e){e._valueTracker||(e._valueTracker=function(e){var t=K(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var r=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(e){i=""+e,o.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return i},setValue:function(e){i=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function Q(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),i="";return e&&(i=K(e)?e.checked?"true":"false":e.value),(e=i)!==n&&(t.setValue(e),!0)}function Y(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function J(e,t){var n=t.checked;return O({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function ee(e,t){var n=null==t.defaultValue?"":t.defaultValue,i=null!=t.checked?t.checked:t.defaultChecked;n=Z(null!=t.value?t.value:n),e._wrapperState={initialChecked:i,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function te(e,t){null!=(t=t.checked)&&x(e,"checked",t,!1)}function ne(e,t){te(e,t);var n=Z(t.value),i=t.type;if(null!=n)"number"===i?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===i||"reset"===i)return void e.removeAttribute("value");t.hasOwnProperty("value")?re(e,t.type,n):t.hasOwnProperty("defaultValue")&&re(e,t.type,Z(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function ie(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var i=t.type;if(("submit"===i||"reset"===i)&&null==t.value)return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function re(e,t,n){"number"===t&&Y(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var oe=Array.isArray;function ae(e,t,n,i){if(e=e.options,t){t={};for(var r=0;r<n.length;r++)t["$"+n[r]]=!0;for(n=0;n<e.length;n++)r=t.hasOwnProperty("$"+e[n].value),e[n].selected!==r&&(e[n].selected=r),r&&i&&(e[n].defaultSelected=!0)}else{for(n=""+Z(n),t=null,r=0;r<e.length;r++){if(e[r].value===n)return e[r].selected=!0,void(i&&(e[r].defaultSelected=!0));null!==t||e[r].disabled||(t=e[r])}null!==t&&(t.selected=!0)}}function se(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(n(91));return O({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function le(e,t){var i=t.value;if(null==i){if(i=t.children,t=t.defaultValue,null!=i){if(null!=t)throw Error(n(92));if(oe(i)){if(1<i.length)throw Error(n(93));i=i[0]}t=i}null==t&&(t=""),i=t}e._wrapperState={initialValue:Z(i)}}function ce(e,t){var n=Z(t.value),i=Z(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=i&&(e.defaultValue=""+i)}function de(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function ue(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function he(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?ue(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var fe,pe,ge=(pe=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((fe=fe||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=fe.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t){MSApp.execUnsafeLocalFunction((function(){return pe(e,t)}))}:pe);function ve(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var me={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},be=["Webkit","ms","Moz","O"];function we(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||me.hasOwnProperty(e)&&me[e]?(""+t).trim():t+"px"}function ye(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var i=0===n.indexOf("--"),r=we(n,t[n],i);"float"===n&&(n="cssFloat"),i?e.setProperty(n,r):e[n]=r}}Object.keys(me).forEach((function(e){be.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),me[t]=me[e]}))}));var _e=O({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ke(e,t){if(t){if(_e[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(n(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(n(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(n(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(n(62))}}function xe(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Se=null;function Ce(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var Le=null,Me=null,Ee=null;function ze(e){if(e=xr(e)){if("function"!=typeof Le)throw Error(n(280));var t=e.stateNode;t&&(t=Cr(t),Le(e.stateNode,e.type,t))}}function $e(e){Me?Ee?Ee.push(e):Ee=[e]:Me=e}function Te(){if(Me){var e=Me,t=Ee;if(Ee=Me=null,ze(e),t)for(e=0;e<t.length;e++)ze(t[e])}}function Ne(e,t){return e(t)}function Ae(){}var Ie=!1;function Ve(e,t,n){if(Ie)return e(t,n);Ie=!0;try{return Ne(e,t,n)}finally{Ie=!1,(null!==Me||null!==Ee)&&(Ae(),Te())}}function Pe(e,t){var i=e.stateNode;if(null===i)return null;var r=Cr(i);if(null===r)return null;i=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(i&&"function"!=typeof i)throw Error(n(231,t,typeof i));return i}var He=!1;if(s)try{var Re={};Object.defineProperty(Re,"passive",{get:function(){He=!0}}),window.addEventListener("test",Re,Re),window.removeEventListener("test",Re,Re)}catch(pe){He=!1}function De(e,t,n,i,r,o,a,s,l){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(e){this.onError(e)}}var Be=!1,Oe=null,je=!1,Fe=null,Ue={onError:function(e){Be=!0,Oe=e}};function qe(e,t,n,i,r,o,a,s,l){Be=!1,Oe=null,De.apply(Ue,arguments)}function We(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{!!(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function Ge(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&null!==(e=e.alternate)&&(t=e.memoizedState),null!==t)return t.dehydrated}return null}function Ze(e){if(We(e)!==e)throw Error(n(188))}function Ke(e){return e=function(e){var t=e.alternate;if(!t){if(null===(t=We(e)))throw Error(n(188));return t!==e?null:e}for(var i=e,r=t;;){var o=i.return;if(null===o)break;var a=o.alternate;if(null===a){if(null!==(r=o.return)){i=r;continue}break}if(o.child===a.child){for(a=o.child;a;){if(a===i)return Ze(o),e;if(a===r)return Ze(o),t;a=a.sibling}throw Error(n(188))}if(i.return!==r.return)i=o,r=a;else{for(var s=!1,l=o.child;l;){if(l===i){s=!0,i=o,r=a;break}if(l===r){s=!0,r=o,i=a;break}l=l.sibling}if(!s){for(l=a.child;l;){if(l===i){s=!0,i=a,r=o;break}if(l===r){s=!0,r=a,i=o;break}l=l.sibling}if(!s)throw Error(n(189))}}if(i.alternate!==r)throw Error(n(190))}if(3!==i.tag)throw Error(n(188));return i.stateNode.current===i?e:t}(e),null!==e?Xe(e):null}function Xe(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=Xe(e);if(null!==t)return t;e=e.sibling}return null}var Qe=t.unstable_scheduleCallback,Ye=t.unstable_cancelCallback,Je=t.unstable_shouldYield,et=t.unstable_requestPaint,tt=t.unstable_now,nt=t.unstable_getCurrentPriorityLevel,it=t.unstable_ImmediatePriority,rt=t.unstable_UserBlockingPriority,ot=t.unstable_NormalPriority,at=t.unstable_LowPriority,st=t.unstable_IdlePriority,lt=null,ct=null,dt=Math.clz32?Math.clz32:function(e){return 0===(e>>>=0)?32:31-(ut(e)/ht|0)|0},ut=Math.log,ht=Math.LN2,ft=64,pt=4194304;function gt(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function vt(e,t){var n=e.pendingLanes;if(0===n)return 0;var i=0,r=e.suspendedLanes,o=e.pingedLanes,a=268435455&n;if(0!==a){var s=a&~r;0!==s?i=gt(s):0!=(o&=a)&&(i=gt(o))}else 0!=(a=n&~r)?i=gt(a):0!==o&&(i=gt(o));if(0===i)return 0;if(0!==t&&t!==i&&!(t&r)&&((r=i&-i)>=(o=t&-t)||16===r&&4194240&o))return t;if(4&i&&(i|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=i;0<t;)i|=e[n=31-dt(t)],t&=~(r=1<<n);return i}function mt(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function bt(e){return 0!=(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function wt(){var e=ft;return!(4194240&(ft<<=1))&&(ft=64),e}function yt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function _t(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-dt(t)]=n}function kt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var i=31-dt(n),r=1<<i;r&t|e[i]&t&&(e[i]|=t),n&=~r}}var xt=0;function St(e){return 1<(e&=-e)?4<e?268435455&e?16:536870912:4:1}var Ct,Lt,Mt,Et,zt,$t=!1,Tt=[],Nt=null,At=null,It=null,Vt=new Map,Pt=new Map,Ht=[],Rt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Dt(e,t){switch(e){case"focusin":case"focusout":Nt=null;break;case"dragenter":case"dragleave":At=null;break;case"mouseover":case"mouseout":It=null;break;case"pointerover":case"pointerout":Vt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Pt.delete(t.pointerId)}}function Bt(e,t,n,i,r,o){return null===e||e.nativeEvent!==o?(e={blockedOn:t,domEventName:n,eventSystemFlags:i,nativeEvent:o,targetContainers:[r]},null!==t&&null!==(t=xr(t))&&Lt(t),e):(e.eventSystemFlags|=i,t=e.targetContainers,null!==r&&-1===t.indexOf(r)&&t.push(r),e)}function Ot(e){var t=kr(e.target);if(null!==t){var n=We(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=Ge(n)))return e.blockedOn=t,void zt(e.priority,(function(){Mt(n)}))}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function jt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Jt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=xr(n))&&Lt(t),e.blockedOn=n,!1;var i=new(n=e.nativeEvent).constructor(n.type,n);Se=i,n.target.dispatchEvent(i),Se=null,t.shift()}return!0}function Ft(e,t,n){jt(e)&&n.delete(t)}function Ut(){$t=!1,null!==Nt&&jt(Nt)&&(Nt=null),null!==At&&jt(At)&&(At=null),null!==It&&jt(It)&&(It=null),Vt.forEach(Ft),Pt.forEach(Ft)}function qt(e,n){e.blockedOn===n&&(e.blockedOn=null,$t||($t=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,Ut)))}function Wt(e){function t(t){return qt(t,e)}if(0<Tt.length){qt(Tt[0],e);for(var n=1;n<Tt.length;n++){var i=Tt[n];i.blockedOn===e&&(i.blockedOn=null)}}for(null!==Nt&&qt(Nt,e),null!==At&&qt(At,e),null!==It&&qt(It,e),Vt.forEach(t),Pt.forEach(t),n=0;n<Ht.length;n++)(i=Ht[n]).blockedOn===e&&(i.blockedOn=null);for(;0<Ht.length&&null===(n=Ht[0]).blockedOn;)Ot(n),null===n.blockedOn&&Ht.shift()}var Gt=S.ReactCurrentBatchConfig,Zt=!0;function Kt(e,t,n,i){var r=xt,o=Gt.transition;Gt.transition=null;try{xt=1,Qt(e,t,n,i)}finally{xt=r,Gt.transition=o}}function Xt(e,t,n,i){var r=xt,o=Gt.transition;Gt.transition=null;try{xt=4,Qt(e,t,n,i)}finally{xt=r,Gt.transition=o}}function Qt(e,t,n,i){if(Zt){var r=Jt(e,t,n,i);if(null===r)Zi(e,t,i,Yt,n),Dt(e,i);else if(function(e,t,n,i,r){switch(t){case"focusin":return Nt=Bt(Nt,e,t,n,i,r),!0;case"dragenter":return At=Bt(At,e,t,n,i,r),!0;case"mouseover":return It=Bt(It,e,t,n,i,r),!0;case"pointerover":var o=r.pointerId;return Vt.set(o,Bt(Vt.get(o)||null,e,t,n,i,r)),!0;case"gotpointercapture":return Pt.set(o=r.pointerId,Bt(Pt.get(o)||null,e,t,n,i,r)),!0}return!1}(r,e,t,n,i))i.stopPropagation();else if(Dt(e,i),4&t&&-1<Rt.indexOf(e)){for(;null!==r;){var o=xr(r);if(null!==o&&Ct(o),null===(o=Jt(e,t,n,i))&&Zi(e,t,i,Yt,n),o===r)break;r=o}null!==r&&i.stopPropagation()}else Zi(e,t,i,null,n)}}var Yt=null;function Jt(e,t,n,i){if(Yt=null,null!==(e=kr(e=Ce(i))))if(null===(t=We(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=Ge(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Yt=e,null}function en(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(nt()){case it:return 1;case rt:return 4;case ot:case at:return 16;case st:return 536870912;default:return 16}default:return 16}}var tn=null,nn=null,rn=null;function on(){if(rn)return rn;var e,t,n=nn,i=n.length,r="value"in tn?tn.value:tn.textContent,o=r.length;for(e=0;e<i&&n[e]===r[e];e++);var a=i-e;for(t=1;t<=a&&n[i-t]===r[o-t];t++);return rn=r.slice(e,1<t?1-t:void 0)}function an(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function sn(){return!0}function ln(){return!1}function cn(e){function t(t,n,i,r,o){for(var a in this._reactName=t,this._targetInst=i,this.type=n,this.nativeEvent=r,this.target=o,this.currentTarget=null,e)e.hasOwnProperty(a)&&(this[a]=(t=e[a])?t(r):r[a]);return this.isDefaultPrevented=(null!=r.defaultPrevented?r.defaultPrevented:!1===r.returnValue)?sn:ln,this.isPropagationStopped=ln,this}return O(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=sn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=sn)},persist:function(){},isPersistent:sn}),t}var dn,un,hn,fn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},pn=cn(fn),gn=O({},fn,{view:0,detail:0}),vn=cn(gn),mn=O({},gn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zn,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==hn&&(hn&&"mousemove"===e.type?(dn=e.screenX-hn.screenX,un=e.screenY-hn.screenY):un=dn=0,hn=e),dn)},movementY:function(e){return"movementY"in e?e.movementY:un}}),bn=cn(mn),wn=cn(O({},mn,{dataTransfer:0})),yn=cn(O({},gn,{relatedTarget:0})),_n=cn(O({},fn,{animationName:0,elapsedTime:0,pseudoElement:0})),kn=O({},fn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),xn=cn(kn),Sn=cn(O({},fn,{data:0})),Cn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Ln={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Mn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function En(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Mn[e])&&!!t[e]}function zn(){return En}var $n=O({},gn,{key:function(e){if(e.key){var t=Cn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=an(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?Ln[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zn,charCode:function(e){return"keypress"===e.type?an(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?an(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),Tn=cn($n),Nn=cn(O({},mn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),An=cn(O({},gn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zn})),In=cn(O({},fn,{propertyName:0,elapsedTime:0,pseudoElement:0})),Vn=O({},mn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Pn=cn(Vn),Hn=[9,13,27,32],Rn=s&&"CompositionEvent"in window,Dn=null;s&&"documentMode"in document&&(Dn=document.documentMode);var Bn=s&&"TextEvent"in window&&!Dn,On=s&&(!Rn||Dn&&8<Dn&&11>=Dn),jn=String.fromCharCode(32),Fn=!1;function Un(e,t){switch(e){case"keyup":return-1!==Hn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function qn(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Wn=!1,Gn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Zn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Gn[e.type]:"textarea"===t}function Kn(e,t,n,i){$e(i),0<(t=Xi(t,"onChange")).length&&(n=new pn("onChange","change",null,n,i),e.push({event:n,listeners:t}))}var Xn=null,Qn=null;function Yn(e){ji(e,0)}function Jn(e){if(Q(Sr(e)))return e}function ei(e,t){if("change"===e)return t}var ti=!1;if(s){var ni;if(s){var ii="oninput"in document;if(!ii){var ri=document.createElement("div");ri.setAttribute("oninput","return;"),ii="function"==typeof ri.oninput}ni=ii}else ni=!1;ti=ni&&(!document.documentMode||9<document.documentMode)}function oi(){Xn&&(Xn.detachEvent("onpropertychange",ai),Qn=Xn=null)}function ai(e){if("value"===e.propertyName&&Jn(Qn)){var t=[];Kn(t,Qn,e,Ce(e)),Ve(Yn,t)}}function si(e,t,n){"focusin"===e?(oi(),Qn=n,(Xn=t).attachEvent("onpropertychange",ai)):"focusout"===e&&oi()}function li(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Jn(Qn)}function ci(e,t){if("click"===e)return Jn(t)}function di(e,t){if("input"===e||"change"===e)return Jn(t)}var ui="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function hi(e,t){if(ui(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),i=Object.keys(t);if(n.length!==i.length)return!1;for(i=0;i<n.length;i++){var r=n[i];if(!l.call(t,r)||!ui(e[r],t[r]))return!1}return!0}function fi(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function pi(e,t){var n,i=fi(e);for(e=0;i;){if(3===i.nodeType){if(n=e+i.textContent.length,e<=t&&n>=t)return{node:i,offset:t-e};e=n}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=fi(i)}}function gi(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?gi(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function vi(){for(var e=window,t=Y();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(e){n=!1}if(!n)break;t=Y((e=t.contentWindow).document)}return t}function mi(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function bi(e){var t=vi(),n=e.focusedElem,i=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&gi(n.ownerDocument.documentElement,n)){if(null!==i&&mi(n))if(t=i.start,void 0===(e=i.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var r=n.textContent.length,o=Math.min(i.start,r);i=void 0===i.end?o:Math.min(i.end,r),!e.extend&&o>i&&(r=i,i=o,o=r),r=pi(n,o);var a=pi(n,i);r&&a&&(1!==e.rangeCount||e.anchorNode!==r.node||e.anchorOffset!==r.offset||e.focusNode!==a.node||e.focusOffset!==a.offset)&&((t=t.createRange()).setStart(r.node,r.offset),e.removeAllRanges(),o>i?(e.addRange(t),e.extend(a.node,a.offset)):(t.setEnd(a.node,a.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var wi=s&&"documentMode"in document&&11>=document.documentMode,yi=null,_i=null,ki=null,xi=!1;function Si(e,t,n){var i=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;xi||null==yi||yi!==Y(i)||(i="selectionStart"in(i=yi)&&mi(i)?{start:i.selectionStart,end:i.selectionEnd}:{anchorNode:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset},ki&&hi(ki,i)||(ki=i,0<(i=Xi(_i,"onSelect")).length&&(t=new pn("onSelect","select",null,t,n),e.push({event:t,listeners:i}),t.target=yi)))}function Ci(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Li={animationend:Ci("Animation","AnimationEnd"),animationiteration:Ci("Animation","AnimationIteration"),animationstart:Ci("Animation","AnimationStart"),transitionend:Ci("Transition","TransitionEnd")},Mi={},Ei={};function zi(e){if(Mi[e])return Mi[e];if(!Li[e])return e;var t,n=Li[e];for(t in n)if(n.hasOwnProperty(t)&&t in Ei)return Mi[e]=n[t];return e}s&&(Ei=document.createElement("div").style,"AnimationEvent"in window||(delete Li.animationend.animation,delete Li.animationiteration.animation,delete Li.animationstart.animation),"TransitionEvent"in window||delete Li.transitionend.transition);var $i=zi("animationend"),Ti=zi("animationiteration"),Ni=zi("animationstart"),Ai=zi("transitionend"),Ii=new Map,Vi="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Pi(e,t){Ii.set(e,t),o(t,[e])}for(var Hi=0;Hi<Vi.length;Hi++){var Ri=Vi[Hi];Pi(Ri.toLowerCase(),"on"+(Ri[0].toUpperCase()+Ri.slice(1)))}Pi($i,"onAnimationEnd"),Pi(Ti,"onAnimationIteration"),Pi(Ni,"onAnimationStart"),Pi("dblclick","onDoubleClick"),Pi("focusin","onFocus"),Pi("focusout","onBlur"),Pi(Ai,"onTransitionEnd"),a("onMouseEnter",["mouseout","mouseover"]),a("onMouseLeave",["mouseout","mouseover"]),a("onPointerEnter",["pointerout","pointerover"]),a("onPointerLeave",["pointerout","pointerover"]),o("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),o("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),o("onBeforeInput",["compositionend","keypress","textInput","paste"]),o("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),o("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),o("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Di="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Bi=new Set("cancel close invalid load scroll toggle".split(" ").concat(Di));function Oi(e,t,i){var r=e.type||"unknown-event";e.currentTarget=i,function(e,t,i,r,o,a,s,l,c){if(qe.apply(this,arguments),Be){if(!Be)throw Error(n(198));var d=Oe;Be=!1,Oe=null,je||(je=!0,Fe=d)}}(r,t,void 0,e),e.currentTarget=null}function ji(e,t){t=!!(4&t);for(var n=0;n<e.length;n++){var i=e[n],r=i.event;i=i.listeners;e:{var o=void 0;if(t)for(var a=i.length-1;0<=a;a--){var s=i[a],l=s.instance,c=s.currentTarget;if(s=s.listener,l!==o&&r.isPropagationStopped())break e;Oi(r,s,c),o=l}else for(a=0;a<i.length;a++){if(l=(s=i[a]).instance,c=s.currentTarget,s=s.listener,l!==o&&r.isPropagationStopped())break e;Oi(r,s,c),o=l}}}if(je)throw e=Fe,je=!1,Fe=null,e}function Fi(e,t){var n=t[wr];void 0===n&&(n=t[wr]=new Set);var i=e+"__bubble";n.has(i)||(Gi(t,e,2,!1),n.add(i))}function Ui(e,t,n){var i=0;t&&(i|=4),Gi(n,e,i,t)}var qi="_reactListening"+Math.random().toString(36).slice(2);function Wi(e){if(!e[qi]){e[qi]=!0,i.forEach((function(t){"selectionchange"!==t&&(Bi.has(t)||Ui(t,!1,e),Ui(t,!0,e))}));var t=9===e.nodeType?e:e.ownerDocument;null===t||t[qi]||(t[qi]=!0,Ui("selectionchange",!1,t))}}function Gi(e,t,n,i){switch(en(t)){case 1:var r=Kt;break;case 4:r=Xt;break;default:r=Qt}n=r.bind(null,t,n,e),r=void 0,!He||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(r=!0),e.addEventListener(t,n,i?void 0===r||{capture:!0,passive:r}:void 0!==r&&{passive:r})}function Zi(e,t,n,i,r){var o=i;if(!(1&t||2&t||null===i))e:for(;;){if(null===i)return;var a=i.tag;if(3===a||4===a){var s=i.stateNode.containerInfo;if(s===r||8===s.nodeType&&s.parentNode===r)break;if(4===a)for(a=i.return;null!==a;){var l=a.tag;if((3===l||4===l)&&((l=a.stateNode.containerInfo)===r||8===l.nodeType&&l.parentNode===r))return;a=a.return}for(;null!==s;){if(null===(a=kr(s)))return;if(5===(l=a.tag)||6===l){i=o=a;continue e}s=s.parentNode}}i=i.return}Ve((function(){var i=o,r=Ce(n),a=[];e:{var s=Ii.get(e);if(void 0!==s){var l=pn,c=e;switch(e){case"keypress":if(0===an(n))break e;case"keydown":case"keyup":l=Tn;break;case"focusin":c="focus",l=yn;break;case"focusout":c="blur",l=yn;break;case"beforeblur":case"afterblur":l=yn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":l=bn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":l=wn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":l=An;break;case $i:case Ti:case Ni:l=_n;break;case Ai:l=In;break;case"scroll":l=vn;break;case"wheel":l=Pn;break;case"copy":case"cut":case"paste":l=xn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":l=Nn}var d=!!(4&t),u=!d&&"scroll"===e,h=d?null!==s?s+"Capture":null:s;d=[];for(var f,p=i;null!==p;){var g=(f=p).stateNode;if(5===f.tag&&null!==g&&(f=g,null!==h&&null!=(g=Pe(p,h))&&d.push(Ki(p,g,f))),u)break;p=p.return}0<d.length&&(s=new l(s,c,null,n,r),a.push({event:s,listeners:d}))}}if(!(7&t)){if(l="mouseout"===e||"pointerout"===e,(!(s="mouseover"===e||"pointerover"===e)||n===Se||!(c=n.relatedTarget||n.fromElement)||!kr(c)&&!c[br])&&(l||s)&&(s=r.window===r?r:(s=r.ownerDocument)?s.defaultView||s.parentWindow:window,l?(l=i,null!==(c=(c=n.relatedTarget||n.toElement)?kr(c):null)&&(c!==(u=We(c))||5!==c.tag&&6!==c.tag)&&(c=null)):(l=null,c=i),l!==c)){if(d=bn,g="onMouseLeave",h="onMouseEnter",p="mouse","pointerout"!==e&&"pointerover"!==e||(d=Nn,g="onPointerLeave",h="onPointerEnter",p="pointer"),u=null==l?s:Sr(l),f=null==c?s:Sr(c),(s=new d(g,p+"leave",l,n,r)).target=u,s.relatedTarget=f,g=null,kr(r)===i&&((d=new d(h,p+"enter",c,n,r)).target=f,d.relatedTarget=u,g=d),u=g,l&&c)e:{for(h=c,p=0,f=d=l;f;f=Qi(f))p++;for(f=0,g=h;g;g=Qi(g))f++;for(;0<p-f;)d=Qi(d),p--;for(;0<f-p;)h=Qi(h),f--;for(;p--;){if(d===h||null!==h&&d===h.alternate)break e;d=Qi(d),h=Qi(h)}d=null}else d=null;null!==l&&Yi(a,s,l,d,!1),null!==c&&null!==u&&Yi(a,u,c,d,!0)}if("select"===(l=(s=i?Sr(i):window).nodeName&&s.nodeName.toLowerCase())||"input"===l&&"file"===s.type)var v=ei;else if(Zn(s))if(ti)v=di;else{v=li;var m=si}else(l=s.nodeName)&&"input"===l.toLowerCase()&&("checkbox"===s.type||"radio"===s.type)&&(v=ci);switch(v&&(v=v(e,i))?Kn(a,v,n,r):(m&&m(e,s,i),"focusout"===e&&(m=s._wrapperState)&&m.controlled&&"number"===s.type&&re(s,"number",s.value)),m=i?Sr(i):window,e){case"focusin":(Zn(m)||"true"===m.contentEditable)&&(yi=m,_i=i,ki=null);break;case"focusout":ki=_i=yi=null;break;case"mousedown":xi=!0;break;case"contextmenu":case"mouseup":case"dragend":xi=!1,Si(a,n,r);break;case"selectionchange":if(wi)break;case"keydown":case"keyup":Si(a,n,r)}var b;if(Rn)e:{switch(e){case"compositionstart":var w="onCompositionStart";break e;case"compositionend":w="onCompositionEnd";break e;case"compositionupdate":w="onCompositionUpdate";break e}w=void 0}else Wn?Un(e,n)&&(w="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(w="onCompositionStart");w&&(On&&"ko"!==n.locale&&(Wn||"onCompositionStart"!==w?"onCompositionEnd"===w&&Wn&&(b=on()):(nn="value"in(tn=r)?tn.value:tn.textContent,Wn=!0)),0<(m=Xi(i,w)).length&&(w=new Sn(w,e,null,n,r),a.push({event:w,listeners:m}),(b||null!==(b=qn(n)))&&(w.data=b))),(b=Bn?function(e,t){switch(e){case"compositionend":return qn(t);case"keypress":return 32!==t.which?null:(Fn=!0,jn);case"textInput":return(e=t.data)===jn&&Fn?null:e;default:return null}}(e,n):function(e,t){if(Wn)return"compositionend"===e||!Rn&&Un(e,t)?(e=on(),rn=nn=tn=null,Wn=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return On&&"ko"!==t.locale?null:t.data}}(e,n))&&0<(i=Xi(i,"onBeforeInput")).length&&(r=new Sn("onBeforeInput","beforeinput",null,n,r),a.push({event:r,listeners:i}),r.data=b)}ji(a,t)}))}function Ki(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Xi(e,t){for(var n=t+"Capture",i=[];null!==e;){var r=e,o=r.stateNode;5===r.tag&&null!==o&&(r=o,null!=(o=Pe(e,n))&&i.unshift(Ki(e,o,r)),null!=(o=Pe(e,t))&&i.push(Ki(e,o,r))),e=e.return}return i}function Qi(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Yi(e,t,n,i,r){for(var o=t._reactName,a=[];null!==n&&n!==i;){var s=n,l=s.alternate,c=s.stateNode;if(null!==l&&l===i)break;5===s.tag&&null!==c&&(s=c,r?null!=(l=Pe(n,o))&&a.unshift(Ki(n,l,s)):r||null!=(l=Pe(n,o))&&a.push(Ki(n,l,s))),n=n.return}0!==a.length&&e.push({event:t,listeners:a})}var Ji=/\r\n?/g,er=/\u0000|\uFFFD/g;function tr(e){return("string"==typeof e?e:""+e).replace(Ji,"\n").replace(er,"")}function nr(e,t,i){if(t=tr(t),tr(e)!==t&&i)throw Error(n(425))}function ir(){}var rr=null,or=null;function ar(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var sr="function"==typeof setTimeout?setTimeout:void 0,lr="function"==typeof clearTimeout?clearTimeout:void 0,cr="function"==typeof Promise?Promise:void 0,dr="function"==typeof queueMicrotask?queueMicrotask:void 0!==cr?function(e){return cr.resolve(null).then(e).catch(ur)}:sr;function ur(e){setTimeout((function(){throw e}))}function hr(e,t){var n=t,i=0;do{var r=n.nextSibling;if(e.removeChild(n),r&&8===r.nodeType)if("/$"===(n=r.data)){if(0===i)return e.removeChild(r),void Wt(t);i--}else"$"!==n&&"$?"!==n&&"$!"!==n||i++;n=r}while(n);Wt(t)}function fr(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function pr(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var gr=Math.random().toString(36).slice(2),vr="__reactFiber$"+gr,mr="__reactProps$"+gr,br="__reactContainer$"+gr,wr="__reactEvents$"+gr,yr="__reactListeners$"+gr,_r="__reactHandles$"+gr;function kr(e){var t=e[vr];if(t)return t;for(var n=e.parentNode;n;){if(t=n[br]||n[vr]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=pr(e);null!==e;){if(n=e[vr])return n;e=pr(e)}return t}n=(e=n).parentNode}return null}function xr(e){return!(e=e[vr]||e[br])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function Sr(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(n(33))}function Cr(e){return e[mr]||null}var Lr=[],Mr=-1;function Er(e){return{current:e}}function zr(e){0>Mr||(e.current=Lr[Mr],Lr[Mr]=null,Mr--)}function $r(e,t){Mr++,Lr[Mr]=e.current,e.current=t}var Tr={},Nr=Er(Tr),Ar=Er(!1),Ir=Tr;function Vr(e,t){var n=e.type.contextTypes;if(!n)return Tr;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var r,o={};for(r in n)o[r]=t[r];return i&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function Pr(e){return null!=e.childContextTypes}function Hr(){zr(Ar),zr(Nr)}function Rr(e,t,i){if(Nr.current!==Tr)throw Error(n(168));$r(Nr,t),$r(Ar,i)}function Dr(e,t,i){var r=e.stateNode;if(t=t.childContextTypes,"function"!=typeof r.getChildContext)return i;for(var o in r=r.getChildContext())if(!(o in t))throw Error(n(108,G(e)||"Unknown",o));return O({},i,r)}function Br(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Tr,Ir=Nr.current,$r(Nr,e),$r(Ar,Ar.current),!0}function Or(e,t,i){var r=e.stateNode;if(!r)throw Error(n(169));i?(e=Dr(e,t,Ir),r.__reactInternalMemoizedMergedChildContext=e,zr(Ar),zr(Nr),$r(Nr,e)):zr(Ar),$r(Ar,i)}var jr=null,Fr=!1,Ur=!1;function qr(e){null===jr?jr=[e]:jr.push(e)}function Wr(){if(!Ur&&null!==jr){Ur=!0;var e=0,t=xt;try{var n=jr;for(xt=1;e<n.length;e++){var i=n[e];do{i=i(!0)}while(null!==i)}jr=null,Fr=!1}catch(t){throw null!==jr&&(jr=jr.slice(e+1)),Qe(it,Wr),t}finally{xt=t,Ur=!1}}return null}var Gr=[],Zr=0,Kr=null,Xr=0,Qr=[],Yr=0,Jr=null,eo=1,to="";function no(e,t){Gr[Zr++]=Xr,Gr[Zr++]=Kr,Kr=e,Xr=t}function io(e,t,n){Qr[Yr++]=eo,Qr[Yr++]=to,Qr[Yr++]=Jr,Jr=e;var i=eo;e=to;var r=32-dt(i)-1;i&=~(1<<r),n+=1;var o=32-dt(t)+r;if(30<o){var a=r-r%5;o=(i&(1<<a)-1).toString(32),i>>=a,r-=a,eo=1<<32-dt(t)+r|n<<r|i,to=o+e}else eo=1<<o|n<<r|i,to=e}function ro(e){null!==e.return&&(no(e,1),io(e,1,0))}function oo(e){for(;e===Kr;)Kr=Gr[--Zr],Gr[Zr]=null,Xr=Gr[--Zr],Gr[Zr]=null;for(;e===Jr;)Jr=Qr[--Yr],Qr[Yr]=null,to=Qr[--Yr],Qr[Yr]=null,eo=Qr[--Yr],Qr[Yr]=null}var ao=null,so=null,lo=!1,co=null;function uo(e,t){var n=Vc(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function ho(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,ao=e,so=fr(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,ao=e,so=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(e.memoizedState={dehydrated:t,treeContext:n=null!==Jr?{id:eo,overflow:to}:null,retryLane:1073741824},(n=Vc(18,null,null,0)).stateNode=t,n.return=e,e.child=n,ao=e,so=null,!0);default:return!1}}function fo(e){return!(!(1&e.mode)||128&e.flags)}function po(e){if(lo){var t=so;if(t){var i=t;if(!ho(e,t)){if(fo(e))throw Error(n(418));t=fr(i.nextSibling);var r=ao;t&&ho(e,t)?uo(r,i):(e.flags=-4097&e.flags|2,lo=!1,ao=e)}}else{if(fo(e))throw Error(n(418));e.flags=-4097&e.flags|2,lo=!1,ao=e}}}function go(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;ao=e}function vo(e){if(e!==ao)return!1;if(!lo)return go(e),lo=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!ar(e.type,e.memoizedProps)),t&&(t=so)){if(fo(e))throw mo(),Error(n(418));for(;t;)uo(e,t),t=fr(t.nextSibling)}if(go(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(n(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var i=e.data;if("/$"===i){if(0===t){so=fr(e.nextSibling);break e}t--}else"$"!==i&&"$!"!==i&&"$?"!==i||t++}e=e.nextSibling}so=null}}else so=ao?fr(e.stateNode.nextSibling):null;return!0}function mo(){for(var e=so;e;)e=fr(e.nextSibling)}function bo(){so=ao=null,lo=!1}function wo(e){null===co?co=[e]:co.push(e)}var yo=S.ReactCurrentBatchConfig;function _o(e,t,i){if(null!==(e=i.ref)&&"function"!=typeof e&&"object"!=typeof e){if(i._owner){if(i=i._owner){if(1!==i.tag)throw Error(n(309));var r=i.stateNode}if(!r)throw Error(n(147,e));var o=r,a=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===a?t.ref:(t=function(e){var t=o.refs;null===e?delete t[a]:t[a]=e},t._stringRef=a,t)}if("string"!=typeof e)throw Error(n(284));if(!i._owner)throw Error(n(290,e))}return e}function ko(e,t){throw e=Object.prototype.toString.call(t),Error(n(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function xo(e){return(0,e._init)(e._payload)}function So(e){function t(t,n){if(e){var i=t.deletions;null===i?(t.deletions=[n],t.flags|=16):i.push(n)}}function i(n,i){if(!e)return null;for(;null!==i;)t(n,i),i=i.sibling;return null}function r(e,t){for(e=new Map;null!==t;)e.set(null!==t.key?t.key:t.index,t),t=t.sibling;return e}function o(e,t){return(e=Hc(e,t)).index=0,e.sibling=null,e}function a(t,n,i){return t.index=i,e?null!==(i=t.alternate)?(i=i.index)<n?(t.flags|=2,n):i:(t.flags|=2,n):(t.flags|=1048576,n)}function s(t){return e&&null===t.alternate&&(t.flags|=2),t}function l(e,t,n,i){return null===t||6!==t.tag?((t=Oc(n,e.mode,i)).return=e,t):((t=o(t,n)).return=e,t)}function c(e,t,n,i){var r=n.type;return r===M?u(e,t,n.props.children,i,n.key):null!==t&&(t.elementType===r||"object"==typeof r&&null!==r&&r.$$typeof===P&&xo(r)===t.type)?((i=o(t,n.props)).ref=_o(e,t,n),i.return=e,i):((i=Rc(n.type,n.key,n.props,null,e.mode,i)).ref=_o(e,t,n),i.return=e,i)}function d(e,t,n,i){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=jc(n,e.mode,i)).return=e,t):((t=o(t,n.children||[])).return=e,t)}function u(e,t,n,i,r){return null===t||7!==t.tag?((t=Dc(n,e.mode,i,r)).return=e,t):((t=o(t,n)).return=e,t)}function h(e,t,n){if("string"==typeof t&&""!==t||"number"==typeof t)return(t=Oc(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case C:return(n=Rc(t.type,t.key,t.props,null,e.mode,n)).ref=_o(e,null,t),n.return=e,n;case L:return(t=jc(t,e.mode,n)).return=e,t;case P:return h(e,(0,t._init)(t._payload),n)}if(oe(t)||D(t))return(t=Dc(t,e.mode,n,null)).return=e,t;ko(e,t)}return null}function f(e,t,n,i){var r=null!==t?t.key:null;if("string"==typeof n&&""!==n||"number"==typeof n)return null!==r?null:l(e,t,""+n,i);if("object"==typeof n&&null!==n){switch(n.$$typeof){case C:return n.key===r?c(e,t,n,i):null;case L:return n.key===r?d(e,t,n,i):null;case P:return f(e,t,(r=n._init)(n._payload),i)}if(oe(n)||D(n))return null!==r?null:u(e,t,n,i,null);ko(e,n)}return null}function p(e,t,n,i,r){if("string"==typeof i&&""!==i||"number"==typeof i)return l(t,e=e.get(n)||null,""+i,r);if("object"==typeof i&&null!==i){switch(i.$$typeof){case C:return c(t,e=e.get(null===i.key?n:i.key)||null,i,r);case L:return d(t,e=e.get(null===i.key?n:i.key)||null,i,r);case P:return p(e,t,n,(0,i._init)(i._payload),r)}if(oe(i)||D(i))return u(t,e=e.get(n)||null,i,r,null);ko(t,i)}return null}function g(n,o,s,l){for(var c=null,d=null,u=o,g=o=0,v=null;null!==u&&g<s.length;g++){u.index>g?(v=u,u=null):v=u.sibling;var m=f(n,u,s[g],l);if(null===m){null===u&&(u=v);break}e&&u&&null===m.alternate&&t(n,u),o=a(m,o,g),null===d?c=m:d.sibling=m,d=m,u=v}if(g===s.length)return i(n,u),lo&&no(n,g),c;if(null===u){for(;g<s.length;g++)null!==(u=h(n,s[g],l))&&(o=a(u,o,g),null===d?c=u:d.sibling=u,d=u);return lo&&no(n,g),c}for(u=r(n,u);g<s.length;g++)null!==(v=p(u,n,g,s[g],l))&&(e&&null!==v.alternate&&u.delete(null===v.key?g:v.key),o=a(v,o,g),null===d?c=v:d.sibling=v,d=v);return e&&u.forEach((function(e){return t(n,e)})),lo&&no(n,g),c}function v(o,s,l,c){var d=D(l);if("function"!=typeof d)throw Error(n(150));if(null==(l=d.call(l)))throw Error(n(151));for(var u=d=null,g=s,v=s=0,m=null,b=l.next();null!==g&&!b.done;v++,b=l.next()){g.index>v?(m=g,g=null):m=g.sibling;var w=f(o,g,b.value,c);if(null===w){null===g&&(g=m);break}e&&g&&null===w.alternate&&t(o,g),s=a(w,s,v),null===u?d=w:u.sibling=w,u=w,g=m}if(b.done)return i(o,g),lo&&no(o,v),d;if(null===g){for(;!b.done;v++,b=l.next())null!==(b=h(o,b.value,c))&&(s=a(b,s,v),null===u?d=b:u.sibling=b,u=b);return lo&&no(o,v),d}for(g=r(o,g);!b.done;v++,b=l.next())null!==(b=p(g,o,v,b.value,c))&&(e&&null!==b.alternate&&g.delete(null===b.key?v:b.key),s=a(b,s,v),null===u?d=b:u.sibling=b,u=b);return e&&g.forEach((function(e){return t(o,e)})),lo&&no(o,v),d}return function e(n,r,a,l){if("object"==typeof a&&null!==a&&a.type===M&&null===a.key&&(a=a.props.children),"object"==typeof a&&null!==a){switch(a.$$typeof){case C:e:{for(var c=a.key,d=r;null!==d;){if(d.key===c){if((c=a.type)===M){if(7===d.tag){i(n,d.sibling),(r=o(d,a.props.children)).return=n,n=r;break e}}else if(d.elementType===c||"object"==typeof c&&null!==c&&c.$$typeof===P&&xo(c)===d.type){i(n,d.sibling),(r=o(d,a.props)).ref=_o(n,d,a),r.return=n,n=r;break e}i(n,d);break}t(n,d),d=d.sibling}a.type===M?((r=Dc(a.props.children,n.mode,l,a.key)).return=n,n=r):((l=Rc(a.type,a.key,a.props,null,n.mode,l)).ref=_o(n,r,a),l.return=n,n=l)}return s(n);case L:e:{for(d=a.key;null!==r;){if(r.key===d){if(4===r.tag&&r.stateNode.containerInfo===a.containerInfo&&r.stateNode.implementation===a.implementation){i(n,r.sibling),(r=o(r,a.children||[])).return=n,n=r;break e}i(n,r);break}t(n,r),r=r.sibling}(r=jc(a,n.mode,l)).return=n,n=r}return s(n);case P:return e(n,r,(d=a._init)(a._payload),l)}if(oe(a))return g(n,r,a,l);if(D(a))return v(n,r,a,l);ko(n,a)}return"string"==typeof a&&""!==a||"number"==typeof a?(a=""+a,null!==r&&6===r.tag?(i(n,r.sibling),(r=o(r,a)).return=n,n=r):(i(n,r),(r=Oc(a,n.mode,l)).return=n,n=r),s(n)):i(n,r)}}var Co=So(!0),Lo=So(!1),Mo=Er(null),Eo=null,zo=null,$o=null;function To(){$o=zo=Eo=null}function No(e){var t=Mo.current;zr(Mo),e._currentValue=t}function Ao(e,t,n){for(;null!==e;){var i=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==i&&(i.childLanes|=t)):null!==i&&(i.childLanes&t)!==t&&(i.childLanes|=t),e===n)break;e=e.return}}function Io(e,t){Eo=e,$o=zo=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(!!(e.lanes&t)&&(xs=!0),e.firstContext=null)}function Vo(e){var t=e._currentValue;if($o!==e)if(e={context:e,memoizedValue:t,next:null},null===zo){if(null===Eo)throw Error(n(308));zo=e,Eo.dependencies={lanes:0,firstContext:e}}else zo=zo.next=e;return t}var Po=null;function Ho(e){null===Po?Po=[e]:Po.push(e)}function Ro(e,t,n,i){var r=t.interleaved;return null===r?(n.next=n,Ho(t)):(n.next=r.next,r.next=n),t.interleaved=n,Do(e,i)}function Do(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var Bo=!1;function Oo(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function jo(e,t){t.updateQueue===(e=e.updateQueue)&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Fo(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Uo(e,t,n){var i=e.updateQueue;if(null===i)return null;if(i=i.shared,2&Nl){var r=i.pending;return null===r?t.next=t:(t.next=r.next,r.next=t),i.pending=t,Do(e,n)}return null===(r=i.interleaved)?(t.next=t,Ho(i)):(t.next=r.next,r.next=t),i.interleaved=t,Do(e,n)}function qo(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,4194240&n)){var i=t.lanes;t.lanes=n|=i&=e.pendingLanes,kt(e,n)}}function Wo(e,t){var n=e.updateQueue,i=e.alternate;if(null===i||n!==(i=i.updateQueue))null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t;else{var r=null,o=null;if(null!==(n=n.firstBaseUpdate)){do{var a={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===o?r=o=a:o=o.next=a,n=n.next}while(null!==n);null===o?r=o=t:o=o.next=t}else r=o=t;e.updateQueue=n={baseState:i.baseState,firstBaseUpdate:r,lastBaseUpdate:o,shared:i.shared,effects:i.effects}}}function Go(e,t,n,i){var r=e.updateQueue;Bo=!1;var o=r.firstBaseUpdate,a=r.lastBaseUpdate,s=r.shared.pending;if(null!==s){r.shared.pending=null;var l=s,c=l.next;l.next=null,null===a?o=c:a.next=c,a=l;var d=e.alternate;null!==d&&(s=(d=d.updateQueue).lastBaseUpdate)!==a&&(null===s?d.firstBaseUpdate=c:s.next=c,d.lastBaseUpdate=l)}if(null!==o){var u=r.baseState;for(a=0,d=c=l=null,s=o;;){var h=s.lane,f=s.eventTime;if((i&h)===h){null!==d&&(d=d.next={eventTime:f,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var p=e,g=s;switch(h=t,f=n,g.tag){case 1:if("function"==typeof(p=g.payload)){u=p.call(f,u,h);break e}u=p;break e;case 3:p.flags=-65537&p.flags|128;case 0:if(null==(h="function"==typeof(p=g.payload)?p.call(f,u,h):p))break e;u=O({},u,h);break e;case 2:Bo=!0}}null!==s.callback&&0!==s.lane&&(e.flags|=64,null===(h=r.effects)?r.effects=[s]:h.push(s))}else f={eventTime:f,lane:h,tag:s.tag,payload:s.payload,callback:s.callback,next:null},null===d?(c=d=f,l=u):d=d.next=f,a|=h;if(null===(s=s.next)){if(null===(s=r.shared.pending))break;s=(h=s).next,h.next=null,r.lastBaseUpdate=h,r.shared.pending=null}}if(null===d&&(l=u),r.baseState=l,r.firstBaseUpdate=c,r.lastBaseUpdate=d,null!==(t=r.shared.interleaved)){r=t;do{a|=r.lane,r=r.next}while(r!==t)}else null===o&&(r.shared.lanes=0);Bl|=a,e.lanes=a,e.memoizedState=u}}function Zo(e,t,i){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],o=r.callback;if(null!==o){if(r.callback=null,r=i,"function"!=typeof o)throw Error(n(191,o));o.call(r)}}}var Ko={},Xo=Er(Ko),Qo=Er(Ko),Yo=Er(Ko);function Jo(e){if(e===Ko)throw Error(n(174));return e}function ea(e,t){switch($r(Yo,t),$r(Qo,e),$r(Xo,Ko),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:he(null,"");break;default:t=he(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}zr(Xo),$r(Xo,t)}function ta(){zr(Xo),zr(Qo),zr(Yo)}function na(e){Jo(Yo.current);var t=Jo(Xo.current),n=he(t,e.type);t!==n&&($r(Qo,e),$r(Xo,n))}function ia(e){Qo.current===e&&(zr(Xo),zr(Qo))}var ra=Er(0);function oa(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(128&t.flags)return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var aa=[];function sa(){for(var e=0;e<aa.length;e++)aa[e]._workInProgressVersionPrimary=null;aa.length=0}var la=S.ReactCurrentDispatcher,ca=S.ReactCurrentBatchConfig,da=0,ua=null,ha=null,fa=null,pa=!1,ga=!1,va=0,ma=0;function ba(){throw Error(n(321))}function wa(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!ui(e[n],t[n]))return!1;return!0}function ya(e,t,i,r,o,a){if(da=a,ua=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,la.current=null===e||null===e.memoizedState?is:rs,e=i(r,o),ga){a=0;do{if(ga=!1,va=0,25<=a)throw Error(n(301));a+=1,fa=ha=null,t.updateQueue=null,la.current=os,e=i(r,o)}while(ga)}if(la.current=ns,t=null!==ha&&null!==ha.next,da=0,fa=ha=ua=null,pa=!1,t)throw Error(n(300));return e}function _a(){var e=0!==va;return va=0,e}function ka(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===fa?ua.memoizedState=fa=e:fa=fa.next=e,fa}function xa(){if(null===ha){var e=ua.alternate;e=null!==e?e.memoizedState:null}else e=ha.next;var t=null===fa?ua.memoizedState:fa.next;if(null!==t)fa=t,ha=e;else{if(null===e)throw Error(n(310));e={memoizedState:(ha=e).memoizedState,baseState:ha.baseState,baseQueue:ha.baseQueue,queue:ha.queue,next:null},null===fa?ua.memoizedState=fa=e:fa=fa.next=e}return fa}function Sa(e,t){return"function"==typeof t?t(e):t}function Ca(e){var t=xa(),i=t.queue;if(null===i)throw Error(n(311));i.lastRenderedReducer=e;var r=ha,o=r.baseQueue,a=i.pending;if(null!==a){if(null!==o){var s=o.next;o.next=a.next,a.next=s}r.baseQueue=o=a,i.pending=null}if(null!==o){r=r.baseState;var l=s=null,c=null,d=a=o.next;do{var u=d.lane;if((da&u)===u)null!==c&&(c=c.next={lane:0,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null}),r=d.hasEagerState?d.eagerState:e(r,d.action);else{var h={lane:u,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null};null===c?(l=c=h,s=r):c=c.next=h,ua.lanes|=u,Bl|=u}d=d.next}while(null!==d&&d!==a);null===c?s=r:c.next=l,ui(r,t.memoizedState)||(xs=!0),t.memoizedState=r,t.baseState=s,t.baseQueue=c,i.lastRenderedState=r}if(null!==(e=i.interleaved)){o=e;do{ua.lanes|=a=o.lane,Bl|=a,o=o.next}while(o!==e)}else null===o&&(i.lanes=0);return[t.memoizedState,i.dispatch]}function La(e){var t=xa(),i=t.queue;if(null===i)throw Error(n(311));i.lastRenderedReducer=e;var r=i.dispatch,o=i.pending,a=t.memoizedState;if(null!==o){i.pending=null;var s=o=o.next;do{a=e(a,s.action),s=s.next}while(s!==o);ui(a,t.memoizedState)||(xs=!0),t.memoizedState=a,null===t.baseQueue&&(t.baseState=a),i.lastRenderedState=a}return[a,r]}function Ma(){}function Ea(e,t){var i=ua,r=xa(),o=t(),a=!ui(r.memoizedState,o);if(a&&(r.memoizedState=o,xs=!0),Ba(Ta.bind(null,i,r=r.queue,e),[e]),r.getSnapshot!==t||a||null!==fa&&1&fa.memoizedState.tag){if(i.flags|=2048,Va(9,$a.bind(null,i,r,o,t),void 0,null),null===Al)throw Error(n(349));30&da||za(i,t,o)}return o}function za(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=ua.updateQueue)?(ua.updateQueue=t={lastEffect:null,stores:null},t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function $a(e,t,n,i){t.value=n,t.getSnapshot=i,Na(t)&&Aa(e)}function Ta(e,t,n){return n((function(){Na(t)&&Aa(e)}))}function Na(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!ui(e,n)}catch(e){return!0}}function Aa(e){var t=Do(e,1);null!==t&&ac(t,e,1,-1)}function Ia(e){var t=ka();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,t.queue=e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Sa,lastRenderedState:e},e=e.dispatch=Ya.bind(null,ua,e),[t.memoizedState,e]}function Va(e,t,n,i){return e={tag:e,create:t,destroy:n,deps:i,next:null},null===(t=ua.updateQueue)?(ua.updateQueue=t={lastEffect:null,stores:null},t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(i=n.next,n.next=e,e.next=i,t.lastEffect=e),e}function Pa(){return xa().memoizedState}function Ha(e,t,n,i){var r=ka();ua.flags|=e,r.memoizedState=Va(1|t,n,void 0,void 0===i?null:i)}function Ra(e,t,n,i){var r=xa();i=void 0===i?null:i;var o=void 0;if(null!==ha){var a=ha.memoizedState;if(o=a.destroy,null!==i&&wa(i,a.deps))return void(r.memoizedState=Va(t,n,o,i))}ua.flags|=e,r.memoizedState=Va(1|t,n,o,i)}function Da(e,t){return Ha(8390656,8,e,t)}function Ba(e,t){return Ra(2048,8,e,t)}function Oa(e,t){return Ra(4,2,e,t)}function ja(e,t){return Ra(4,4,e,t)}function Fa(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Ua(e,t,n){return n=null!=n?n.concat([e]):null,Ra(4,4,Fa.bind(null,t,e),n)}function qa(){}function Wa(e,t){var n=xa();t=void 0===t?null:t;var i=n.memoizedState;return null!==i&&null!==t&&wa(t,i[1])?i[0]:(n.memoizedState=[e,t],e)}function Ga(e,t){var n=xa();t=void 0===t?null:t;var i=n.memoizedState;return null!==i&&null!==t&&wa(t,i[1])?i[0]:(e=e(),n.memoizedState=[e,t],e)}function Za(e,t,n){return 21&da?(ui(n,t)||(n=wt(),ua.lanes|=n,Bl|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,xs=!0),e.memoizedState=n)}function Ka(e,t){var n=xt;xt=0!==n&&4>n?n:4,e(!0);var i=ca.transition;ca.transition={};try{e(!1),t()}finally{xt=n,ca.transition=i}}function Xa(){return xa().memoizedState}function Qa(e,t,n){var i=oc(e);n={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null},Ja(e)?es(t,n):null!==(n=Ro(e,t,n,i))&&(ac(n,e,i,rc()),ts(n,t,i))}function Ya(e,t,n){var i=oc(e),r={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null};if(Ja(e))es(t,r);else{var o=e.alternate;if(0===e.lanes&&(null===o||0===o.lanes)&&null!==(o=t.lastRenderedReducer))try{var a=t.lastRenderedState,s=o(a,n);if(r.hasEagerState=!0,r.eagerState=s,ui(s,a)){var l=t.interleaved;return null===l?(r.next=r,Ho(t)):(r.next=l.next,l.next=r),void(t.interleaved=r)}}catch(e){}null!==(n=Ro(e,t,r,i))&&(ac(n,e,i,r=rc()),ts(n,t,i))}}function Ja(e){var t=e.alternate;return e===ua||null!==t&&t===ua}function es(e,t){ga=pa=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function ts(e,t,n){if(4194240&n){var i=t.lanes;t.lanes=n|=i&=e.pendingLanes,kt(e,n)}}var ns={readContext:Vo,useCallback:ba,useContext:ba,useEffect:ba,useImperativeHandle:ba,useInsertionEffect:ba,useLayoutEffect:ba,useMemo:ba,useReducer:ba,useRef:ba,useState:ba,useDebugValue:ba,useDeferredValue:ba,useTransition:ba,useMutableSource:ba,useSyncExternalStore:ba,useId:ba,unstable_isNewReconciler:!1},is={readContext:Vo,useCallback:function(e,t){return ka().memoizedState=[e,void 0===t?null:t],e},useContext:Vo,useEffect:Da,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,Ha(4194308,4,Fa.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ha(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ha(4,2,e,t)},useMemo:function(e,t){var n=ka();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var i=ka();return t=void 0!==n?n(t):t,i.memoizedState=i.baseState=t,i.queue=e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},e=e.dispatch=Qa.bind(null,ua,e),[i.memoizedState,e]},useRef:function(e){return ka().memoizedState={current:e}},useState:Ia,useDebugValue:qa,useDeferredValue:function(e){return ka().memoizedState=e},useTransition:function(){var e=Ia(!1),t=e[0];return e=Ka.bind(null,e[1]),ka().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,i){var r=ua,o=ka();if(lo){if(void 0===i)throw Error(n(407));i=i()}else{if(i=t(),null===Al)throw Error(n(349));30&da||za(r,t,i)}o.memoizedState=i;var a={value:i,getSnapshot:t};return o.queue=a,Da(Ta.bind(null,r,a,e),[e]),r.flags|=2048,Va(9,$a.bind(null,r,a,i,t),void 0,null),i},useId:function(){var e=ka(),t=Al.identifierPrefix;if(lo){var n=to;t=":"+t+"R"+(n=(eo&~(1<<32-dt(eo)-1)).toString(32)+n),0<(n=va++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=ma++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},rs={readContext:Vo,useCallback:Wa,useContext:Vo,useEffect:Ba,useImperativeHandle:Ua,useInsertionEffect:Oa,useLayoutEffect:ja,useMemo:Ga,useReducer:Ca,useRef:Pa,useState:function(){return Ca(Sa)},useDebugValue:qa,useDeferredValue:function(e){return Za(xa(),ha.memoizedState,e)},useTransition:function(){return[Ca(Sa)[0],xa().memoizedState]},useMutableSource:Ma,useSyncExternalStore:Ea,useId:Xa,unstable_isNewReconciler:!1},os={readContext:Vo,useCallback:Wa,useContext:Vo,useEffect:Ba,useImperativeHandle:Ua,useInsertionEffect:Oa,useLayoutEffect:ja,useMemo:Ga,useReducer:La,useRef:Pa,useState:function(){return La(Sa)},useDebugValue:qa,useDeferredValue:function(e){var t=xa();return null===ha?t.memoizedState=e:Za(t,ha.memoizedState,e)},useTransition:function(){return[La(Sa)[0],xa().memoizedState]},useMutableSource:Ma,useSyncExternalStore:Ea,useId:Xa,unstable_isNewReconciler:!1};function as(e,t){if(e&&e.defaultProps){for(var n in t=O({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}function ss(e,t,n,i){n=null==(n=n(i,t=e.memoizedState))?t:O({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var ls={isMounted:function(e){return!!(e=e._reactInternals)&&We(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var i=rc(),r=oc(e),o=Fo(i,r);o.payload=t,null!=n&&(o.callback=n),null!==(t=Uo(e,o,r))&&(ac(t,e,r,i),qo(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var i=rc(),r=oc(e),o=Fo(i,r);o.tag=1,o.payload=t,null!=n&&(o.callback=n),null!==(t=Uo(e,o,r))&&(ac(t,e,r,i),qo(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=rc(),i=oc(e),r=Fo(n,i);r.tag=2,null!=t&&(r.callback=t),null!==(t=Uo(e,r,i))&&(ac(t,e,i,n),qo(t,e,i))}};function cs(e,t,n,i,r,o,a){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(i,o,a):!(t.prototype&&t.prototype.isPureReactComponent&&hi(n,i)&&hi(r,o))}function ds(e,t,n){var i=!1,r=Tr,o=t.contextType;return"object"==typeof o&&null!==o?o=Vo(o):(r=Pr(t)?Ir:Nr.current,o=(i=null!=(i=t.contextTypes))?Vr(e,r):Tr),t=new t(n,o),e.memoizedState=null!=t.state?t.state:null,t.updater=ls,e.stateNode=t,t._reactInternals=e,i&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=r,e.__reactInternalMemoizedMaskedChildContext=o),t}function us(e,t,n,i){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,i),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,i),t.state!==e&&ls.enqueueReplaceState(t,t.state,null)}function hs(e,t,n,i){var r=e.stateNode;r.props=n,r.state=e.memoizedState,r.refs={},Oo(e);var o=t.contextType;"object"==typeof o&&null!==o?r.context=Vo(o):(o=Pr(t)?Ir:Nr.current,r.context=Vr(e,o)),r.state=e.memoizedState,"function"==typeof(o=t.getDerivedStateFromProps)&&(ss(e,t,o,n),r.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof r.getSnapshotBeforeUpdate||"function"!=typeof r.UNSAFE_componentWillMount&&"function"!=typeof r.componentWillMount||(t=r.state,"function"==typeof r.componentWillMount&&r.componentWillMount(),"function"==typeof r.UNSAFE_componentWillMount&&r.UNSAFE_componentWillMount(),t!==r.state&&ls.enqueueReplaceState(r,r.state,null),Go(e,n,r,i),r.state=e.memoizedState),"function"==typeof r.componentDidMount&&(e.flags|=4194308)}function fs(e,t){try{var n="",i=t;do{n+=q(i),i=i.return}while(i);var r=n}catch(e){r="\nError generating stack: "+e.message+"\n"+e.stack}return{value:e,source:t,stack:r,digest:null}}function ps(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function gs(e,t){try{console.error(t.value)}catch(e){setTimeout((function(){throw e}))}}var vs="function"==typeof WeakMap?WeakMap:Map;function ms(e,t,n){(n=Fo(-1,n)).tag=3,n.payload={element:null};var i=t.value;return n.callback=function(){Zl||(Zl=!0,Kl=i),gs(0,t)},n}function bs(e,t,n){(n=Fo(-1,n)).tag=3;var i=e.type.getDerivedStateFromError;if("function"==typeof i){var r=t.value;n.payload=function(){return i(r)},n.callback=function(){gs(0,t)}}var o=e.stateNode;return null!==o&&"function"==typeof o.componentDidCatch&&(n.callback=function(){gs(0,t),"function"!=typeof i&&(null===Xl?Xl=new Set([this]):Xl.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function ws(e,t,n){var i=e.pingCache;if(null===i){i=e.pingCache=new vs;var r=new Set;i.set(t,r)}else void 0===(r=i.get(t))&&(r=new Set,i.set(t,r));r.has(n)||(r.add(n),e=zc.bind(null,e,t,n),t.then(e,e))}function ys(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function _s(e,t,n,i,r){return 1&e.mode?(e.flags|=65536,e.lanes=r,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=Fo(-1,1)).tag=2,Uo(n,t,1))),n.lanes|=1),e)}var ks=S.ReactCurrentOwner,xs=!1;function Ss(e,t,n,i){t.child=null===e?Lo(t,null,n,i):Co(t,e.child,n,i)}function Cs(e,t,n,i,r){n=n.render;var o=t.ref;return Io(t,r),i=ya(e,t,n,i,o,r),n=_a(),null===e||xs?(lo&&n&&ro(t),t.flags|=1,Ss(e,t,i,r),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,Zs(e,t,r))}function Ls(e,t,n,i,r){if(null===e){var o=n.type;return"function"!=typeof o||Pc(o)||void 0!==o.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Rc(n.type,null,i,t,t.mode,r)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=o,Ms(e,t,o,i,r))}return o=e.child,e.lanes&r||!(n=null!==(n=n.compare)?n:hi)(o.memoizedProps,i)||e.ref!==t.ref?(t.flags|=1,(e=Hc(o,i)).ref=t.ref,e.return=t,t.child=e):Zs(e,t,r)}function Ms(e,t,n,i,r){if(null!==e){var o=e.memoizedProps;if(hi(o,i)&&e.ref===t.ref){if(xs=!1,t.pendingProps=i=o,!(e.lanes&r))return t.lanes=e.lanes,Zs(e,t,r);131072&e.flags&&(xs=!0)}}return $s(e,t,n,i,r)}function Es(e,t,n){var i=t.pendingProps,r=i.children,o=null!==e?e.memoizedState:null;if("hidden"===i.mode)if(1&t.mode){if(!(1073741824&n))return e=null!==o?o.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,$r(Hl,Pl),Pl|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},i=null!==o?o.baseLanes:n,$r(Hl,Pl),Pl|=i}else t.memoizedState={baseLanes:0,cachePool:null,transitions:null},$r(Hl,Pl),Pl|=n;else null!==o?(i=o.baseLanes|n,t.memoizedState=null):i=n,$r(Hl,Pl),Pl|=i;return Ss(e,t,r,n),t.child}function zs(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function $s(e,t,n,i,r){var o=Pr(n)?Ir:Nr.current;return o=Vr(t,o),Io(t,r),n=ya(e,t,n,i,o,r),i=_a(),null===e||xs?(lo&&i&&ro(t),t.flags|=1,Ss(e,t,n,r),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,Zs(e,t,r))}function Ts(e,t,n,i,r){if(Pr(n)){var o=!0;Br(t)}else o=!1;if(Io(t,r),null===t.stateNode)Gs(e,t),ds(t,n,i),hs(t,n,i,r),i=!0;else if(null===e){var a=t.stateNode,s=t.memoizedProps;a.props=s;var l=a.context,c=n.contextType;c="object"==typeof c&&null!==c?Vo(c):Vr(t,c=Pr(n)?Ir:Nr.current);var d=n.getDerivedStateFromProps,u="function"==typeof d||"function"==typeof a.getSnapshotBeforeUpdate;u||"function"!=typeof a.UNSAFE_componentWillReceiveProps&&"function"!=typeof a.componentWillReceiveProps||(s!==i||l!==c)&&us(t,a,i,c),Bo=!1;var h=t.memoizedState;a.state=h,Go(t,i,a,r),l=t.memoizedState,s!==i||h!==l||Ar.current||Bo?("function"==typeof d&&(ss(t,n,d,i),l=t.memoizedState),(s=Bo||cs(t,n,s,i,h,l,c))?(u||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||("function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount()),"function"==typeof a.componentDidMount&&(t.flags|=4194308)):("function"==typeof a.componentDidMount&&(t.flags|=4194308),t.memoizedProps=i,t.memoizedState=l),a.props=i,a.state=l,a.context=c,i=s):("function"==typeof a.componentDidMount&&(t.flags|=4194308),i=!1)}else{a=t.stateNode,jo(e,t),s=t.memoizedProps,c=t.type===t.elementType?s:as(t.type,s),a.props=c,u=t.pendingProps,h=a.context,l="object"==typeof(l=n.contextType)&&null!==l?Vo(l):Vr(t,l=Pr(n)?Ir:Nr.current);var f=n.getDerivedStateFromProps;(d="function"==typeof f||"function"==typeof a.getSnapshotBeforeUpdate)||"function"!=typeof a.UNSAFE_componentWillReceiveProps&&"function"!=typeof a.componentWillReceiveProps||(s!==u||h!==l)&&us(t,a,i,l),Bo=!1,a.state=h=t.memoizedState,Go(t,i,a,r);var p=t.memoizedState;s!==u||h!==p||Ar.current||Bo?("function"==typeof f&&(ss(t,n,f,i),p=t.memoizedState),(c=Bo||cs(t,n,c,i,h,p,l)||!1)?(d||"function"!=typeof a.UNSAFE_componentWillUpdate&&"function"!=typeof a.componentWillUpdate||("function"==typeof a.componentWillUpdate&&a.componentWillUpdate(i,p,l),"function"==typeof a.UNSAFE_componentWillUpdate&&a.UNSAFE_componentWillUpdate(i,p,l)),"function"==typeof a.componentDidUpdate&&(t.flags|=4),"function"==typeof a.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof a.componentDidUpdate||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),"function"!=typeof a.getSnapshotBeforeUpdate||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),t.memoizedProps=i,t.memoizedState=p),a.props=i,a.state=p,a.context=l,i=c):("function"!=typeof a.componentDidUpdate||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),"function"!=typeof a.getSnapshotBeforeUpdate||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),i=!1)}return Ns(e,t,n,i,o,r)}function Ns(e,t,n,i,r,o){zs(e,t);var a=!!(128&t.flags);if(!i&&!a)return r&&Or(t,n,!1),Zs(e,t,o);i=t.stateNode,ks.current=t;var s=a&&"function"!=typeof n.getDerivedStateFromError?null:i.render();return t.flags|=1,null!==e&&a?(t.child=Co(t,e.child,null,o),t.child=Co(t,null,s,o)):Ss(e,t,s,o),t.memoizedState=i.state,r&&Or(t,n,!0),t.child}function As(e){var t=e.stateNode;t.pendingContext?Rr(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Rr(0,t.context,!1),ea(e,t.containerInfo)}function Is(e,t,n,i,r){return bo(),wo(r),t.flags|=256,Ss(e,t,n,i),t.child}var Vs,Ps,Hs,Rs,Ds={dehydrated:null,treeContext:null,retryLane:0};function Bs(e){return{baseLanes:e,cachePool:null,transitions:null}}function Os(e,t,i){var r,o=t.pendingProps,a=ra.current,s=!1,l=!!(128&t.flags);if((r=l)||(r=(null===e||null!==e.memoizedState)&&!!(2&a)),r?(s=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(a|=1),$r(ra,1&a),null===e)return po(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(t.lanes=1&t.mode?"$!"===e.data?8:1073741824:1,null):(l=o.children,e=o.fallback,s?(s=t.child,l={mode:"hidden",children:l},1&(o=t.mode)||null===s?s=Bc(l,o,0,null):(s.childLanes=0,s.pendingProps=l),e=Dc(e,o,i,null),s.return=t,e.return=t,s.sibling=e,t.child=s,t.child.memoizedState=Bs(i),t.memoizedState=Ds,e):js(t,l));if(null!==(a=e.memoizedState)&&null!==(r=a.dehydrated))return function(e,t,i,r,o,a,s){if(i)return 256&t.flags?(t.flags&=-257,Fs(e,t,s,r=ps(Error(n(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(a=r.fallback,r=Bc({mode:"visible",children:r.children},o=t.mode,0,null),(a=Dc(a,o,s,null)).flags|=2,r.return=t,a.return=t,r.sibling=a,t.child=r,1&t.mode&&Co(t,e.child,null,s),t.child.memoizedState=Bs(s),t.memoizedState=Ds,a);if(!(1&t.mode))return Fs(e,t,s,null);if("$!"===o.data){if(r=o.nextSibling&&o.nextSibling.dataset)var l=r.dgst;return r=l,Fs(e,t,s,r=ps(a=Error(n(419)),r,void 0))}if(l=!!(s&e.childLanes),xs||l){if(null!==(r=Al)){switch(s&-s){case 4:o=2;break;case 16:o=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}0!==(o=o&(r.suspendedLanes|s)?0:o)&&o!==a.retryLane&&(a.retryLane=o,Do(e,o),ac(r,e,o,-1))}return wc(),Fs(e,t,s,r=ps(Error(n(421))))}return"$?"===o.data?(t.flags|=128,t.child=e.child,t=Tc.bind(null,e),o._reactRetry=t,null):(e=a.treeContext,so=fr(o.nextSibling),ao=t,lo=!0,co=null,null!==e&&(Qr[Yr++]=eo,Qr[Yr++]=to,Qr[Yr++]=Jr,eo=e.id,to=e.overflow,Jr=t),(t=js(t,r.children)).flags|=4096,t)}(e,t,l,o,r,a,i);if(s){s=o.fallback,r=(a=e.child).sibling;var c={mode:"hidden",children:o.children};return 1&(l=t.mode)||t.child===a?(o=Hc(a,c)).subtreeFlags=14680064&a.subtreeFlags:((o=t.child).childLanes=0,o.pendingProps=c,t.deletions=null),null!==r?s=Hc(r,s):(s=Dc(s,l,i,null)).flags|=2,s.return=t,o.return=t,o.sibling=s,t.child=o,o=s,s=t.child,l=null===(l=e.child.memoizedState)?Bs(i):{baseLanes:l.baseLanes|i,cachePool:null,transitions:l.transitions},s.memoizedState=l,s.childLanes=e.childLanes&~i,t.memoizedState=Ds,o}return e=(s=e.child).sibling,o=Hc(s,{mode:"visible",children:o.children}),!(1&t.mode)&&(o.lanes=i),o.return=t,o.sibling=null,null!==e&&(null===(i=t.deletions)?(t.deletions=[e],t.flags|=16):i.push(e)),t.child=o,t.memoizedState=null,o}function js(e,t){return(t=Bc({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function Fs(e,t,n,i){return null!==i&&wo(i),Co(t,e.child,null,n),(e=js(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function Us(e,t,n){e.lanes|=t;var i=e.alternate;null!==i&&(i.lanes|=t),Ao(e.return,t,n)}function qs(e,t,n,i,r){var o=e.memoizedState;null===o?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:i,tail:n,tailMode:r}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=i,o.tail=n,o.tailMode=r)}function Ws(e,t,n){var i=t.pendingProps,r=i.revealOrder,o=i.tail;if(Ss(e,t,i.children,n),2&(i=ra.current))i=1&i|2,t.flags|=128;else{if(null!==e&&128&e.flags)e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Us(e,n,t);else if(19===e.tag)Us(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}i&=1}if($r(ra,i),1&t.mode)switch(r){case"forwards":for(n=t.child,r=null;null!==n;)null!==(e=n.alternate)&&null===oa(e)&&(r=n),n=n.sibling;null===(n=r)?(r=t.child,t.child=null):(r=n.sibling,n.sibling=null),qs(t,!1,r,n,o);break;case"backwards":for(n=null,r=t.child,t.child=null;null!==r;){if(null!==(e=r.alternate)&&null===oa(e)){t.child=r;break}e=r.sibling,r.sibling=n,n=r,r=e}qs(t,!0,n,null,o);break;case"together":qs(t,!1,null,null,void 0);break;default:t.memoizedState=null}else t.memoizedState=null;return t.child}function Gs(e,t){!(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Zs(e,t,i){if(null!==e&&(t.dependencies=e.dependencies),Bl|=t.lanes,!(i&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(n(153));if(null!==t.child){for(i=Hc(e=t.child,e.pendingProps),t.child=i,i.return=t;null!==e.sibling;)(i=i.sibling=Hc(e=e.sibling,e.pendingProps)).return=t;i.sibling=null}return t.child}function Ks(e,t){if(!lo)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var i=null;null!==n;)null!==n.alternate&&(i=n),n=n.sibling;null===i?t||null===e.tail?e.tail=null:e.tail.sibling=null:i.sibling=null}}function Xs(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,i=0;if(t)for(var r=e.child;null!==r;)n|=r.lanes|r.childLanes,i|=14680064&r.subtreeFlags,i|=14680064&r.flags,r.return=e,r=r.sibling;else for(r=e.child;null!==r;)n|=r.lanes|r.childLanes,i|=r.subtreeFlags,i|=r.flags,r.return=e,r=r.sibling;return e.subtreeFlags|=i,e.childLanes=n,t}function Qs(e,t,i){var o=t.pendingProps;switch(oo(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Xs(t),null;case 1:case 17:return Pr(t.type)&&Hr(),Xs(t),null;case 3:return o=t.stateNode,ta(),zr(Ar),zr(Nr),sa(),o.pendingContext&&(o.context=o.pendingContext,o.pendingContext=null),null!==e&&null!==e.child||(vo(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&!(256&t.flags)||(t.flags|=1024,null!==co&&(dc(co),co=null))),Ps(e,t),Xs(t),null;case 5:ia(t);var a=Jo(Yo.current);if(i=t.type,null!==e&&null!=t.stateNode)Hs(e,t,i,o,a),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!o){if(null===t.stateNode)throw Error(n(166));return Xs(t),null}if(e=Jo(Xo.current),vo(t)){i=t.type;var s=t.memoizedProps;switch((o=t.stateNode)[vr]=t,o[mr]=s,e=!!(1&t.mode),i){case"dialog":Fi("cancel",o),Fi("close",o);break;case"iframe":case"object":case"embed":Fi("load",o);break;case"video":case"audio":for(a=0;a<Di.length;a++)Fi(Di[a],o);break;case"source":Fi("error",o);break;case"img":case"image":case"link":Fi("error",o),Fi("load",o);break;case"details":Fi("toggle",o);break;case"input":ee(o,s),Fi("invalid",o);break;case"select":o._wrapperState={wasMultiple:!!s.multiple},Fi("invalid",o);break;case"textarea":le(o,s),Fi("invalid",o)}for(var l in ke(i,s),a=null,s)if(s.hasOwnProperty(l)){var c=s[l];"children"===l?"string"==typeof c?o.textContent!==c&&(!0!==s.suppressHydrationWarning&&nr(o.textContent,c,e),a=["children",c]):"number"==typeof c&&o.textContent!==""+c&&(!0!==s.suppressHydrationWarning&&nr(o.textContent,c,e),a=["children",""+c]):r.hasOwnProperty(l)&&null!=c&&"onScroll"===l&&Fi("scroll",o)}switch(i){case"input":X(o),ie(o,s,!0);break;case"textarea":X(o),de(o);break;case"select":case"option":break;default:"function"==typeof s.onClick&&(o.onclick=ir)}t.updateQueue=o=a,null!==o&&(t.flags|=4)}else{l=9===a.nodeType?a:a.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=ue(i)),"http://www.w3.org/1999/xhtml"===e?"script"===i?((e=l.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof o.is?e=l.createElement(i,{is:o.is}):(e=l.createElement(i),"select"===i&&(l=e,o.multiple?l.multiple=!0:o.size&&(l.size=o.size))):e=l.createElementNS(e,i),e[vr]=t,e[mr]=o,Vs(e,t,!1,!1),t.stateNode=e;e:{switch(l=xe(i,o),i){case"dialog":Fi("cancel",e),Fi("close",e),a=o;break;case"iframe":case"object":case"embed":Fi("load",e),a=o;break;case"video":case"audio":for(a=0;a<Di.length;a++)Fi(Di[a],e);a=o;break;case"source":Fi("error",e),a=o;break;case"img":case"image":case"link":Fi("error",e),Fi("load",e),a=o;break;case"details":Fi("toggle",e),a=o;break;case"input":ee(e,o),a=J(e,o),Fi("invalid",e);break;case"option":default:a=o;break;case"select":e._wrapperState={wasMultiple:!!o.multiple},a=O({},o,{value:void 0}),Fi("invalid",e);break;case"textarea":le(e,o),a=se(e,o),Fi("invalid",e)}for(s in ke(i,a),c=a)if(c.hasOwnProperty(s)){var d=c[s];"style"===s?ye(e,d):"dangerouslySetInnerHTML"===s?null!=(d=d?d.__html:void 0)&&ge(e,d):"children"===s?"string"==typeof d?("textarea"!==i||""!==d)&&ve(e,d):"number"==typeof d&&ve(e,""+d):"suppressContentEditableWarning"!==s&&"suppressHydrationWarning"!==s&&"autoFocus"!==s&&(r.hasOwnProperty(s)?null!=d&&"onScroll"===s&&Fi("scroll",e):null!=d&&x(e,s,d,l))}switch(i){case"input":X(e),ie(e,o,!1);break;case"textarea":X(e),de(e);break;case"option":null!=o.value&&e.setAttribute("value",""+Z(o.value));break;case"select":e.multiple=!!o.multiple,null!=(s=o.value)?ae(e,!!o.multiple,s,!1):null!=o.defaultValue&&ae(e,!!o.multiple,o.defaultValue,!0);break;default:"function"==typeof a.onClick&&(e.onclick=ir)}switch(i){case"button":case"input":case"select":case"textarea":o=!!o.autoFocus;break e;case"img":o=!0;break e;default:o=!1}}o&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return Xs(t),null;case 6:if(e&&null!=t.stateNode)Rs(e,t,e.memoizedProps,o);else{if("string"!=typeof o&&null===t.stateNode)throw Error(n(166));if(i=Jo(Yo.current),Jo(Xo.current),vo(t)){if(i=t.memoizedProps,(o=t.stateNode)[vr]=t,(s=o.nodeValue!==i)&&null!==(e=ao))switch(e.tag){case 3:nr(o.nodeValue,i,!!(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&nr(o.nodeValue,i,!!(1&e.mode))}s&&(t.flags|=4)}else(o=(9===i.nodeType?i:i.ownerDocument).createTextNode(o))[vr]=t,t.stateNode=o}return Xs(t),null;case 13:if(zr(ra),o=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(lo&&null!==so&&1&t.mode&&!(128&t.flags))mo(),bo(),t.flags|=98560,s=!1;else if(s=vo(t),null!==o&&null!==o.dehydrated){if(null===e){if(!s)throw Error(n(318));if(!(s=null!==(s=t.memoizedState)?s.dehydrated:null))throw Error(n(317));s[vr]=t}else bo(),!(128&t.flags)&&(t.memoizedState=null),t.flags|=4;Xs(t),s=!1}else null!==co&&(dc(co),co=null),s=!0;if(!s)return 65536&t.flags?t:null}return 128&t.flags?(t.lanes=i,t):((o=null!==o)!=(null!==e&&null!==e.memoizedState)&&o&&(t.child.flags|=8192,1&t.mode&&(null===e||1&ra.current?0===Rl&&(Rl=3):wc())),null!==t.updateQueue&&(t.flags|=4),Xs(t),null);case 4:return ta(),Ps(e,t),null===e&&Wi(t.stateNode.containerInfo),Xs(t),null;case 10:return No(t.type._context),Xs(t),null;case 19:if(zr(ra),null===(s=t.memoizedState))return Xs(t),null;if(o=!!(128&t.flags),null===(l=s.rendering))if(o)Ks(s,!1);else{if(0!==Rl||null!==e&&128&e.flags)for(e=t.child;null!==e;){if(null!==(l=oa(e))){for(t.flags|=128,Ks(s,!1),null!==(o=l.updateQueue)&&(t.updateQueue=o,t.flags|=4),t.subtreeFlags=0,o=i,i=t.child;null!==i;)e=o,(s=i).flags&=14680066,null===(l=s.alternate)?(s.childLanes=0,s.lanes=e,s.child=null,s.subtreeFlags=0,s.memoizedProps=null,s.memoizedState=null,s.updateQueue=null,s.dependencies=null,s.stateNode=null):(s.childLanes=l.childLanes,s.lanes=l.lanes,s.child=l.child,s.subtreeFlags=0,s.deletions=null,s.memoizedProps=l.memoizedProps,s.memoizedState=l.memoizedState,s.updateQueue=l.updateQueue,s.type=l.type,s.dependencies=null===(e=l.dependencies)?null:{lanes:e.lanes,firstContext:e.firstContext}),i=i.sibling;return $r(ra,1&ra.current|2),t.child}e=e.sibling}null!==s.tail&&tt()>Wl&&(t.flags|=128,o=!0,Ks(s,!1),t.lanes=4194304)}else{if(!o)if(null!==(e=oa(l))){if(t.flags|=128,o=!0,null!==(i=e.updateQueue)&&(t.updateQueue=i,t.flags|=4),Ks(s,!0),null===s.tail&&"hidden"===s.tailMode&&!l.alternate&&!lo)return Xs(t),null}else 2*tt()-s.renderingStartTime>Wl&&1073741824!==i&&(t.flags|=128,o=!0,Ks(s,!1),t.lanes=4194304);s.isBackwards?(l.sibling=t.child,t.child=l):(null!==(i=s.last)?i.sibling=l:t.child=l,s.last=l)}return null!==s.tail?(s.rendering=t=s.tail,s.tail=t.sibling,s.renderingStartTime=tt(),t.sibling=null,i=ra.current,$r(ra,o?1&i|2:1&i),t):(Xs(t),null);case 22:case 23:return gc(),o=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==o&&(t.flags|=8192),o&&1&t.mode?!!(1073741824&Pl)&&(Xs(t),6&t.subtreeFlags&&(t.flags|=8192)):Xs(t),null;case 24:case 25:return null}throw Error(n(156,t.tag))}function Ys(e,t){switch(oo(t),t.tag){case 1:return Pr(t.type)&&Hr(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return ta(),zr(Ar),zr(Nr),sa(),65536&(e=t.flags)&&!(128&e)?(t.flags=-65537&e|128,t):null;case 5:return ia(t),null;case 13:if(zr(ra),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(n(340));bo()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return zr(ra),null;case 4:return ta(),null;case 10:return No(t.type._context),null;case 22:case 23:return gc(),null;default:return null}}Vs=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Ps=function(){},Hs=function(e,t,n,i){var o=e.memoizedProps;if(o!==i){e=t.stateNode,Jo(Xo.current);var a,s=null;switch(n){case"input":o=J(e,o),i=J(e,i),s=[];break;case"select":o=O({},o,{value:void 0}),i=O({},i,{value:void 0}),s=[];break;case"textarea":o=se(e,o),i=se(e,i),s=[];break;default:"function"!=typeof o.onClick&&"function"==typeof i.onClick&&(e.onclick=ir)}for(d in ke(n,i),n=null,o)if(!i.hasOwnProperty(d)&&o.hasOwnProperty(d)&&null!=o[d])if("style"===d){var l=o[d];for(a in l)l.hasOwnProperty(a)&&(n||(n={}),n[a]="")}else"dangerouslySetInnerHTML"!==d&&"children"!==d&&"suppressContentEditableWarning"!==d&&"suppressHydrationWarning"!==d&&"autoFocus"!==d&&(r.hasOwnProperty(d)?s||(s=[]):(s=s||[]).push(d,null));for(d in i){var c=i[d];if(l=null!=o?o[d]:void 0,i.hasOwnProperty(d)&&c!==l&&(null!=c||null!=l))if("style"===d)if(l){for(a in l)!l.hasOwnProperty(a)||c&&c.hasOwnProperty(a)||(n||(n={}),n[a]="");for(a in c)c.hasOwnProperty(a)&&l[a]!==c[a]&&(n||(n={}),n[a]=c[a])}else n||(s||(s=[]),s.push(d,n)),n=c;else"dangerouslySetInnerHTML"===d?(l=l?l.__html:void 0,null!=(c=c?c.__html:void 0)&&l!==c&&(s=s||[]).push(d,c)):"children"===d?"string"!=typeof c&&"number"!=typeof c||(s=s||[]).push(d,""+c):"suppressContentEditableWarning"!==d&&"suppressHydrationWarning"!==d&&(r.hasOwnProperty(d)?(null!=c&&"onScroll"===d&&Fi("scroll",e),s||l===c||(s=[])):(s=s||[]).push(d,c))}n&&(s=s||[]).push("style",n);var d=s;(t.updateQueue=d)&&(t.flags|=4)}},Rs=function(e,t,n,i){n!==i&&(t.flags|=4)};var Js=!1,el=!1,tl="function"==typeof WeakSet?WeakSet:Set,nl=null;function il(e,t){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(n){Ec(e,t,n)}else n.current=null}function rl(e,t,n){try{n()}catch(n){Ec(e,t,n)}}var ol=!1;function al(e,t,n){var i=t.updateQueue;if(null!==(i=null!==i?i.lastEffect:null)){var r=i=i.next;do{if((r.tag&e)===e){var o=r.destroy;r.destroy=void 0,void 0!==o&&rl(t,n,o)}r=r.next}while(r!==i)}}function sl(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{(n.tag&e)===e&&(n.destroy=(0,n.create)()),n=n.next}while(n!==t)}}function ll(e){var t=e.ref;null!==t&&(e=e.stateNode,"function"==typeof t?t(e):t.current=e)}function cl(e){var t=e.alternate;null!==t&&(e.alternate=null,cl(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&null!==(t=e.stateNode)&&(delete t[vr],delete t[mr],delete t[wr],delete t[yr],delete t[_r]),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function dl(e){return 5===e.tag||3===e.tag||4===e.tag}function ul(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||dl(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function hl(e,t,n){var i=e.tag;if(5===i||6===i)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=ir));else if(4!==i&&null!==(e=e.child))for(hl(e,t,n),e=e.sibling;null!==e;)hl(e,t,n),e=e.sibling}function fl(e,t,n){var i=e.tag;if(5===i||6===i)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==i&&null!==(e=e.child))for(fl(e,t,n),e=e.sibling;null!==e;)fl(e,t,n),e=e.sibling}var pl=null,gl=!1;function vl(e,t,n){for(n=n.child;null!==n;)ml(e,t,n),n=n.sibling}function ml(e,t,n){if(ct&&"function"==typeof ct.onCommitFiberUnmount)try{ct.onCommitFiberUnmount(lt,n)}catch(e){}switch(n.tag){case 5:el||il(n,t);case 6:var i=pl,r=gl;pl=null,vl(e,t,n),gl=r,null!==(pl=i)&&(gl?(n=n.stateNode,8===(e=pl).nodeType?e.parentNode.removeChild(n):e.removeChild(n)):pl.removeChild(n.stateNode));break;case 18:null!==pl&&(gl?(n=n.stateNode,8===(e=pl).nodeType?hr(e.parentNode,n):1===e.nodeType&&hr(e,n),Wt(e)):hr(pl,n.stateNode));break;case 4:i=pl,r=gl,pl=n.stateNode.containerInfo,gl=!0,vl(e,t,n),pl=i,gl=r;break;case 0:case 11:case 14:case 15:if(!el&&null!==(i=n.updateQueue)&&null!==(i=i.lastEffect)){r=i=i.next;do{var o=r,a=o.destroy;o=o.tag,void 0!==a&&(2&o||4&o)&&rl(n,t,a),r=r.next}while(r!==i)}vl(e,t,n);break;case 1:if(!el&&(il(n,t),"function"==typeof(i=n.stateNode).componentWillUnmount))try{i.props=n.memoizedProps,i.state=n.memoizedState,i.componentWillUnmount()}catch(e){Ec(n,t,e)}vl(e,t,n);break;case 21:vl(e,t,n);break;case 22:1&n.mode?(el=(i=el)||null!==n.memoizedState,vl(e,t,n),el=i):vl(e,t,n);break;default:vl(e,t,n)}}function bl(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new tl),t.forEach((function(t){var i=Nc.bind(null,e,t);n.has(t)||(n.add(t),t.then(i,i))}))}}function wl(e,t){var i=t.deletions;if(null!==i)for(var r=0;r<i.length;r++){var o=i[r];try{var a=e,s=t,l=s;e:for(;null!==l;){switch(l.tag){case 5:pl=l.stateNode,gl=!1;break e;case 3:case 4:pl=l.stateNode.containerInfo,gl=!0;break e}l=l.return}if(null===pl)throw Error(n(160));ml(a,s,o),pl=null,gl=!1;var c=o.alternate;null!==c&&(c.return=null),o.return=null}catch(e){Ec(o,t,e)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)yl(t,e),t=t.sibling}function yl(e,t){var i=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(wl(t,e),_l(e),4&r){try{al(3,e,e.return),sl(3,e)}catch(t){Ec(e,e.return,t)}try{al(5,e,e.return)}catch(t){Ec(e,e.return,t)}}break;case 1:wl(t,e),_l(e),512&r&&null!==i&&il(i,i.return);break;case 5:if(wl(t,e),_l(e),512&r&&null!==i&&il(i,i.return),32&e.flags){var o=e.stateNode;try{ve(o,"")}catch(t){Ec(e,e.return,t)}}if(4&r&&null!=(o=e.stateNode)){var a=e.memoizedProps,s=null!==i?i.memoizedProps:a,l=e.type,c=e.updateQueue;if(e.updateQueue=null,null!==c)try{"input"===l&&"radio"===a.type&&null!=a.name&&te(o,a),xe(l,s);var d=xe(l,a);for(s=0;s<c.length;s+=2){var u=c[s],h=c[s+1];"style"===u?ye(o,h):"dangerouslySetInnerHTML"===u?ge(o,h):"children"===u?ve(o,h):x(o,u,h,d)}switch(l){case"input":ne(o,a);break;case"textarea":ce(o,a);break;case"select":var f=o._wrapperState.wasMultiple;o._wrapperState.wasMultiple=!!a.multiple;var p=a.value;null!=p?ae(o,!!a.multiple,p,!1):f!==!!a.multiple&&(null!=a.defaultValue?ae(o,!!a.multiple,a.defaultValue,!0):ae(o,!!a.multiple,a.multiple?[]:"",!1))}o[mr]=a}catch(t){Ec(e,e.return,t)}}break;case 6:if(wl(t,e),_l(e),4&r){if(null===e.stateNode)throw Error(n(162));o=e.stateNode,a=e.memoizedProps;try{o.nodeValue=a}catch(t){Ec(e,e.return,t)}}break;case 3:if(wl(t,e),_l(e),4&r&&null!==i&&i.memoizedState.isDehydrated)try{Wt(t.containerInfo)}catch(t){Ec(e,e.return,t)}break;case 4:default:wl(t,e),_l(e);break;case 13:wl(t,e),_l(e),8192&(o=e.child).flags&&(o.stateNode.isHidden=a=null!==o.memoizedState,!a||null!==o.alternate&&null!==o.alternate.memoizedState||(ql=tt())),4&r&&bl(e);break;case 22:if(u=null!==i&&null!==i.memoizedState,1&e.mode?(el=(d=el)||u,wl(t,e),el=d):wl(t,e),_l(e),8192&r){if((e.stateNode.isHidden=d=null!==e.memoizedState)&&!u&&1&e.mode)for(nl=e,u=e.child;null!==u;){for(h=nl=u;null!==nl;){switch(p=(f=nl).child,f.tag){case 0:case 11:case 14:case 15:al(4,f,f.return);break;case 1:il(f,f.return);var g=f.stateNode;if("function"==typeof g.componentWillUnmount){r=f,i=f.return;try{g.props=(t=r).memoizedProps,g.state=t.memoizedState,g.componentWillUnmount()}catch(e){Ec(r,i,e)}}break;case 5:il(f,f.return);break;case 22:if(null!==f.memoizedState){Cl(h);continue}}null!==p?(p.return=f,nl=p):Cl(h)}u=u.sibling}e:for(u=null,h=e;;){if(5===h.tag){if(null===u){u=h;try{o=h.stateNode,d?"function"==typeof(a=o.style).setProperty?a.setProperty("display","none","important"):a.display="none":(l=h.stateNode,s=null!=(c=h.memoizedProps.style)&&c.hasOwnProperty("display")?c.display:null,l.style.display=we("display",s))}catch(t){Ec(e,e.return,t)}}}else if(6===h.tag){if(null===u)try{h.stateNode.nodeValue=d?"":h.memoizedProps}catch(t){Ec(e,e.return,t)}}else if((22!==h.tag&&23!==h.tag||null===h.memoizedState||h===e)&&null!==h.child){h.child.return=h,h=h.child;continue}if(h===e)break e;for(;null===h.sibling;){if(null===h.return||h.return===e)break e;u===h&&(u=null),h=h.return}u===h&&(u=null),h.sibling.return=h.return,h=h.sibling}}break;case 19:wl(t,e),_l(e),4&r&&bl(e);case 21:}}function _l(e){var t=e.flags;if(2&t){try{e:{for(var i=e.return;null!==i;){if(dl(i)){var r=i;break e}i=i.return}throw Error(n(160))}switch(r.tag){case 5:var o=r.stateNode;32&r.flags&&(ve(o,""),r.flags&=-33),fl(e,ul(e),o);break;case 3:case 4:var a=r.stateNode.containerInfo;hl(e,ul(e),a);break;default:throw Error(n(161))}}catch(t){Ec(e,e.return,t)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function kl(e){nl=e,xl(e)}function xl(e){for(var t=!!(1&e.mode);null!==nl;){var n=nl,i=n.child;if(22===n.tag&&t){var r=null!==n.memoizedState||Js;if(!r){var o=n.alternate,a=null!==o&&null!==o.memoizedState||el;o=Js;var s=el;if(Js=r,(el=a)&&!s)for(nl=n;null!==nl;)a=(r=nl).child,22===r.tag&&null!==r.memoizedState?Ll(n):null!==a?(a.return=r,nl=a):Ll(n);for(;null!==i;)nl=i,xl(i),i=i.sibling;nl=n,Js=o,el=s}Sl(e)}else 8772&n.subtreeFlags&&null!==i?(i.return=n,nl=i):Sl(e)}}function Sl(e){for(;null!==nl;){var t=nl;if(8772&t.flags){var i=t.alternate;try{if(8772&t.flags)switch(t.tag){case 0:case 11:case 15:el||sl(5,t);break;case 1:var r=t.stateNode;if(4&t.flags&&!el)if(null===i)r.componentDidMount();else{var o=t.elementType===t.type?i.memoizedProps:as(t.type,i.memoizedProps);r.componentDidUpdate(o,i.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var a=t.updateQueue;null!==a&&Zo(t,a,r);break;case 3:var s=t.updateQueue;if(null!==s){if(i=null,null!==t.child)switch(t.child.tag){case 5:case 1:i=t.child.stateNode}Zo(t,s,i)}break;case 5:if(null===i&&4&t.flags){i=t.stateNode;var l=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":l.autoFocus&&i.focus();break;case"img":l.src&&(i.src=l.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var c=t.alternate;if(null!==c){var d=c.memoizedState;if(null!==d){var u=d.dehydrated;null!==u&&Wt(u)}}}break;default:throw Error(n(163))}el||512&t.flags&&ll(t)}catch(e){Ec(t,t.return,e)}}if(t===e){nl=null;break}if(null!==(i=t.sibling)){i.return=t.return,nl=i;break}nl=t.return}}function Cl(e){for(;null!==nl;){var t=nl;if(t===e){nl=null;break}var n=t.sibling;if(null!==n){n.return=t.return,nl=n;break}nl=t.return}}function Ll(e){for(;null!==nl;){var t=nl;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{sl(4,t)}catch(e){Ec(t,n,e)}break;case 1:var i=t.stateNode;if("function"==typeof i.componentDidMount){var r=t.return;try{i.componentDidMount()}catch(e){Ec(t,r,e)}}var o=t.return;try{ll(t)}catch(e){Ec(t,o,e)}break;case 5:var a=t.return;try{ll(t)}catch(e){Ec(t,a,e)}}}catch(e){Ec(t,t.return,e)}if(t===e){nl=null;break}var s=t.sibling;if(null!==s){s.return=t.return,nl=s;break}nl=t.return}}var Ml,El=Math.ceil,zl=S.ReactCurrentDispatcher,$l=S.ReactCurrentOwner,Tl=S.ReactCurrentBatchConfig,Nl=0,Al=null,Il=null,Vl=0,Pl=0,Hl=Er(0),Rl=0,Dl=null,Bl=0,Ol=0,jl=0,Fl=null,Ul=null,ql=0,Wl=1/0,Gl=null,Zl=!1,Kl=null,Xl=null,Ql=!1,Yl=null,Jl=0,ec=0,tc=null,nc=-1,ic=0;function rc(){return 6&Nl?tt():-1!==nc?nc:nc=tt()}function oc(e){return 1&e.mode?2&Nl&&0!==Vl?Vl&-Vl:null!==yo.transition?(0===ic&&(ic=wt()),ic):0!==(e=xt)?e:e=void 0===(e=window.event)?16:en(e.type):1}function ac(e,t,i,r){if(50<ec)throw ec=0,tc=null,Error(n(185));_t(e,i,r),2&Nl&&e===Al||(e===Al&&(!(2&Nl)&&(Ol|=i),4===Rl&&uc(e,Vl)),sc(e,r),1===i&&0===Nl&&!(1&t.mode)&&(Wl=tt()+500,Fr&&Wr()))}function sc(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,i=e.pingedLanes,r=e.expirationTimes,o=e.pendingLanes;0<o;){var a=31-dt(o),s=1<<a,l=r[a];-1===l?s&n&&!(s&i)||(r[a]=mt(s,t)):l<=t&&(e.expiredLanes|=s),o&=~s}}(e,t);var i=vt(e,e===Al?Vl:0);if(0===i)null!==n&&Ye(n),e.callbackNode=null,e.callbackPriority=0;else if(e.callbackPriority!==(t=i&-i)){if(null!=n&&Ye(n),1===t)0===e.tag?function(e){Fr=!0,qr(e)}(hc.bind(null,e)):qr(hc.bind(null,e)),dr((function(){!(6&Nl)&&Wr()})),n=null;else{switch(St(i)){case 1:n=it;break;case 4:n=rt;break;case 16:default:n=ot;break;case 536870912:n=st}n=Ac(n,lc.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function lc(e,t){if(nc=-1,ic=0,6&Nl)throw Error(n(327));var i=e.callbackNode;if(Lc()&&e.callbackNode!==i)return null;var r=vt(e,e===Al?Vl:0);if(0===r)return null;if(30&r||r&e.expiredLanes||t)t=yc(e,r);else{t=r;var o=Nl;Nl|=2;var a=bc();for(Al===e&&Vl===t||(Gl=null,Wl=tt()+500,vc(e,t));;)try{kc();break}catch(t){mc(e,t)}To(),zl.current=a,Nl=o,null!==Il?t=0:(Al=null,Vl=0,t=Rl)}if(0!==t){if(2===t&&0!==(o=bt(e))&&(r=o,t=cc(e,o)),1===t)throw i=Dl,vc(e,0),uc(e,r),sc(e,tt()),i;if(6===t)uc(e,r);else{if(o=e.current.alternate,!(30&r||function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var i=0;i<n.length;i++){var r=n[i],o=r.getSnapshot;r=r.value;try{if(!ui(o(),r))return!1}catch(e){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(o)||(t=yc(e,r),2===t&&(a=bt(e),0!==a&&(r=a,t=cc(e,a))),1!==t)))throw i=Dl,vc(e,0),uc(e,r),sc(e,tt()),i;switch(e.finishedWork=o,e.finishedLanes=r,t){case 0:case 1:throw Error(n(345));case 2:case 5:Cc(e,Ul,Gl);break;case 3:if(uc(e,r),(130023424&r)===r&&10<(t=ql+500-tt())){if(0!==vt(e,0))break;if(((o=e.suspendedLanes)&r)!==r){rc(),e.pingedLanes|=e.suspendedLanes&o;break}e.timeoutHandle=sr(Cc.bind(null,e,Ul,Gl),t);break}Cc(e,Ul,Gl);break;case 4:if(uc(e,r),(4194240&r)===r)break;for(t=e.eventTimes,o=-1;0<r;){var s=31-dt(r);a=1<<s,(s=t[s])>o&&(o=s),r&=~a}if(r=o,10<(r=(120>(r=tt()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*El(r/1960))-r)){e.timeoutHandle=sr(Cc.bind(null,e,Ul,Gl),r);break}Cc(e,Ul,Gl);break;default:throw Error(n(329))}}}return sc(e,tt()),e.callbackNode===i?lc.bind(null,e):null}function cc(e,t){var n=Fl;return e.current.memoizedState.isDehydrated&&(vc(e,t).flags|=256),2!==(e=yc(e,t))&&(t=Ul,Ul=n,null!==t&&dc(t)),e}function dc(e){null===Ul?Ul=e:Ul.push.apply(Ul,e)}function uc(e,t){for(t&=~jl,e.suspendedLanes|=t&=~Ol,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-dt(t),i=1<<n;e[n]=-1,t&=~i}}function hc(e){if(6&Nl)throw Error(n(327));Lc();var t=vt(e,0);if(!(1&t))return sc(e,tt()),null;var i=yc(e,t);if(0!==e.tag&&2===i){var r=bt(e);0!==r&&(t=r,i=cc(e,r))}if(1===i)throw i=Dl,vc(e,0),uc(e,t),sc(e,tt()),i;if(6===i)throw Error(n(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Cc(e,Ul,Gl),sc(e,tt()),null}function fc(e,t){var n=Nl;Nl|=1;try{return e(t)}finally{0===(Nl=n)&&(Wl=tt()+500,Fr&&Wr())}}function pc(e){null!==Yl&&0===Yl.tag&&!(6&Nl)&&Lc();var t=Nl;Nl|=1;var n=Tl.transition,i=xt;try{if(Tl.transition=null,xt=1,e)return e()}finally{xt=i,Tl.transition=n,!(6&(Nl=t))&&Wr()}}function gc(){Pl=Hl.current,zr(Hl)}function vc(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,lr(n)),null!==Il)for(n=Il.return;null!==n;){var i=n;switch(oo(i),i.tag){case 1:null!=(i=i.type.childContextTypes)&&Hr();break;case 3:ta(),zr(Ar),zr(Nr),sa();break;case 5:ia(i);break;case 4:ta();break;case 13:case 19:zr(ra);break;case 10:No(i.type._context);break;case 22:case 23:gc()}n=n.return}if(Al=e,Il=e=Hc(e.current,null),Vl=Pl=t,Rl=0,Dl=null,jl=Ol=Bl=0,Ul=Fl=null,null!==Po){for(t=0;t<Po.length;t++)if(null!==(i=(n=Po[t]).interleaved)){n.interleaved=null;var r=n.pending;if(null!==r){var o=r.next;r.next=i.next,i.next=o}n.pending=i}Po=null}return e}function mc(e,t){for(;;){var i=Il;try{if(To(),la.current=ns,pa){for(var r=ua.memoizedState;null!==r;){var o=r.queue;null!==o&&(o.pending=null),r=r.next}pa=!1}if(da=0,fa=ha=ua=null,ga=!1,va=0,$l.current=null,null===i||null===i.return){Rl=1,Dl=t,Il=null;break}e:{var a=e,s=i.return,l=i,c=t;if(t=Vl,l.flags|=32768,null!==c&&"object"==typeof c&&"function"==typeof c.then){var d=c,u=l,h=u.tag;if(!(1&u.mode||0!==h&&11!==h&&15!==h)){var f=u.alternate;f?(u.updateQueue=f.updateQueue,u.memoizedState=f.memoizedState,u.lanes=f.lanes):(u.updateQueue=null,u.memoizedState=null)}var p=ys(s);if(null!==p){p.flags&=-257,_s(p,s,l,0,t),1&p.mode&&ws(a,d,t),c=d;var g=(t=p).updateQueue;if(null===g){var v=new Set;v.add(c),t.updateQueue=v}else g.add(c);break e}if(!(1&t)){ws(a,d,t),wc();break e}c=Error(n(426))}else if(lo&&1&l.mode){var m=ys(s);if(null!==m){!(65536&m.flags)&&(m.flags|=256),_s(m,s,l,0,t),wo(fs(c,l));break e}}a=c=fs(c,l),4!==Rl&&(Rl=2),null===Fl?Fl=[a]:Fl.push(a),a=s;do{switch(a.tag){case 3:a.flags|=65536,a.lanes|=t&=-t,Wo(a,ms(0,c,t));break e;case 1:l=c;var b=a.stateNode;if(!(128&a.flags||"function"!=typeof a.type.getDerivedStateFromError&&(null===b||"function"!=typeof b.componentDidCatch||null!==Xl&&Xl.has(b)))){a.flags|=65536,a.lanes|=t&=-t,Wo(a,bs(a,l,t));break e}}a=a.return}while(null!==a)}Sc(i)}catch(e){t=e,Il===i&&null!==i&&(Il=i=i.return);continue}break}}function bc(){var e=zl.current;return zl.current=ns,null===e?ns:e}function wc(){0!==Rl&&3!==Rl&&2!==Rl||(Rl=4),null===Al||!(268435455&Bl)&&!(268435455&Ol)||uc(Al,Vl)}function yc(e,t){var i=Nl;Nl|=2;var r=bc();for(Al===e&&Vl===t||(Gl=null,vc(e,t));;)try{_c();break}catch(t){mc(e,t)}if(To(),Nl=i,zl.current=r,null!==Il)throw Error(n(261));return Al=null,Vl=0,Rl}function _c(){for(;null!==Il;)xc(Il)}function kc(){for(;null!==Il&&!Je();)xc(Il)}function xc(e){var t=Ml(e.alternate,e,Pl);e.memoizedProps=e.pendingProps,null===t?Sc(e):Il=t,$l.current=null}function Sc(e){var t=e;do{var n=t.alternate;if(e=t.return,32768&t.flags){if(null!==(n=Ys(n,t)))return n.flags&=32767,void(Il=n);if(null===e)return Rl=6,void(Il=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}else if(null!==(n=Qs(n,t,Pl)))return void(Il=n);if(null!==(t=t.sibling))return void(Il=t);Il=t=e}while(null!==t);0===Rl&&(Rl=5)}function Cc(e,t,i){var r=xt,o=Tl.transition;try{Tl.transition=null,xt=1,function(e,t,i,r){do{Lc()}while(null!==Yl);if(6&Nl)throw Error(n(327));var o=e.finishedLanes;if(null===(i=e.finishedWork))return null;if(e.finishedWork=null,e.finishedLanes=0,i===e.current)throw Error(n(177));e.callbackNode=null,e.callbackPriority=0;var a=i.lanes|i.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var i=e.eventTimes;for(e=e.expirationTimes;0<n;){var r=31-dt(n),o=1<<r;t[r]=0,i[r]=-1,e[r]=-1,n&=~o}}(e,a),e===Al&&(Il=Al=null,Vl=0),!(2064&i.subtreeFlags)&&!(2064&i.flags)||Ql||(Ql=!0,Ac(ot,(function(){return Lc(),null}))),a=!!(15990&i.flags),15990&i.subtreeFlags||a){a=Tl.transition,Tl.transition=null;var s=xt;xt=1;var l=Nl;Nl|=4,$l.current=null,function(e,t){if(rr=Zt,mi(e=vi())){if("selectionStart"in e)var i={start:e.selectionStart,end:e.selectionEnd};else{var r=(i=(i=e.ownerDocument)&&i.defaultView||window).getSelection&&i.getSelection();if(r&&0!==r.rangeCount){i=r.anchorNode;var o=r.anchorOffset,a=r.focusNode;r=r.focusOffset;var s=0,l=-1,c=-1,d=0,u=0,h=e,f=null;e:for(;;){for(var p;h!==i||0!==o&&3!==h.nodeType||(l=s+o),h!==a||0!==r&&3!==h.nodeType||(c=s+r),3===h.nodeType&&(s+=h.nodeValue.length),null!==(p=h.firstChild);)f=h,h=p;for(;;){if(h===e)break e;if(f===i&&++d===o&&(l=s),f===a&&++u===r&&(c=s),null!==(p=h.nextSibling))break;f=(h=f).parentNode}h=p}i=-1===l||-1===c?null:{start:l,end:c}}else i=null}i=i||{start:0,end:0}}else i=null;for(or={focusedElem:e,selectionRange:i},Zt=!1,nl=t;null!==nl;)if(e=(t=nl).child,1028&t.subtreeFlags&&null!==e)e.return=t,nl=e;else for(;null!==nl;){t=nl;try{var g=t.alternate;if(1024&t.flags)switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==g){var v=g.memoizedProps,m=g.memoizedState,b=t.stateNode,w=b.getSnapshotBeforeUpdate(t.elementType===t.type?v:as(t.type,v),m);b.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var y=t.stateNode.containerInfo;1===y.nodeType?y.textContent="":9===y.nodeType&&y.documentElement&&y.removeChild(y.documentElement);break;default:throw Error(n(163))}}catch(e){Ec(t,t.return,e)}if(null!==(e=t.sibling)){e.return=t.return,nl=e;break}nl=t.return}g=ol,ol=!1}(e,i),yl(i,e),bi(or),Zt=!!rr,or=rr=null,e.current=i,kl(i),et(),Nl=l,xt=s,Tl.transition=a}else e.current=i;if(Ql&&(Ql=!1,Yl=e,Jl=o),0===(a=e.pendingLanes)&&(Xl=null),function(e){if(ct&&"function"==typeof ct.onCommitFiberRoot)try{ct.onCommitFiberRoot(lt,e,void 0,!(128&~e.current.flags))}catch(e){}}(i.stateNode),sc(e,tt()),null!==t)for(r=e.onRecoverableError,i=0;i<t.length;i++)r((o=t[i]).value,{componentStack:o.stack,digest:o.digest});if(Zl)throw Zl=!1,e=Kl,Kl=null,e;!!(1&Jl)&&0!==e.tag&&Lc(),1&(a=e.pendingLanes)?e===tc?ec++:(ec=0,tc=e):ec=0,Wr()}(e,t,i,r)}finally{Tl.transition=o,xt=r}return null}function Lc(){if(null!==Yl){var e=St(Jl),t=Tl.transition,i=xt;try{if(Tl.transition=null,xt=16>e?16:e,null===Yl)var r=!1;else{if(e=Yl,Yl=null,Jl=0,6&Nl)throw Error(n(331));var o=Nl;for(Nl|=4,nl=e.current;null!==nl;){var a=nl,s=a.child;if(16&nl.flags){var l=a.deletions;if(null!==l){for(var c=0;c<l.length;c++){var d=l[c];for(nl=d;null!==nl;){var u=nl;switch(u.tag){case 0:case 11:case 15:al(8,u,a)}var h=u.child;if(null!==h)h.return=u,nl=h;else for(;null!==nl;){var f=(u=nl).sibling,p=u.return;if(cl(u),u===d){nl=null;break}if(null!==f){f.return=p,nl=f;break}nl=p}}}var g=a.alternate;if(null!==g){var v=g.child;if(null!==v){g.child=null;do{var m=v.sibling;v.sibling=null,v=m}while(null!==v)}}nl=a}}if(2064&a.subtreeFlags&&null!==s)s.return=a,nl=s;else e:for(;null!==nl;){if(2048&(a=nl).flags)switch(a.tag){case 0:case 11:case 15:al(9,a,a.return)}var b=a.sibling;if(null!==b){b.return=a.return,nl=b;break e}nl=a.return}}var w=e.current;for(nl=w;null!==nl;){var y=(s=nl).child;if(2064&s.subtreeFlags&&null!==y)y.return=s,nl=y;else e:for(s=w;null!==nl;){if(2048&(l=nl).flags)try{switch(l.tag){case 0:case 11:case 15:sl(9,l)}}catch(e){Ec(l,l.return,e)}if(l===s){nl=null;break e}var _=l.sibling;if(null!==_){_.return=l.return,nl=_;break e}nl=l.return}}if(Nl=o,Wr(),ct&&"function"==typeof ct.onPostCommitFiberRoot)try{ct.onPostCommitFiberRoot(lt,e)}catch(e){}r=!0}return r}finally{xt=i,Tl.transition=t}}return!1}function Mc(e,t,n){e=Uo(e,t=ms(0,t=fs(n,t),1),1),t=rc(),null!==e&&(_t(e,1,t),sc(e,t))}function Ec(e,t,n){if(3===e.tag)Mc(e,e,n);else for(;null!==t;){if(3===t.tag){Mc(t,e,n);break}if(1===t.tag){var i=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof i.componentDidCatch&&(null===Xl||!Xl.has(i))){t=Uo(t,e=bs(t,e=fs(n,e),1),1),e=rc(),null!==t&&(_t(t,1,e),sc(t,e));break}}t=t.return}}function zc(e,t,n){var i=e.pingCache;null!==i&&i.delete(t),t=rc(),e.pingedLanes|=e.suspendedLanes&n,Al===e&&(Vl&n)===n&&(4===Rl||3===Rl&&(130023424&Vl)===Vl&&500>tt()-ql?vc(e,0):jl|=n),sc(e,t)}function $c(e,t){0===t&&(1&e.mode?(t=pt,!(130023424&(pt<<=1))&&(pt=4194304)):t=1);var n=rc();null!==(e=Do(e,t))&&(_t(e,t,n),sc(e,n))}function Tc(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),$c(e,n)}function Nc(e,t){var i=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;null!==o&&(i=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(n(314))}null!==r&&r.delete(t),$c(e,i)}function Ac(e,t){return Qe(e,t)}function Ic(e,t,n,i){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Vc(e,t,n,i){return new Ic(e,t,n,i)}function Pc(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Hc(e,t){var n=e.alternate;return null===n?((n=Vc(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,n.dependencies=null===(t=e.dependencies)?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Rc(e,t,i,r,o,a){var s=2;if(r=e,"function"==typeof e)Pc(e)&&(s=1);else if("string"==typeof e)s=5;else e:switch(e){case M:return Dc(i.children,o,a,t);case E:s=8,o|=8;break;case z:return(e=Vc(12,i,t,2|o)).elementType=z,e.lanes=a,e;case A:return(e=Vc(13,i,t,o)).elementType=A,e.lanes=a,e;case I:return(e=Vc(19,i,t,o)).elementType=I,e.lanes=a,e;case H:return Bc(i,o,a,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case $:s=10;break e;case T:s=9;break e;case N:s=11;break e;case V:s=14;break e;case P:s=16,r=null;break e}throw Error(n(130,null==e?e:typeof e,""))}return(t=Vc(s,i,t,o)).elementType=e,t.type=r,t.lanes=a,t}function Dc(e,t,n,i){return(e=Vc(7,e,i,t)).lanes=n,e}function Bc(e,t,n,i){return(e=Vc(22,e,i,t)).elementType=H,e.lanes=n,e.stateNode={isHidden:!1},e}function Oc(e,t,n){return(e=Vc(6,e,null,t)).lanes=n,e}function jc(e,t,n){return(t=Vc(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Fc(e,t,n,i,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=yt(0),this.expirationTimes=yt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=yt(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Uc(e,t,n,i,r,o,a,s,l){return e=new Fc(e,t,n,s,l),1===t?(t=1,!0===o&&(t|=8)):t=0,o=Vc(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:i,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Oo(o),e}function qc(e){if(!e)return Tr;e:{if(We(e=e._reactInternals)!==e||1!==e.tag)throw Error(n(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Pr(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(n(171))}if(1===e.tag){var i=e.type;if(Pr(i))return Dr(e,i,t)}return t}function Wc(e,t,n,i,r,o,a,s,l){return(e=Uc(n,i,!0,e,0,o,0,s,l)).context=qc(null),n=e.current,(o=Fo(i=rc(),r=oc(n))).callback=null!=t?t:null,Uo(n,o,r),e.current.lanes=r,_t(e,r,i),sc(e,i),e}function Gc(e,t,n,i){var r=t.current,o=rc(),a=oc(r);return n=qc(n),null===t.context?t.context=n:t.pendingContext=n,(t=Fo(o,a)).payload={element:e},null!==(i=void 0===i?null:i)&&(t.callback=i),null!==(e=Uo(r,t,a))&&(ac(e,r,a,o),qo(e,r,a)),a}function Zc(e){return(e=e.current).child?e.child.stateNode:null}function Kc(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function Xc(e,t){Kc(e,t),(e=e.alternate)&&Kc(e,t)}Ml=function(e,t,i){if(null!==e)if(e.memoizedProps!==t.pendingProps||Ar.current)xs=!0;else{if(!(e.lanes&i||128&t.flags))return xs=!1,function(e,t,n){switch(t.tag){case 3:As(t),bo();break;case 5:na(t);break;case 1:Pr(t.type)&&Br(t);break;case 4:ea(t,t.stateNode.containerInfo);break;case 10:var i=t.type._context,r=t.memoizedProps.value;$r(Mo,i._currentValue),i._currentValue=r;break;case 13:if(null!==(i=t.memoizedState))return null!==i.dehydrated?($r(ra,1&ra.current),t.flags|=128,null):n&t.child.childLanes?Os(e,t,n):($r(ra,1&ra.current),null!==(e=Zs(e,t,n))?e.sibling:null);$r(ra,1&ra.current);break;case 19:if(i=!!(n&t.childLanes),128&e.flags){if(i)return Ws(e,t,n);t.flags|=128}if(null!==(r=t.memoizedState)&&(r.rendering=null,r.tail=null,r.lastEffect=null),$r(ra,ra.current),i)break;return null;case 22:case 23:return t.lanes=0,Es(e,t,n)}return Zs(e,t,n)}(e,t,i);xs=!!(131072&e.flags)}else xs=!1,lo&&1048576&t.flags&&io(t,Xr,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Gs(e,t),e=t.pendingProps;var o=Vr(t,Nr.current);Io(t,i),o=ya(null,t,r,e,o,i);var a=_a();return t.flags|=1,"object"==typeof o&&null!==o&&"function"==typeof o.render&&void 0===o.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Pr(r)?(a=!0,Br(t)):a=!1,t.memoizedState=null!=o.state?o.state:null,Oo(t),o.updater=ls,t.stateNode=o,o._reactInternals=t,hs(t,r,e,i),t=Ns(null,t,r,!0,a,i)):(t.tag=0,lo&&a&&ro(t),Ss(null,t,o,i),t=t.child),t;case 16:r=t.elementType;e:{switch(Gs(e,t),e=t.pendingProps,r=(o=r._init)(r._payload),t.type=r,o=t.tag=function(e){if("function"==typeof e)return Pc(e)?1:0;if(null!=e){if((e=e.$$typeof)===N)return 11;if(e===V)return 14}return 2}(r),e=as(r,e),o){case 0:t=$s(null,t,r,e,i);break e;case 1:t=Ts(null,t,r,e,i);break e;case 11:t=Cs(null,t,r,e,i);break e;case 14:t=Ls(null,t,r,as(r.type,e),i);break e}throw Error(n(306,r,""))}return t;case 0:return o=t.pendingProps,$s(e,t,r=t.type,o=t.elementType===r?o:as(r,o),i);case 1:return o=t.pendingProps,Ts(e,t,r=t.type,o=t.elementType===r?o:as(r,o),i);case 3:e:{if(As(t),null===e)throw Error(n(387));r=t.pendingProps,o=(a=t.memoizedState).element,jo(e,t),Go(t,r,null,i);var s=t.memoizedState;if(r=s.element,a.isDehydrated){if(t.updateQueue.baseState=a={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.memoizedState=a,256&t.flags){t=Is(e,t,r,i,o=fs(Error(n(423)),t));break e}if(r!==o){t=Is(e,t,r,i,o=fs(Error(n(424)),t));break e}for(so=fr(t.stateNode.containerInfo.firstChild),ao=t,lo=!0,co=null,i=Lo(t,null,r,i),t.child=i;i;)i.flags=-3&i.flags|4096,i=i.sibling}else{if(bo(),r===o){t=Zs(e,t,i);break e}Ss(e,t,r,i)}t=t.child}return t;case 5:return na(t),null===e&&po(t),a=null!==e?e.memoizedProps:null,s=(o=t.pendingProps).children,ar(r=t.type,o)?s=null:null!==a&&ar(r,a)&&(t.flags|=32),zs(e,t),Ss(e,t,s,i),t.child;case 6:return null===e&&po(t),null;case 13:return Os(e,t,i);case 4:return ea(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=Co(t,null,r,i):Ss(e,t,r,i),t.child;case 11:return o=t.pendingProps,Cs(e,t,r=t.type,o=t.elementType===r?o:as(r,o),i);case 7:return Ss(e,t,t.pendingProps,i),t.child;case 8:case 12:return Ss(e,t,t.pendingProps.children,i),t.child;case 10:e:{if(a=t.memoizedProps,s=(o=t.pendingProps).value,$r(Mo,(r=t.type._context)._currentValue),r._currentValue=s,null!==a)if(ui(a.value,s)){if(a.children===o.children&&!Ar.current){t=Zs(e,t,i);break e}}else for(null!==(a=t.child)&&(a.return=t);null!==a;){var l=a.dependencies;if(null!==l){s=a.child;for(var c=l.firstContext;null!==c;){if(c.context===r){if(1===a.tag){(c=Fo(-1,i&-i)).tag=2;var d=a.updateQueue;if(null!==d){var u=(d=d.shared).pending;null===u?c.next=c:(c.next=u.next,u.next=c),d.pending=c}}a.lanes|=i,null!==(c=a.alternate)&&(c.lanes|=i),Ao(a.return,i,t),l.lanes|=i;break}c=c.next}}else if(10===a.tag)s=a.type===t.type?null:a.child;else if(18===a.tag){if(null===(s=a.return))throw Error(n(341));s.lanes|=i,null!==(l=s.alternate)&&(l.lanes|=i),Ao(s,i,t),s=a.sibling}else s=a.child;if(null!==s)s.return=a;else for(s=a;null!==s;){if(s===t){s=null;break}if(null!==(a=s.sibling)){a.return=s.return,s=a;break}s=s.return}a=s}Ss(e,t,o.children,i),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,Io(t,i),r=r(o=Vo(o)),t.flags|=1,Ss(e,t,r,i),t.child;case 14:return o=as(r=t.type,t.pendingProps),Ls(e,t,r,o=as(r.type,o),i);case 15:return Ms(e,t,t.type,t.pendingProps,i);case 17:return o=t.pendingProps,o=t.elementType===(r=t.type)?o:as(r,o),Gs(e,t),t.tag=1,Pr(r)?(e=!0,Br(t)):e=!1,Io(t,i),ds(t,r,o),hs(t,r,o,i),Ns(null,t,r,!0,e,i);case 19:return Ws(e,t,i);case 22:return Es(e,t,i)}throw Error(n(156,t.tag))};var Qc="function"==typeof reportError?reportError:function(e){console.error(e)};function Yc(e){this._internalRoot=e}function Jc(e){this._internalRoot=e}function ed(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function td(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function nd(){}function id(e,t,n,i,r){var o=n._reactRootContainer;if(o){var a=o;if("function"==typeof r){var s=r;r=function(){var e=Zc(a);s.call(e)}}Gc(t,a,e,r)}else a=function(e,t,n,i,r){if(r){if("function"==typeof i){var o=i;i=function(){var e=Zc(a);o.call(e)}}var a=Wc(t,i,e,0,null,!1,0,"",nd);return e._reactRootContainer=a,e[br]=a.current,Wi(8===e.nodeType?e.parentNode:e),pc(),a}for(;r=e.lastChild;)e.removeChild(r);if("function"==typeof i){var s=i;i=function(){var e=Zc(l);s.call(e)}}var l=Uc(e,0,!1,null,0,!1,0,"",nd);return e._reactRootContainer=l,e[br]=l.current,Wi(8===e.nodeType?e.parentNode:e),pc((function(){Gc(t,l,n,i)})),l}(n,t,e,r,i);return Zc(a)}Jc.prototype.render=Yc.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(n(409));Gc(e,t,null,null)},Jc.prototype.unmount=Yc.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;pc((function(){Gc(null,e,null,null)})),t[br]=null}},Jc.prototype.unstable_scheduleHydration=function(e){if(e){var t=Et();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Ht.length&&0!==t&&t<Ht[n].priority;n++);Ht.splice(n,0,e),0===n&&Ot(e)}},Ct=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=gt(t.pendingLanes);0!==n&&(kt(t,1|n),sc(t,tt()),!(6&Nl)&&(Wl=tt()+500,Wr()))}break;case 13:pc((function(){var t=Do(e,1);if(null!==t){var n=rc();ac(t,e,1,n)}})),Xc(e,1)}},Lt=function(e){if(13===e.tag){var t=Do(e,134217728);null!==t&&ac(t,e,134217728,rc()),Xc(e,134217728)}},Mt=function(e){if(13===e.tag){var t=oc(e),n=Do(e,t);null!==n&&ac(n,e,t,rc()),Xc(e,t)}},Et=function(){return xt},zt=function(e,t){var n=xt;try{return xt=e,t()}finally{xt=n}},Le=function(e,t,i){switch(t){case"input":if(ne(e,i),t=i.name,"radio"===i.type&&null!=t){for(i=e;i.parentNode;)i=i.parentNode;for(i=i.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<i.length;t++){var r=i[t];if(r!==e&&r.form===e.form){var o=Cr(r);if(!o)throw Error(n(90));Q(r),ne(r,o)}}}break;case"textarea":ce(e,i);break;case"select":null!=(t=i.value)&&ae(e,!!i.multiple,t,!1)}},Ne=fc,Ae=pc;var rd={usingClientEntryPoint:!1,Events:[xr,Sr,Cr,$e,Te,fc]},od={findFiberByHostInstance:kr,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},ad={bundleType:od.bundleType,version:od.version,rendererPackageName:od.rendererPackageName,rendererConfig:od.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:S.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Ke(e))?null:e.stateNode},findFiberByHostInstance:od.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var sd=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!sd.isDisabled&&sd.supportsFiber)try{lt=sd.inject(ad),ct=sd}catch(pe){}}return w.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=rd,w.createPortal=function(e,t){var i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!ed(t))throw Error(n(200));return function(e,t,n){var i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:L,key:null==i?null:""+i,children:e,containerInfo:t,implementation:n}}(e,t,null,i)},w.createRoot=function(e,t){if(!ed(e))throw Error(n(299));var i=!1,r="",o=Qc;return null!=t&&(!0===t.unstable_strictMode&&(i=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onRecoverableError&&(o=t.onRecoverableError)),t=Uc(e,1,!1,null,0,i,0,r,o),e[br]=t.current,Wi(8===e.nodeType?e.parentNode:e),new Yc(t)},w.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(n(188));throw e=Object.keys(e).join(","),Error(n(268,e))}return null===(e=Ke(t))?null:e.stateNode},w.flushSync=function(e){return pc(e)},w.hydrate=function(e,t,i){if(!td(t))throw Error(n(200));return id(null,e,t,!0,i)},w.hydrateRoot=function(e,t,i){if(!ed(e))throw Error(n(405));var r=null!=i&&i.hydratedSources||null,o=!1,a="",s=Qc;if(null!=i&&(!0===i.unstable_strictMode&&(o=!0),void 0!==i.identifierPrefix&&(a=i.identifierPrefix),void 0!==i.onRecoverableError&&(s=i.onRecoverableError)),t=Wc(t,null,e,1,null!=i?i:null,o,0,a,s),e[br]=t.current,Wi(e),r)for(e=0;e<r.length;e++)o=(o=(i=r[e])._getVersion)(i._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[i,o]:t.mutableSourceEagerHydrationData.push(i,o);return new Jc(t)},w.render=function(e,t,i){if(!td(t))throw Error(n(200));return id(null,e,t,!1,i)},w.unmountComponentAtNode=function(e){if(!td(e))throw Error(n(40));return!!e._reactRootContainer&&(pc((function(){id(null,null,e,!1,(function(){e._reactRootContainer=null,e[br]=null}))})),!0)},w.unstable_batchedUpdates=fc,w.unstable_renderSubtreeIntoContainer=function(e,t,i,r){if(!td(i))throw Error(n(200));if(null==e||void 0===e._reactInternals)throw Error(n(38));return id(e,t,i,!1,r)},w.version="18.3.1-next-f1338f8080-20240426",w}function x(){return p||(p=1,function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),b.exports=k()),b.exports}var S,C,L=function(){if(g)return m;g=1;var e=x();return m.createRoot=e.createRoot,m.hydrateRoot=e.hydrateRoot,m}(),M=Object.create,E=Object.defineProperty,z=Object.getOwnPropertyDescriptor,$=Object.getOwnPropertyNames,T=Object.getPrototypeOf,N=Object.prototype.hasOwnProperty,A=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),I=(e,t,n)=>(n=null!=e?M(T(e)):{},((e,t,n,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(var r,o=$(t),a=0,s=o.length;a<s;a++)N.call(e,r=o[a])||undefined===r||E(e,r,{get:(e=>t[e]).bind(null,r),enumerable:!(i=z(t,r))||i.enumerable});return e})(E(n,"default",{value:e,enumerable:!0}),e)),V={exports:{}},P={},H=(C||(C=1,V.exports=function(){if(S)return P;S=1;var e=d(),t=Symbol.for("react.element"),n=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,r=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function a(e,n,a){var s,l={},c=null,d=null;for(s in void 0!==a&&(c=""+a),void 0!==n.key&&(c=""+n.key),void 0!==n.ref&&(d=n.ref),n)i.call(n,s)&&!o.hasOwnProperty(s)&&(l[s]=n[s]);if(e&&e.defaultProps)for(s in n=e.defaultProps)void 0===l[s]&&(l[s]=n[s]);return{$$typeof:t,type:e,key:c,ref:d,props:l,_owner:r.current}}return P.Fragment=n,P.jsx=a,P.jsxs=a,P}()),V.exports);function R(e,t){return Math.imul(e,31)+t|0}function D(e){return e>>>1&1073741824|3221225471&e}function B(e,t){return function(e,t=2166136261){let n,i,r=2147483647&t;for(n=0,i=e.length;n<i;n++)r^=e.charCodeAt(n),r+=(r<<1)+(r<<4)+(r<<7)+(r<<8)+(r<<24);return r>>>0}(e,t)}const O=new ArrayBuffer(8),j=new Uint32Array(O),F=new Float64Array(O);class U{constructor(e,t,n){if(this._hashKey=e,this._equalKeys=t,this._keys=new Map,this._map=new Map,n)for(const[e,t]of n)this.set(e,t)}get size(){return this._map.size}has(e){const{_hashKey:t,_equalKeys:n}=this,i=this._keys.get(t(e));if(i)for(const t of i)if(n(t,e))return!0;return!1}get(e){const{_hashKey:t,_equalKeys:n}=this,i=this._keys.get(t(e));if(i)for(const t of i)if(n(t,e))return this._map.get(t)}set(e,t){const{_hashKey:n,_equalKeys:i}=this,r=n(e);let o=this._keys.get(r);if(o){let n=-1;for(let t=0;t<o.length;t++)if(i(o[t],e)){n=t;break}n>=0?this._map.set(o[n],t):(o.push(e),this._map.set(e,t))}else o=[e],this._keys.set(r,o),this._map.set(e,t);return this}delete(e){const{_hashKey:t,_equalKeys:n}=this,i=t(e),r=this._keys.get(i);if(r)for(let t=0;t<r.length;t++)if(n(r[t],e)){const[e]=r.splice(t,1);return this._map.delete(e),0===r.length&&this._keys.delete(i),!0}return!1}clear(){this._keys.clear(),this._map.clear()}clone(){return new U(this._hashKey,this._equalKeys,this)}forEach(e){for(const[t,n]of this)e(n,t,this)}keys(){return this._map.keys()}values(){return this._map.values()}entries(){return this._map.entries()}[Symbol.iterator](){return this.entries()}}class q{constructor(e,t,n){if(this._hashCode=e,this._equals=t,this._map=new U(e,t),n)for(const e of n)this.add(e)}get size(){return this._map.size}has(e){return this._map.has(e)}add(e){return this._map.set(e,!0),this}delete(e){return this._map.delete(e)}clear(){this._map.clear()}clone(){const e=new q(this._hashCode,this._equals);return this.forEach((t=>e.add(t))),e}forEach(e){this._map.forEach(((t,n)=>e(n,n,this)))}keys(){return this._map.keys()}values(){return this._map.keys()}*entries(){for(const e of this.keys())yield[e,e]}[Symbol.iterator](){return this._map.keys()}}var W="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},G=[],Z=[],K="undefined"!=typeof Uint8Array?Uint8Array:Array,X=!1;function Q(){X=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0;t<64;++t)G[t]=e[t],Z[e.charCodeAt(t)]=t;Z["-".charCodeAt(0)]=62,Z["_".charCodeAt(0)]=63}function Y(e,t,n){for(var i,r=[],o=t;o<n;o+=3)r.push(G[(i=(e[o]<<16)+(e[o+1]<<8)+e[o+2])>>18&63]+G[i>>12&63]+G[i>>6&63]+G[63&i]);return r.join("")}function J(e,t,n,i,r){var o,a,s=8*r-i-1,l=(1<<s)-1,c=l>>1,d=-7,u=n?r-1:0,h=n?-1:1,f=e[t+u];for(u+=h,o=f&(1<<-d)-1,f>>=-d,d+=s;d>0;o=256*o+e[t+u],u+=h,d-=8);for(a=o&(1<<-d)-1,o>>=-d,d+=i;d>0;a=256*a+e[t+u],u+=h,d-=8);if(0===o)o=1-c;else{if(o===l)return a?NaN:1/0*(f?-1:1);a+=Math.pow(2,i),o-=c}return(f?-1:1)*a*Math.pow(2,o-i)}function ee(e,t,n,i,r,o){var a,s,l,c=8*o-r-1,d=(1<<c)-1,u=d>>1,h=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,f=i?0:o-1,p=i?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=d):(a=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-a))<1&&(a--,l*=2),(t+=a+u>=1?h/l:h*Math.pow(2,1-u))*l>=2&&(a++,l/=2),a+u>=d?(s=0,a=d):a+u>=1?(s=(t*l-1)*Math.pow(2,r),a+=u):(s=t*Math.pow(2,u-1)*Math.pow(2,r),a=0));r>=8;e[n+f]=255&s,f+=p,s/=256,r-=8);for(a=a<<r|s,c+=r;c>0;e[n+f]=255&a,f+=p,a/=256,c-=8);e[n+f-p]|=128*g}var te={}.toString,ne=Array.isArray||function(e){return"[object Array]"==te.call(e)};function ie(){return oe.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function re(e,t){if(ie()<t)throw new RangeError("Invalid typed array length");return oe.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=oe.prototype:(null===e&&(e=new oe(t)),e.length=t),e}function oe(e,t,n){if(!(oe.TYPED_ARRAY_SUPPORT||this instanceof oe))return new oe(e,t,n);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return le(this,e)}return ae(this,e,t,n)}function ae(e,t,n,i){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,i){if(n<0||t.byteLength<n)throw new RangeError("'offset' is out of bounds");if(t.byteLength<n+(i||0))throw new RangeError("'length' is out of bounds");return t=void 0===n&&void 0===i?new Uint8Array(t):void 0===i?new Uint8Array(t,n):new Uint8Array(t,n,i),oe.TYPED_ARRAY_SUPPORT?(e=t).__proto__=oe.prototype:e=ce(e,t),e}(e,t,n,i):"string"==typeof t?function(e,t,n){if("string"==typeof n&&""!==n||(n="utf8"),!oe.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var i=0|he(t,n),r=(e=re(e,i)).write(t,n);return r!==i&&(e=e.slice(0,r)),e}(e,t,n):function(e,t){if(ue(t)){var n=0|de(t.length);return 0===(e=re(e,n)).length||t.copy(e,0,0,n),e}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(i=t.length)!=i?re(e,0):ce(e,t);if("Buffer"===t.type&&ne(t.data))return ce(e,t.data)}var i;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function se(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function le(e,t){if(se(t),e=re(e,t<0?0:0|de(t)),!oe.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function ce(e,t){var n=t.length<0?0:0|de(t.length);e=re(e,n);for(var i=0;i<n;i+=1)e[i]=255&t[i];return e}function de(e){if(e>=ie())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+ie().toString(16)+" bytes");return 0|e}function ue(e){return!(null==e||!e._isBuffer)}function he(e,t){if(ue(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var i=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return Re(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return De(e).length;default:if(i)return Re(e).length;t=(""+t).toLowerCase(),i=!0}}function fe(e,t,n){var i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return Ee(this,t,n);case"utf8":case"utf-8":return Se(this,t,n);case"ascii":return Le(this,t,n);case"latin1":case"binary":return Me(this,t,n);case"base64":return xe(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ze(this,t,n);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function pe(e,t,n){var i=e[t];e[t]=e[n],e[n]=i}function ge(e,t,n,i,r){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof t&&(t=oe.from(t,i)),ue(t))return 0===t.length?-1:ve(e,t,n,i,r);if("number"==typeof t)return t&=255,oe.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):ve(e,[t],n,i,r);throw new TypeError("val must be string, number or Buffer")}function ve(e,t,n,i,r){var o,a=1,s=e.length,l=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;a=2,s/=2,l/=2,n/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(r){var d=-1;for(o=n;o<s;o++)if(c(e,o)===c(t,-1===d?0:o-d)){if(-1===d&&(d=o),o-d+1===l)return d*a}else-1!==d&&(o-=o-d),d=-1}else for(n+l>s&&(n=s-l),o=n;o>=0;o--){for(var u=!0,h=0;h<l;h++)if(c(e,o+h)!==c(t,h)){u=!1;break}if(u)return o}return-1}function me(e,t,n,i){n=Number(n)||0;var r=e.length-n;i?(i=Number(i))>r&&(i=r):i=r;var o=t.length;if(o%2!=0)throw new TypeError("Invalid hex string");i>o/2&&(i=o/2);for(var a=0;a<i;++a){var s=parseInt(t.substr(2*a,2),16);if(isNaN(s))return a;e[n+a]=s}return a}function be(e,t,n,i){return Be(Re(t,e.length-n),e,n,i)}function we(e,t,n,i){return Be(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,i)}function ye(e,t,n,i){return we(e,t,n,i)}function _e(e,t,n,i){return Be(De(t),e,n,i)}function ke(e,t,n,i){return Be(function(e,t){for(var n,i,r=[],o=0;o<e.length&&!((t-=2)<0);++o)i=(n=e.charCodeAt(o))>>8,r.push(n%256),r.push(i);return r}(t,e.length-n),e,n,i)}function xe(e,t,n){return function(e){var t;X||Q();for(var n=e.length,i=n%3,r="",o=[],a=16383,s=0,l=n-i;s<l;s+=a)o.push(Y(e,s,s+a>l?l:s+a));return 1===i?(r+=G[(t=e[n-1])>>2],r+=G[t<<4&63],r+="=="):2===i&&(r+=G[(t=(e[n-2]<<8)+e[n-1])>>10],r+=G[t>>4&63],r+=G[t<<2&63],r+="="),o.push(r),o.join("")}(0===t&&n===e.length?e:e.slice(t,n))}function Se(e,t,n){n=Math.min(e.length,n);for(var i=[],r=t;r<n;){var o,a,s,l,c=e[r],d=null,u=c>239?4:c>223?3:c>191?2:1;if(r+u<=n)switch(u){case 1:c<128&&(d=c);break;case 2:128==(192&(o=e[r+1]))&&(l=(31&c)<<6|63&o)>127&&(d=l);break;case 3:a=e[r+2],128==(192&(o=e[r+1]))&&128==(192&a)&&(l=(15&c)<<12|(63&o)<<6|63&a)>2047&&(l<55296||l>57343)&&(d=l);break;case 4:a=e[r+2],s=e[r+3],128==(192&(o=e[r+1]))&&128==(192&a)&&128==(192&s)&&(l=(15&c)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&l<1114112&&(d=l)}null===d?(d=65533,u=1):d>65535&&(i.push((d-=65536)>>>10&1023|55296),d=56320|1023&d),i.push(d),r+=u}return function(e){var t=e.length;if(t<=Ce)return String.fromCharCode.apply(String,e);for(var n="",i=0;i<t;)n+=String.fromCharCode.apply(String,e.slice(i,i+=Ce));return n}(i)}oe.TYPED_ARRAY_SUPPORT=void 0===W.TYPED_ARRAY_SUPPORT||W.TYPED_ARRAY_SUPPORT,oe.poolSize=8192,oe._augment=function(e){return e.__proto__=oe.prototype,e},oe.from=function(e,t,n){return ae(null,e,t,n)},oe.TYPED_ARRAY_SUPPORT&&(oe.prototype.__proto__=Uint8Array.prototype,oe.__proto__=Uint8Array),oe.alloc=function(e,t,n){return function(e,t,n,i){return se(t),t<=0?re(e,t):void 0!==n?"string"==typeof i?re(e,t).fill(n,i):re(e,t).fill(n):re(e,t)}(null,e,t,n)},oe.allocUnsafe=function(e){return le(null,e)},oe.allocUnsafeSlow=function(e){return le(null,e)},oe.isBuffer=function(e){return null!=e&&(!!e._isBuffer||Oe(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&Oe(e.slice(0,0))}(e))},oe.compare=function(e,t){if(!ue(e)||!ue(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,i=t.length,r=0,o=Math.min(n,i);r<o;++r)if(e[r]!==t[r]){n=e[r],i=t[r];break}return n<i?-1:i<n?1:0},oe.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},oe.concat=function(e,t){if(!ne(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return oe.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var i=oe.allocUnsafe(t),r=0;for(n=0;n<e.length;++n){var o=e[n];if(!ue(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(i,r),r+=o.length}return i},oe.byteLength=he,oe.prototype._isBuffer=!0,oe.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)pe(this,t,t+1);return this},oe.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)pe(this,t,t+3),pe(this,t+1,t+2);return this},oe.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)pe(this,t,t+7),pe(this,t+1,t+6),pe(this,t+2,t+5),pe(this,t+3,t+4);return this},oe.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?Se(this,0,e):fe.apply(this,arguments)},oe.prototype.equals=function(e){if(!ue(e))throw new TypeError("Argument must be a Buffer");return this===e||0===oe.compare(this,e)},oe.prototype.inspect=function(){var e="";return this.length>0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),"<Buffer "+e+">"},oe.prototype.compare=function(e,t,n,i,r){if(!ue(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return-1;if(t>=n)return 1;if(this===e)return 0;for(var o=(r>>>=0)-(i>>>=0),a=(n>>>=0)-(t>>>=0),s=Math.min(o,a),l=this.slice(i,r),c=e.slice(t,n),d=0;d<s;++d)if(l[d]!==c[d]){o=l[d],a=c[d];break}return o<a?-1:a<o?1:0},oe.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},oe.prototype.indexOf=function(e,t,n){return ge(this,e,t,n,!0)},oe.prototype.lastIndexOf=function(e,t,n){return ge(this,e,t,n,!1)},oe.prototype.write=function(e,t,n,i){if(void 0===t)i="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)i=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}var r=this.length-t;if((void 0===n||n>r)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return me(this,e,t,n);case"utf8":case"utf-8":return be(this,e,t,n);case"ascii":return we(this,e,t,n);case"latin1":case"binary":return ye(this,e,t,n);case"base64":return _e(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ke(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},oe.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Ce=4096;function Le(e,t,n){var i="";n=Math.min(e.length,n);for(var r=t;r<n;++r)i+=String.fromCharCode(127&e[r]);return i}function Me(e,t,n){var i="";n=Math.min(e.length,n);for(var r=t;r<n;++r)i+=String.fromCharCode(e[r]);return i}function Ee(e,t,n){var i,r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var o="",a=t;a<n;++a)o+=(i=e[a])<16?"0"+i.toString(16):i.toString(16);return o}function ze(e,t,n){for(var i=e.slice(t,n),r="",o=0;o<i.length;o+=2)r+=String.fromCharCode(i[o]+256*i[o+1]);return r}function $e(e,t,n){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function Te(e,t,n,i,r,o){if(!ue(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||t<o)throw new RangeError('"value" argument is out of bounds');if(n+i>e.length)throw new RangeError("Index out of range")}function Ne(e,t,n,i){t<0&&(t=65535+t+1);for(var r=0,o=Math.min(e.length-n,2);r<o;++r)e[n+r]=(t&255<<8*(i?r:1-r))>>>8*(i?r:1-r)}function Ae(e,t,n,i){t<0&&(t=4294967295+t+1);for(var r=0,o=Math.min(e.length-n,4);r<o;++r)e[n+r]=t>>>8*(i?r:3-r)&255}function Ie(e,t,n,i){if(n+i>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function Ve(e,t,n,i,r){return r||Ie(e,0,n,4),ee(e,t,n,i,23,4),n+4}function Pe(e,t,n,i,r){return r||Ie(e,0,n,8),ee(e,t,n,i,52,8),n+8}oe.prototype.slice=function(e,t){var n,i=this.length;if((e=~~e)<0?(e+=i)<0&&(e=0):e>i&&(e=i),(t=void 0===t?i:~~t)<0?(t+=i)<0&&(t=0):t>i&&(t=i),t<e&&(t=e),oe.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=oe.prototype;else{var r=t-e;n=new oe(r,void 0);for(var o=0;o<r;++o)n[o]=this[o+e]}return n},oe.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||$e(e,t,this.length);for(var i=this[e],r=1,o=0;++o<t&&(r*=256);)i+=this[e+o]*r;return i},oe.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||$e(e,t,this.length);for(var i=this[e+--t],r=1;t>0&&(r*=256);)i+=this[e+--t]*r;return i},oe.prototype.readUInt8=function(e,t){return t||$e(e,1,this.length),this[e]},oe.prototype.readUInt16LE=function(e,t){return t||$e(e,2,this.length),this[e]|this[e+1]<<8},oe.prototype.readUInt16BE=function(e,t){return t||$e(e,2,this.length),this[e]<<8|this[e+1]},oe.prototype.readUInt32LE=function(e,t){return t||$e(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},oe.prototype.readUInt32BE=function(e,t){return t||$e(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},oe.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||$e(e,t,this.length);for(var i=this[e],r=1,o=0;++o<t&&(r*=256);)i+=this[e+o]*r;return i>=(r*=128)&&(i-=Math.pow(2,8*t)),i},oe.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||$e(e,t,this.length);for(var i=t,r=1,o=this[e+--i];i>0&&(r*=256);)o+=this[e+--i]*r;return o>=(r*=128)&&(o-=Math.pow(2,8*t)),o},oe.prototype.readInt8=function(e,t){return t||$e(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},oe.prototype.readInt16LE=function(e,t){t||$e(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},oe.prototype.readInt16BE=function(e,t){t||$e(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},oe.prototype.readInt32LE=function(e,t){return t||$e(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},oe.prototype.readInt32BE=function(e,t){return t||$e(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},oe.prototype.readFloatLE=function(e,t){return t||$e(e,4,this.length),J(this,e,!0,23,4)},oe.prototype.readFloatBE=function(e,t){return t||$e(e,4,this.length),J(this,e,!1,23,4)},oe.prototype.readDoubleLE=function(e,t){return t||$e(e,8,this.length),J(this,e,!0,52,8)},oe.prototype.readDoubleBE=function(e,t){return t||$e(e,8,this.length),J(this,e,!1,52,8)},oe.prototype.writeUIntLE=function(e,t,n,i){e=+e,t|=0,n|=0,i||Te(this,e,t,n,Math.pow(2,8*n)-1,0);var r=1,o=0;for(this[t]=255&e;++o<n&&(r*=256);)this[t+o]=e/r&255;return t+n},oe.prototype.writeUIntBE=function(e,t,n,i){e=+e,t|=0,n|=0,i||Te(this,e,t,n,Math.pow(2,8*n)-1,0);var r=n-1,o=1;for(this[t+r]=255&e;--r>=0&&(o*=256);)this[t+r]=e/o&255;return t+n},oe.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||Te(this,e,t,1,255,0),oe.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},oe.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||Te(this,e,t,2,65535,0),oe.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Ne(this,e,t,!0),t+2},oe.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||Te(this,e,t,2,65535,0),oe.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Ne(this,e,t,!1),t+2},oe.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||Te(this,e,t,4,4294967295,0),oe.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):Ae(this,e,t,!0),t+4},oe.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||Te(this,e,t,4,4294967295,0),oe.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Ae(this,e,t,!1),t+4},oe.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t|=0,!i){var r=Math.pow(2,8*n-1);Te(this,e,t,n,r-1,-r)}var o=0,a=1,s=0;for(this[t]=255&e;++o<n&&(a*=256);)e<0&&0===s&&0!==this[t+o-1]&&(s=1),this[t+o]=(e/a|0)-s&255;return t+n},oe.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t|=0,!i){var r=Math.pow(2,8*n-1);Te(this,e,t,n,r-1,-r)}var o=n-1,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a|0)-s&255;return t+n},oe.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||Te(this,e,t,1,127,-128),oe.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},oe.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||Te(this,e,t,2,32767,-32768),oe.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Ne(this,e,t,!0),t+2},oe.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||Te(this,e,t,2,32767,-32768),oe.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Ne(this,e,t,!1),t+2},oe.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||Te(this,e,t,4,2147483647,-2147483648),oe.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):Ae(this,e,t,!0),t+4},oe.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||Te(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),oe.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Ae(this,e,t,!1),t+4},oe.prototype.writeFloatLE=function(e,t,n){return Ve(this,e,t,!0,n)},oe.prototype.writeFloatBE=function(e,t,n){return Ve(this,e,t,!1,n)},oe.prototype.writeDoubleLE=function(e,t,n){return Pe(this,e,t,!0,n)},oe.prototype.writeDoubleBE=function(e,t,n){return Pe(this,e,t,!1,n)},oe.prototype.copy=function(e,t,n,i){if(n||(n=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i<n&&(i=n),i===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t<i-n&&(i=e.length-t+n);var r,o=i-n;if(this===e&&n<t&&t<i)for(r=o-1;r>=0;--r)e[r+t]=this[r+n];else if(o<1e3||!oe.TYPED_ARRAY_SUPPORT)for(r=0;r<o;++r)e[r+t]=this[r+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+o),t);return o},oe.prototype.fill=function(e,t,n,i){if("string"==typeof e){if("string"==typeof t?(i=t,t=0,n=this.length):"string"==typeof n&&(i=n,n=this.length),1===e.length){var r=e.charCodeAt(0);r<256&&(e=r)}if(void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!oe.isEncoding(i))throw new TypeError("Unknown encoding: "+i)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;var o;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(o=t;o<n;++o)this[o]=e;else{var a=ue(e)?e:Re(new oe(e,i).toString()),s=a.length;for(o=0;o<n-t;++o)this[o+t]=a[o%s]}return this};var He=/[^+\/0-9A-Za-z-_]/g;function Re(e,t){var n;t=t||1/0;for(var i=e.length,r=null,o=[],a=0;a<i;++a){if((n=e.charCodeAt(a))>55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===i){(t-=3)>-1&&o.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(t-=3)>-1&&o.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function De(e){return function(e){var t,n,i,r,o,a;X||Q();var s=e.length;if(s%4>0)throw new Error("Invalid string. Length must be a multiple of 4");a=new K(3*s/4-(o="="===e[s-2]?2:"="===e[s-1]?1:0)),i=o>0?s-4:s;var l=0;for(t=0,n=0;t<i;t+=4,n+=3)r=Z[e.charCodeAt(t)]<<18|Z[e.charCodeAt(t+1)]<<12|Z[e.charCodeAt(t+2)]<<6|Z[e.charCodeAt(t+3)],a[l++]=r>>16&255,a[l++]=r>>8&255,a[l++]=255&r;return 2===o?(r=Z[e.charCodeAt(t)]<<2|Z[e.charCodeAt(t+1)]>>4,a[l++]=255&r):1===o&&(r=Z[e.charCodeAt(t)]<<10|Z[e.charCodeAt(t+1)]<<4|Z[e.charCodeAt(t+2)]>>2,a[l++]=r>>8&255,a[l++]=255&r),a}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(He,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function Be(e,t,n,i){for(var r=0;r<i&&!(r+n>=t.length||r>=e.length);++r)t[r+n]=e[r];return r}function Oe(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}const je="http://www.w3.org/1999/02/22-rdf-syntax-ns#",Fe="http://www.w3.org/2001/XMLSchema#",Ue="http://www.w3.org/2000/10/swap/";var qe={xsd:{decimal:`${Fe}decimal`,boolean:`${Fe}boolean`,double:`${Fe}double`,integer:`${Fe}integer`,string:`${Fe}string`},rdf:{type:`${je}type`,nil:`${je}nil`,first:`${je}first`,rest:`${je}rest`,langString:`${je}langString`},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:`${Ue}reify#forSome`,forAll:`${Ue}reify#forAll`},log:{implies:`${Ue}log#implies`,isImpliedBy:`${Ue}log#isImpliedBy`}};const{xsd:We}=qe,Ge=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\([^])/g,Ze={"\\":"\\","'":"'",'"':'"',n:"\n",r:"\r",t:"\t",f:"\f",b:"\b",_:"_","~":"~",".":".","-":"-","!":"!",$:"$","&":"&","(":"(",")":")","*":"*","+":"+",",":",",";":";","=":"=","/":"/","?":"?","#":"#","@":"@","%":"%"},Ke=/[\x00-\x20<>\\"\{\}\|\^\`]/,Xe={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},Qe=/$0^/;class Ye{constructor(e){if(this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,this._isImpliedBy=(e=e||{}).isImpliedBy,this._lineMode=!!e.lineMode){this._n3Mode=!1;for(const e in this)!(e in Xe)&&this[e]instanceof RegExp&&(this[e]=Qe)}else this._n3Mode=!1!==e.n3;this.comments=!!e.comments,this._literalClosingPos=0}_tokenizeToEnd(e,t){let n=this._input,i=n.length;for(;;){let e,a;for(;e=this._newline.exec(n);)this.comments&&(a=this._comment.exec(e[0]))&&r("comment",a[1],"",this._line,e[0].length),n=n.substr(e[0].length,n.length),i=n.length,this._line++;if(!e&&(e=this._whitespace.exec(n))&&(n=n.substr(e[0].length,n.length)),this._endOfFile.test(n))return t&&(this.comments&&(a=this._comment.exec(n))&&r("comment",a[1],"",this._line,n.length),n=null,r("eof","","",this._line,0)),this._input=n;const s=this._line,l=n[0];let c="",d="",u="",h=null,f=0,p=!1;switch(l){case"^":if(n.length<3)break;if("^"!==n[1]){this._n3Mode&&(f=1,c="^");break}if(this._previousMarker="^^",n=n.substr(2),"<"!==n[0]){p=!0;break}case"<":if(h=this._unescapedIri.exec(n))c="IRI",d=h[1];else if(h=this._iri.exec(n)){if(d=this._unescape(h[1]),null===d||Ke.test(d))return o(this);c="IRI"}else n.length>1&&"<"===n[1]?(c="<<",f=2):this._n3Mode&&n.length>1&&"="===n[1]&&(f=2,this._isImpliedBy?(c="abbreviation",d="<"):(c="inverse",d=">"));break;case">":n.length>1&&">"===n[1]&&(c=">>",f=2);break;case"_":((h=this._blank.exec(n))||t&&(h=this._blank.exec(`${n} `)))&&(c="blank",u="_",d=h[1]);break;case'"':if(h=this._simpleQuotedString.exec(n))d=h[1];else if(({value:d,matchLength:f}=this._parseLiteral(n)),null===d)return o(this);null===h&&0===f||(c="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){if(h=this._simpleApostropheString.exec(n))d=h[1];else if(({value:d,matchLength:f}=this._parseLiteral(n)),null===d)return o(this);null===h&&0===f||(c="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(h=this._variable.exec(n))&&(c="var",d=h[0]);break;case"@":"literal"===this._previousMarker&&(h=this._langcode.exec(n))?(c="langcode",d=h[1]):(h=this._keyword.exec(n))&&(c=h[0]);break;case".":if(1===n.length?t:n[1]<"0"||n[1]>"9"){c=".",f=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(h=this._number.exec(n)||t&&(h=this._number.exec(`${n} `)))&&(c="literal",d=h[0],u="string"==typeof h[1]?We.double:"string"==typeof h[2]?We.decimal:We.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(h=this._sparqlKeyword.exec(n))?c=h[0].toUpperCase():p=!0;break;case"f":case"t":(h=this._boolean.exec(n))?(c="literal",d=h[0],u=We.boolean):p=!0;break;case"a":(h=this._shortPredicates.exec(n))?(c="abbreviation",d="a"):p=!0;break;case"=":this._n3Mode&&n.length>1&&(c="abbreviation",">"!==n[1]?(f=1,d="="):(f=2,d=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"}":this._lineMode||(f=1,c=l);break;case"{":!this._lineMode&&n.length>=2&&("|"===n[1]?(c="{|",f=2):(c=l,f=1));break;case"|":n.length>=2&&"}"===n[1]&&(c="|}",f=2);break;default:p=!0}if(p&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(h=this._prefix.exec(n))?((h=this._prefixed.exec(n))||t&&(h=this._prefixed.exec(`${n} `)))&&(c="prefixed",u=h[1]||"",d=this._unescape(h[2])):(c="prefix",d=h[1]||"")),"^^"===this._previousMarker)switch(c){case"prefixed":c="type";break;case"IRI":c="typeIRI";break;default:c=""}if(!c)return t||!/^'''|^"""/.test(n)&&/\n|\r/.test(n)?o(this):this._input=n;const g=f||h[0].length,v=r(c,d,u,s,g);this.previousToken=v,this._previousMarker=c,n=n.substr(g,n.length)}function r(t,r,o,a,s){const l=n?i-n.length:i,c={type:t,value:r,prefix:o,line:a,start:l,end:l+s};return e(null,c),c}function o(t){e(t._syntaxError(/^\S*/.exec(n)[0]))}}_unescape(e){let t=!1;const n=e.replace(Ge,((e,n,i,r)=>{if("string"==typeof n)return String.fromCharCode(Number.parseInt(n,16));if("string"==typeof i){let e=Number.parseInt(i,16);return e<=65535?String.fromCharCode(Number.parseInt(i,16)):String.fromCharCode(55296+((e-=65536)>>10),56320+(1023&e))}return r in Ze?Ze[r]:(t=!0,"")}));return t?null:n}_parseLiteral(e){if(e.length>=3){const t=e.match(/^(?:"""|"|'''|'|)/)[0],n=t.length;let i=Math.max(this._literalClosingPos,n);for(;(i=e.indexOf(t,i))>0;){let t=0;for(;"\\"===e[i-t-1];)t++;if(t%2==0){const t=e.substring(n,i),r=t.split(/\r\n|\r|\n/).length-1,o=i+n;if(1===n&&0!==r||3===n&&this._lineMode)break;return this._line+=r,{value:this._unescape(t),matchLength:o}}i++}this._literalClosingPos=e.length-n+1}return{value:"",matchLength:0}}_syntaxError(e){this._input=null;const t=new Error(`Unexpected "${e}" on line ${this._line}.`);return t.context={token:void 0,line:this._line,previousToken:this.previousToken},t}_readStartingBom(e){return e.startsWith("\ufeff")?e.substr(1):e}tokenize(e,t){if(this._line=1,"string"==typeof e){if(this._input=this._readStartingBom(e),"function"!=typeof t){const e=[];let t;if(this._tokenizeToEnd(((n,i)=>n?t=n:e.push(i)),!0),t)throw t;return e}queueMicrotask((()=>this._tokenizeToEnd(t,!0)))}else this._pendingBuffer=null,"function"==typeof e.setEncoding&&e.setEncoding("utf8"),e.on("data",(e=>{null!==this._input&&0!==e.length&&(this._pendingBuffer&&(e=oe.concat([this._pendingBuffer,e]),this._pendingBuffer=null),128&e[e.length-1]?this._pendingBuffer=e:(void 0===this._input?this._input=this._readStartingBom("string"==typeof e?e:e.toString()):this._input+=e,this._tokenizeToEnd(t,!1)))})),e.on("end",(()=>{"string"==typeof this._input&&this._tokenizeToEnd(t,!0)})),e.on("error",t)}}const{rdf:Je,xsd:et}=qe;let tt,nt=0;const it={namedNode:dt,blankNode:ut,variable:ft,literal:ht,defaultGraph:function(){return tt},quad:pt,triple:pt,fromTerm:gt,fromQuad:vt};class rt{constructor(e){this.id=e}get value(){return this.id}equals(e){return e instanceof rt?this.id===e.id:!!e&&this.termType===e.termType&&this.value===e.value}hashCode(){return 0}toJSON(){return{termType:this.termType,value:this.value}}}class ot extends rt{get termType(){return"NamedNode"}}class at extends rt{get termType(){return"Literal"}get value(){return this.id.substring(1,this.id.lastIndexOf('"'))}get language(){const e=this.id;let t=e.lastIndexOf('"')+1;return t<e.length&&"@"===e[t++]?e.substr(t).toLowerCase():""}get datatype(){return new ot(this.datatypeString)}get datatypeString(){const e=this.id,t=e.lastIndexOf('"')+1,n=t<e.length?e[t]:"";return"^"===n?e.substr(t+2):"@"!==n?et.string:Je.langString}equals(e){return e instanceof at?this.id===e.id:!!e&&!!e.datatype&&this.termType===e.termType&&this.value===e.value&&this.language===e.language&&this.datatype.value===e.datatype.value}toJSON(){return{termType:this.termType,value:this.value,language:this.language,datatype:{termType:"NamedNode",value:this.datatypeString}}}}class st extends rt{constructor(e){super(`_:${e}`)}get termType(){return"BlankNode"}get value(){return this.id.substr(2)}}class lt extends rt{constructor(e){super(`?${e}`)}get termType(){return"Variable"}get value(){return this.id.substr(1)}}tt=new class extends rt{constructor(){return super(""),tt||this}get termType(){return"DefaultGraph"}equals(e){return this===e||!!e&&this.termType===e.termType}};class ct extends rt{constructor(e,t,n,i){super(""),this._subject=e,this._predicate=t,this._object=n,this._graph=i||tt}get termType(){return"Quad"}get subject(){return this._subject}get predicate(){return this._predicate}get object(){return this._object}get graph(){return this._graph}toJSON(){return{termType:this.termType,subject:this._subject.toJSON(),predicate:this._predicate.toJSON(),object:this._object.toJSON(),graph:this._graph.toJSON()}}equals(e){return!!e&&this._subject.equals(e.subject)&&this._predicate.equals(e.predicate)&&this._object.equals(e.object)&&this._graph.equals(e.graph)}}function dt(e){return new ot(e)}function ut(e){return new st(e||"n3-"+nt++)}function ht(e,t){if("string"==typeof t)return new at(`"${e}"@${t.toLowerCase()}`);let n=t?t.value:"";return""===n&&("boolean"==typeof e?n=et.boolean:"number"==typeof e&&(Number.isFinite(e)?n=Number.isInteger(e)?et.integer:et.double:(n=et.double,Number.isNaN(e)||(e=e>0?"INF":"-INF")))),new at(""===n||n===et.string?`"${e}"`:`"${e}"^^${n}`)}function ft(e){return new lt(e)}function pt(e,t,n,i){return new ct(e,t,n,i)}function gt(e){if(e instanceof rt)return e;switch(e.termType){case"NamedNode":return dt(e.value);case"BlankNode":return ut(e.value);case"Variable":return ft(e.value);case"DefaultGraph":return tt;case"Literal":return ht(e.value,e.language||e.datatype);case"Quad":return vt(e);default:throw new Error(`Unexpected termType: ${e.termType}`)}}function vt(e){if(e instanceof ct)return e;if("Quad"!==e.termType)throw new Error(`Unexpected termType: ${e.termType}`);return pt(gt(e.subject),gt(e.predicate),gt(e.object),gt(e.graph))}let mt=0;class bt{constructor(e){this._contextStack=[],this._graph=null,this._setBase((e=e||{}).baseIRI),e.factory&&yt(this,e.factory);const t="string"==typeof e.format?e.format.match(/\w*$/)[0].toLowerCase():"",n=/turtle/.test(t),i=/trig/.test(t),r=/triple/.test(t),o=/quad/.test(t),a=this._n3Mode=/n3/.test(t),s=r||o;(this._supportsNamedGraphs=!(n||a))||(this._readPredicateOrNamedGraph=this._readPredicate),this._supportsQuads=!(n||i||r||a),this._isImpliedBy=e.isImpliedBy,this._supportsRDFStar=""===t||/star|\*$/.test(t),s&&(this._resolveRelativeIRI=()=>null),this._blankNodePrefix="string"!=typeof e.blankNodePrefix?"":e.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=e.lexer||new Ye({lineMode:s,n3:a,isImpliedBy:this._isImpliedBy}),this._explicitQuantifiers=!!e.explicitQuantifiers}static _resetBlankNodePrefix(){mt=0}_setBase(e){if(e){const t=e.indexOf("#");t>=0&&(e=e.substr(0,t)),this._base=e,this._basePath=e.indexOf("/")<0?e:e.replace(/[^\/?]*(?:\?.*)?$/,""),e=e.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=e[0],this._baseScheme=e[1]}else this._base="",this._basePath=""}_saveContext(e,t,n,i,r){const o=this._n3Mode;this._contextStack.push({type:e,subject:n,predicate:i,object:r,graph:t,inverse:!!o&&this._inversePredicate,blankPrefix:o?this._prefixes._:"",quantified:o?this._quantified:null}),o&&(this._inversePredicate=!1,this._prefixes._=this._graph?`${this._graph.value}.`:".",this._quantified=Object.create(this._quantified))}_restoreContext(e,t){const n=this._contextStack.pop();if(!n||n.type!==e)return this._error(`Unexpected ${t.type}`,t);this._subject=n.subject,this._predicate=n.predicate,this._object=n.object,this._graph=n.graph,this._n3Mode&&(this._inversePredicate=n.inverse,this._prefixes._=n.blankPrefix,this._quantified=n.quantified)}_readInTopContext(e){switch(e.type){case"eof":return null!==this._graph?this._error("Unclosed graph",e):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(e)}}_readEntity(e,t){let n;switch(e.type){case"IRI":case"typeIRI":const t=this._resolveIRI(e.value);if(null===t)return this._error("Invalid IRI",e);n=this._factory.namedNode(t);break;case"type":case"prefixed":const i=this._prefixes[e.prefix];if(void 0===i)return this._error(`Undefined prefix "${e.prefix}:"`,e);n=this._factory.namedNode(i+e.value);break;case"blank":n=this._factory.blankNode(this._prefixes[e.prefix]+e.value);break;case"var":n=this._factory.variable(e.value.substr(1));break;default:return this._error(`Expected entity but got ${e.type}`,e)}return!t&&this._n3Mode&&n.id in this._quantified&&(n=this._quantified[n.id]),n}_readSubject(e){switch(this._predicate=null,e.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._factory.blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._factory.blankNode(),null,null),this._readSubject):this._error("Unexpected graph",e);case"}":return this._readPunctuation(e);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier="blankNode",this._readQuantifierList):this._error('Unexpected "@forSome"',e);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier="variable",this._readQuantifierList):this._error('Unexpected "@forAll"',e);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",e);if(0===e.prefix.length)return this._literalValue=e.value,this._completeSubjectLiteral;this._subject=this._factory.literal(e.value,this._factory.namedNode(e.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF-star syntax",e);default:if(void 0===(this._subject=this._readEntity(e)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}_readPredicate(e){const t=e.type;switch(t){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[e.value];break;case".":case"]":case"}":return null===this._predicate?this._error(`Unexpected ${t}`,e):(this._subject=null,"]"===t?this._readBlankNodeTail(e):this._readPunctuation(e));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",e);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._factory.blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",e);default:if(void 0===(this._predicate=this._readEntity(e)))return}return this._readObject}_readObject(e){switch(e.type){case"literal":if(0===e.prefix.length)return this._literalValue=e.value,this._readDataTypeOrLang;this._object=this._factory.literal(e.value,this._factory.namedNode(e.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._factory.blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._factory.blankNode()),this._readSubject):this._error("Unexpected graph",e);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF-star syntax",e);default:if(void 0===(this._object=this._readEntity(e)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}_readPredicateOrNamedGraph(e){return"{"===e.type?this._readGraph(e):this._readPredicate(e)}_readGraph(e){return"{"!==e.type?this._error(`Expected graph but got ${e.type}`,e):(this._graph=this._subject,this._subject=null,this._readSubject)}_readBlankNodeHead(e){return"]"===e.type?(this._subject=null,this._readBlankNodeTail(e)):(this._predicate=null,this._readPredicate(e))}_readBlankNodeTail(e){if("]"!==e.type)return this._readBlankNodePunctuation(e);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);const t=null===this._predicate;return this._restoreContext("blank",e),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:t?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}_readPredicateAfterBlank(e){switch(e.type){case".":case"}":return this._subject=null,this._readPunctuation(e);default:return this._readPredicate(e)}}_readListItem(e){let t=null,n=null,i=this._readListItem;const r=this._subject,o=this._contextStack,a=o[o.length-1];switch(e.type){case"[":this._saveContext("blank",this._graph,n=this._factory.blankNode(),this.RDF_FIRST,this._subject=t=this._factory.blankNode()),i=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,n=this._factory.blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext("list",e),0!==o.length&&"list"===o[o.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(i=this._readPredicate,this._subject===this.RDF_NIL)return i}else if(i=this._getContextEndReader(),this._object===this.RDF_NIL)return i;n=this.RDF_NIL;break;case"literal":0===e.prefix.length?(this._literalValue=e.value,i=this._readListItemDataTypeOrLang):(t=this._factory.literal(e.value,this._factory.namedNode(e.prefix)),i=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._factory.blankNode()),this._readSubject):this._error("Unexpected graph",e);default:if(void 0===(t=this._readEntity(e)))return}if(null===n&&(this._subject=n=this._factory.blankNode()),null===r?null===a.predicate?a.subject=n:a.object=n:this._emit(r,this.RDF_REST,n,this._graph),null!==t){if(this._n3Mode&&("IRI"===e.type||"prefixed"===e.type))return this._saveContext("item",this._graph,n,this.RDF_FIRST,t),this._subject=t,this._predicate=null,this._getPathReader(this._readListItem);this._emit(n,this.RDF_FIRST,t,this._graph)}return i}_readDataTypeOrLang(e){return this._completeObjectLiteral(e,!1)}_readListItemDataTypeOrLang(e){return this._completeObjectLiteral(e,!0)}_completeLiteral(e){let t=this._factory.literal(this._literalValue);switch(e.type){case"type":case"typeIRI":const n=this._readEntity(e);if(void 0===n)return;t=this._factory.literal(this._literalValue,n),e=null;break;case"langcode":t=this._factory.literal(this._literalValue,e.value),e=null}return{token:e,literal:t}}_completeSubjectLiteral(e){return this._subject=this._completeLiteral(e).literal,this._readPredicateOrNamedGraph}_completeObjectLiteral(e,t){const n=this._completeLiteral(e);if(n)return this._object=n.literal,t&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===n.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(n.token))}_readFormulaTail(e){return"}"!==e.type?this._readPunctuation(e):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext("formula",e),null===this._object?this._readPredicate:this._getContextEndReader())}_readPunctuation(e){let t,n=this._graph;const i=this._subject,r=this._inversePredicate;switch(e.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",e);if(this._n3Mode)return this._readFormulaTail(e);this._graph=null;case".":this._subject=null,t=this._contextStack.length?this._readSubject:this._readInTopContext,r&&(this._inversePredicate=!1);break;case";":t=this._readPredicate;break;case",":t=this._readObject;break;case"{|":if(!this._supportsRDFStar)return this._error("Unexpected RDF-star syntax",e);this._subject=this._factory.quad(i,this._predicate,this._object,this.DEFAULTGRAPH),t=this._readPredicate;break;case"|}":if("Quad"!==this._subject.termType)return this._error("Unexpected asserted triple closing",e);this._subject=null,t=this._readPunctuation;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(n=this._readEntity(e))){t=this._readQuadPunctuation;break}return this._error(`Expected punctuation to follow "${this._object.id}"`,e)}if(null!==i){const e=this._predicate,t=this._object;r?this._emit(t,e,i,n):this._emit(i,e,t,n)}return t}_readBlankNodePunctuation(e){let t;switch(e.type){case";":t=this._readPredicate;break;case",":t=this._readObject;break;default:return this._error(`Expected punctuation to follow "${this._object.id}"`,e)}return this._emit(this._subject,this._predicate,this._object,this._graph),t}_readQuadPunctuation(e){return"."!==e.type?this._error("Expected dot to follow quad",e):this._readInTopContext}_readPrefix(e){return"prefix"!==e.type?this._error("Expected prefix to follow @prefix",e):(this._prefix=e.value,this._readPrefixIRI)}_readPrefixIRI(e){if("IRI"!==e.type)return this._error(`Expected IRI to follow prefix "${this._prefix}:"`,e);const t=this._readEntity(e);return this._prefixes[this._prefix]=t.value,this._prefixCallback(this._prefix,t),this._readDeclarationPunctuation}_readBaseIRI(e){const t="IRI"===e.type&&this._resolveIRI(e.value);return t?(this._setBase(t),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",e)}_readNamedGraphLabel(e){switch(e.type){case"IRI":case"blank":case"prefixed":return this._readSubject(e),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",e)}}_readNamedGraphBlankLabel(e){return"]"!==e.type?this._error("Invalid graph label",e):(this._subject=this._factory.blankNode(),this._readGraph)}_readDeclarationPunctuation(e){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(e)):"."!==e.type?this._error("Expected declaration to end with a dot",e):this._readInTopContext}_readQuantifierList(e){let t;switch(e.type){case"IRI":case"prefixed":if(void 0!==(t=this._readEntity(e,!0)))break;default:return this._error(`Unexpected ${e.type}`,e)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._factory.blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._factory.blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,t,this.QUANTIFIERS_GRAPH)):this._quantified[t.id]=this._factory[this._quantifier](this._factory.blankNode().value),this._readQuantifierPunctuation}_readQuantifierPunctuation(e){return","===e.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(e))}_getPathReader(e){return this._afterPath=e,this._readPath}_readPath(e){switch(e.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:const t=this._contextStack,n=t.length&&t[t.length-1];if(n&&"item"===n.type){const t=this._subject;this._restoreContext("item",e),this._emit(this._subject,this.RDF_FIRST,t,this._graph)}return this._afterPath(e)}}_readForwardPath(e){let t,n;const i=this._factory.blankNode();if(void 0!==(n=this._readEntity(e)))return null===this._predicate?(t=this._subject,this._subject=i):(t=this._object,this._object=i),this._emit(t,n,i,this._graph),this._readPath}_readBackwardPath(e){const t=this._factory.blankNode();let n,i;if(void 0!==(n=this._readEntity(e)))return null===this._predicate?(i=this._subject,this._subject=t):(i=this._object,this._object=t),this._emit(t,n,i,this._graph),this._readPath}_readRDFStarTailOrGraph(e){return">>"!==e.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(e))?this._readRDFStarTail:this._error(`Expected >> to follow "${this._object.id}"`,e):this._readRDFStarTail(e)}_readRDFStarTail(e){if(">>"!==e.type)return this._error(`Expected >> but got ${e.type}`,e);const t=this._factory.quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext("<<",e),null===this._subject?(this._subject=t,this._readPredicate):(this._object=t,this._getContextEndReader())}_getContextEndReader(){const e=this._contextStack;if(!e.length)return this._readPunctuation;switch(e[e.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}_emit(e,t,n,i){this._callback(null,this._factory.quad(e,t,n,i||this.DEFAULTGRAPH))}_error(e,t){const n=new Error(`${e} on line ${t.line}.`);n.context={token:t,line:t.line,previousToken:this._lexer.previousToken},this._callback(n),this._callback=wt}_resolveIRI(e){return/^[a-z][a-z0-9+.-]*:/i.test(e)?e:this._resolveRelativeIRI(e)}_resolveRelativeIRI(e){if(!e.length)return this._base;switch(e[0]){case"#":return this._base+e;case"?":return this._base.replace(/(?:\?.*)?$/,e);case"/":return("/"===e[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(e);default:return/^[^/:]*:/.test(e)?null:this._removeDotSegments(this._basePath+e)}}_removeDotSegments(e){if(!/(^|\/)\.\.?($|[/#?])/.test(e))return e;const t=e.length;let n="",i=-1,r=-1,o=0,a="/";for(;i<t;){switch(a){case":":if(r<0&&"/"===e[++i]&&"/"===e[++i])for(;(r=i+1)<t&&"/"!==e[r];)i=r;break;case"?":case"#":i=t;break;case"/":if("."===e[i+1])switch(a=e[1+ ++i],a){case"/":n+=e.substring(o,i-1),o=i+1;break;case void 0:case"?":case"#":return n+e.substring(o,i)+e.substr(i+1);case".":if(a=e[1+ ++i],void 0===a||"/"===a||"?"===a||"#"===a){if(n+=e.substring(o,i-2),(o=n.lastIndexOf("/"))>=r&&(n=n.substr(0,o)),"/"!==a)return`${n}/${e.substr(i+1)}`;o=i+1}}}a=e[++i]}return n+e.substring(o)}parse(e,t,n){let i,r,o;if(t&&(t.onQuad||t.onPrefix||t.onComment)?(i=t.onQuad,r=t.onPrefix,o=t.onComment):(i=t,r=n),this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):`b${mt++}_`,this._prefixCallback=r||wt,this._inversePredicate=!1,this._quantified=Object.create(null),!i){const t=[];let n;if(this._callback=(e,i)=>{e?n=e:i&&t.push(i)},this._lexer.tokenize(e).every((e=>this._readCallback=this._readCallback(e))),n)throw n;return t}let a=(e,t)=>{null!==e?(this._callback(e),this._callback=wt):this._readCallback&&(this._readCallback=this._readCallback(t))};o&&(this._lexer.comments=!0,a=(e,t)=>{null!==e?(this._callback(e),this._callback=wt):this._readCallback&&("comment"===t.type?o(t.value):this._readCallback=this._readCallback(t))}),this._callback=i,this._lexer.tokenize(e,a)}}function wt(){}function yt(e,t){e._factory=t,e.DEFAULTGRAPH=t.defaultGraph(),e.RDF_FIRST=t.namedNode(qe.rdf.first),e.RDF_REST=t.namedNode(qe.rdf.rest),e.RDF_NIL=t.namedNode(qe.rdf.nil),e.N3_FORALL=t.namedNode(qe.r.forAll),e.N3_FORSOME=t.namedNode(qe.r.forSome),e.ABBREVIATIONS={a:t.namedNode(qe.rdf.type),"=":t.namedNode(qe.owl.sameAs),">":t.namedNode(qe.log.implies),"<":t.namedNode(qe.log.isImpliedBy)},e.QUANTIFIERS_GRAPH=t.namedNode("urn:n3:quantifiers")}function _t(e,t,n){let i=e.get(t);i||(i=[],e.set(t,i)),i.push(n)}function kt(e,t,n){let i=e.get(t);i||(i=new Set,e.set(t,i)),i.add(n)}function xt(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}yt(bt.prototype,it);var St=class{mapping=new Map;ordered=[];reorder(e){this.ordered.sort(e)}get items(){return this.ordered}get(e){return this.mapping.get(e)}push(e,t){if(this.mapping.has(e)){const n=this.mapping.get(e);if(n===t)return;const i=this.ordered.indexOf(n);this.ordered.splice(i,1)}this.mapping.set(e,t),this.ordered.push(t)}delete(e){if(!this.mapping.has(e))return;const t=this.mapping.get(e),n=this.ordered.indexOf(t);return this.ordered.splice(n,1),this.mapping.delete(e),t}};function Ct(e,t,n,i){return $t(Et(e,t,i),n)}var Lt=()=>{},Mt=()=>Lt;function Et(e,t,n){return v.useCallback((n=>e?(e.on(t,n),()=>e.off(t,n)):Lt),n?[e,t,...n]:[e,t])}function zt(e){return v.useCallback((t=>{let n;const i=()=>{n=void 0,t()},r=e((()=>{void 0===n&&(n=requestAnimationFrame(i))}));return()=>{void 0!==n&&cancelAnimationFrame(n),r()}}),[e])}function $t(e,t){return v.useSyncExternalStore(e,t)}function Tt(e,t,n){const i=v.useRef(void 0);return v.useSyncExternalStore(e,(()=>{const e=t();if(i.current){const[t]=i.current;if(n(t,e))return t}return i.current=[e],e}))}function Nt(e){const{input:t,load:n}=e,i=At(n),[r,o]=v.useState({data:void 0,status:"loading"});return v.useEffect((()=>{const e=new AbortController,n=e.signal,r=i.current(t,{signal:n});return r?(o((e=>({...e,status:"loading",error:void 0}))),r.then((e=>{n.aborted||o({data:e,status:"completed",error:void 0})}),(e=>{n.aborted||o((t=>({...t,status:"error",error:e})))}))):o({data:void 0,status:"completed",error:void 0}),()=>e.abort()}),t),r}function At(e){const t=v.useRef(e);return v.useEffect((()=>{t.current=e})),t}var It=v.createContext(null);function Vt(e){const{translation:t,children:n}=e;return H.jsx(It.Provider,{value:t,children:n})}function Pt(){const e=v.useContext(It);if(!e)throw new Error("Reactodia: missing <TranslationProvider> context");return e}var Ht=class e{key;placeholders;constructor(e,t){this.key=e,this.placeholders=t}static text(t,n){return new e(t,n)}resolve(e){return e.text(this.key,this.placeholders)}},Rt=class{subscribe;observedKeys=new Map;constructor(e){this.subscribe=e}setSubscribe(e){this.subscribe=e}observe(e){if(0===e.length&&0===this.observedKeys.size)return;const t=new Map;for(const n of e){if(t.has(n))continue;let e=this.observedKeys.get(n);e||(e=this.subscribe(n)),e&&t.set(n,e)}this.observedKeys.forEach(((e,n)=>{t.has(n)||e()})),this.observedKeys=t}stopListening(){this.observe([])}};function Dt(e,t,n){const[,i]=v.useState(0),r=v.useRef(void 0);let o=r.current;if(!o){const t=()=>i((e=>e+1));o={observer:new Rt((i=>e(i,n,t))),forceUpdate:t,lastStore:e},r.current=o}if(o.lastStore!==e){const{observer:t,forceUpdate:i}=o;t.setSubscribe((t=>e(t,n,i))),o.lastStore=e}o.observer.observe(t),v.useEffect((()=>()=>r.current?.observer.stopListening()),[])}var Bt=it;function Ot(e){let t=0;switch(e.termType){case"NamedNode":case"BlankNode":case"Variable":t=B(e.value);break;case"Literal":t=B(e.value),e.datatype&&(t=R(t,B(e.datatype.value))),e.language&&(t=R(t,B(e.language)));break;case"Quad":t=R(t,Ot(e.subject)),t=R(t,Ot(e.predicate)),t=R(t,Ot(e.object)),t=R(t,Ot(e.graph))}return D(t)}function jt(e,t){if(e.termType!==t.termType)return!1;switch(e.termType){case"NamedNode":case"BlankNode":case"Variable":case"DefaultGraph":{const{value:n}=t;return e.value===n}case"Literal":{const{value:n,language:i,datatype:r}=t;return e.value===n&&e.datatype.value===r.value&&e.language===i}case"Quad":{const{subject:n,predicate:i,object:r,graph:o}=t;return jt(e.subject,n)&&jt(e.predicate,i)&&jt(e.object,r)&&jt(e.graph,o)}}}function Ft(e){return e.startsWith("urn:reactodia:blank:")}function Ut(e){const[t,n]=e;let i=B(t);return i=R(i,B(n)),D(i)}function qt(e,t){const[n,i]=e,[r,o]=t;return n===r&&i===o}function Wt(e,t){return e.linkTypeId===t.linkTypeId&&e.sourceId===t.sourceId&&e.targetId===t.targetId}function Gt(e){const{linkTypeId:t,sourceId:n,targetId:i}=e;let r=B(t);return r=R(r,B(n)),r=R(r,B(i)),r}var Zt={label:"http://www.w3.org/2000/01/rdf-schema#label"},Kt={thumbnailUrl:"http://schema.org/thumbnailUrl"},Xt="reactodia-spinner";function Qt(e){const{position:t={x:0,y:0},size:n=50,statusText:i,errorOccurred:r}=e;return H.jsxs("g",{className:Xt,"data-error":r,transform:`translate(${t.x},${t.y})`,children:[H.jsx("g",{className:`${Xt}__arrow`,children:H.jsx("path",{d:"m3.47,-19.7 a20,20 0 1,1 -6.95,0 m0,0 l-6,5 m6,-5 l-8,-0"+(r?"M-8,-8L8,8M-8,8L8,-8":""),transform:`scale(0.02)scale(${n})`,fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round"})}),H.jsx("text",{className:`${Xt}__text`,style:{dominantBaseline:"middle"},fill:"currentColor",x:n/2+5,children:i})]})}function Yt(e){const{width:t,height:n,errorOccurred:i}=e;return H.jsx("svg",{width:t,height:n,children:H.jsx(Qt,{size:Math.min(t,n),position:{x:t/2,y:n/2},errorOccurred:i})})}var Jt=class{model;translation;labelProperties;imageProperties;EMPTY_LABELS=[];constructor(e){const{model:t,translation:n,labelProperties:i=[Zt.label],imageProperties:r=[Kt.thumbnailUrl]}=e;this.model=t,this.translation=n,this.labelProperties=i,this.imageProperties=r}selectEntityLabel(e){for(const t of this.labelProperties)if(Object.prototype.hasOwnProperty.call(e.properties,t)){const n=e.properties[t],i=n?en(n):this.EMPTY_LABELS;if(i.length>0)return i}return this.EMPTY_LABELS}selectEntityImageUrl(e){for(const t of this.imageProperties)if(Object.prototype.hasOwnProperty.call(e.properties,t)){const n=e.properties[t];if(n&&n.length>0)return n[0].value}}formatIri(e){return Ft(e)?this.translation.text("default_data_locale.iri_blank",{value:e}):this.translation.text("default_data_locale.iri",{value:e})}formatEntityLabel(e,t){const n=this.selectEntityLabel(e);return this.translation.formatLabel(n,e.id,t)}formatEntityTypeList(e,t){const n=e.types.map((e=>{const n=this.model.getElementType(e)?.data?.label;return this.translation.formatLabel(n,e,t)}));return n.sort(),n.join(", ")}prepareAnchor(e){return{href:e,target:"_blank",rel:"noreferrer"}}resolveAssetUrl(e,t){return Promise.resolve(e)}};function en(e){for(const t of e)if("Literal"!==t.termType)return e.filter((e=>"Literal"===e.termType));return e}var tn=(e,t,n)=>{const i=t.createElementType(e);return i.events.on("changeData",n),()=>i.events.off("changeData",n)},nn=(e,t,n)=>{const i=t.createPropertyType(e);return i.events.on("changeData",n),()=>i.events.off("changeData",n)},rn=(e,t,n)=>{const i=t.createLinkType(e);return i.events.on("changeData",n),()=>i.events.off("changeData",n)},on=function(e){return e.searchUpdateCriteria="search:updateCriteria",e.searchQueryItem="search:queryItems",e.connectionsLoadLinks="connections:loadLinks",e.connectionsExpandLink="connections:expandLink",e.connectionsLoadElements="connections:loadElements",e.editorChangeSelection="editor:changeSelection",e.editorToggleDialog="editor:toggleDialog",e.editorAddElements="editor:addElements",e}({}),an=v.createContext(null);function sn(){const e=v.useContext(an);if(!e)throw new Error("Reactodia: missing workspace context");return e}function ln(e){var t,n,i="";if("string"==typeof e||"number"==typeof e)i+=e;else if("object"==typeof e)if(Array.isArray(e)){var r=e.length;for(t=0;t<r;t++)e[t]&&(n=ln(e[t]))&&(i&&(i+=" "),i+=n)}else for(n in e)e[n]&&(i&&(i+=" "),i+=n);return i}function cn(){for(var e,t,n=0,i="",r=arguments.length;n<r;n++)(e=arguments[n])&&(t=ln(e))&&(i&&(i+=" "),i+=t);return i}var dn=x();function un(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function hn(e,t){var n=Object.create(e.prototype);for(var i in t)n[i]=t[i];return n}function fn(){}var pn=.7,gn=1/pn,vn="\\s*([+-]?\\d+)\\s*",mn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",bn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",wn=/^#([0-9a-f]{3,8})$/,yn=new RegExp(`^rgb\\(${vn},${vn},${vn}\\)$`),_n=new RegExp(`^rgb\\(${bn},${bn},${bn}\\)$`),kn=new RegExp(`^rgba\\(${vn},${vn},${vn},${mn}\\)$`),xn=new RegExp(`^rgba\\(${bn},${bn},${bn},${mn}\\)$`),Sn=new RegExp(`^hsl\\(${mn},${bn},${bn}\\)$`),Cn=new RegExp(`^hsla\\(${mn},${bn},${bn},${mn}\\)$`),Ln={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function Mn(){return this.rgb().formatHex()}function En(){return this.rgb().formatRgb()}function zn(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=wn.exec(e))?(n=t[1].length,t=parseInt(t[1],16),6===n?$n(t):3===n?new An(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?Tn(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?Tn(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=yn.exec(e))?new An(t[1],t[2],t[3],1):(t=_n.exec(e))?new An(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=kn.exec(e))?Tn(t[1],t[2],t[3],t[4]):(t=xn.exec(e))?Tn(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=Sn.exec(e))?Dn(t[1],t[2]/100,t[3]/100,1):(t=Cn.exec(e))?Dn(t[1],t[2]/100,t[3]/100,t[4]):Ln.hasOwnProperty(e)?$n(Ln[e]):"transparent"===e?new An(NaN,NaN,NaN,0):null}function $n(e){return new An(e>>16&255,e>>8&255,255&e,1)}function Tn(e,t,n,i){return i<=0&&(e=t=n=NaN),new An(e,t,n,i)}function Nn(e){return e instanceof fn||(e=zn(e)),e?new An((e=e.rgb()).r,e.g,e.b,e.opacity):new An}function An(e,t,n,i){this.r=+e,this.g=+t,this.b=+n,this.opacity=+i}function In(){return`#${Rn(this.r)}${Rn(this.g)}${Rn(this.b)}`}function Vn(){const e=Pn(this.opacity);return`${1===e?"rgb(":"rgba("}${Hn(this.r)}, ${Hn(this.g)}, ${Hn(this.b)}${1===e?")":`, ${e})`}`}function Pn(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Hn(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Rn(e){return((e=Hn(e))<16?"0":"")+e.toString(16)}function Dn(e,t,n,i){return i<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new On(e,t,n,i)}function Bn(e){if(e instanceof On)return new On(e.h,e.s,e.l,e.opacity);if(e instanceof fn||(e=zn(e)),!e)return new On;if(e instanceof On)return e;var t=(e=e.rgb()).r/255,n=e.g/255,i=e.b/255,r=Math.min(t,n,i),o=Math.max(t,n,i),a=NaN,s=o-r,l=(o+r)/2;return s?(a=t===o?(n-i)/s+6*(n<i):n===o?(i-t)/s+2:(t-n)/s+4,s/=l<.5?o+r:2-o-r,a*=60):s=l>0&&l<1?0:a,new On(a,s,l,e.opacity)}function On(e,t,n,i){this.h=+e,this.s=+t,this.l=+n,this.opacity=+i}function jn(e){return(e=(e||0)%360)<0?e+360:e}function Fn(e){return Math.max(0,Math.min(1,e||0))}function Un(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}un(fn,zn,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Mn,formatHex:Mn,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return Bn(this).formatHsl()},formatRgb:En,toString:En}),un(An,(function(e,t,n,i){return 1===arguments.length?Nn(e):new An(e,t,n,null==i?1:i)}),hn(fn,{brighter(e){return e=null==e?gn:Math.pow(gn,e),new An(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?pn:Math.pow(pn,e),new An(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new An(Hn(this.r),Hn(this.g),Hn(this.b),Pn(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:In,formatHex:In,formatHex8:function(){return`#${Rn(this.r)}${Rn(this.g)}${Rn(this.b)}${Rn(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:Vn,toString:Vn})),un(On,(function(e,t,n,i){return 1===arguments.length?Bn(e):new On(e,t,n,null==i?1:i)}),hn(fn,{brighter(e){return e=null==e?gn:Math.pow(gn,e),new On(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?pn:Math.pow(pn,e),new On(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,i=n+(n<.5?n:1-n)*t,r=2*n-i;return new An(Un(e>=240?e-240:e+120,r,i),Un(e,r,i),Un(e<120?e+240:e-120,r,i),this.opacity)},clamp(){return new On(jn(this.h),Fn(this.s),Fn(this.l),Pn(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Pn(this.opacity);return`${1===e?"hsl(":"hsla("}${jn(this.h)}, ${100*Fn(this.s)}%, ${100*Fn(this.l)}%${1===e?")":`, ${e})`}`}}));const qn=Math.PI/180,Wn=180/Math.PI,Gn=.96422,Zn=.82521,Kn=4/29,Xn=6/29,Qn=3*Xn*Xn,Yn=Xn*Xn*Xn;function Jn(e){if(e instanceof ei)return new ei(e.l,e.a,e.b,e.opacity);if(e instanceof ai)return si(e);e instanceof An||(e=Nn(e));var t,n,i=ri(e.r),r=ri(e.g),o=ri(e.b),a=ti((.2225045*i+.7168786*r+.0606169*o)/1);return i===r&&r===o?t=n=a:(t=ti((.4360747*i+.3850649*r+.1430804*o)/Gn),n=ti((.0139322*i+.0971045*r+.7141733*o)/Zn)),new ei(116*a-16,500*(t-a),200*(a-n),e.opacity)}function ei(e,t,n,i){this.l=+e,this.a=+t,this.b=+n,this.opacity=+i}function ti(e){return e>Yn?Math.pow(e,1/3):e/Qn+Kn}function ni(e){return e>Xn?e*e*e:Qn*(e-Kn)}function ii(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function ri(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function oi(e,t,n,i){return 1===arguments.length?function(e){if(e instanceof ai)return new ai(e.h,e.c,e.l,e.opacity);if(e instanceof ei||(e=Jn(e)),0===e.a&&0===e.b)return new ai(NaN,0<e.l&&e.l<100?0:NaN,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*Wn;return new ai(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}(e):new ai(e,t,n,null==i?1:i)}function ai(e,t,n,i){this.h=+e,this.c=+t,this.l=+n,this.opacity=+i}function si(e){if(isNaN(e.h))return new ei(e.l,0,0,e.opacity);var t=e.h*qn;return new ei(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}un(ei,(function(e,t,n,i){return 1===arguments.length?Jn(e):new ei(e,t,n,null==i?1:i)}),hn(fn,{brighter(e){return new ei(this.l+18*(null==e?1:e),this.a,this.b,this.opacity)},darker(e){return new ei(this.l-18*(null==e?1:e),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,n=isNaN(this.b)?e:e-this.b/200;return new An(ii(3.1338561*(t=Gn*ni(t))-1.6168667*(e=1*ni(e))-.4906146*(n=Zn*ni(n))),ii(-.9787684*t+1.9161415*e+.033454*n),ii(.0719453*t-.2289914*e+1.4052427*n),this.opacity)}})),un(ai,oi,hn(fn,{brighter(e){return new ai(this.h,this.c,this.l+18*(null==e?1:e),this.opacity)},darker(e){return new ai(this.h,this.c,this.l-18*(null==e?1:e),this.opacity)},rgb(){return si(this).rgb()}}));var li,ci,di={exports:{}},ui=(li||(li=1,ci=di,function(){function e(e,t,n){var i=new XMLHttpRequest;i.open("GET",e),i.responseType="blob",i.onload=function(){o(i.response,t,n)},i.onerror=function(){console.error("could not download file")},i.send()}function t(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function n(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(n){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var i="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof a&&a.global===a?a:void 0,r=i.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),o=i.saveAs||("object"!=typeof window||window!==i?function(){}:"download"in HTMLAnchorElement.prototype&&!r?function(r,o,a){var s=i.URL||i.webkitURL,l=document.createElement("a");l.download=o=o||r.name||"download",l.rel="noopener","string"==typeof r?(l.href=r,l.origin===location.origin?n(l):t(l.href)?e(r,o,a):n(l,l.target="_blank")):(l.href=s.createObjectURL(r),setTimeout((function(){s.revokeObjectURL(l.href)}),4e4),setTimeout((function(){n(l)}),0))}:"msSaveOrOpenBlob"in navigator?function(i,r,o){if(r=r||i.name||"download","string"!=typeof i)navigator.msSaveOrOpenBlob(function(e,t){return void 0===t?t={autoBom:!1}:"object"!=typeof t&&(console.warn("Deprecated: Expected third argument to be a object"),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\ufeff",e],{type:e.type}):e}(i,o),r);else if(t(i))e(i,r,o);else{var a=document.createElement("a");a.href=i,a.target="_blank",setTimeout((function(){n(a)}))}}:function(t,n,o,a){if((a=a||open("","_blank"))&&(a.document.title=a.document.body.innerText="downloading..."),"string"==typeof t)return e(t,n,o);var s="application/octet-stream"===t.type,l=/constructor/i.test(i.HTMLElement)||i.safari,c=/CriOS\/[\d]+/.test(navigator.userAgent);if((c||s&&l||r)&&"undefined"!=typeof FileReader){var d=new FileReader;d.onloadend=function(){var e=d.result;e=c?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),a?a.location.href=e:location=e,a=null},d.readAsDataURL(t)}else{var u=i.URL||i.webkitURL,h=u.createObjectURL(t);a?a.location=h:location.href=h,a=null,setTimeout((function(){u.revokeObjectURL(h)}),4e4)}});i.saveAs=o.saveAs=o,ci.exports=o}()),di.exports);function hi(e,t){return e.then((e=>t&&t.aborted?null:e),(e=>t&&t.aborted?null:Promise.reject(e)))}function fi(e){return new Promise((t=>{setTimeout((()=>{t()}),e)}))}!function(){try{if("undefined"!=typeof document){var e=document.createElement("style");e.appendChild(document.createTextNode(".reactodia-badge{color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;display:inline-block}.reactodia-btn{font-size:14px;font-weight:400;line-height:var(--reactodia-line-height-base);text-transform:none;text-align:center;vertical-align:middle;white-space:nowrap;border:var(--reactodia-button-border-width) solid transparent;border-radius:var(--reactodia-button-border-radius);transition:background-color var(--reactodia-transition-duration);touch-action:manipulation;-webkit-user-select:none;user-select:none;cursor:pointer;background-image:none;margin-bottom:0;padding:6px 12px;display:inline-block}.reactodia-btn[disabled]{cursor:not-allowed;opacity:.65}.reactodia-btn-default{color:var(--reactodia-button-default-color);background-color:var(--reactodia-button-default-background-color);border-color:var(--reactodia-button-default-border-color)}.reactodia-btn-default:hover{color:var(--reactodia-button-default-color-focus);background-color:var(--reactodia-button-default-background-color-focus)}.reactodia-btn-default:active,.reactodia-btn-default.active{color:var(--reactodia-button-default-color-focus);background-color:var(--reactodia-button-default-background-color-active)}.reactodia-btn-default[disabled],.reactodia-btn-default[disabled]:hover,.reactodia-btn-default[disabled]:focus,.reactodia-btn-default[disabled]:active,.reactodia-btn-default[disabled].active{color:var(--reactodia-button-default-color);background-color:var(--reactodia-input-background-color-disabled)}.reactodia-btn-primary{color:var(--reactodia-color-emphasis-0);background-color:var(--reactodia-color-primary);border-color:var(--reactodia-color-primary-darker)}.reactodia-btn-primary:hover{border-color:var(--reactodia-color-primary-darkest);background-color:var(--reactodia-color-primary-dark)}.reactodia-btn-primary:active,.reactodia-btn-primary.active{border-color:var(--reactodia-color-primary-darker);background-color:var(--reactodia-color-primary-darkest)}.reactodia-btn-primary[disabled],.reactodia-btn-primary[disabled]:hover,.reactodia-btn-primary[disabled]:focus,.reactodia-btn-primary[disabled]:active,.reactodia-btn-primary[disabled].active{background-color:var(--reactodia-color-primary-dark)}.reactodia-btn-secondary{color:var(--reactodia-color-gray-900);background-color:var(--reactodia-color-secondary);border-color:var(--reactodia-color-secondary-darker)}.reactodia-btn-secondary:hover{border-color:var(--reactodia-color-secondary-darkest);background-color:var(--reactodia-color-secondary-dark)}.reactodia-btn-secondary:active,.reactodia-btn-secondary.active{border-color:var(--reactodia-color-secondary-darker);background-color:var(--reactodia-color-secondary-darkest)}.reactodia-btn-secondary[disabled],.reactodia-btn-secondary[disabled]:hover,.reactodia-btn-secondary[disabled]:focus,.reactodia-btn-secondary[disabled]:active,.reactodia-btn-secondary[disabled].active{background-color:var(--reactodia-color-secondary-dark)}.reactodia-btn-success{color:var(--reactodia-color-emphasis-0);background-color:var(--reactodia-color-success);border-color:var(--reactodia-color-success-darker)}.reactodia-btn-success:hover{border-color:var(--reactodia-color-success-darkest);background-color:var(--reactodia-color-success-dark)}.reactodia-btn-success:active,.reactodia-btn-success.active{border-color:var(--reactodia-color-success-darker);background-color:var(--reactodia-color-success-darkest)}.reactodia-btn-success[disabled],.reactodia-btn-success[disabled]:hover,.reactodia-btn-success[disabled]:focus,.reactodia-btn-success[disabled]:active,.reactodia-btn-success[disabled].active{background-color:var(--reactodia-color-success-dark)}.reactodia-btn-info{color:var(--reactodia-color-emphasis-0);background-color:var(--reactodia-color-info);border-color:var(--reactodia-color-info-darker)}.reactodia-btn-info:hover{border-color:var(--reactodia-color-info-darkest);background-color:var(--reactodia-color-info-dark)}.reactodia-btn-info:active,.reactodia-btn-info.active{border-color:var(--reactodia-color-info-darker);background-color:var(--reactodia-color-info-darkest)}.reactodia-btn-info[disabled],.reactodia-btn-info[disabled]:hover,.reactodia-btn-info[disabled]:focus,.reactodia-btn-info[disabled]:active,.reactodia-btn-info[disabled].active{background-color:var(--reactodia-color-info-dark)}.reactodia-btn-warning{color:var(--reactodia-color-emphasis-0);background-color:var(--reactodia-color-warning);border-color:var(--reactodia-color-warning-darker)}.reactodia-btn-warning:hover{border-color:var(--reactodia-color-warning-darkest);background-color:var(--reactodia-color-warning-dark)}.reactodia-btn-warning:active,.reactodia-btn-warning.active{border-color:var(--reactodia-color-warning-darker);background-color:var(--reactodia-color-warning-darkest)}.reactodia-btn-warning[disabled],.reactodia-btn-warning[disabled]:hover,.reactodia-btn-warning[disabled]:focus,.reactodia-btn-warning[disabled]:active,.reactodia-btn-warning[disabled].active{background-color:var(--reactodia-color-warning-dark)}.reactodia-btn-danger{color:var(--reactodia-color-emphasis-0);background-color:var(--reactodia-color-danger);border-color:var(--reactodia-color-danger-darker)}.reactodia-btn-danger:hover{border-color:var(--reactodia-color-danger-darkest);background-color:var(--reactodia-color-danger-dark)}.reactodia-btn-danger:active,.reactodia-btn-danger.active{border-color:var(--reactodia-color-danger-darker);background-color:var(--reactodia-color-danger-darkest)}.reactodia-btn-danger[disabled],.reactodia-btn-danger[disabled]:hover,.reactodia-btn-danger[disabled]:focus,.reactodia-btn-danger[disabled]:active,.reactodia-btn-danger[disabled].active{background-color:var(--reactodia-color-danger-dark)}.reactodia-btn-group{vertical-align:middle;display:inline-block;position:relative}.reactodia-btn-group>.reactodia-btn,.reactodia-btn-group>.reactodia-btn-group{float:left;position:relative}.reactodia-btn-group>.reactodia-btn:hover,.reactodia-btn-group>.reactodia-btn:focus,.reactodia-btn-group>.reactodia-btn.active,.reactodia-btn-group>.reactodia-btn.active:hover{z-index:2}.reactodia-btn-group .reactodia-btn+.reactodia-btn,.reactodia-btn-group .reactodia-btn+.reactodia-btn-group,.reactodia-btn-group .reactodia-btn-group+.reactodia-btn,.reactodia-btn-group .reactodia-btn-group+.reactodia-btn-group{margin-left:calc(-1 * var(--reactodia-button-border-width))}.reactodia-btn-group>.reactodia-btn{border-radius:unset}.reactodia-btn-group>.reactodia-btn:first-of-type{border-top-left-radius:var(--reactodia-button-border-radius);border-bottom-left-radius:var(--reactodia-button-border-radius);margin-left:0}.reactodia-btn-group>.reactodia-btn:last-of-type{border-top-right-radius:var(--reactodia-button-border-radius);border-bottom-right-radius:var(--reactodia-button-border-radius)}.reactodia-btn-group-sm>.reactodia-btn{padding:5px 10px;font-size:12px;line-height:1.5}.reactodia-btn-group-xs>.reactodia-btn{padding:1px 5px;font-size:12px;line-height:1.5}.reactodia-form{flex-direction:column;flex:auto;display:flex}.reactodia-form__body{flex-direction:column;flex:auto;padding:8px;display:flex;position:relative}.reactodia-form__controls{border-top:1px solid var(--reactodia-border-color-base);text-align:right;flex:none;padding:8px}.reactodia-form__controls button+button{margin-left:var(--reactodia-spacing-horizontal)}.reactodia-form__row{margin-bottom:8px;display:block}.reactodia-form__progress{position:absolute;bottom:0;left:0;right:0}.reactodia-form__control-row{padding-bottom:18px;position:relative}.reactodia-form__control-error{color:var(--reactodia-color-danger);position:absolute;bottom:0;left:0}.reactodia-form-control{width:100%;height:34px;font-family:var(--reactodia-font-family-base);line-height:var(--reactodia-line-height-base);color:var(--reactodia-input-color);background-color:var(--reactodia-input-background-color);border:var(--reactodia-input-border-width) solid var(--reactodia-input-border-color);border-radius:var(--reactodia-input-border-radius);margin:0;padding:6px 12px;font-size:14px;transition:border-color .15s ease-in-out;display:block}.reactodia-form-control:focus{border-color:var(--reactodia-input-border-color-focus);outline:0}.reactodia-form-control:disabled{background-color:var(--reactodia-input-background-color-disabled);cursor:not-allowed;opacity:.6}.reactodia-canvas-area{--reactodia-paper-panning-overlay-z-index:calc(var(--reactodia-z-index-base) + 70);background-color:var(--reactodia-canvas-background-color);flex:auto;width:0}.reactodia-canvas-area__widgets{position:absolute;top:0;left:0}.reactodia-canvas-area__watermark{cursor:pointer;opacity:.3;width:8%;min-width:50px;max-width:130px;transition:opacity var(--reactodia-transition-duration);background-size:cover;position:absolute;top:15px;right:25px}.reactodia-canvas-area__watermark:hover{opacity:.5}.reactodia-canvas-area--animated .reactodia-overlaid-element,.reactodia-canvas-area--animated .reactodia-element-decorations{transition:transform var(--reactodia-canvas-animation-duration) ease-in-out}.reactodia-canvas-area--animated .reactodia-link-layer,.reactodia-canvas-area--animated .reactodia-label-layer,.reactodia-canvas-area--animated .reactodia-canvas-area__widgets{opacity:0;transition:none}.reactodia-exported-watermark{opacity:.3;transition:opacity var(--reactodia-transition-duration)}.reactodia-exported-canvas{box-sizing:border-box;white-space:initial;color:var(--reactodia-font-color-base);font-family:var(--reactodia-font-family-base);font-size:var(--reactodia-font-size-base);line-height:var(--reactodia-line-height-base)}.reactodia-exported-canvas *,.reactodia-exported-canvas :before,.reactodia-exported-canvas :after{box-sizing:inherit}.reactodia-exported-layer{position:absolute}.reactodia-overlaid-element{cursor:move;outline:none}.reactodia-overlaid-element img{vertical-align:middle}.reactodia-overlaid-element--blurred{filter:grayscale();opacity:.5}.reactodia-overlaid-element--only-selected{touch-action:none}.reactodia-element-decorations{pointer-events:none}.reactodia-element-decorations>div>*{pointer-events:initial}.reactodia-link--blurred{opacity:.5}.reactodia-link--only-selected{touch-action:none}.reactodia-link-path__wrap{stroke-width:12px;stroke-linejoin:round;stroke-linecap:round;stroke:#0000;fill:none}.reactodia-link:hover .reactodia-link-path__wrap{stroke:var(--reactodia-color-emphasis-400);opacity:.44}.reactodia-link-vertices__vertex{cursor:all-scroll}.reactodia-link-vertices__vertex:not([fill]){fill:var(--reactodia-link-stroke-color)}.reactodia-link:not(:hover):not(.reactodia-link--only-selected) .reactodia-link-vertices__vertex{fill:#0000}.reactodia-link-vertices__handle{opacity:0;transition:opacity var(--reactodia-transition-duration);cursor:pointer}.reactodia-link-vertices__handle>circle{fill:var(--reactodia-color-emphasis-500)}.reactodia-link-vertices__handle>path{stroke:var(--reactodia-color-emphasis-200)}.reactodia-link-vertices__handle:hover>circle{fill:var(--reactodia-color-emphasis-900)}.reactodia-link:hover .reactodia-link-vertices__handle,.reactodia-link--only-selected .reactodia-link-vertices__handle{opacity:.8}.reactodia-link-marker__path:not([fill]){fill:var(--reactodia-link-stroke-color)}.reactodia-link-label{margin-top:calc(1.5em * var(--reactodia-link-label-line,0));border-radius:var(--reactodia-border-radius-s);color:var(--reactodia-font-color-base);background-color:var(--reactodia-canvas-background-color);white-space:nowrap;padding:0 2px}.reactodia-spinner__arrow{animation-name:reactodia-spinner-rotation;animation-duration:1.5s;animation-timing-function:cubic-bezier(.645,.045,.355,1);animation-iteration-count:infinite}.reactodia-spinner__text{color:var(--reactodia-font-color-base)}.reactodia-spinner[data-error=true] .reactodia-spinner__arrow{color:var(--reactodia-color-danger);animation-iteration-count:1}@keyframes reactodia-spinner-rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.reactodia-authoring-state__element-outlines{pointer-events:none;position:absolute;overflow:visible}.reactodia-authoring-state__outline-overlay{fill:var(--reactodia-color-emphasis-0);fill-opacity:.3}.reactodia-authoring-state__outline-stripe-line{stroke:var(--reactodia-color-emphasis-300);stroke-width:10px;stroke-opacity:.2}.reactodia-authoring-state__outline-cross-line{stroke:var(--reactodia-color-danger)}.reactodia-authoring-state__link-temporary,.reactodia-authoring-state__link-added,.reactodia-authoring-state__link-changed,.reactodia-authoring-state__link-deleted,.reactodia-authoring-state__link-uncertain{stroke-width:5px;stroke-opacity:.5;fill:none}.reactodia-authoring-state__link-temporary{stroke:var(--reactodia-color-gray-600);stroke-dasharray:8 8}.reactodia-authoring-state__link-added{stroke:var(--reactodia-color-success)}.reactodia-authoring-state__link-changed{stroke:var(--reactodia-color-primary)}.reactodia-authoring-state__link-deleted{stroke:var(--reactodia-color-danger)}.reactodia-authoring-state__link-uncertain{stroke:var(--reactodia-color-primary)}.reactodia-authoring-state__item-validation{cursor:help;align-self:flex-end;align-items:center;display:flex}.reactodia-authoring-state__item-validation-icon{width:17px;height:15px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.reactodia-authoring-state--severity-info .reactodia-authoring-state__item-validation-icon{background:var(--reactodia-color-info);-webkit-mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8.568%201.031A6.8%206.8%200%200%201%2012.76%203.05a7.06%207.06%200%200%201%20.46%209.39%206.85%206.85%200%200%201-8.58%201.74%207%207%200%200%201-3.12-3.5%207.12%207.12%200%200%201-.23-4.71%207%207%200%200%201%202.77-3.79%206.8%206.8%200%200%201%204.508-1.149zM9.04%2013.88a5.89%205.89%200%200%200%203.41-2.07%206.07%206.07%200%200%200-.4-8.06%205.82%205.82%200%200%200-7.43-.74%206.06%206.06%200%200%200%20.5%2010.29%205.81%205.81%200%200%200%203.92.58zM7.375%206h1.25V5h-1.25v1zm1.25%201v4h-1.25V7h1.25z'/%3e%3c/svg%3e\");mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8.568%201.031A6.8%206.8%200%200%201%2012.76%203.05a7.06%207.06%200%200%201%20.46%209.39%206.85%206.85%200%200%201-8.58%201.74%207%207%200%200%201-3.12-3.5%207.12%207.12%200%200%201-.23-4.71%207%207%200%200%201%202.77-3.79%206.8%206.8%200%200%201%204.508-1.149zM9.04%2013.88a5.89%205.89%200%200%200%203.41-2.07%206.07%206.07%200%200%200-.4-8.06%205.82%205.82%200%200%200-7.43-.74%206.06%206.06%200%200%200%20.5%2010.29%205.81%205.81%200%200%200%203.92.58zM7.375%206h1.25V5h-1.25v1zm1.25%201v4h-1.25V7h1.25z'/%3e%3c/svg%3e\")}.reactodia-authoring-state--severity-warning .reactodia-authoring-state__item-validation-icon{background:var(--reactodia-color-warning);-webkit-mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.56%201h.88l6.54%2012.26-.44.74H1.44L1%2013.26%207.56%201zM8%202.28L2.28%2013H13.7L8%202.28zM8.625%2012v-1h-1.25v1h1.25zm-1.25-2V6h1.25v4h-1.25z'/%3e%3c/svg%3e\");mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.56%201h.88l6.54%2012.26-.44.74H1.44L1%2013.26%207.56%201zM8%202.28L2.28%2013H13.7L8%202.28zM8.625%2012v-1h-1.25v1h1.25zm-1.25-2V6h1.25v4h-1.25z'/%3e%3c/svg%3e\")}.reactodia-authoring-state--severity-error .reactodia-authoring-state__item-validation-icon{background:var(--reactodia-color-danger);-webkit-mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.56%201h.88l6.54%2012.26-.44.74H1.44L1%2013.26%207.56%201zM8%202.28L2.28%2013H13.7L8%202.28zM8.625%2012v-1h-1.25v1h1.25zm-1.25-2V6h1.25v4h-1.25z'/%3e%3c/svg%3e\");mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.56%201h.88l6.54%2012.26-.44.74H1.44L1%2013.26%207.56%201zM8%202.28L2.28%2013H13.7L8%202.28zM8.625%2012v-1h-1.25v1h1.25zm-1.25-2V6h1.25v4h-1.25z'/%3e%3c/svg%3e\")}.reactodia-authoring-state__state-label{font-weight:700}.reactodia-authoring-state__state-indicator{position:relative}.reactodia-authoring-state__state-indicator-body{white-space:nowrap;align-items:center;gap:var(--reactodia-spacing-horizontal);background:var(--reactodia-canvas-underlay-color);border-radius:var(--reactodia-border-radius-s);height:22px;padding:1px;display:flex;position:absolute;bottom:0}.reactodia-authoring-state__actions{gap:var(--reactodia-spacing-horizontal);display:flex}.reactodia-authoring-state__action{cursor:pointer;opacity:.5;transition:opacity var(--reactodia-transition-duration);background:0 0;border:0;padding:0}.reactodia-authoring-state__action:hover{opacity:1}.reactodia-authoring-state__action[disabled]{cursor:not-allowed;opacity:.2}.reactodia-authoring-state__action-edit{align-items:center;display:flex}.reactodia-authoring-state__action-edit:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M13.23%201h-1.46L3.52%209.25l-.16.22L1%2013.59%202.41%2015l4.12-2.36.22-.16L15%204.23V2.77L13.23%201zM2.41%2013.59l1.51-3%201.45%201.45-2.96%201.55zm3.83-2.06L4.47%209.76l8-8%201.77%201.77-8%208z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M13.23%201h-1.46L3.52%209.25l-.16.22L1%2013.59%202.41%2015l4.12-2.36.22-.16L15%204.23V2.77L13.23%201zM2.41%2013.59l1.51-3%201.45%201.45-2.96%201.55zm3.83-2.06L4.47%209.76l8-8%201.77%201.77-8%208z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-authoring-state__action-edit:not(:empty):before{margin-right:3px}.reactodia-authoring-state__action-delete{align-items:center;display:flex}.reactodia-authoring-state__action-delete:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10%203h3v1h-1v9l-1%201H4l-1-1V4H2V3h3V2a1%201%200%200%201%201-1h3a1%201%200%200%201%201%201v1zM9%202H6v1h3V2zM4%2013h7V4H4v9zm2-8H5v7h1V5zm1%200h1v7H7V5zm2%200h1v7H9V5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10%203h3v1h-1v9l-1%201H4l-1-1V4H2V3h3V2a1%201%200%200%201%201-1h3a1%201%200%200%201%201%201v1zM9%202H6v1h3V2zM4%2013h7V4H4v9zm2-8H5v7h1V5zm1%200h1v7H7V5zm2%200h1v7H9V5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-authoring-state__action-delete:not(:empty):before{margin-right:3px}.reactodia-authoring-state__action-discard{align-items:center;display:flex}.reactodia-authoring-state__action-discard:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M3.5%202v3.5L4%206h3.5V5H4.979l.941-.941a3.552%203.552%200%201%201%205.023%205.023L5.746%2014.28l.72.72%205.198-5.198A4.57%204.57%200%200%200%205.2%203.339l-.7.7V2h-1z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M3.5%202v3.5L4%206h3.5V5H4.979l.941-.941a3.552%203.552%200%201%201%205.023%205.023L5.746%2014.28l.72.72%205.198-5.198A4.57%204.57%200%200%200%205.2%203.339l-.7.7V2h-1z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-authoring-state__action-discard:not(:empty):before{margin-right:3px}.reactodia-authoring-state__decorator .reactodia-authoring-state__state-indicator{transition:opacity var(--reactodia-transition-duration)}.reactodia-authoring-state__decorator--optional .reactodia-authoring-state__state-indicator{opacity:0}.reactodia-overlaid-element:hover+.reactodia-element-decorations .reactodia-authoring-state__state-indicator,.reactodia-authoring-state__decorator--selected .reactodia-authoring-state__state-indicator,.reactodia-authoring-state__decorator:hover .reactodia-authoring-state__state-indicator{opacity:1}.reactodia-edit-entity-form--loading{justify-content:center;align-items:center}.reactodia-edit-entity-form label .reactodia-form-control+.reactodia-form-control{margin-top:var(--reactodia-spacing-vertical)}.reactodia-edit-relation-form--loading{justify-content:center;align-items:center}.reactodia-element-selector{flex-direction:column;display:flex}.reactodia-element-selector--search-existing{flex:auto}.reactodia-element-selector__search{flex-shrink:0;position:relative}.reactodia-element-selector__search-icon{content:\"\";opacity:.6;background-color:currentColor;width:16px;height:16px;margin-top:-7px;display:block;position:absolute;top:50%;left:10px;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M15.25%200a8.25%208.25%200%200%200-6.18%2013.72L1%2022.88l1.12%201%208.05-9.12A8.251%208.251%200%201%200%2015.25.01V0zm0%2015a6.75%206.75%200%201%201%200-13.5%206.75%206.75%200%200%201%200%2013.5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M15.25%200a8.25%208.25%200%200%200-6.18%2013.72L1%2022.88l1.12%201%208.05-9.12A8.251%208.251%200%201%200%2015.25.01V0zm0%2015a6.75%206.75%200%201%201%200-13.5%206.75%206.75%200%200%201%200%2013.5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-element-selector__search-input{padding-left:33px}.reactodia-element-selector__existing-elements-list{flex:1 1 0;margin-top:7px;padding-right:10px;overflow-y:scroll}.reactodia-element-selector__results-spinner{flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.reactodia-element-selector__separator{text-align:center;margin:7px 0;overflow:hidden}.reactodia-element-selector__separator-text{color:var(--reactodia-border-color-base);font-size:13px;display:inline-block;position:relative}.reactodia-element-selector__separator-text:before,.reactodia-element-selector__separator-text:after{content:\"\";border-top:1px solid;width:500px;margin:0 10px;position:absolute;top:50%}.reactodia-element-selector__separator-text:before{left:100%}.reactodia-element-selector__separator-text:after{right:100%}.reactodia-loading-widget{color:var(--reactodia-color-emphasis-1000);background-color:var(--reactodia-canvas-overlay-color);z-index:calc(var(--reactodia-z-index-base) + 30);justify-content:center;align-items:center;margin:auto;display:flex;position:absolute;inset:0}.reactodia-fetch-status--loading{animation:2s linear infinite reactodia-loading-pulse}.reactodia-fetch-status--error:before{content:\"⚠ \";color:#ff000080}@keyframes reactodia-loading-pulse{0%{opacity:1;stroke-opacity:1}50%{opacity:.3;stroke-opacity:.3}to{opacity:1;stroke-opacity:1}}.reactodia-inline-diagnostic__icon{vertical-align:middle;width:16px;height:16px;margin-right:2px;display:inline-block}.reactodia-inline-diagnostic[data-reactodia-severity=info]{color:var(--reactodia-color-info)}.reactodia-inline-diagnostic[data-reactodia-severity=info] .reactodia-inline-diagnostic__icon{background:var(--reactodia-color-info);-webkit-mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8.568%201.031A6.8%206.8%200%200%201%2012.76%203.05a7.06%207.06%200%200%201%20.46%209.39%206.85%206.85%200%200%201-8.58%201.74%207%207%200%200%201-3.12-3.5%207.12%207.12%200%200%201-.23-4.71%207%207%200%200%201%202.77-3.79%206.8%206.8%200%200%201%204.508-1.149zM9.04%2013.88a5.89%205.89%200%200%200%203.41-2.07%206.07%206.07%200%200%200-.4-8.06%205.82%205.82%200%200%200-7.43-.74%206.06%206.06%200%200%200%20.5%2010.29%205.81%205.81%200%200%200%203.92.58zM7.375%206h1.25V5h-1.25v1zm1.25%201v4h-1.25V7h1.25z'/%3e%3c/svg%3e\");mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8.568%201.031A6.8%206.8%200%200%201%2012.76%203.05a7.06%207.06%200%200%201%20.46%209.39%206.85%206.85%200%200%201-8.58%201.74%207%207%200%200%201-3.12-3.5%207.12%207.12%200%200%201-.23-4.71%207%207%200%200%201%202.77-3.79%206.8%206.8%200%200%201%204.508-1.149zM9.04%2013.88a5.89%205.89%200%200%200%203.41-2.07%206.07%206.07%200%200%200-.4-8.06%205.82%205.82%200%200%200-7.43-.74%206.06%206.06%200%200%200%20.5%2010.29%205.81%205.81%200%200%200%203.92.58zM7.375%206h1.25V5h-1.25v1zm1.25%201v4h-1.25V7h1.25z'/%3e%3c/svg%3e\")}.reactodia-inline-diagnostic[data-reactodia-severity=warning]{color:var(--reactodia-color-warning)}.reactodia-inline-diagnostic[data-reactodia-severity=warning] .reactodia-inline-diagnostic__icon{background:var(--reactodia-color-warning);-webkit-mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.56%201h.88l6.54%2012.26-.44.74H1.44L1%2013.26%207.56%201zM8%202.28L2.28%2013H13.7L8%202.28zM8.625%2012v-1h-1.25v1h1.25zm-1.25-2V6h1.25v4h-1.25z'/%3e%3c/svg%3e\");mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.56%201h.88l6.54%2012.26-.44.74H1.44L1%2013.26%207.56%201zM8%202.28L2.28%2013H13.7L8%202.28zM8.625%2012v-1h-1.25v1h1.25zm-1.25-2V6h1.25v4h-1.25z'/%3e%3c/svg%3e\")}.reactodia-inline-diagnostic[data-reactodia-severity=error]{color:var(--reactodia-color-danger)}.reactodia-inline-diagnostic[data-reactodia-severity=error] .reactodia-inline-diagnostic__icon{background:var(--reactodia-color-danger);-webkit-mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.56%201h.88l6.54%2012.26-.44.74H1.44L1%2013.26%207.56%201zM8%202.28L2.28%2013H13.7L8%202.28zM8.625%2012v-1h-1.25v1h1.25zm-1.25-2V6h1.25v4h-1.25z'/%3e%3c/svg%3e\");mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.56%201h.88l6.54%2012.26-.44.74H1.44L1%2013.26%207.56%201zM8%202.28L2.28%2013H13.7L8%202.28zM8.625%2012v-1h-1.25v1h1.25zm-1.25-2V6h1.25v4h-1.25z'/%3e%3c/svg%3e\")}.reactodia-property-input-file{border:2px dashed var(--reactodia-border-color-base);flex-direction:column;gap:4px;padding:6px;display:flex}.reactodia-property-input-file[data-reactodia-drag-state=accept]{background-color:var(--reactodia-color-success-contrast-background);border-color:var(--reactodia-color-success)}.reactodia-property-input-file[data-reactodia-drag-state=reject]{background-color:var(--reactodia-color-danger-contrast-background);border-color:var(--reactodia-color-danger)}.reactodia-property-input-file__input{display:none}.reactodia-property-input-file__spinner{flex:auto;justify-content:center;display:grid}.reactodia-property-input-file__placeholder{text-align:center;flex:auto}.reactodia-property-input-file__hint{color:var(--reactodia-color-emphasis-600);margin-bottom:4px}.reactodia-property-input-file__item{border:var(--reactodia-border-width-base) solid var(--reactodia-border-color-base);border-radius:var(--reactodia-border-radius-s);color:var(--reactodia-color-primary-contrast-foreground);gap:4px;padding:2px;display:flex}.reactodia-property-input-file__item-file{content:\"\";background-color:currentColor;flex:none;justify-content:center;align-items:center;width:16px;height:16px;display:grid;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M13.71%204.29l-3-3L10%201H4L3%202v12l1%201h9l1-1V5l-.29-.71zM13%2014H4V2h5v4h4v8zm-3-9V2l3%203h-3z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M13.71%204.29l-3-3L10%201H4L3%202v12l1%201h9l1-1V5l-.29-.71zM13%2014H4V2h5v4h4v8zm-3-9V2l3%203h-3z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-property-input-file__item-image,.reactodia-property-input-file__item-file{background-color:var(--reactodia-color-primary-contrast-background);width:60px;height:60px}.reactodia-property-input-file__item-properties{white-space:nowrap;flex-direction:column;flex:auto;justify-content:center;display:flex;overflow:hidden}.reactodia-property-input-file__item-label{font-weight:700}.reactodia-property-input-file__item-label,.reactodia-property-input-file__item-property{text-overflow:ellipsis;overflow:hidden}.reactodia-property-input-file__item-remove[class]{align-items:center;display:flex}.reactodia-property-input-file__item-remove[class]:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10%203h3v1h-1v9l-1%201H4l-1-1V4H2V3h3V2a1%201%200%200%201%201-1h3a1%201%200%200%201%201%201v1zM9%202H6v1h3V2zM4%2013h7V4H4v9zm2-8H5v7h1V5zm1%200h1v7H7V5zm2%200h1v7H9V5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10%203h3v1h-1v9l-1%201H4l-1-1V4H2V3h3V2a1%201%200%200%201%201-1h3a1%201%200%200%201%201%201v1zM9%202H6v1h3V2zM4%2013h7V4H4v9zm2-8H5v7h1V5zm1%200h1v7H7V5zm2%200h1v7H9V5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-property-input-file__item-remove[class]:not(:empty):before{margin-right:3px}.reactodia-property-input-file__item-remove[class]{border:none;align-self:stretch;padding:6px 4px}.reactodia-property-input-list__row{gap:var(--reactodia-spacing-horizontal);display:flex}.reactodia-property-input-list__row+.reactodia-property-input-list__row{margin-top:var(--reactodia-spacing-vertical)}.reactodia-property-input-list__value-remove{align-items:center;display:flex}.reactodia-property-input-list__value-remove:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10%203h3v1h-1v9l-1%201H4l-1-1V4H2V3h3V2a1%201%200%200%201%201-1h3a1%201%200%200%201%201%201v1zM9%202H6v1h3V2zM4%2013h7V4H4v9zm2-8H5v7h1V5zm1%200h1v7H7V5zm2%200h1v7H9V5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10%203h3v1h-1v9l-1%201H4l-1-1V4H2V3h3V2a1%201%200%200%201%201-1h3a1%201%200%200%201%201%201v1zM9%202H6v1h3V2zM4%2013h7V4H4v9zm2-8H5v7h1V5zm1%200h1v7H7V5zm2%200h1v7H9V5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-property-input-list__value-remove:not(:empty):before{margin-right:3px}.reactodia-property-input-list__value-remove{border:none;align-self:flex-start;height:34px;padding:6px 4px}.reactodia-property-input-list__value-add{align-items:center;display:flex}.reactodia-property-input-list__value-add:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M14%207v1H8v6H7V8H1V7h6V1h1v6h6z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M14%207v1H8v6H7V8H1V7h6V1h1v6h6z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-property-input-list__value-add:not(:empty):before{margin-right:3px}.reactodia-property-input-list__value-add{padding:6px}.reactodia-property-input-text__language{width:unset;padding:0 2px}textarea.reactodia-property-input-text{resize:vertical;height:4em}.reactodia-paper{cursor:default;display:flex;position:relative}.reactodia-paper__pane{touch-action:none;will-change:scroll-position;flex:auto;overflow:scroll}.reactodia-paper--pan-on-touch .reactodia-paper__pane{touch-action:pan-x pan-y}.reactodia-paper--hide-scrollbars .reactodia-paper__pane{scrollbar-width:none}.reactodia-paper--hide-scrollbars .reactodia-paper__pane::-webkit-scrollbar{display:none}.reactodia-paper__layers{position:relative}.reactodia-paper--panning{cursor:grabbing}.reactodia-paper--panning:before{content:\" \";width:100%;height:100%;z-index:var(--reactodia-paper-panning-overlay-z-index,1);display:block;position:fixed}.reactodia-workspace-dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--reactodia-color-gray-0:#fff;--reactodia-color-gray-100:#f5f6f7;--reactodia-color-gray-200:#ebedf0;--reactodia-color-gray-300:#dadde1;--reactodia-color-gray-400:#ccd0d5;--reactodia-color-gray-500:#bec3c9;--reactodia-color-gray-600:#8d949e;--reactodia-color-gray-700:#606770;--reactodia-color-gray-800:#444950;--reactodia-color-gray-900:#1c1e21;--reactodia-color-gray-1000:#000;--reactodia-color-primary:#337ab7;--reactodia-color-primary-dark:#306cce;--reactodia-color-primary-darker:#2d66c3;--reactodia-color-primary-darkest:#2554a0;--reactodia-color-primary-light:#538ce9;--reactodia-color-primary-lighter:#72a1ed;--reactodia-color-primary-lightest:#9abcf2;--reactodia-color-secondary:#ebedf0;--reactodia-color-secondary-dark:#d4d5d8;--reactodia-color-secondary-darker:#c8c9cc;--reactodia-color-secondary-darkest:#a4a6a8;--reactodia-color-secondary-light:#eef0f2;--reactodia-color-secondary-lighter:#f1f2f5;--reactodia-color-secondary-lightest:#f5f6f8;--reactodia-color-success:#5cb85c;--reactodia-color-success-dark:#009400;--reactodia-color-success-darker:#008b00;--reactodia-color-success-darkest:#007300;--reactodia-color-success-light:#26b226;--reactodia-color-success-lighter:#4dbf4d;--reactodia-color-success-lightest:#80d280;--reactodia-color-info:#54c7ec;--reactodia-color-info-dark:#4cb3d4;--reactodia-color-info-darker:#47a9c9;--reactodia-color-info-darkest:#3b8ba5;--reactodia-color-info-light:#6ecfef;--reactodia-color-info-lighter:#87d8f2;--reactodia-color-info-lightest:#aae3f6;--reactodia-color-warning:#ffba00;--reactodia-color-warning-dark:#e6a700;--reactodia-color-warning-darker:#d99e00;--reactodia-color-warning-darkest:#b38200;--reactodia-color-warning-light:#ffc426;--reactodia-color-warning-lighter:#ffcf4d;--reactodia-color-warning-lightest:#ffdd80;--reactodia-color-danger:#c9302c;--reactodia-color-danger-dark:#e13238;--reactodia-color-danger-darker:#d53035;--reactodia-color-danger-darkest:#af272b;--reactodia-color-danger-light:#fb565b;--reactodia-color-danger-lighter:#fb7478;--reactodia-color-danger-lightest:#fd9c9f;--reactodia-font-family-base:\"Helvetica Neue\", \"Helvetica\", \"Arial\", sans-serif;--reactodia-font-family-monospace:\"Menlo\", \"Monaco\", \"Consolas\", \"Liberation Mono\", \"Courier New\", monospace;--reactodia-font-size-base:87.5%;--reactodia-line-height-base:1.42857;--reactodia-font-color-base:var(--reactodia-color-content);--reactodia-font-color-base-inverse:var(--reactodia-color-content-inverse);--reactodia-spacing-base:5px;--reactodia-spacing-vertical:var(--reactodia-spacing-base);--reactodia-spacing-horizontal:var(--reactodia-spacing-base);--reactodia-z-index-base:0;--reactodia-border-radius-base:4px;--reactodia-border-radius-s:2px;--reactodia-border-width-base:1px;--reactodia-transition-duration:.3s;--reactodia-input-border-color:var(--reactodia-border-color-base);--reactodia-input-border-color-focus:var(--reactodia-color-primary-lighter);--reactodia-input-border-radius:var(--reactodia-border-radius-base);--reactodia-input-border-width:var(--reactodia-border-width-base);--reactodia-button-border-radius:var(--reactodia-border-radius-base);--reactodia-button-border-width:var(--reactodia-border-width-base);--reactodia-button-default-border-color:var(--reactodia-border-color-base);--reactodia-draggable-handle-corner-width:10px;--reactodia-draggable-handle-side-width:5px;--reactodia-tree-background-color-active:#65a6ff4d;--reactodia-tree-background-color-focus:#bdd9ff4d;--reactodia-tree-border-color-active:#73d3ff80;--reactodia-tree-border-color-focus:#73d3ff4d;--reactodia-dialog-border-color:var(--reactodia-border-color-base);--reactodia-dialog-border-radius:var(--reactodia-border-radius-base);--reactodia-dialog-border-width:var(--reactodia-border-width-base);--reactodia-dialog-viewport-breakpoint-s:600px;--reactodia-canvas-background-color:var(--reactodia-background-color);--reactodia-viewport-dock-margin:10px;--reactodia-selection-link-color:#d8956d;--reactodia-selection-single-box-margin:5px;--reactodia-selection-single-box-color:#d8956d;--reactodia-selection-single-box-shadow:0 0 5px 0 var(--reactodia-selection-single-box-color) inset;--reactodia-navigator-scrollable-pane-fill:var(--reactodia-navigator-background-fill);--reactodia-navigator-viewport-fill:var(--reactodia-canvas-background-color);--reactodia-navigator-viewport-stroke-width:2;--reactodia-navigator-overflow-stroke-color:var(--reactodia-navigator-viewport-stroke-color);--reactodia-navigator-overflow-stroke-width:2;--reactodia-navigator-overflow-stroke-dash:5 5;--reactodia-toolbar-height:30px;--reactodia-item-min-width:150px;--reactodia-accordion-transition-duration:var(--reactodia-transition-duration);--reactodia-color-emphasis-0:var(--reactodia-color-gray-1000);--reactodia-color-emphasis-100:var(--reactodia-color-gray-900);--reactodia-color-emphasis-200:var(--reactodia-color-gray-800);--reactodia-color-emphasis-300:var(--reactodia-color-gray-700);--reactodia-color-emphasis-400:var(--reactodia-color-gray-600);--reactodia-color-emphasis-500:var(--reactodia-color-gray-500);--reactodia-color-emphasis-600:var(--reactodia-color-gray-400);--reactodia-color-emphasis-700:var(--reactodia-color-gray-300);--reactodia-color-emphasis-800:var(--reactodia-color-gray-200);--reactodia-color-emphasis-900:var(--reactodia-color-gray-100);--reactodia-color-emphasis-1000:var(--reactodia-color-gray-0);--reactodia-color-primary-contrast-background:#102445;--reactodia-color-primary-contrast-foreground:#ebf2fc;--reactodia-color-secondary-contrast-background:#474748;--reactodia-color-secondary-contrast-foreground:#fdfdfe;--reactodia-color-success-contrast-background:#003100;--reactodia-color-success-contrast-foreground:#e6f6e6;--reactodia-color-info-contrast-background:#193c47;--reactodia-color-info-contrast-foreground:#eef9fd;--reactodia-color-warning-contrast-background:#4d3800;--reactodia-color-warning-contrast-foreground:#fff8e6;--reactodia-color-danger-contrast-background:#4b1113;--reactodia-color-danger-contrast-foreground:#ffebec;--reactodia-color-content:#e3e3e3;--reactodia-color-content-inverse:var(--reactodia-color-gray-0);--reactodia-color-content-contrast:var(--reactodia-color-gray-900);--reactodia-background-color:#1b1b1d;--reactodia-background-color-surface:#242526;--reactodia-border-color-base:#555;--reactodia-input-color:#ddd;--reactodia-input-color-placeholder:#878787;--reactodia-input-background-color:#393c3e;--reactodia-input-background-color-disabled:#2f2f2f;--reactodia-button-default-background-color:var(--reactodia-background-color-surface);--reactodia-button-default-background-color-active:#a4a6a8;--reactodia-button-default-background-color-focus:var(--reactodia-button-default-color);--reactodia-button-default-color:#ebedf0;--reactodia-button-default-color-focus:var(--reactodia-background-color-surface);--reactodia-draggable-handle-corner-color:#ffffff61;--reactodia-draggable-handle-corner-color-focus:#ffffff80;--reactodia-draggable-handle-side-color:#fff;--reactodia-canvas-box-shadow:0 4px 15px 7px #aaaaaa0d;--reactodia-canvas-overlay-color:#000000b3;--reactodia-canvas-underlay-color:#1c1c1c99;--reactodia-element-background-color:#242526;--reactodia-link-stroke-color:var(--reactodia-color-emphasis-1000);--reactodia-monochrome-icon-filter:invert(1);--reactodia-selection-icon-filter:invert(1);--reactodia-selection-multiple-box-shadow:0 0 7px 7px #aaaaaa21;--reactodia-navigator-background-fill:var(--reactodia-color-gray-900);--reactodia-navigator-viewport-stroke-color:var(--reactodia-color-gray-800)}.reactodia-workspace-light{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--reactodia-color-gray-0:#fff;--reactodia-color-gray-100:#f5f6f7;--reactodia-color-gray-200:#ebedf0;--reactodia-color-gray-300:#dadde1;--reactodia-color-gray-400:#ccd0d5;--reactodia-color-gray-500:#bec3c9;--reactodia-color-gray-600:#8d949e;--reactodia-color-gray-700:#606770;--reactodia-color-gray-800:#444950;--reactodia-color-gray-900:#1c1e21;--reactodia-color-gray-1000:#000;--reactodia-color-primary:#337ab7;--reactodia-color-primary-dark:#306cce;--reactodia-color-primary-darker:#2d66c3;--reactodia-color-primary-darkest:#2554a0;--reactodia-color-primary-light:#538ce9;--reactodia-color-primary-lighter:#72a1ed;--reactodia-color-primary-lightest:#9abcf2;--reactodia-color-secondary:#ebedf0;--reactodia-color-secondary-dark:#d4d5d8;--reactodia-color-secondary-darker:#c8c9cc;--reactodia-color-secondary-darkest:#a4a6a8;--reactodia-color-secondary-light:#eef0f2;--reactodia-color-secondary-lighter:#f1f2f5;--reactodia-color-secondary-lightest:#f5f6f8;--reactodia-color-success:#5cb85c;--reactodia-color-success-dark:#009400;--reactodia-color-success-darker:#008b00;--reactodia-color-success-darkest:#007300;--reactodia-color-success-light:#26b226;--reactodia-color-success-lighter:#4dbf4d;--reactodia-color-success-lightest:#80d280;--reactodia-color-info:#54c7ec;--reactodia-color-info-dark:#4cb3d4;--reactodia-color-info-darker:#47a9c9;--reactodia-color-info-darkest:#3b8ba5;--reactodia-color-info-light:#6ecfef;--reactodia-color-info-lighter:#87d8f2;--reactodia-color-info-lightest:#aae3f6;--reactodia-color-warning:#ffba00;--reactodia-color-warning-dark:#e6a700;--reactodia-color-warning-darker:#d99e00;--reactodia-color-warning-darkest:#b38200;--reactodia-color-warning-light:#ffc426;--reactodia-color-warning-lighter:#ffcf4d;--reactodia-color-warning-lightest:#ffdd80;--reactodia-color-danger:#c9302c;--reactodia-color-danger-dark:#e13238;--reactodia-color-danger-darker:#d53035;--reactodia-color-danger-darkest:#af272b;--reactodia-color-danger-light:#fb565b;--reactodia-color-danger-lighter:#fb7478;--reactodia-color-danger-lightest:#fd9c9f;--reactodia-font-family-base:\"Helvetica Neue\", \"Helvetica\", \"Arial\", sans-serif;--reactodia-font-family-monospace:\"Menlo\", \"Monaco\", \"Consolas\", \"Liberation Mono\", \"Courier New\", monospace;--reactodia-font-size-base:87.5%;--reactodia-line-height-base:1.42857;--reactodia-font-color-base:var(--reactodia-color-content);--reactodia-font-color-base-inverse:var(--reactodia-color-content-inverse);--reactodia-spacing-base:5px;--reactodia-spacing-vertical:var(--reactodia-spacing-base);--reactodia-spacing-horizontal:var(--reactodia-spacing-base);--reactodia-z-index-base:0;--reactodia-border-radius-base:4px;--reactodia-border-radius-s:2px;--reactodia-border-width-base:1px;--reactodia-transition-duration:.3s;--reactodia-input-border-color:var(--reactodia-border-color-base);--reactodia-input-border-color-focus:var(--reactodia-color-primary-lighter);--reactodia-input-border-radius:var(--reactodia-border-radius-base);--reactodia-input-border-width:var(--reactodia-border-width-base);--reactodia-button-border-radius:var(--reactodia-border-radius-base);--reactodia-button-border-width:var(--reactodia-border-width-base);--reactodia-button-default-border-color:var(--reactodia-border-color-base);--reactodia-draggable-handle-corner-width:10px;--reactodia-draggable-handle-side-width:5px;--reactodia-tree-background-color-active:#65a6ff4d;--reactodia-tree-background-color-focus:#bdd9ff4d;--reactodia-tree-border-color-active:#73d3ff80;--reactodia-tree-border-color-focus:#73d3ff4d;--reactodia-dialog-border-color:var(--reactodia-border-color-base);--reactodia-dialog-border-radius:var(--reactodia-border-radius-base);--reactodia-dialog-border-width:var(--reactodia-border-width-base);--reactodia-dialog-viewport-breakpoint-s:600px;--reactodia-canvas-background-color:var(--reactodia-background-color);--reactodia-viewport-dock-margin:10px;--reactodia-selection-link-color:#d8956d;--reactodia-selection-single-box-margin:5px;--reactodia-selection-single-box-color:#d8956d;--reactodia-selection-single-box-shadow:0 0 5px 0 var(--reactodia-selection-single-box-color) inset;--reactodia-navigator-scrollable-pane-fill:var(--reactodia-navigator-background-fill);--reactodia-navigator-viewport-fill:var(--reactodia-canvas-background-color);--reactodia-navigator-viewport-stroke-width:2;--reactodia-navigator-overflow-stroke-color:var(--reactodia-navigator-viewport-stroke-color);--reactodia-navigator-overflow-stroke-width:2;--reactodia-navigator-overflow-stroke-dash:5 5;--reactodia-toolbar-height:30px;--reactodia-item-min-width:150px;--reactodia-accordion-transition-duration:var(--reactodia-transition-duration);--reactodia-color-emphasis-0:var(--reactodia-color-gray-0);--reactodia-color-emphasis-100:var(--reactodia-color-gray-100);--reactodia-color-emphasis-200:var(--reactodia-color-gray-200);--reactodia-color-emphasis-300:var(--reactodia-color-gray-300);--reactodia-color-emphasis-400:var(--reactodia-color-gray-400);--reactodia-color-emphasis-500:var(--reactodia-color-gray-500);--reactodia-color-emphasis-600:var(--reactodia-color-gray-600);--reactodia-color-emphasis-700:var(--reactodia-color-gray-700);--reactodia-color-emphasis-800:var(--reactodia-color-gray-800);--reactodia-color-emphasis-900:var(--reactodia-color-gray-900);--reactodia-color-emphasis-1000:var(--reactodia-color-gray-1000);--reactodia-color-primary-contrast-background:#ebf2fc;--reactodia-color-primary-contrast-foreground:#102445;--reactodia-color-secondary-contrast-background:#fdfdfe;--reactodia-color-secondary-contrast-foreground:#474748;--reactodia-color-success-contrast-background:#e6f6e6;--reactodia-color-success-contrast-foreground:#003100;--reactodia-color-info-contrast-background:#eef9fd;--reactodia-color-info-contrast-foreground:#193c47;--reactodia-color-warning-contrast-background:#fff8e6;--reactodia-color-warning-contrast-foreground:#4d3800;--reactodia-color-danger-contrast-background:#ffebec;--reactodia-color-danger-contrast-foreground:#4b1113;--reactodia-color-content:var(--reactodia-color-emphasis-900);--reactodia-color-content-inverse:var(--reactodia-color-emphasis-0);--reactodia-color-content-contrast:var(--reactodia-color-content);--reactodia-background-color:var(--reactodia-color-emphasis-0);--reactodia-background-color-surface:var(--reactodia-color-content-inverse);--reactodia-border-color-base:#ccc;--reactodia-input-color:#555;--reactodia-input-color-placeholder:var(--reactodia-color-emphasis-600);--reactodia-input-background-color:var(--reactodia-background-color-surface);--reactodia-input-background-color-disabled:var(--reactodia-color-emphasis-400);--reactodia-button-default-background-color:var(--reactodia-background-color-surface);--reactodia-button-default-background-color-active:#e0e0e0;--reactodia-button-default-background-color-focus:#d4d4d4;--reactodia-button-default-color:#333;--reactodia-button-default-color-focus:var(--reactodia-button-default-color);--reactodia-draggable-handle-corner-color:#00000061;--reactodia-draggable-handle-corner-color-focus:#00000080;--reactodia-draggable-handle-side-color:#000;--reactodia-canvas-box-shadow:0 4px 15px 7px #3333330d;--reactodia-canvas-overlay-color:#ffffffb3;--reactodia-canvas-underlay-color:#ffffffb3;--reactodia-element-background-color:#fafaf9;--reactodia-link-stroke-color:var(--reactodia-color-emphasis-1000);--reactodia-monochrome-icon-filter:;--reactodia-selection-icon-filter:;--reactodia-selection-multiple-box-shadow:0 0 7px 7px #33333321;--reactodia-navigator-background-fill:var(--reactodia-color-gray-100);--reactodia-navigator-viewport-stroke-color:var(--reactodia-color-gray-200)}.reactodia-draggable-handle--dock-n,.reactodia-draggable-handle--dock-s{background-color:var(--reactodia-draggable-handle-side-color);position:absolute}.reactodia-draggable-handle--dock-n:empty,.reactodia-draggable-handle--dock-s:empty{opacity:0}.reactodia-draggable-handle--dock-n:empty:hover,.reactodia-draggable-handle--dock-s:empty:hover{opacity:.1}.reactodia-draggable-handle--dock-n,.reactodia-draggable-handle--dock-s{cursor:ns-resize;width:100%}.reactodia-draggable-handle--dock-n:empty,.reactodia-draggable-handle--dock-s:empty{height:var(--reactodia-draggable-handle-side-width)}.reactodia-draggable-handle--dock-n{top:0}.reactodia-draggable-handle--dock-s{bottom:0}.reactodia-draggable-handle--dock-w,.reactodia-draggable-handle--dock-e{background-color:var(--reactodia-draggable-handle-side-color);position:absolute}.reactodia-draggable-handle--dock-w:empty,.reactodia-draggable-handle--dock-e:empty{opacity:0}.reactodia-draggable-handle--dock-w:empty:hover,.reactodia-draggable-handle--dock-e:empty:hover{opacity:.1}.reactodia-draggable-handle--dock-w,.reactodia-draggable-handle--dock-e{cursor:ew-resize;height:100%;top:0}.reactodia-draggable-handle--dock-w:empty,.reactodia-draggable-handle--dock-e:empty{width:var(--reactodia-draggable-handle-side-width)}.reactodia-draggable-handle--dock-w{left:0}.reactodia-draggable-handle--dock-e{right:0}.reactodia-draggable-handle--dock-nw,.reactodia-draggable-handle--dock-ne,.reactodia-draggable-handle--dock-sw,.reactodia-draggable-handle--dock-se{width:0;height:0;position:absolute}.reactodia-draggable-handle--dock-nw:empty,.reactodia-draggable-handle--dock-ne:empty,.reactodia-draggable-handle--dock-sw:empty,.reactodia-draggable-handle--dock-se:empty{border-radius:var(--reactodia-border-radius-base);border-style:solid}.reactodia-draggable-handle--dock-nw:empty:before,.reactodia-draggable-handle--dock-ne:empty:before,.reactodia-draggable-handle--dock-sw:empty:before,.reactodia-draggable-handle--dock-se:empty:before{content:\"\";border-radius:var(--reactodia-border-radius-base);border-style:solid;width:0;height:0;position:absolute}.reactodia-draggable-handle--dock-nw,.reactodia-draggable-handle--dock-ne{border-color:var(--reactodia-draggable-handle-corner-color) transparent transparent transparent}.reactodia-draggable-handle--dock-nw:before,.reactodia-draggable-handle--dock-ne:before{top:calc(-1 * var(--reactodia-draggable-handle-corner-width));border-color:var(--reactodia-draggable-handle-corner-color) transparent transparent transparent}.reactodia-draggable-handle--dock-nw:hover,.reactodia-draggable-handle--dock-ne:hover{border-color:var(--reactodia-draggable-handle-corner-color-focus) transparent transparent transparent}.reactodia-draggable-handle--dock-nw{border-width:var(--reactodia-draggable-handle-corner-width) var(--reactodia-draggable-handle-corner-width) 0 0;cursor:nwse-resize;top:0;left:0}.reactodia-draggable-handle--dock-nw:before{border-width:calc(var(--reactodia-draggable-handle-corner-width) / 2) calc(var(--reactodia-draggable-handle-corner-width) / 2) 0 0;left:0}.reactodia-draggable-handle--dock-ne{border-width:var(--reactodia-draggable-handle-corner-width) 0 0 var(--reactodia-draggable-handle-corner-width);cursor:nesw-resize;top:0;right:0}.reactodia-draggable-handle--dock-ne:before{border-width:calc(var(--reactodia-draggable-handle-corner-width) / 2) 0 0 calc(var(--reactodia-draggable-handle-corner-width) / 2);right:0}.reactodia-draggable-handle--dock-sw,.reactodia-draggable-handle--dock-se{border-color:transparent transparent var(--reactodia-draggable-handle-corner-color) transparent}.reactodia-draggable-handle--dock-sw:before,.reactodia-draggable-handle--dock-se:before{bottom:calc(-1 * var(--reactodia-draggable-handle-corner-width));border-color:transparent transparent var(--reactodia-draggable-handle-corner-color) transparent}.reactodia-draggable-handle--dock-sw:hover,.reactodia-draggable-handle--dock-se:hover{border-color:transparent transparent var(--reactodia-draggable-handle-corner-color-focus) transparent}.reactodia-draggable-handle--dock-sw{border-width:0 var(--reactodia-draggable-handle-corner-width) var(--reactodia-draggable-handle-corner-width) 0;cursor:nesw-resize;bottom:0;left:0}.reactodia-draggable-handle--dock-sw:before{border-width:0 calc(var(--reactodia-draggable-handle-corner-width) / 2) calc(var(--reactodia-draggable-handle-corner-width) / 2) 0;left:0}.reactodia-draggable-handle--dock-se{border-width:0 0 var(--reactodia-draggable-handle-corner-width) var(--reactodia-draggable-handle-corner-width);cursor:nwse-resize;bottom:0;right:0}.reactodia-draggable-handle--dock-se:before{border-width:0 0 calc(var(--reactodia-draggable-handle-corner-width) / 2) calc(var(--reactodia-draggable-handle-corner-width) / 2);right:0}.reactodia-drag-link-mover{overflow:visible}.reactodia-drag-link-mover__highlight-overlay{fill:var(--reactodia-color-emphasis-0);fill-opacity:.3}.reactodia-drag-link-mover__highlight-allow,.reactodia-drag-link-mover__highlight-deny{stroke-width:3px;fill:#0000}.reactodia-drag-link-mover__highlight-allow{stroke:var(--reactodia-color-success)}.reactodia-drag-link-mover__highlight-deny{stroke:var(--reactodia-color-danger)}.reactodia-drag-link-mover__drop-underlay{fill:var(--reactodia-color-emphasis-1000);fill-opacity:.1}.reactodia-drag-link-mover__drop-allow{stroke:var(--reactodia-color-success)}.reactodia-drag-link-mover__drop-deny>*{stroke:var(--reactodia-color-danger)}.reactodia-dropdown{float:left;z-index:calc(var(--reactodia-z-index-base) + 40);position:relative}.reactodia-dropdown__content{opacity:1;flex-direction:column;transition:opacity .1s ease-in-out;display:flex;position:absolute}.reactodia-dropdown--up .reactodia-dropdown__content{bottom:100%}.reactodia-dropdown--expanded .reactodia-dropdown__content{box-shadow:var(--reactodia-canvas-box-shadow)}.reactodia-dropdown--collapsed .reactodia-dropdown__content{opacity:0;pointer-events:none;height:0;transition:none}.reactodia-dropdown--down.reactodia-dropdown--expanded .reactodia-dropdown-menu__toggle{border-bottom-left-radius:unset;border-bottom-right-radius:unset;border-bottom:none}.reactodia-dropdown--up.reactodia-dropdown--expanded .reactodia-dropdown-menu__toggle{border-top-left-radius:unset;border-top-right-radius:unset;border-top:none}.reactodia-dropdown-menu__toggle:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M16%205H0V4h16v1zm0%208H0v-1h16v1zm0-4.008H0V8h16v.992z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M16%205H0V4h16v1zm0%208H0v-1h16v1zm0-4.008H0V8h16v.992z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-dropdown-menu__items{background-color:var(--reactodia-background-color-surface);display:flex}.reactodia-dropdown--down .reactodia-dropdown-menu__items{flex-direction:column}.reactodia-dropdown--up .reactodia-dropdown-menu__items{flex-direction:column-reverse}.reactodia-dropdown-menu-item{border-radius:unset;outline-offset:-2px;display:flex}.reactodia-dropdown--down .reactodia-dropdown-menu-item:first-child{border-top-right-radius:var(--reactodia-button-border-radius)}.reactodia-dropdown--down .reactodia-dropdown-menu-item:last-child{border-bottom-left-radius:var(--reactodia-button-border-radius);border-bottom-right-radius:var(--reactodia-button-border-radius)}.reactodia-dropdown--down .reactodia-dropdown-menu-item~.reactodia-dropdown-menu-item{margin-top:calc(-1 * var(--reactodia-button-border-width));border-top-color:var(--reactodia-button-default-border-color)}.reactodia-dropdown--up .reactodia-dropdown-menu-item:first-child{border-bottom-right-radius:var(--reactodia-button-border-radius)}.reactodia-dropdown--up .reactodia-dropdown-menu-item:last-child{border-top-left-radius:var(--reactodia-button-border-radius);border-top-right-radius:var(--reactodia-button-border-radius)}.reactodia-dropdown--up .reactodia-dropdown-menu-item~.reactodia-dropdown-menu-item{margin-bottom:calc(-1 * var(--reactodia-button-border-width));border-bottom-color:var(--reactodia-button-default-border-color)}.reactodia-inline-entity{border:1px solid var(--reactodia-inline-entity-color);background:var(--reactodia-inline-entity-color);word-wrap:break-word;padding-left:5px;line-height:1.3}.reactodia-inline-entity__label{background:var(--reactodia-element-background-color);padding:0 2px}.reactodia-list-element-view{background:var(--reactodia-element-style-color);border-radius:var(--reactodia-border-radius-s);opacity:1;cursor:move;-webkit-user-select:none;user-select:none;margin:0 0 2px;padding:1px 1px 1px 10px;display:block;position:relative}.reactodia-list-element-view--disabled{opacity:.4;cursor:default}.reactodia-list-element-view__label{background:var(--reactodia-element-background-color);border-radius:0 var(--reactodia-border-radius-s) var(--reactodia-border-radius-s) 0;font-family:var(--reactodia-font-family-base);overflow-wrap:break-word;min-height:1.3em;padding-left:7px;padding-right:5px;font-size:15px}.reactodia-list-element-view--selected .reactodia-list-element-view__label{color:var(--reactodia-color-content-contrast)}.reactodia-text-highlight{font-weight:700}.reactodia-no-search-results{text-align:center;color:var(--reactodia-input-color-placeholder);font-style:italic}@keyframes reactodia-progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}.reactodia-progress-bar{background-color:var(--reactodia-color-emphasis-200);flex-shrink:0;width:100%;overflow:hidden;box-shadow:inset 0 1px 2px #0000001a}.reactodia-progress-bar__bar{float:left;background-color:var(--reactodia-color-primary);background-image:linear-gradient(45deg,#ffffff26 25%,#0000 25% 50%,#ffffff26 50% 75%,#0000 75%,#0000);background-repeat:repeat-x;background-size:40px 40px;height:100%;transition:width .6s;animation:2s linear infinite reactodia-progress-bar-stripes}.reactodia-progress-bar--error .reactodia-progress-bar__bar{background-color:var(--reactodia-color-danger)}.reactodia-progress-bar--loading,.reactodia-progress-bar--error{transition:height var(--reactodia-transition-duration) .3s}.reactodia-progress-bar--completed{transition:height var(--reactodia-transition-duration) 0s}.reactodia-resizable-box{border:var(--reactodia-resizable-box-border-width) solid var(--reactodia-resizable-box-color)}.reactodia-resizable-box__handle{background-color:unset;touch-action:none}.reactodia-resizable-box__handle.reactodia-draggable-handle--dock-n,.reactodia-resizable-box__handle.reactodia-draggable-handle--dock-s,.reactodia-resizable-box__handle.reactodia-draggable-handle--dock-w,.reactodia-resizable-box__handle.reactodia-draggable-handle--dock-e{justify-content:center;align-items:center;display:flex}.reactodia-resizable-box__handle.reactodia-draggable-handle--dock-n{margin-top:calc(-.5 * var(--reactodia-resizable-box-border-width))}.reactodia-resizable-box__handle.reactodia-draggable-handle--dock-s{margin-bottom:calc(-.5 * var(--reactodia-resizable-box-border-width))}.reactodia-resizable-box__handle.reactodia-draggable-handle--dock-w{margin-left:calc(-.5 * var(--reactodia-resizable-box-border-width))}.reactodia-resizable-box__handle.reactodia-draggable-handle--dock-e{margin-right:calc(-.5 * var(--reactodia-resizable-box-border-width))}.reactodia-resizable-box__handle rect{stroke-width:2px}.reactodia-resizable-box__handle circle,.reactodia-resizable-box__handle rect{stroke:var(--reactodia-resizable-box-color);fill:var(--reactodia-canvas-background-color)}.reactodia-resizable-box__handle:hover circle,.reactodia-resizable-box__handle:hover rect{fill:var(--reactodia-resizable-box-color)}.reactodia-resizable-box__corner{width:20px;height:20px;position:absolute;top:-10px;left:-10px}.reactodia-resizable-box__vertical{width:30px;height:10px;position:absolute}.reactodia-resizable-box__horizontal{width:10px;height:30px;position:absolute}.reactodia-search-input{display:flex}.reactodia-search-input__input::placeholder{color:var(--reactodia-input-color-placeholder)}.reactodia-search-input--has-submit .reactodia-search-input__input{border-top-right-radius:unset;border-bottom-right-radius:unset}.reactodia-search-input__clear-container{align-items:center;width:0;display:flex;overflow:visible}.reactodia-search-input__clear{cursor:pointer;color:var(--reactodia-button-default-color);border-top-right-radius:var(--reactodia-input-border-radius);border-bottom-right-radius:var(--reactodia-input-border-radius);transition:background-color var(--reactodia-transition-duration);background:0 0;border:0;padding:8px;position:relative;left:-33px}.reactodia-search-input__clear:hover{color:var(--reactodia-button-default-color-focus);background-color:var(--reactodia-button-default-background-color-focus)}.reactodia-search-input__clear:after{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8%208.707l3.646%203.647.708-.707L8.707%208l3.647-3.646-.707-.708L8%207.293%204.354%203.646l-.707.708L7.293%208l-3.646%203.646.707.708L8%208.707z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8%208.707l3.646%203.647.708-.707L8.707%208l3.647-3.646-.707-.708L8%207.293%204.354%203.646l-.707.708L7.293%208l-3.646%203.646.707.708L8%208.707z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-search-input--has-submit .reactodia-search-input__clear{border-top-right-radius:unset;border-bottom-right-radius:unset}.reactodia-search-input__submit{border-top-left-radius:unset;border-bottom-left-radius:unset;margin-left:-1px}.reactodia-search-input__submit:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M15.25%200a8.25%208.25%200%200%200-6.18%2013.72L1%2022.88l1.12%201%208.05-9.12A8.251%208.251%200%201%200%2015.25.01V0zm0%2015a6.75%206.75%200%201%201%200-13.5%206.75%206.75%200%200%201%200%2013.5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M15.25%200a8.25%208.25%200%200%200-6.18%2013.72L1%2022.88l1.12%201%208.05-9.12A8.251%208.251%200%201%200%2015.25.01V0zm0%2015a6.75%206.75%200%201%201%200-13.5%206.75%206.75%200%200%201%200%2013.5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-search-results__root{margin:0;padding:0}.reactodia-search-results__item{list-style:none;display:contents}.reactodia-viewport-dock--row-n,.reactodia-viewport-dock--row-s,.reactodia-viewport-dock--column-w,.reactodia-viewport-dock--column-e{pointer-events:none}.reactodia-viewport-dock--row-n>*,.reactodia-viewport-dock--row-s>*,.reactodia-viewport-dock--column-w>*,.reactodia-viewport-dock--column-e>*{pointer-events:auto}.reactodia-viewport-dock--row-n,.reactodia-viewport-dock--row-s{justify-content:center;display:flex;position:absolute;left:0;right:0}.reactodia-viewport-dock--row-n{top:calc(var(--reactodia-viewport-dock-margin) + var(--reactodia-viewport-dock-offset-y,0px))}.reactodia-viewport-dock--row-s{bottom:calc(var(--reactodia-viewport-dock-margin) + var(--reactodia-viewport-dock-offset-y,0px))}.reactodia-viewport-dock--column-w,.reactodia-viewport-dock--column-e{flex-direction:column;justify-content:center;display:flex;position:absolute;top:0;bottom:0}.reactodia-viewport-dock--column-w{left:calc(var(--reactodia-viewport-dock-margin) + var(--reactodia-viewport-dock-offset-x,0px))}.reactodia-viewport-dock--column-e{right:calc(var(--reactodia-viewport-dock-margin) + var(--reactodia-viewport-dock-offset-x,0px))}.reactodia-viewport-dock--corner{display:contents}.reactodia-viewport-dock--dock-nw{left:calc(var(--reactodia-viewport-dock-margin) + var(--reactodia-viewport-dock-offset-x,0px));top:calc(var(--reactodia-viewport-dock-margin) + var(--reactodia-viewport-dock-offset-y,0px));position:absolute}.reactodia-viewport-dock--dock-ne{right:calc(var(--reactodia-viewport-dock-margin) + var(--reactodia-viewport-dock-offset-x,0px));top:calc(var(--reactodia-viewport-dock-margin) + var(--reactodia-viewport-dock-offset-y,0px));position:absolute}.reactodia-viewport-dock--dock-se{right:calc(var(--reactodia-viewport-dock-margin) + var(--reactodia-viewport-dock-offset-x,0px));bottom:calc(var(--reactodia-viewport-dock-margin) + var(--reactodia-viewport-dock-offset-y,0px));position:absolute}.reactodia-viewport-dock--dock-sw{left:calc(var(--reactodia-viewport-dock-margin) + var(--reactodia-viewport-dock-offset-x,0px));bottom:calc(var(--reactodia-viewport-dock-margin) + var(--reactodia-viewport-dock-offset-y,0px));position:absolute}.reactodia-canvas{flex:1 1 0;width:100%;display:flex;overflow:hidden}.reactodia-class-tree{flex-direction:column;flex:auto;display:flex}.reactodia-class-tree__filter{flex-shrink:0;margin:10px 0}.reactodia-class-tree--controlled .reactodia-class-tree__filter{margin-top:0}.reactodia-class-tree__filter-group{margin-left:10px;margin-right:10px}.reactodia-class-tree__only-creatable{margin-top:5px;display:block}.reactodia-class-tree__tree{border-top:1px solid var(--reactodia-border-color-base)}.reactodia-class-tree__no-results{margin-top:10px}.reactodia-class-tree__spinner{align-self:center;margin:auto}.reactodia-class-tree-item{margin:1px 0;list-style:none}.reactodia-class-tree-item__row{white-space:nowrap;-webkit-user-select:none;user-select:none;align-items:center;display:flex}.reactodia-class-tree-item__row>*{flex-shrink:0}.reactodia-class-tree-item__body{border-radius:var(--reactodia-border-radius-s);border:1px solid #0000;align-items:center;padding:1px;font-size:15px;text-decoration:none;display:flex}.reactodia-class-tree-item__body:hover{background:var(--reactodia-tree-background-color-focus);border-color:var(--reactodia-tree-border-color-focus);cursor:pointer}.reactodia-class-tree-item__body--selected{background-color:var(--reactodia-tree-background-color-active);border-color:var(--reactodia-tree-border-color-active)}.reactodia-class-tree-item__icon-container{height:20px}.reactodia-class-tree-item__icon{height:100%;display:block}.reactodia-class-tree-item__icon--monochrome{filter:var(--reactodia-monochrome-icon-filter)}.reactodia-class-tree-item__default-icon-leaf,.reactodia-class-tree-item__default-icon-parent{content:\"\";width:20px;height:20px;color:var(--reactodia-element-style-color);background-color:currentColor;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M13.51%204l-5-3h-1l-5%203-.49.86v6l.49.85%205%203h1l5-3%20.49-.85v-6L13.51%204zm-6%209.56l-4.5-2.7V5.7l4.5%202.45v5.41zM3.27%204.7l4.74-2.84%204.74%202.84-4.74%202.59L3.27%204.7zm9.74%206.16l-4.5%202.7V8.15l4.5-2.45v5.16z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M13.51%204l-5-3h-1l-5%203-.49.86v6l.49.85%205%203h1l5-3%20.49-.85v-6L13.51%204zm-6%209.56l-4.5-2.7V5.7l4.5%202.45v5.41zM3.27%204.7l4.74-2.84%204.74%202.84-4.74%202.59L3.27%204.7zm9.74%206.16l-4.5%202.7V8.15l4.5-2.45v5.16z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-class-tree-item__label{color:var(--reactodia-font-color-base);margin-left:5px}.reactodia-class-tree-item__highlighted-term{font-weight:700}.reactodia-class-tree-item__count{margin-left:5px}.reactodia-class-tree-item__root{margin:0;padding:0}.reactodia-class-tree-item__children{margin:0 0 0 20px;padding:0}.reactodia-class-tree-item__toggle,.reactodia-class-tree-item__toggle-expanded,.reactodia-class-tree-item__toggle-collapsed{margin:2px}.reactodia-class-tree-item__toggle-expanded,.reactodia-class-tree-item__toggle-collapsed{opacity:.5}.reactodia-class-tree-item__toggle-expanded:hover,.reactodia-class-tree-item__toggle-collapsed:hover{cursor:pointer;opacity:1;transition:opacity var(--reactodia-transition-duration)}.reactodia-class-tree-item__toggle:before{content:\"\";width:16px;height:16px;display:block}.reactodia-class-tree-item__toggle-expanded:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M2%205.56L2.413%205h11.194l.393.54L8.373%2011h-.827L2%205.56z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M2%205.56L2.413%205h11.194l.393.54L8.373%2011h-.827L2%205.56z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-class-tree-item__toggle-collapsed:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M5.56%2014L5%2013.587V2.393L5.54%202%2011%207.627v.827L5.56%2014z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M5.56%2014L5%2013.587V2.393L5.54%202%2011%207.627v.827L5.56%2014z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-class-tree-item__create-button{cursor:move;margin-left:5px;padding:5px 4px 5px 5px}.reactodia-class-tree-item__create-button:before{content:\"\";background-color:currentColor;width:12px;height:12px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M14%207v1H8v6H7V8H1V7h6V1h1v6h6z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M14%207v1H8v6H7V8H1V7h6V1h1v6h6z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-connections-menu{flex-direction:column;flex:auto;display:flex}.reactodia-connections-menu__breadcrumbs{text-overflow:ellipsis;flex-grow:0;height:30px;min-height:30px;padding:10px 10px 0;overflow:hidden}.reactodia-connections-menu__breadcrumbs-link{color:var(--reactodia-color-primary);cursor:pointer;font-family:unset;font-size:unset;font-weight:unset;background:0 0;border:none;padding:0;text-decoration:none}.reactodia-connections-menu__breadcrumbs-link:hover{text-decoration:underline}.reactodia-connections-menu__search{flex:none;align-items:center;padding:10px}.reactodia-connections-menu__sort-switches{flex:0 0 20px;margin-left:10px}.reactodia-connections-menu__sort-switch{display:none}.reactodia-connections-menu__sort-switch:checked+.reactodia-connections-menu__sort-switch-label{color:var(--reactodia-color-primary-light);opacity:1}.reactodia-connections-menu__sort-switch-label{cursor:pointer;opacity:.4;text-align:center;margin:0;display:block}.reactodia-connections-menu__sort-switch-label:hover{opacity:1}.reactodia-connections-menu__sort-label-alpha:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.223%2010.933c.326.192.699.29%201.077.282a2.159%202.159%200%200%200%201.754-.842%203.291%203.291%200%200%200%20.654-2.113%202.886%202.886%200%200%200-.576-1.877%201.99%201.99%200%200%200-1.634-.733%202.294%202.294%200%200%200-1.523.567V3.475h-.991V11.1h.995v-.344c.076.066.158.125.244.177zM7.85%206.7c.186-.079.388-.113.59-.1a1.08%201.08%200%200%201%20.896.428c.257.363.382.802.357%201.245a2.485%202.485%200%200%201-.4%201.484%201.133%201.133%200%200%201-.96.508%201.224%201.224%200%200%201-.976-.417A1.522%201.522%200%200%201%206.975%208.8v-.6a1.722%201.722%200%200%201%20.393-1.145c.13-.154.296-.276.482-.355zM3.289%205.675a3.03%203.03%200%200%200-.937.162%202.59%202.59%200%200%200-.8.4l-.1.077v1.2l.423-.359a2.1%202.1%200%200%201%201.366-.572.758.758%200%200%201%20.661.282c.15.232.23.503.231.779L2.9%207.825a2.6%202.6%200%200%200-1.378.575%201.65%201.65%200%200%200-.022%202.336%201.737%201.737%200%200%200%201.253.454%201.96%201.96%200%200%200%201.107-.332c.102-.068.197-.145.286-.229v.444h.941V7.715a2.193%202.193%200%200%200-.469-1.5%201.687%201.687%200%200%200-1.329-.54zm.857%203.041c.02.418-.12.829-.391%201.148a1.221%201.221%200%200%201-.955.422.832.832%200%200%201-.608-.2.833.833%200%200%201%200-1.091c.281-.174.6-.277.93-.3l1.02-.148.004.169zm8.313%202.317c.307.13.64.193.973.182.495.012.983-.114%201.41-.365l.123-.075.013-.007V9.615l-.446.32c-.316.224-.696.34-1.084.329A1.3%201.3%200%200%201%2012.4%209.8a1.975%201.975%200%200%201-.4-1.312%202.01%202.01%200%200%201%20.453-1.381A1.432%201.432%200%200%201%2013.6%206.6a1.8%201.8%200%200%201%20.971.279l.43.265V5.97l-.17-.073a2.9%202.9%200%200%200-1.17-.247%202.52%202.52%200%200%200-1.929.817%202.9%202.9%200%200%200-.747%202.049c-.028.707.21%201.4.67%201.939.222.249.497.446.804.578z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.223%2010.933c.326.192.699.29%201.077.282a2.159%202.159%200%200%200%201.754-.842%203.291%203.291%200%200%200%20.654-2.113%202.886%202.886%200%200%200-.576-1.877%201.99%201.99%200%200%200-1.634-.733%202.294%202.294%200%200%200-1.523.567V3.475h-.991V11.1h.995v-.344c.076.066.158.125.244.177zM7.85%206.7c.186-.079.388-.113.59-.1a1.08%201.08%200%200%201%20.896.428c.257.363.382.802.357%201.245a2.485%202.485%200%200%201-.4%201.484%201.133%201.133%200%200%201-.96.508%201.224%201.224%200%200%201-.976-.417A1.522%201.522%200%200%201%206.975%208.8v-.6a1.722%201.722%200%200%201%20.393-1.145c.13-.154.296-.276.482-.355zM3.289%205.675a3.03%203.03%200%200%200-.937.162%202.59%202.59%200%200%200-.8.4l-.1.077v1.2l.423-.359a2.1%202.1%200%200%201%201.366-.572.758.758%200%200%201%20.661.282c.15.232.23.503.231.779L2.9%207.825a2.6%202.6%200%200%200-1.378.575%201.65%201.65%200%200%200-.022%202.336%201.737%201.737%200%200%200%201.253.454%201.96%201.96%200%200%200%201.107-.332c.102-.068.197-.145.286-.229v.444h.941V7.715a2.193%202.193%200%200%200-.469-1.5%201.687%201.687%200%200%200-1.329-.54zm.857%203.041c.02.418-.12.829-.391%201.148a1.221%201.221%200%200%201-.955.422.832.832%200%200%201-.608-.2.833.833%200%200%201%200-1.091c.281-.174.6-.277.93-.3l1.02-.148.004.169zm8.313%202.317c.307.13.64.193.973.182.495.012.983-.114%201.41-.365l.123-.075.013-.007V9.615l-.446.32c-.316.224-.696.34-1.084.329A1.3%201.3%200%200%201%2012.4%209.8a1.975%201.975%200%200%201-.4-1.312%202.01%202.01%200%200%201%20.453-1.381A1.432%201.432%200%200%201%2013.6%206.6a1.8%201.8%200%200%201%20.971.279l.43.265V5.97l-.17-.073a2.9%202.9%200%200%200-1.17-.247%202.52%202.52%200%200%200-1.929.817%202.9%202.9%200%200%200-.747%202.049c-.028.707.21%201.4.67%201.939.222.249.497.446.804.578z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-connections-menu__sort-label-smart:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M11.67%208.658a3.661%203.661%200%200%200-.781%201.114%203.28%203.28%200%200%200-.268%201.329v1.6a1.304%201.304%200%200%201-.794%201.197%201.282%201.282%200%200%201-.509.102H7.712a1.285%201.285%200%200%201-.922-.379%201.303%201.303%200%200%201-.38-.92v-1.6c0-.479-.092-.921-.274-1.329a3.556%203.556%200%200%200-.776-1.114%204.689%204.689%200%200%201-1.006-1.437A4.187%204.187%200%200%201%204%205.5a4.432%204.432%200%200%201%20.616-2.27c.197-.336.432-.64.705-.914a4.6%204.6%200%200%201%20.911-.702c.338-.196.7-.348%201.084-.454a4.45%204.45%200%200%201%201.2-.16%204.476%204.476%200%200%201%202.276.614%204.475%204.475%200%200%201%201.622%201.616%204.438%204.438%200%200%201%20.616%202.27c0%20.617-.117%201.191-.353%201.721a4.69%204.69%200%200%201-1.006%201.437zM9.623%2010.5H7.409v2.201c0%20.081.028.15.09.212a.29.29%200%200%200%20.213.09h1.606a.289.289%200%200%200%20.213-.09.286.286%200%200%200%20.09-.212V10.5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M11.67%208.658a3.661%203.661%200%200%200-.781%201.114%203.28%203.28%200%200%200-.268%201.329v1.6a1.304%201.304%200%200%201-.794%201.197%201.282%201.282%200%200%201-.509.102H7.712a1.285%201.285%200%200%201-.922-.379%201.303%201.303%200%200%201-.38-.92v-1.6c0-.479-.092-.921-.274-1.329a3.556%203.556%200%200%200-.776-1.114%204.689%204.689%200%200%201-1.006-1.437A4.187%204.187%200%200%201%204%205.5a4.432%204.432%200%200%201%20.616-2.27c.197-.336.432-.64.705-.914a4.6%204.6%200%200%201%20.911-.702c.338-.196.7-.348%201.084-.454a4.45%204.45%200%200%201%201.2-.16%204.476%204.476%200%200%201%202.276.614%204.475%204.475%200%200%201%201.622%201.616%204.438%204.438%200%200%201%20.616%202.27c0%20.617-.117%201.191-.353%201.721a4.69%204.69%200%200%201-1.006%201.437zM9.623%2010.5H7.409v2.201c0%20.081.028.15.09.212a.29.29%200%200%200%20.213.09h1.606a.289.289%200%200%200%20.213-.09.286.286%200%200%200%20.09-.212V10.5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-connections-menu__spinner{align-self:center;margin:auto}.reactodia-connections-menu__links-list{border-top:1px solid var(--reactodia-border-color-base);flex-grow:1;padding:5px;overflow:hidden auto}.reactodia-connections-menu__links-list-empty{align-items:center;display:flex}.reactodia-connections-menu__links-root{margin:0;padding:0;list-style-type:none}.reactodia-connections-menu__links-item{display:contents}.reactodia-connections-menu__links-no-results{width:100%;color:var(--reactodia-color-emphasis-400);text-align:center;font-size:x-large;font-weight:700}.reactodia-connections-menu__links-probably-label{margin:5px 0;font-weight:700}.reactodia-connections-menu__links-list-hr{border:0;border-top:1px solid var(--reactodia-border-color-base);height:0;margin-top:6px;margin-bottom:6px}.reactodia-connections-menu__link{background:var(--reactodia-color-emphasis-200);border-radius:var(--reactodia-border-radius-s);margin-bottom:4px;display:flex;position:relative}.reactodia-connections-menu__link:hover{background-color:var(--reactodia-color-emphasis-400)}.reactodia-connections-menu__link-button{border:unset;font-family:unset;font-size:unset;text-align:start;background:0 0;flex:auto;align-items:center;height:30px;padding:0 5px 0 0;display:flex;overflow:hidden}.reactodia-connections-menu__link-direction{flex-shrink:0;align-items:center;min-height:30px;padding:5px 0 5px 10px;display:flex}.reactodia-connections-menu__link:not(:hover) .reactodia-connections-menu__link-direction{background:var(--reactodia-color-emphasis-300)}.reactodia-connections-menu__link-direction-in,.reactodia-connections-menu__link-direction-out{opacity:.5;background-color:currentColor;flex-shrink:0;width:20px;height:20px;-webkit-mask-position:0 0;mask-position:0 0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.reactodia-connections-menu__link-direction-in{margin:0 14px 0 0;-webkit-mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='m%205.9,6%20h%20-1%20V%203%20h%2010%20v%2010%20h%20-10%20v%20-3%20h%201%20v%202%20h%208%20V%204%20h%20-8%20z'%20/%3e%3cpath%20d='M%201.5,7.5%20H%207.771919%20L%206.44298,6%207.10745,5.25%209.4,7.8376461%20V%208.1623539%20L%207.10745,10.75%206.44298,10%207.771919,8.5%20H%201.5%20Z'%20/%3e%3c/svg%3e\");mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='m%205.9,6%20h%20-1%20V%203%20h%2010%20v%2010%20h%20-10%20v%20-3%20h%201%20v%202%20h%208%20V%204%20h%20-8%20z'%20/%3e%3cpath%20d='M%201.5,7.5%20H%207.771919%20L%206.44298,6%207.10745,5.25%209.4,7.8376461%20V%208.1623539%20L%207.10745,10.75%206.44298,10%207.771919,8.5%20H%201.5%20Z'%20/%3e%3c/svg%3e\")}.reactodia-connections-menu__link-direction-out{margin:0 8px 0 6px;-webkit-mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='m%2010.5,6%20h%201%20V%203%20h%20-10%20v%2010%20h%2010%20v%20-3%20h%20-1%20v%202%20h%20-8%20V%204%20h%208%20z'%20/%3e%3cpath%20d='m%207,7.5%20h%206.271919%20L%2011.94298,6%2012.60745,5.25%2014.9,7.8376461%20V%208.1623539%20L%2012.60745,10.75%2011.94298,10%2013.271919,8.5%20H%207%20Z'%20/%3e%3c/svg%3e\");mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='m%2010.5,6%20h%201%20V%203%20h%20-10%20v%2010%20h%2010%20v%20-3%20h%20-1%20v%202%20h%20-8%20V%204%20h%208%20z'%20/%3e%3cpath%20d='m%207,7.5%20h%206.271919%20L%2011.94298,6%2012.60745,5.25%2014.9,7.8376461%20V%208.1623539%20L%2012.60745,10.75%2011.94298,10%2013.271919,8.5%20H%207%20Z'%20/%3e%3c/svg%3e\")}.reactodia-connections-menu__link-title{text-overflow:ellipsis;white-space:nowrap;flex-grow:1;margin:5px 0 5px 5px;overflow:hidden}.reactodia-connections-menu__link-count{flex-shrink:0;margin-left:10px}.reactodia-connections-menu__link-navigate-button{float:right;opacity:.5;background-color:currentColor;flex-shrink:0;width:20px;min-width:16px;height:20px;margin-left:10px;-webkit-mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10.072%208.024L5.715%203.667l.618-.62L11%207.716v.618L6.333%2013l-.618-.619%204.357-4.357z'/%3e%3c/svg%3e\");mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10.072%208.024L5.715%203.667l.618-.62L11%207.716v.618L6.333%2013l-.618-.619%204.357-4.357z'/%3e%3c/svg%3e\");-webkit-mask-size:cover;mask-size:cover}.reactodia-connections-menu__link-navigate-button:hover{opacity:1}.reactodia-connections-menu__link-filter-spacer{flex-shrink:0;width:20px;height:20px;margin-left:10px}.reactodia-connections-menu__link-filter-button{background:0 0;border:none;width:20px;height:20px;padding:0;position:absolute;top:calc(50% - 10px);right:35px}.reactodia-connections-menu__link-filter-button:before{content:\"\";opacity:.4;background-color:currentColor;width:100%;height:100%;display:block;-webkit-mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='m%2014.5,3.5%20-1,-1%20m%200,0%20H%202.5%20V%203.0652324%20L%206.9861526,8%207.5,8.5652322%20V%2012.5103%20l%201,-0.733333%20V%208.5489178%20l%205,-5.4999998%20z%20m%200,0.548918%20V%204.6%20m%200,0%20-4,4.4%20v%203.3%20l%20-3,2.2%20V%209%20l%20-5,-5.5%20v%20-2%20h%2013%20v%202'%20/%3e%3cpath%20d='M%203.0187424,8%20H%204%20v%201.5%20h%201.5%20v%201%20L%204,10.467287%20V%2012%20H%203%20V%2010.5%20H%201.5%20v%20-1%20H%203%20Z'%20/%3e%3c/svg%3e\");mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='m%2014.5,3.5%20-1,-1%20m%200,0%20H%202.5%20V%203.0652324%20L%206.9861526,8%207.5,8.5652322%20V%2012.5103%20l%201,-0.733333%20V%208.5489178%20l%205,-5.4999998%20z%20m%200,0.548918%20V%204.6%20m%200,0%20-4,4.4%20v%203.3%20l%20-3,2.2%20V%209%20l%20-5,-5.5%20v%20-2%20h%2013%20v%202'%20/%3e%3cpath%20d='M%203.0187424,8%20H%204%20v%201.5%20h%201.5%20v%201%20L%204,10.467287%20V%2012%20H%203%20V%2010.5%20H%201.5%20v%20-1%20H%203%20Z'%20/%3e%3c/svg%3e\");-webkit-mask-size:20px 20px;mask-size:20px 20px}.reactodia-connections-menu__link-filter-button:hover:before{opacity:1}.reactodia-connections-menu__move-to-filter{cursor:pointer;-webkit-user-select:none;user-select:none;padding:5px 10px;display:flex}.reactodia-connections-menu__move-to-filter:hover{color:var(--reactodia-button-default-color-focus);background-color:var(--reactodia-button-default-background-color-focus)}.reactodia-connections-menu__objects{flex-direction:column;flex-grow:1;padding:0 10px 10px;display:flex;position:relative}.reactodia-connections-menu__objects-select-all{white-space:nowrap;margin-bottom:5px;display:flex}.reactodia-connections-menu__objects-select-all input{margin-right:5px}.reactodia-connections-menu__objects-select-all input:disabled{opacity:.3}.reactodia-connections-menu__objects-loading,.reactodia-connections-menu__objects-no-results{border:1px solid var(--reactodia-color-emphasis-400);flex-grow:1;justify-content:center;align-items:center;margin-bottom:5px;display:flex}.reactodia-connections-menu__objects-no-results{color:var(--reactodia-color-emphasis-400);font-size:x-large;font-weight:700;position:relative}.reactodia-connections-menu__objects-list{border:var(--reactodia-border-width-base) solid var(--reactodia-border-color-base);border-radius:var(--reactodia-border-radius-base);flex-grow:1;height:0;margin-bottom:5px;padding:5px;overflow:hidden scroll}.reactodia-connections-menu__objects-statusbar{white-space:nowrap;justify-content:flex-end;height:25px;display:flex}.reactodia-connections-menu__objects-extra{color:var(--reactodia-color-emphasis-600);cursor:help}.reactodia-connections-menu__objects-spacer{flex:auto}.reactodia-connections-menu__objects-add-button{height:25px;padding-top:1px;padding-bottom:2px}.reactodia-connections-menu__objects-add-button:not(:last-child){margin-right:var(--reactodia-spacing-horizontal)}.reactodia-dialog{background:var(--reactodia-background-color-surface);border:var(--reactodia-dialog-border-width) solid var(--reactodia-dialog-border-color);border-radius:var(--reactodia-dialog-border-radius);box-shadow:var(--reactodia-canvas-box-shadow);flex-direction:column;display:flex;position:absolute}.reactodia-dialog__header{display:flex}.reactodia-dialog__caption{text-overflow:ellipsis;white-space:nowrap;flex:auto;margin:8px 0 0 8px;font-weight:700;overflow:hidden}.reactodia-dialog__close-button{color:var(--reactodia-button-default-color);border-top-left-radius:unset;border-bottom-right-radius:unset;transition:background-color var(--reactodia-transition-duration);background:0 0;border:none;padding:6px}.reactodia-dialog__close-button:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8%208.707l3.646%203.647.708-.707L8.707%208l3.647-3.646-.707-.708L8%207.293%204.354%203.646l-.707.708L7.293%208l-3.646%203.646.707.708L8%208.707z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8%208.707l3.646%203.647.708-.707L8.707%208l3.647-3.646-.707-.708L8%207.293%204.354%203.646l-.707.708L7.293%208l-3.646%203.646.707.708L8%208.707z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-dialog__close-button:hover{color:var(--reactodia-button-default-color-focus);background-color:var(--reactodia-button-default-background-color-focus)}.reactodia-viewport-dialog-overlay{z-index:calc(var(--reactodia-z-index-base) + 60);background-color:var(--reactodia-canvas-overlay-color);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.reactodia-halo{left:calc(var(--reactodia-halo-left) - var(--reactodia-selection-single-box-margin));top:calc(var(--reactodia-halo-top) - var(--reactodia-selection-single-box-margin));width:calc(var(--reactodia-halo-width) + 2 * var(--reactodia-selection-single-box-margin));height:calc(var(--reactodia-halo-height) + 2 * var(--reactodia-selection-single-box-margin));pointer-events:none;border:1.5px dashed var(--reactodia-selection-single-box-color);border-radius:var(--reactodia-border-radius-s);box-shadow:var(--reactodia-selection-single-box-shadow);position:absolute}.reactodia-halo--resizable{border:unset;box-shadow:unset}.reactodia-halo__resizer{--reactodia-resizable-box-border-width:3px;--reactodia-resizable-box-color:var(--reactodia-color-primary-lighter);left:var(--reactodia-selection-single-box-margin);top:var(--reactodia-selection-single-box-margin);right:var(--reactodia-selection-single-box-margin);bottom:var(--reactodia-selection-single-box-margin);position:absolute}.reactodia-halo__resizer>*{pointer-events:all}.reactodia-halo-link__label-highlight{pointer-events:none;border-bottom:2px solid var(--reactodia-selection-link-color);position:absolute}.reactodia-halo-link__path-highlight{fill:none;stroke:var(--reactodia-selection-link-color);stroke-width:4px;opacity:.3}.reactodia-instances-search{flex-direction:column;flex:auto;display:flex;overflow:hidden}.reactodia-instances-search__criteria{flex-shrink:0;margin:10px 0}.reactodia-instances-search--controlled .reactodia-instances-search__criteria{margin-top:0;margin-bottom:0}.reactodia-instances-search__criterions{margin-bottom:10px;padding-left:15px}.reactodia-instances-search__criterions:empty{margin-bottom:0}.reactodia-instances-search__criterion{width:100%;display:block;position:relative}.reactodia-instances-search__criterion-class,.reactodia-instances-search__criterion-element,.reactodia-instances-search__criterion-link-type{border:var(--reactodia-color-primary) 1px dashed;color:var(--reactodia-color-primary-contrast-foreground);background-color:var(--reactodia-color-primary-contrast-background);word-wrap:break-word;padding:0 .5em}.reactodia-instances-search__link-direction-in,.reactodia-instances-search__link-direction-out{opacity:.5;vertical-align:middle;background-color:currentColor;width:1em;height:1em;display:inline-block;-webkit-mask-position:0 0;mask-position:0 0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.reactodia-instances-search__link-direction-in{-webkit-mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='m%205.9,6%20h%20-1%20V%203%20h%2010%20v%2010%20h%20-10%20v%20-3%20h%201%20v%202%20h%208%20V%204%20h%20-8%20z'%20/%3e%3cpath%20d='M%201.5,7.5%20H%207.771919%20L%206.44298,6%207.10745,5.25%209.4,7.8376461%20V%208.1623539%20L%207.10745,10.75%206.44298,10%207.771919,8.5%20H%201.5%20Z'%20/%3e%3c/svg%3e\");mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='m%205.9,6%20h%20-1%20V%203%20h%2010%20v%2010%20h%20-10%20v%20-3%20h%201%20v%202%20h%208%20V%204%20h%20-8%20z'%20/%3e%3cpath%20d='M%201.5,7.5%20H%207.771919%20L%206.44298,6%207.10745,5.25%209.4,7.8376461%20V%208.1623539%20L%207.10745,10.75%206.44298,10%207.771919,8.5%20H%201.5%20Z'%20/%3e%3c/svg%3e\")}.reactodia-instances-search__link-direction-out{-webkit-mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='m%2010.5,6%20h%201%20V%203%20h%20-10%20v%2010%20h%2010%20v%20-3%20h%20-1%20v%202%20h%20-8%20V%204%20h%208%20z'%20/%3e%3cpath%20d='m%207,7.5%20h%206.271919%20L%2011.94298,6%2012.60745,5.25%2014.9,7.8376461%20V%208.1623539%20L%2012.60745,10.75%2011.94298,10%2013.271919,8.5%20H%207%20Z'%20/%3e%3c/svg%3e\");mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='m%2010.5,6%20h%201%20V%203%20h%20-10%20v%2010%20h%2010%20v%20-3%20h%20-1%20v%202%20h%20-8%20V%204%20h%208%20z'%20/%3e%3cpath%20d='m%207,7.5%20h%206.271919%20L%2011.94298,6%2012.60745,5.25%2014.9,7.8376461%20V%208.1623539%20L%2012.60745,10.75%2011.94298,10%2013.271919,8.5%20H%207%20Z'%20/%3e%3c/svg%3e\")}.reactodia-instances-search__criterion-remove{float:right;margin:0 10px 4px 4px}.reactodia-instances-search__criterion-remove-button:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8%208.707l3.646%203.647.708-.707L8.707%208l3.647-3.646-.707-.708L8%207.293%204.354%203.646l-.707.708L7.293%208l-3.646%203.646.707.708L8%208.707z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8%208.707l3.646%203.647.708-.707L8.707%208l3.647-3.646-.707-.708L8%207.293%204.354%203.646l-.707.708L7.293%208l-3.646%203.646.707.708L8%208.707z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-instances-search__text-criteria{margin:0 10px}.reactodia-instances-search__search-button{height:34px}.reactodia-instances-search__search-button:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M15.25%200a8.25%208.25%200%200%200-6.18%2013.72L1%2022.88l1.12%201%208.05-9.12A8.251%208.251%200%201%200%2015.25.01V0zm0%2015a6.75%206.75%200%201%201%200-13.5%206.75%206.75%200%200%201%200%2013.5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M15.25%200a8.25%208.25%200%200%200-6.18%2013.72L1%2022.88l1.12%201%208.05-9.12A8.251%208.251%200%201%200%2015.25.01V0zm0%2015a6.75%206.75%200%201%201%200-13.5%206.75%206.75%200%200%201%200%2013.5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-instances-search__rest{border-top:1px solid var(--reactodia-border-color-base);padding:10px 10px 0}.reactodia-instances-search__results{outline:none;margin:0 10px;padding-top:10px;padding-left:0}.reactodia-instances-search__rest-end{margin:5px 0 10px}.reactodia-instances-search__load-more{justify-content:center;align-items:center;width:100%;display:flex}.reactodia-instances-search__load-more:before{content:\"\";background-color:currentColor;width:16px;height:16px;margin-right:5px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.976%2010.072l4.357-4.357.62.618L8.284%2011h-.618L3%206.333l.619-.618%204.357%204.357z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.976%2010.072l4.357-4.357.62.618L8.284%2011h-.618L3%206.333l.619-.618%204.357%204.357z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-instances-search__actions{justify-content:flex-end;gap:var(--reactodia-spacing-horizontal);border-top:1px solid var(--reactodia-border-color-base);height:40px;transition:height .2s;display:flex}.reactodia-instances-search__actions-hidden{visibility:hidden;height:0;padding:0}.reactodia-instances-search__action{margin-top:6px;margin-bottom:6px;margin-left:6px;padding-top:1px;padding-bottom:2px}.reactodia-instances-search__action:last-child{margin-right:6px}.reactodia-link-action{cursor:pointer;opacity:.8;transition:opacity var(--reactodia-transition-duration);border:0;outline:none;padding:0;position:absolute}.reactodia-link-action:hover{opacity:1}.reactodia-link-action[disabled]{cursor:not-allowed;opacity:.5}.reactodia-link-action__spinner{position:absolute}.reactodia-link-action__button{background-color:var(--reactodia-color-gray-400);border-radius:calc(var(--reactodia-link-button-size) * .5);height:var(--reactodia-link-button-size);width:var(--reactodia-link-button-size);background-position:50%;background-repeat:no-repeat;background-size:65%}.reactodia-link-action__endpoint{touch-action:none;color:var(--reactodia-color-primary);background:0 0}.reactodia-link-action__edit{background-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M13.23%201h-1.46L3.52%209.25l-.16.22L1%2013.59%202.41%2015l4.12-2.36.22-.16L15%204.23V2.77L13.23%201zM2.41%2013.59l1.51-3%201.45%201.45-2.96%201.55zm3.83-2.06L4.47%209.76l8-8%201.77%201.77-8%208z'/%3e%3c/svg%3e\")}.reactodia-link-action__delete{background-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10%203h3v1h-1v9l-1%201H4l-1-1V4H2V3h3V2a1%201%200%200%201%201-1h3a1%201%200%200%201%201%201v1zM9%202H6v1h3V2zM4%2013h7V4H4v9zm2-8H5v7h1V5zm1%200h1v7H7V5zm2%200h1v7H9V5z'/%3e%3c/svg%3e\")}.reactodia-link-action__rename{filter:invert(100%) var(--reactodia-selection-icon-filter);border-radius:var(--reactodia-border-radius-s);cursor:pointer;opacity:.5;transition:opacity var(--reactodia-transition-duration);background:#fff url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M13.23%201h-1.46L3.52%209.25l-.16.22L1%2013.59%202.41%2015l4.12-2.36.22-.16L15%204.23V2.77L13.23%201zM2.41%2013.59l1.51-3%201.45%201.45-2.96%201.55zm3.83-2.06L4.47%209.76l8-8%201.77%201.77-8%208z'/%3e%3c/svg%3e\") 50%/80% no-repeat;border:0;outline:none;margin-left:5px;padding:0;position:absolute}.reactodia-link-action__rename:hover{opacity:1}.reactodia-links-toolbox{flex-direction:column;flex:auto;margin-bottom:0;display:flex}.reactodia-links-toolbox__heading{padding:10px}.reactodia-links-toolbox__filter{margin-bottom:5px}.reactodia-links-toolbox__rest{border-top:1px solid var(--reactodia-border-color-base);flex-direction:column;flex:auto;display:flex}.reactodia-links-toolbox__toggle-invisible:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M1.47978%201.4797C1.30227%201.65721%201.28614%201.93498%201.43137%202.13072L1.47978%202.1868L4.1695%204.87652C2.88817%205.77616%201.93052%207.11985%201.53259%208.70952C1.46554%208.97738%201.62834%209.24892%201.89621%209.31598C2.16409%209.38298%202.4356%209.22025%202.50266%208.95232C2.85564%207.54225%203.72742%206.35956%204.88944%205.59626L6.09586%206.80278C5.62419%207.28378%205.33334%207.94278%205.33334%208.66965C5.33334%2010.1424%206.52724%2011.3363%208%2011.3363C8.72694%2011.3363%209.38587%2011.0454%209.86694%2010.5738L13.8131%2014.5201C14.0084%2014.7154%2014.3249%2014.7154%2014.5202%2014.5201C14.6977%2014.3426%2014.7139%2014.0649%2014.5686%2013.8691L14.5202%2013.813L10.4445%209.73692L10.4453%209.73592L9.64527%208.93732L7.732%207.02445L7.73334%207.02392L5.81252%205.10513L5.81334%205.10392L5.05782%204.35024L2.18689%201.4797C1.99163%201.28444%201.67504%201.28444%201.47978%201.4797ZM6.80274%207.51025L9.15947%209.86698C8.85947%2010.1575%208.4506%2010.3363%208%2010.3363C7.07954%2010.3363%206.33334%209.59012%206.33334%208.66965C6.33334%208.21905%206.51216%207.81018%206.80274%207.51025ZM8%203.66658C7.33314%203.66658%206.68607%203.7653%206.07406%203.94992L6.89874%204.77404C7.25594%204.70346%207.62427%204.66658%208%204.66658C10.6154%204.66658%2012.8733%206.45342%2013.4981%208.95538C13.565%209.22325%2013.8364%209.38618%2014.1043%209.31932C14.3723%209.25238%2014.5352%208.98098%2014.4683%208.71305C13.7329%205.7684%2011.077%203.66658%208%203.66658ZM8.1298%206.0061L10.664%208.53992C10.5961%207.16865%209.49814%206.07168%208.1298%206.0061Z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M1.47978%201.4797C1.30227%201.65721%201.28614%201.93498%201.43137%202.13072L1.47978%202.1868L4.1695%204.87652C2.88817%205.77616%201.93052%207.11985%201.53259%208.70952C1.46554%208.97738%201.62834%209.24892%201.89621%209.31598C2.16409%209.38298%202.4356%209.22025%202.50266%208.95232C2.85564%207.54225%203.72742%206.35956%204.88944%205.59626L6.09586%206.80278C5.62419%207.28378%205.33334%207.94278%205.33334%208.66965C5.33334%2010.1424%206.52724%2011.3363%208%2011.3363C8.72694%2011.3363%209.38587%2011.0454%209.86694%2010.5738L13.8131%2014.5201C14.0084%2014.7154%2014.3249%2014.7154%2014.5202%2014.5201C14.6977%2014.3426%2014.7139%2014.0649%2014.5686%2013.8691L14.5202%2013.813L10.4445%209.73692L10.4453%209.73592L9.64527%208.93732L7.732%207.02445L7.73334%207.02392L5.81252%205.10513L5.81334%205.10392L5.05782%204.35024L2.18689%201.4797C1.99163%201.28444%201.67504%201.28444%201.47978%201.4797ZM6.80274%207.51025L9.15947%209.86698C8.85947%2010.1575%208.4506%2010.3363%208%2010.3363C7.07954%2010.3363%206.33334%209.59012%206.33334%208.66965C6.33334%208.21905%206.51216%207.81018%206.80274%207.51025ZM8%203.66658C7.33314%203.66658%206.68607%203.7653%206.07406%203.94992L6.89874%204.77404C7.25594%204.70346%207.62427%204.66658%208%204.66658C10.6154%204.66658%2012.8733%206.45342%2013.4981%208.95538C13.565%209.22325%2013.8364%209.38618%2014.1043%209.31932C14.3723%209.25238%2014.5352%208.98098%2014.4683%208.71305C13.7329%205.7684%2011.077%203.66658%208%203.66658ZM8.1298%206.0061L10.664%208.53992C10.5961%207.16865%209.49814%206.07168%208.1298%206.0061Z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-links-toolbox__toggle-lines-only:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M3%209l2.146%202.146-.707.708-3-3v-.708l3-3%20.707.708L3%208h10l-2.146-2.146.707-.708%203%203v.708l-3%203-.707-.707L13%209H3z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M3%209l2.146%202.146-.707.708-3-3v-.708l3-3%20.707.708L3%208h10l-2.146-2.146.707-.708%203%203v.708l-3%203-.707-.707L13%209H3z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-links-toolbox__toggle-visible:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M7.99993%206.00316C9.47266%206.00316%2010.6666%207.19708%2010.6666%208.66981C10.6666%2010.1426%209.47266%2011.3365%207.99993%2011.3365C6.52715%2011.3365%205.33324%2010.1426%205.33324%208.66981C5.33324%207.19708%206.52715%206.00316%207.99993%206.00316ZM7.99993%207.00315C7.07946%207.00315%206.33324%207.74935%206.33324%208.66981C6.33324%209.59028%207.07946%2010.3365%207.99993%2010.3365C8.9204%2010.3365%209.6666%209.59028%209.6666%208.66981C9.6666%207.74935%208.9204%207.00315%207.99993%207.00315ZM7.99993%203.66675C11.0756%203.66675%2013.7307%205.76675%2014.4673%208.70968C14.5344%208.97755%2014.3716%209.24908%2014.1037%209.31615C13.8358%209.38315%2013.5643%209.22041%2013.4973%208.95248C12.8713%206.45205%2010.6141%204.66675%207.99993%204.66675C5.38454%204.66675%203.12664%206.45359%202.50182%208.95555C2.43491%209.22341%202.16348%209.38635%201.89557%209.31948C1.62766%209.25255%201.46471%208.98115%201.53162%208.71321C2.26701%205.76856%204.9229%203.66675%207.99993%203.66675Z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M7.99993%206.00316C9.47266%206.00316%2010.6666%207.19708%2010.6666%208.66981C10.6666%2010.1426%209.47266%2011.3365%207.99993%2011.3365C6.52715%2011.3365%205.33324%2010.1426%205.33324%208.66981C5.33324%207.19708%206.52715%206.00316%207.99993%206.00316ZM7.99993%207.00315C7.07946%207.00315%206.33324%207.74935%206.33324%208.66981C6.33324%209.59028%207.07946%2010.3365%207.99993%2010.3365C8.9204%2010.3365%209.6666%209.59028%209.6666%208.66981C9.6666%207.74935%208.9204%207.00315%207.99993%207.00315ZM7.99993%203.66675C11.0756%203.66675%2013.7307%205.76675%2014.4673%208.70968C14.5344%208.97755%2014.3716%209.24908%2014.1037%209.31615C13.8358%209.38315%2013.5643%209.22041%2013.4973%208.95248C12.8713%206.45205%2010.6141%204.66675%207.99993%204.66675C5.38454%204.66675%203.12664%206.45359%202.50182%208.95555C2.43491%209.22341%202.16348%209.38635%201.89557%209.31948C1.62766%209.25255%201.46471%208.98115%201.53162%208.71321C2.26701%205.76856%204.9229%203.66675%207.99993%203.66675Z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-links-toolbox__links-heading{margin:4px 6px;font-size:14px;font-weight:700}.reactodia-links-toolbox__links-heading>*{font-weight:400}.reactodia-links-toolbox__links{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.reactodia-links-toolbox__link-item{word-break:break-word;padding:0 0 0 5px}.reactodia-links-toolbox__link-item:last-child{margin-bottom:0}.reactodia-links-toolbox__link-item>div{display:inline}.reactodia-links-toolbox__link-title{font-size:16px;display:inline}.reactodia-links-toolbox__link-buttons{float:left;margin-top:2px;margin-bottom:2px;margin-right:6px}.reactodia-links-toolbox__filter-button{float:right;cursor:pointer;opacity:.4;width:20px;height:20px;transition:opacity var(--reactodia-transition-duration);background-color:currentColor;margin:3px;display:none;-webkit-mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='m%2014.5,3.5%20-1,-1%20m%200,0%20H%202.5%20V%203.0652324%20L%206.9861526,8%207.5,8.5652322%20V%2012.5103%20l%201,-0.733333%20V%208.5489178%20l%205,-5.4999998%20z%20m%200,0.548918%20V%204.6%20m%200,0%20-4,4.4%20v%203.3%20l%20-3,2.2%20V%209%20l%20-5,-5.5%20v%20-2%20h%2013%20v%202'%20/%3e%3cpath%20d='M%203.0187424,8%20H%204%20v%201.5%20h%201.5%20v%201%20L%204,10.467287%20V%2012%20H%203%20V%2010.5%20H%201.5%20v%20-1%20H%203%20Z'%20/%3e%3c/svg%3e\");mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='m%2014.5,3.5%20-1,-1%20m%200,0%20H%202.5%20V%203.0652324%20L%206.9861526,8%207.5,8.5652322%20V%2012.5103%20l%201,-0.733333%20V%208.5489178%20l%205,-5.4999998%20z%20m%200,0.548918%20V%204.6%20m%200,0%20-4,4.4%20v%203.3%20l%20-3,2.2%20V%209%20l%20-5,-5.5%20v%20-2%20h%2013%20v%202'%20/%3e%3cpath%20d='M%203.0187424,8%20H%204%20v%201.5%20h%201.5%20v%201%20L%204,10.467287%20V%2012%20H%203%20V%2010.5%20H%201.5%20v%20-1%20H%203%20Z'%20/%3e%3c/svg%3e\");-webkit-mask-size:20px 20px;mask-size:20px 20px}.reactodia-links-toolbox__link-item:hover .reactodia-links-toolbox__filter-button{opacity:1}.reactodia-links-toolbox__no-results{margin-top:10px}.reactodia-navigator{background:var(--reactodia-navigator-background-fill);border:var(--reactodia-border-width-base) solid var(--reactodia-border-color-base);border-radius:var(--reactodia-border-radius-s);box-shadow:var(--reactodia-canvas-box-shadow);display:block;overflow:hidden}.reactodia-navigator--animated{transition:width var(--reactodia-transition-duration), height var(--reactodia-transition-duration)}.reactodia-navigator--collapsed{width:24px;height:24px}.reactodia-navigator>canvas{transition:opacity var(--reactodia-transition-duration)}.reactodia-navigator--expanded>canvas{opacity:1}.reactodia-navigator--collapsed>canvas{opacity:0}.reactodia-navigator__toggle{outline-offset:-5px;opacity:.5;transition:opacity var(--reactodia-transition-duration);background:0 0;border:none;padding:4px;position:absolute}.reactodia-navigator__toggle:not(:disabled):hover{opacity:1}.reactodia-navigator__toggle:disabled{opacity:.2}.reactodia-navigator--expanded .reactodia-navigator__toggle{top:5px;left:5px}.reactodia-navigator--collapsed .reactodia-navigator__toggle{top:0;left:0}.reactodia-navigator__toggle-icon{width:18px;height:18px;-webkit-mask-size:18px 18px;mask-size:18px 18px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.reactodia-navigator--expanded .reactodia-navigator__toggle-icon{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M10%207v1H5V7h5z'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M1.5%201h12l.5.5v12l-.5.5h-12l-.5-.5v-12l.5-.5zM2%2013h11V2H2v11z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M10%207v1H5V7h5z'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M1.5%201h12l.5.5v12l-.5.5h-12l-.5-.5v-12l.5-.5zM2%2013h11V2H2v11z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-navigator--collapsed .reactodia-navigator__toggle-icon{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M1.5%201h12l.5.5v12l-.5.5h-12l-.5-.5v-12l.5-.5zM2%2013h11V2H2v11z'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8%204H7v3H4v1h3v3h1V8h3V7H8V4z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M1.5%201h12l.5.5v12l-.5.5h-12l-.5-.5v-12l.5-.5zM2%2013h11V2H2v11z'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8%204H7v3H4v1h3v3h1V8h3V7H8V4z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-selection{--reactodia-dock-margin-x:2px;--reactodia-dock-margin-y:2px;position:absolute}.reactodia-selection__selectedBox{touch-action:none;border-radius:var(--reactodia-border-radius-s);box-shadow:var(--reactodia-selection-multiple-box-shadow);cursor:move;-webkit-user-select:none;user-select:none;background-color:#ffa6000f;border:1px solid orange;position:absolute}.reactodia-selection__selectedActions{position:absolute}.reactodia-selection__selectedItem{background-color:#ffa60029;border:1px dashed orange;position:absolute}.reactodia-selection__highlightedBox{border-radius:var(--reactodia-border-radius-s);background-color:#00dbff21;border:2px dashed #00b3d1;position:absolute}.reactodia-selection__highlightedItem{background:#00bc7e54;border:1px dashed #00bc7e;position:absolute}.reactodia-selection-action{cursor:pointer;pointer-events:auto;width:20px;height:20px;filter:var(--reactodia-selection-icon-filter);opacity:.5;transition:opacity var(--reactodia-transition-duration);background-color:#0000;background-position:50%;background-repeat:no-repeat;background-size:contain;border:0;outline:none;padding:0;position:absolute}.reactodia-selection-action:hover{opacity:1}.reactodia-selection-action[disabled]{cursor:not-allowed;opacity:.2}.reactodia-selection-action--dock-nw{left:calc(-22px - var(--reactodia-dock-margin-x,0px) + var(--reactodia-dock-x) * 22px);top:calc(-22px - var(--reactodia-dock-margin-y,0px) + var(--reactodia-dock-y) * 22px)}.reactodia-selection-action--dock-n{margin-left:calc(-11px - var(--reactodia-dock-margin-x,0px) + var(--reactodia-dock-x) * 22px);left:50%;top:calc(-11px - var(--reactodia-dock-margin-y,0px) + var(--reactodia-dock-y) * 22px)}.reactodia-selection-action--dock-ne{right:calc(-22px - var(--reactodia-dock-margin-x,0px) + var(--reactodia-dock-x) * 22px);top:calc(-22px - var(--reactodia-dock-margin-y,0px) + var(--reactodia-dock-y) * 22px)}.reactodia-selection-action--dock-e{right:calc(-22px - var(--reactodia-dock-margin-x,0px) + var(--reactodia-dock-x) * 22px);margin-top:calc(-11px - var(--reactodia-dock-margin-y,0px) + var(--reactodia-dock-y) * 22px);top:50%}.reactodia-selection-action--dock-se{right:calc(-22px - var(--reactodia-dock-margin-x,0px) + var(--reactodia-dock-x) * 22px);bottom:calc(-22px - var(--reactodia-dock-margin-y,0px) + var(--reactodia-dock-y) * 22px)}.reactodia-selection-action--dock-s{margin-left:calc(-11px - var(--reactodia-dock-margin-x,0px) + var(--reactodia-dock-x) * 22px);left:50%;bottom:calc(-22px - var(--reactodia-dock-margin-y,0px) + var(--reactodia-dock-y) * 22px)}.reactodia-selection-action--dock-sw{left:calc(-22px - var(--reactodia-dock-margin-x,0px) + var(--reactodia-dock-x) * 22px);bottom:calc(-22px - var(--reactodia-dock-margin-y,0px) + var(--reactodia-dock-y) * 22px)}.reactodia-selection-action--dock-w{left:calc(-22px - var(--reactodia-dock-margin-x,0px) + var(--reactodia-dock-x) * 22px);margin-top:calc(-11px - var(--reactodia-dock-margin-y,0px) + var(--reactodia-dock-y) * 22px);top:50%}.reactodia-selection-action__spinner{width:20px;height:20px;position:absolute}.reactodia-selection-action__remove{background-image:url(\"data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3csvg%20xmlns:svg='http://www.w3.org/2000/svg'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20110%20110'%20version='1.1'%20width='500'%20height='500'%3e%3cpath%20d='M%2082.182422,8.0521107%20C%2056.44775,-6.9018137%2023.463185,1.8377258%208.5092706,27.57238%20-6.4446434,53.307034%202.2948357,86.291616%2028.029508,101.24554%2053.76418,116.19946%2086.748746,107.45993%20101.70266,81.725271%20116.65657,55.990616%20107.91709,23.006035%2082.182422,8.0521107%20Z%20M%2071.75602,28.578553%2082.28685,38.846984%2065.453479,56.373296%2083.064738,73.314301%2072.796937,83.844485%2055.169736,66.657039%2039.010998,83.228711%2028.480167,72.96028%2044.639378,56.389069%2028.415211,40.568631%2038.683013,30.038446%2054.938893,45.85871%20Z'%20style='fill:%23000000;stroke-width:1.06812763'%20/%3e%3c/svg%3e\")}.reactodia-selection-action__delete{background-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10%203h3v1h-1v9l-1%201H4l-1-1V4H2V3h3V2a1%201%200%200%201%201-1h3a1%201%200%200%201%201%201v1zM9%202H6v1h3V2zM4%2013h7V4H4v9zm2-8H5v7h1V5zm1%200h1v7H7V5zm2%200h1v7H9V5z'/%3e%3c/svg%3e\")}.reactodia-selection-action__zoomToFit{background-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M%201.5,6%20V%201.5%20H%206%20v%201%20H%202.5%20V%206%20Z'%20/%3e%3cpath%20d='m%2010,2.5%20v%20-1%20h%204.5%20V%206%20h%20-1%20V%202.5%20Z'%20/%3e%3cpath%20d='m%201.5,10%20v%204.5%20H%206%20v%20-1%20H%202.5%20V%2010%20Z'%20/%3e%3cpath%20d='m%2010,13.5%20v%201%20h%204.5%20V%2010%20h%20-1%20v%203.5%20z'%20/%3e%3c/svg%3e\")}.reactodia-selection-action__layout{background-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M13.5%2011h-1.729L8.438%206H9.5l.5-.5v-4L9.5%201h-4l-.5.5v4l.5.5h1.062l-3.333%205H1.5l-.5.5v3l.5.5h3l.5-.5v-3l-.5-.5h-.068L7.5%206.4l3.068%204.6H10.5l-.5.5v3l.5.5h3l.5-.5v-3l-.5-.5zM6%205V2h3v3H6zm-2%207v2H2v-2h2zm9%202h-2v-2h2v2z'/%3e%3c/svg%3e\")}.reactodia-selection-action__expand{background-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.976%2010.072l4.357-4.357.62.618L8.284%2011h-.618L3%206.333l.619-.618%204.357%204.357z'/%3e%3c/svg%3e\")}.reactodia-selection-action__collapse{background-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8.024%205.928l-4.357%204.357-.62-.618L7.716%205h.618L13%209.667l-.619.618-4.357-4.357z'/%3e%3c/svg%3e\")}.reactodia-selection-action__link{background-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M4.4%203h3.085a3.4%203.4%200%200%201%203.4%203.4v.205A3.4%203.4%200%200%201%207.485%2010H7V9h.485A2.4%202.4%200%200%200%209.88%206.61V6.4A2.4%202.4%200%200%200%207.49%204H4.4A2.4%202.4%200%200%200%202%206.4v.205A2.394%202.394%200%200%200%204%208.96v1a3.4%203.4%200%200%201-3-3.35V6.4A3.405%203.405%200%200%201%204.4%203zM12%207.04v-1a3.4%203.4%200%200%201%203%203.36v.205A3.405%203.405%200%200%201%2011.605%2013h-3.09A3.4%203.4%200%200%201%205.12%209.61V9.4A3.4%203.4%200%200%201%208.515%206H9v1h-.485A2.4%202.4%200%200%200%206.12%209.4v.205A2.4%202.4%200%200%200%208.515%2012h3.09A2.4%202.4%200%200%200%2014%209.61V9.4a2.394%202.394%200%200%200-2-2.36z'/%3e%3c/svg%3e\")}.reactodia-selection-action__navigate-open{background-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M9.00885%206.99103L11.0333%2011.0332L6.99114%209.00874L4.96666%204.96655L9.00885%206.99103ZM9.43541%209.4353L8.48072%207.51916L6.56458%206.56447L7.51926%208.48062L9.43541%209.4353Z'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M13.9795%208.5C13.739%2011.4149%2011.4149%2013.739%208.49999%2013.9795V13H7.49999V13.9795C4.57233%2013.7379%202.24067%2011.3945%202.0175%208.46167H3V7.46167H2.02382C2.28141%204.56475%204.59788%202.25996%207.49999%202.02054V3H8.49999V2.02054C11.4149%202.26101%2013.739%204.5851%2013.9795%207.5H13V8.5H13.9795ZM8%2015C11.866%2015%2015%2011.866%2015%208C15%204.13401%2011.866%201%208%201C4.13401%201%201%204.13401%201%208C1%2011.866%204.13401%2015%208%2015Z'/%3e%3c/svg%3e\")}.reactodia-selection-action__navigate-close{background-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8.6%201c1.6.1%203.1.9%204.2%202%201.3%201.4%202%203.1%202%205.1%200%201.6-.6%203.1-1.6%204.4-1%201.2-2.4%202.1-4%202.4-1.6.3-3.2.1-4.6-.7-1.4-.8-2.5-2-3.1-3.5C.9%209.2.8%207.5%201.3%206c.5-1.6%201.4-2.9%202.8-3.8C5.4%201.3%207%20.9%208.6%201zm.5%2012.9c1.3-.3%202.5-1%203.4-2.1.8-1.1%201.3-2.4%201.2-3.8%200-1.6-.6-3.2-1.7-4.3-1-1-2.2-1.6-3.6-1.7-1.3-.1-2.7.2-3.8%201-1.1.8-1.9%201.9-2.3%203.3-.4%201.3-.4%202.7.2%204%20.6%201.3%201.5%202.3%202.7%203%201.2.7%202.6.9%203.9.6zM7.9%207.5L10.3%205l.7.7-2.4%202.5%202.4%202.5-.7.7-2.4-2.5-2.4%202.5-.7-.7%202.4-2.5-2.4-2.5.7-.7%202.4%202.5z'/%3e%3c/svg%3e\")}.reactodia-selection-action__add-to-filter{background-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='m%2014.5,3.5%20-1,-1%20m%200,0%20H%202.5%20V%203.0652324%20L%206.9861526,8%207.5,8.5652322%20V%2012.5103%20l%201,-0.733333%20V%208.5489178%20l%205,-5.4999998%20z%20m%200,0.548918%20V%204.6%20m%200,0%20-4,4.4%20v%203.3%20l%20-3,2.2%20V%209%20l%20-5,-5.5%20v%20-2%20h%2013%20v%202'%20/%3e%3cpath%20d='M%203.0187424,8%20H%204%20v%201.5%20h%201.5%20v%201%20L%204,10.467287%20V%2012%20H%203%20V%2010.5%20H%201.5%20v%20-1%20H%203%20Z'%20/%3e%3c/svg%3e\")}.reactodia-selection-action__group{background-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M1.5%201h2v1H2v12h1.5v1h-2l-.5-.5v-13l.5-.5zm6%206h-2L5%206.5v-2l.5-.5h2l.5.5v2l-.5.5zM6%206h1V5H6v1zm7.5%201h-3l-.5-.5v-3l.5-.5h3l.5.5v3l-.5.5zM11%206h2V4h-2v2zm-3.5%206h-2l-.5-.5v-2l.5-.5h2l.5.5v2l-.5.5zM6%2011h1v-1H6v1zm7.5%202h-3l-.5-.5v-3l.5-.5h3l.5.5v3l-.5.5zM11%2012h2v-2h-2v2zm-1-2H8v1h2v-1zm0-5H8v1h2V5z'/%3e%3c/svg%3e\")}.reactodia-selection-action__ungroup{background-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M2.9%201L5%203.1l-.8.7L3%202.6V7H2V2.5L.8%203.8l-.7-.7L2.2%201h.7zM3%2013.4V9H2v4.4L.8%2012.2l-.7.7L2.2%2015h.7L5%2012.9l-.7-.7L3%2013.4zM8.5%207h-2L6%206.5v-2l.5-.5h2l.5.5v2l-.5.5zM7%206h1V5H7v1zm7.5%201h-3l-.5-.5v-3l.5-.5h3l.5.5v3l-.5.5zM12%206h2V4h-2v2zm-3.5%206h-2l-.5-.5v-2l.5-.5h2l.5.5v2l-.5.5zM7%2011h1v-1H7v1zm7.5%202h-3l-.5-.5v-3l.5-.5h3l.5.5v3l-.5.5zM12%2012h2v-2h-2v2zm-1-2H9v1h2v-1zm0-5H9v1h2V5z'/%3e%3c/svg%3e\")}.reactodia-selection-action__establish-link{touch-action:none;background-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7%201H6v3H4.5l-.5.5V8a4%204%200%200%200%203.5%203.969V15h1v-3.031A4%204%200%200%200%2012%208V4.5l-.5-.5H10V1H9v3H7V1zm3.121%209.121A3%203%200%200%201%205%208V5h6v3a3%203%200%200%201-.879%202.121z'/%3e%3c/svg%3e\")}.reactodia-selection-action__annotate{background-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M1.5%202h13l.5.5v10l-.5.5h-13l-.5-.5v-10l.5-.5zM2%203v9h12V3H2zm2%202h8v1H4V5zm6%202H4v1h6V7zM4%209h4v1H4V9z'/%3e%3c/svg%3e\")}.reactodia-toolbar{white-space:nowrap;pointer-events:none;display:flex}.reactodia-toolbar>*{pointer-events:auto;white-space:normal}.reactodia-toolbar--drop-up{align-items:flex-end}.reactodia-toolbar__menu{z-index:calc(var(--reactodia-z-index-base) + 50);margin-right:5px}.reactodia-toolbar-action__spacer{flex:auto;min-width:8px}.reactodia-toolbar-action__hotkey{color:var(--reactodia-color-secondary-darkest)}.reactodia-toolbar-action__open{align-items:center;display:flex}.reactodia-toolbar-action__open:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M1.5%2014h11l.48-.37%202.63-7-.48-.63H14V3.5l-.5-.5H7.71l-.86-.85L6.5%202h-5l-.5.5v11l.5.5zM2%203h4.29l.86.85.35.15H13v2H8.5l-.35.15-.86.85H3.5l-.47.34-1%203.08L2%203zm10.13%2010H2.19l1.67-5H7.5l.35-.15.86-.85h5.79l-2.37%206z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M1.5%2014h11l.48-.37%202.63-7-.48-.63H14V3.5l-.5-.5H7.71l-.86-.85L6.5%202h-5l-.5.5v11l.5.5zM2%203h4.29l.86.85.35.15H13v2H8.5l-.35.15-.86.85H3.5l-.47.34-1%203.08L2%203zm10.13%2010H2.19l1.67-5H7.5l.35-.15.86-.85h5.79l-2.37%206z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-toolbar-action__open:not(:empty):before{margin-right:3px}.reactodia-toolbar-action__open-input{display:none}.reactodia-toolbar-action__save{align-items:center;display:flex}.reactodia-toolbar-action__save:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M13.353%201.146l1.5%201.5L15%203v11.5l-.5.5h-13l-.5-.5v-13l.5-.5H13l.353.146zM2%202v12h12V3.208L12.793%202H11v4H4V2H2zm6%200v3h2V2H8z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M13.353%201.146l1.5%201.5L15%203v11.5l-.5.5h-13l-.5-.5v-13l.5-.5H13l.353.146zM2%202v12h12V3.208L12.793%202H11v4H4V2H2zm6%200v3h2V2H8z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-toolbar-action__save:not(:empty):before{margin-right:3px}.reactodia-toolbar-action__clear-all{align-items:center;display:flex}.reactodia-toolbar-action__clear-all:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10%203h3v1h-1v9l-1%201H4l-1-1V4H2V3h3V2a1%201%200%200%201%201-1h3a1%201%200%200%201%201%201v1zM9%202H6v1h3V2zM4%2013h7V4H4v9zm2-8H5v7h1V5zm1%200h1v7H7V5zm2%200h1v7H9V5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10%203h3v1h-1v9l-1%201H4l-1-1V4H2V3h3V2a1%201%200%200%201%201-1h3a1%201%200%200%201%201%201v1zM9%202H6v1h3V2zM4%2013h7V4H4v9zm2-8H5v7h1V5zm1%200h1v7H7V5zm2%200h1v7H9V5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-toolbar-action__clear-all:not(:empty):before{margin-right:3px}.reactodia-toolbar-action__export-image{align-items:center;display:flex}.reactodia-toolbar-action__export-image:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M2%202h6v3.5l.5.5H12v1h1V4.8l-.15-.36-3.28-3.3L9.22%201H1.5l-.5.5v13l.5.5H5v-1H2V2zm7%200l3%203H9V2zm5.5%206h-8l-.5.5v6l.5.5h8l.5-.5v-6l-.5-.5zM14%209v4l-1.63-1.6h-.71l-1.16%201.17-2.13-2.13h-.71L7%2011.1V9h7zm-2.8%204.27l.81-.81L13.55%2014h-1.62l-.73-.73zM7%2014v-1.49l1-1L10.52%2014H7zm5.5-3.5a.5.5%200%201%200%200-1%20.5.5%200%200%200%200%201z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M2%202h6v3.5l.5.5H12v1h1V4.8l-.15-.36-3.28-3.3L9.22%201H1.5l-.5.5v13l.5.5H5v-1H2V2zm7%200l3%203H9V2zm5.5%206h-8l-.5.5v6l.5.5h8l.5-.5v-6l-.5-.5zM14%209v4l-1.63-1.6h-.71l-1.16%201.17-2.13-2.13h-.71L7%2011.1V9h7zm-2.8%204.27l.81-.81L13.55%2014h-1.62l-.73-.73zM7%2014v-1.49l1-1L10.52%2014H7zm5.5-3.5a.5.5%200%201%200%200-1%20.5.5%200%200%200%200%201z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-toolbar-action__export-image:not(:empty):before{margin-right:3px}.reactodia-toolbar-action__print{align-items:center;display:flex}.reactodia-toolbar-action__print:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M13.85%204.44l-3.28-3.3-.35-.14H2.5l-.5.5V7h1V2h6v3.5l.5.5H13v1h1V4.8l-.15-.36zM10%205V2l3%203h-3zM2.5%208l-.5.5v6l.5.5h11l.5-.5v-6l-.5-.5h-11zM13%2013v1H3V9h10v4zm-8-1h-.32v1H4v-3h1.06c.75%200%201.13.36%201.13%201a.94.94%200%200%201-.32.72A1.33%201.33%200%200%201%205%2012zm-.06-1.45h-.26v.93h.26c.36%200%20.54-.16.54-.47%200-.31-.18-.46-.54-.46zM9%2012.58a1.48%201.48%200%200%200%20.44-1.12c0-1-.53-1.46-1.6-1.46H6.78v3h1.06A1.6%201.6%200%200%200%209%2012.58zm-1.55-.13v-1.9h.33a.94.94%200%200%201%20.7.25.91.91%200%200%201%20.25.67%201%201%200%200%201-.25.72.94.94%200%200%201-.69.26h-.34zm4.45-.61h-.97V13h-.68v-3h1.74v.55h-1.06v.74h.97v.55z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M13.85%204.44l-3.28-3.3-.35-.14H2.5l-.5.5V7h1V2h6v3.5l.5.5H13v1h1V4.8l-.15-.36zM10%205V2l3%203h-3zM2.5%208l-.5.5v6l.5.5h11l.5-.5v-6l-.5-.5h-11zM13%2013v1H3V9h10v4zm-8-1h-.32v1H4v-3h1.06c.75%200%201.13.36%201.13%201a.94.94%200%200%201-.32.72A1.33%201.33%200%200%201%205%2012zm-.06-1.45h-.26v.93h.26c.36%200%20.54-.16.54-.47%200-.31-.18-.46-.54-.46zM9%2012.58a1.48%201.48%200%200%200%20.44-1.12c0-1-.53-1.46-1.6-1.46H6.78v3h1.06A1.6%201.6%200%200%200%209%2012.58zm-1.55-.13v-1.9h.33a.94.94%200%200%201%20.7.25.91.91%200%200%201%20.25.67%201%201%200%200%201-.25.72.94.94%200%200%201-.69.26h-.34zm4.45-.61h-.97V13h-.68v-3h1.74v.55h-1.06v.74h.97v.55z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-toolbar-action__print:not(:empty):before{margin-right:3px}.reactodia-toolbar-action__undo:empty:before{content:\"\";background-color:currentColor;width:18px;height:18px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M3.5%202v3.5L4%206h3.5V5H4.979l.941-.941a3.552%203.552%200%201%201%205.023%205.023L5.746%2014.28l.72.72%205.198-5.198A4.57%204.57%200%200%200%205.2%203.339l-.7.7V2h-1z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M3.5%202v3.5L4%206h3.5V5H4.979l.941-.941a3.552%203.552%200%201%201%205.023%205.023L5.746%2014.28l.72.72%205.198-5.198A4.57%204.57%200%200%200%205.2%203.339l-.7.7V2h-1z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-toolbar-action__undo:not(:empty){align-items:center;display:flex}.reactodia-toolbar-action__undo:not(:empty):before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M3.5%202v3.5L4%206h3.5V5H4.979l.941-.941a3.552%203.552%200%201%201%205.023%205.023L5.746%2014.28l.72.72%205.198-5.198A4.57%204.57%200%200%200%205.2%203.339l-.7.7V2h-1z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M3.5%202v3.5L4%206h3.5V5H4.979l.941-.941a3.552%203.552%200%201%201%205.023%205.023L5.746%2014.28l.72.72%205.198-5.198A4.57%204.57%200%200%200%205.2%203.339l-.7.7V2h-1z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-toolbar-action__undo:not(:empty):not(:empty):before{margin-right:3px}.reactodia-toolbar-action__redo:empty:before{content:\"\";background-color:currentColor;width:18px;height:18px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M12.5%202v3.5L12%206H8.5V5h2.521l-.941-.941a3.552%203.552%200%201%200-5.023%205.023l5.197%205.198-.72.72-5.198-5.198A4.57%204.57%200%200%201%2010.8%203.339l.7.7V2h1z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M12.5%202v3.5L12%206H8.5V5h2.521l-.941-.941a3.552%203.552%200%201%200-5.023%205.023l5.197%205.198-.72.72-5.198-5.198A4.57%204.57%200%200%201%2010.8%203.339l.7.7V2h1z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-toolbar-action__redo:not(:empty){align-items:center;display:flex}.reactodia-toolbar-action__redo:not(:empty):before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M12.5%202v3.5L12%206H8.5V5h2.521l-.941-.941a3.552%203.552%200%201%200-5.023%205.023l5.197%205.198-.72.72-5.198-5.198A4.57%204.57%200%200%201%2010.8%203.339l.7.7V2h1z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M12.5%202v3.5L12%206H8.5V5h2.521l-.941-.941a3.552%203.552%200%201%200-5.023%205.023l5.197%205.198-.72.72-5.198-5.198A4.57%204.57%200%200%201%2010.8%203.339l.7.7V2h1z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-toolbar-action__redo:not(:empty):not(:empty):before{margin-right:3px}.reactodia-toolbar-action__layout{align-items:center;display:flex}.reactodia-toolbar-action__layout:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M13.5%2011h-1.729L8.438%206H9.5l.5-.5v-4L9.5%201h-4l-.5.5v4l.5.5h1.062l-3.333%205H1.5l-.5.5v3l.5.5h3l.5-.5v-3l-.5-.5h-.068L7.5%206.4l3.068%204.6H10.5l-.5.5v3l.5.5h3l.5-.5v-3l-.5-.5zM6%205V2h3v3H6zm-2%207v2H2v-2h2zm9%202h-2v-2h2v2z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M13.5%2011h-1.729L8.438%206H9.5l.5-.5v-4L9.5%201h-4l-.5.5v4l.5.5h1.062l-3.333%205H1.5l-.5.5v3l.5.5h3l.5-.5v-3l-.5-.5h-.068L7.5%206.4l3.068%204.6H10.5l-.5.5v3l.5.5h3l.5-.5v-3l-.5-.5zM6%205V2h3v3H6zm-2%207v2H2v-2h2zm9%202h-2v-2h2v2z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-toolbar-action__layout:not(:empty):before{margin-right:3px}.reactodia-toolbar-action__language-selector{float:left;height:var(--reactodia-toolbar-height);background:var(--reactodia-button-default-background-color);border:var(--reactodia-button-border-width) solid var(--reactodia-button-default-border-color);border-radius:var(--reactodia-button-border-radius);align-items:center;padding:0 5px;display:flex;position:relative}.reactodia-toolbar-action__language-selector:focus-within{border-color:var(--reactodia-input-border-color-focus)}.reactodia-toolbar-action__language-selector select{height:var(--reactodia-toolbar-height);background-color:var(--reactodia-button-default-background-color);color:inherit;font:inherit;line-height:inherit;height:calc(var(--reactodia-toolbar-height) - 4px);border:none;outline:none;margin:0}.reactodia-toolbar-action__language-selector label{margin-right:5px;display:inline-block}.reactodia-toolbar-action__language-selector label:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8.5%201a6.5%206.5%200%201%201%200%2013%206.5%206.5%200%200%201%200-13zm4.894%204a5.527%205.527%200%200%200-3.053-2.676c.444.84.765%201.74.953%202.676h2.1zm.582%202.995A5.11%205.11%200%200%200%2014%207.5a5.464%205.464%200%200%200-.213-1.5h-2.342c.032.331.055.664.055%201a10.114%2010.114%200%200%201-.206%202h2.493c.095-.329.158-.665.19-1.005zm-3.535%200l.006-.051A9.04%209.04%200%200%200%2010.5%207a8.994%208.994%200%200%200-.076-1H6.576A8.82%208.82%200%200%200%206.5%207a8.98%208.98%200%200%200%20.233%202h3.534c.077-.332.135-.667.174-1.005zM10.249%205a8.974%208.974%200%200%200-1.255-2.97C8.83%202.016%208.666%202%208.5%202a3.62%203.62%200%200%200-.312.015l-.182.015L8%202.04A8.97%208.97%200%200%200%206.751%205h3.498zM5.706%205a9.959%209.959%200%200%201%20.966-2.681A5.527%205.527%200%200%200%203.606%205h2.1zM3.213%206A5.48%205.48%200%200%200%203%207.5%205.48%205.48%200%200%200%203.213%209h2.493A10.016%2010.016%200%200%201%205.5%207c0-.336.023-.669.055-1H3.213zm2.754%204h-2.36a5.515%205.515%200%200%200%203.819%202.893A10.023%2010.023%200%200%201%205.967%2010zM8.5%2012.644A8.942%208.942%200%200%200%209.978%2010H7.022A8.943%208.943%200%200%200%208.5%2012.644zM11.033%2010a10.024%2010.024%200%200%201-1.459%202.893A5.517%205.517%200%200%200%2013.393%2010h-2.36z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8.5%201a6.5%206.5%200%201%201%200%2013%206.5%206.5%200%200%201%200-13zm4.894%204a5.527%205.527%200%200%200-3.053-2.676c.444.84.765%201.74.953%202.676h2.1zm.582%202.995A5.11%205.11%200%200%200%2014%207.5a5.464%205.464%200%200%200-.213-1.5h-2.342c.032.331.055.664.055%201a10.114%2010.114%200%200%201-.206%202h2.493c.095-.329.158-.665.19-1.005zm-3.535%200l.006-.051A9.04%209.04%200%200%200%2010.5%207a8.994%208.994%200%200%200-.076-1H6.576A8.82%208.82%200%200%200%206.5%207a8.98%208.98%200%200%200%20.233%202h3.534c.077-.332.135-.667.174-1.005zM10.249%205a8.974%208.974%200%200%200-1.255-2.97C8.83%202.016%208.666%202%208.5%202a3.62%203.62%200%200%200-.312.015l-.182.015L8%202.04A8.97%208.97%200%200%200%206.751%205h3.498zM5.706%205a9.959%209.959%200%200%201%20.966-2.681A5.527%205.527%200%200%200%203.606%205h2.1zM3.213%206A5.48%205.48%200%200%200%203%207.5%205.48%205.48%200%200%200%203.213%209h2.493A10.016%2010.016%200%200%201%205.5%207c0-.336.023-.669.055-1H3.213zm2.754%204h-2.36a5.515%205.515%200%200%200%203.819%202.893A10.023%2010.023%200%200%201%205.967%2010zM8.5%2012.644A8.942%208.942%200%200%200%209.978%2010H7.022A8.943%208.943%200%200%200%208.5%2012.644zM11.033%2010a10.024%2010.024%200%200%201-1.459%202.893A5.517%205.517%200%200%200%2013.393%2010h-2.36z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-btn+.reactodia-toolbar-action__language-selector{margin-left:5px}.reactodia-unified-search{border:var(--reactodia-input-border-width) solid var(--reactodia-input-border-color);border-radius:var(--reactodia-input-border-radius);background-color:var(--reactodia-background-color-surface);transition:border-color .15s ease-in-out}.reactodia-unified-search:focus-within{border-color:var(--reactodia-input-border-color-focus)}.reactodia-unified-search.reactodia-dropdown--expanded{box-shadow:var(--reactodia-canvas-box-shadow)}.reactodia-unified-search__toggle{border:var(--reactodia-input-border-width) solid transparent;border-radius:var(--reactodia-input-border-radius);align-items:stretch;height:28px;display:flex}.reactodia-unified-search .reactodia-dropdown__content{border-bottom-left-radius:var(--reactodia-input-border-radius);border-bottom-right-radius:var(--reactodia-input-border-radius)}.reactodia-unified-search__search-input{min-width:0;color:var(--reactodia-input-color);background-color:var(--reactodia-background-color-surface);border:none;flex:auto;margin:0;padding:6px 44px 6px 12px;display:block}.reactodia-unified-search__search-input::placeholder{color:var(--reactodia-input-color-placeholder)}.reactodia-unified-search__search-input:focus{outline:0}.reactodia-unified-search__search-icon{cursor:text;background:0 0;border:none;align-self:center;padding:0 8px;position:absolute;right:0}.reactodia-unified-search__search-icon:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M15.25%200a8.25%208.25%200%200%200-6.18%2013.72L1%2022.88l1.12%201%208.05-9.12A8.251%208.251%200%201%200%2015.25.01V0zm0%2015a6.75%206.75%200%201%201%200-13.5%206.75%206.75%200%200%201%200%2013.5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M15.25%200a8.25%208.25%200%200%200-6.18%2013.72L1%2022.88l1.12%201%208.05-9.12A8.251%208.251%200%201%200%2015.25.01V0zm0%2015a6.75%206.75%200%201%201%200-13.5%206.75%206.75%200%200%201%200%2013.5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-unified-search__collapse-button,.reactodia-unified-search__clear-button{color:var(--reactodia-button-default-color);border-radius:var(--reactodia-input-border-radius);transition:background-color var(--reactodia-transition-duration);background:0 0;border:0;align-self:center;padding:6px;position:absolute;right:0}.reactodia-unified-search__collapse-button:hover,.reactodia-unified-search__clear-button:hover{color:var(--reactodia-button-default-color-focus);background-color:var(--reactodia-button-default-background-color-focus)}.reactodia-dropdown--down .reactodia-unified-search__collapse-button,.reactodia-dropdown--down .reactodia-unified-search__clear-button{border-top-left-radius:unset}.reactodia-dropdown--down.reactodia-dropdown--expanded .reactodia-unified-search__collapse-button,.reactodia-dropdown--down.reactodia-dropdown--expanded .reactodia-unified-search__clear-button{border-bottom-right-radius:unset}.reactodia-dropdown--up .reactodia-unified-search__collapse-button,.reactodia-dropdown--up .reactodia-unified-search__clear-button{border-bottom-left-radius:unset}.reactodia-dropdown--up.reactodia-dropdown--expanded .reactodia-unified-search__collapse-button,.reactodia-dropdown--up.reactodia-dropdown--expanded .reactodia-unified-search__clear-button{border-top-right-radius:unset}.reactodia-dropdown--down .reactodia-unified-search__collapse-button:after{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8.024%205.928l-4.357%204.357-.62-.618L7.716%205h.618L13%209.667l-.619.618-4.357-4.357z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8.024%205.928l-4.357%204.357-.62-.618L7.716%205h.618L13%209.667l-.619.618-4.357-4.357z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-dropdown--up .reactodia-unified-search__collapse-button:after{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.976%2010.072l4.357-4.357.62.618L8.284%2011h-.618L3%206.333l.619-.618%204.357%204.357z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.976%2010.072l4.357-4.357.62.618L8.284%2011h-.618L3%206.333l.619-.618%204.357%204.357z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-unified-search__clear-button:after{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8%208.707l3.646%203.647.708-.707L8.707%208l3.647-3.646-.707-.708L8%207.293%204.354%203.646l-.707.708L7.293%208l-3.646%203.646.707.708L8%208.707z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8%208.707l3.646%203.647.708-.707L8.707%208l3.647-3.646-.707-.708L8%207.293%204.354%203.646l-.707.708L7.293%208l-3.646%203.646.707.708L8%208.707z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-unified-search .reactodia-dropdown__content{position:unset;box-shadow:unset}.reactodia-unified-search__panel{flex-direction:column;display:flex}.reactodia-unified-search__section-tabs{flex-wrap:wrap;gap:6px;margin:8px 10px;display:flex}.reactodia-unified-search__section-tab{text-align:center;white-space:nowrap;vertical-align:middle;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;user-select:none;border-width:var(--reactodia-button-border-width);transition:background-color var(--reactodia-transition-duration);border-style:solid;padding:4px;font-size:13px}.reactodia-unified-search__section{flex-direction:column;flex:auto;display:flex}.reactodia-unified-search__section:not(.reactodia-unified-search__section--active){display:none}.reactodia-zoom-control{box-shadow:var(--reactodia-canvas-box-shadow);flex-direction:column;display:flex}.reactodia-zoom-control .reactodia-btn{border-radius:unset;padding:3px}.reactodia-zoom-control .reactodia-btn+.reactodia-btn{margin-top:calc(-1 * var(--reactodia-button-border-width))}.reactodia-zoom-control>.reactodia-btn:first-child{border-top-left-radius:var(--reactodia-button-border-radius);border-top-right-radius:var(--reactodia-button-border-radius)}.reactodia-zoom-control>.reactodia-btn:last-child{border-bottom-left-radius:var(--reactodia-button-border-radius);border-bottom-right-radius:var(--reactodia-button-border-radius)}.reactodia-zoom-control__zoom-in-button:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M12.027%206.149a5.52%205.52%200%200%201-1.27%203.908l4.26%204.26-.7.71-4.26-4.27a5.52%205.52%200%201%201%201.97-4.608zm-5.45%204.888a4.51%204.51%200%200%200%203.18-1.32l-.04.02a4.51%204.51%200%200%200%201.36-3.2%204.5%204.5%200%201%200-4.5%204.5zm2.44-4v-1h-2v-2h-1v2h-2v1h2v2h1v-2h2z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M12.027%206.149a5.52%205.52%200%200%201-1.27%203.908l4.26%204.26-.7.71-4.26-4.27a5.52%205.52%200%201%201%201.97-4.608zm-5.45%204.888a4.51%204.51%200%200%200%203.18-1.32l-.04.02a4.51%204.51%200%200%200%201.36-3.2%204.5%204.5%200%201%200-4.5%204.5zm2.44-4v-1h-2v-2h-1v2h-2v1h2v2h1v-2h2z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-zoom-control__zoom-out-button:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M12.027%206.149a5.52%205.52%200%200%201-1.27%203.908l4.26%204.26-.7.71-4.26-4.27a5.52%205.52%200%201%201%201.97-4.608zm-5.45%204.888a4.51%204.51%200%200%200%203.18-1.32l-.04.02a4.51%204.51%200%200%200%201.36-3.2%204.5%204.5%200%201%200-4.5%204.5zm-2.54-4.98h5v1h-5v-1z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M12.027%206.149a5.52%205.52%200%200%201-1.27%203.908l4.26%204.26-.7.71-4.26-4.27a5.52%205.52%200%201%201%201.97-4.608zm-5.45%204.888a4.51%204.51%200%200%200%203.18-1.32l-.04.02a4.51%204.51%200%200%200%201.36-3.2%204.5%204.5%200%201%200-4.5%204.5zm-2.54-4.98h5v1h-5v-1z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-zoom-control__zoom-fit-button:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M%201.5,6%20V%201.5%20H%206%20v%201%20H%202.5%20V%206%20Z'%20/%3e%3cpath%20d='m%2010,2.5%20v%20-1%20h%204.5%20V%206%20h%20-1%20V%202.5%20Z'%20/%3e%3cpath%20d='m%201.5,10%20v%204.5%20H%206%20v%20-1%20H%202.5%20V%2010%20Z'%20/%3e%3cpath%20d='m%2010,13.5%20v%201%20h%204.5%20V%2010%20h%20-1%20v%203.5%20z'%20/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M%201.5,6%20V%201.5%20H%206%20v%201%20H%202.5%20V%206%20Z'%20/%3e%3cpath%20d='m%2010,2.5%20v%20-1%20h%204.5%20V%206%20h%20-1%20V%202.5%20Z'%20/%3e%3cpath%20d='m%201.5,10%20v%204.5%20H%206%20v%20-1%20H%202.5%20V%2010%20Z'%20/%3e%3cpath%20d='m%2010,13.5%20v%201%20h%204.5%20V%2010%20h%20-1%20v%203.5%20z'%20/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-zoom-control__selection-mode-button:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M1%203l1-1h12l1%201v6h-1V3H2v8h5v1H2l-1-1V3zm14.707%209.707L9%206v9.414l2.707-2.707h4zM10%2013V8.414l3.293%203.293h-2L10%2013z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M1%203l1-1h12l1%201v6h-1V3H2v8h5v1H2l-1-1V3zm14.707%209.707L9%206v9.414l2.707-2.707h4zM10%2013V8.414l3.293%203.293h-2L10%2013z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-accordion{flex:auto;width:100%;height:100%;display:flex}.reactodia-accordion--vertical{flex-direction:column}.reactodia-accordion--vertical:not(.reactodia-accordion--resizing):not(:has(.reactodia-accordion-item__handle:focus))>.reactodia-accordion-item{transition:height var(--reactodia-accordion-transition-duration) ease-in-out}.reactodia-accordion--horizontal:not(.reactodia-accordion--resizing):not(:has(.reactodia-accordion-item__handle:focus))>.reactodia-accordion-item{transition:width var(--reactodia-accordion-transition-duration) ease-in-out}.reactodia-accordion-item{flex:auto;display:flex;position:relative}.reactodia-accordion-item--resizing>.reactodia-accordion-item__handle,.reactodia-accordion-item__handle:hover{background:#0000001a}.reactodia-accordion-item--vertical{border-top:var(--reactodia-border-width-base) solid var(--reactodia-border-color-base)}.reactodia-accordion-item--vertical:first-child{border-top-width:0}.reactodia-accordion-item--horizontal{border-right:var(--reactodia-border-width-base) solid var(--reactodia-border-color-base)}.reactodia-accordion-item--horizontal:last-child{border-right-width:0}.reactodia-accordion-item__handle{z-index:calc(var(--reactodia-z-index-base) + 10);position:absolute}.reactodia-accordion-item__handle-vertical{cursor:ns-resize;width:100%;height:5px;bottom:-2.5px;left:0}.reactodia-accordion-item__handle-horizontal{cursor:ew-resize;width:5px;height:100%;top:0;right:-2.5px}.reactodia-accordion-item__handle-btn{background-color:var(--reactodia-button-default-background-color);border:2px solid var(--reactodia-color-primary);cursor:pointer;width:20px;height:20px;z-index:calc(var(--reactodia-z-index-base) + 20);transition:var(--reactodia-accordion-transition-duration);border-radius:10px;justify-content:center;align-items:center;margin-top:-10px;padding:0;display:flex;position:absolute;top:50%;box-shadow:0 0 0 1px #091e4214,0 2px 4px 1px #091e4214}.reactodia-accordion-item__handle-btn:before{content:\"\";width:16px;height:16px;transition:opacity filter var(--reactodia-accordion-transition-duration);color:var(--reactodia-color-emphasis-700);background-color:currentColor;-webkit-mask-position:0 0;mask-position:0 0;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.reactodia-accordion-item__handle-btn:hover{background-color:var(--reactodia-color-primary)}.reactodia-accordion-item__handle-btn:hover:before{opacity:1;color:var(--reactodia-color-gray-0)}.reactodia-accordion-item__handle-btn-left{margin-left:-10px;left:100%}.reactodia-accordion-item__handle-btn-left:before{-webkit-mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M5.928%207.976l4.357%204.357-.618.62L5%208.284v-.618L9.667%203l.618.619-4.357%204.357z'/%3e%3c/svg%3e\");mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M5.928%207.976l4.357%204.357-.618.62L5%208.284v-.618L9.667%203l.618.619-4.357%204.357z'/%3e%3c/svg%3e\")}.reactodia-accordion-item--collapsed .reactodia-accordion-item__handle-btn-left{margin-left:calc(-1 * min(10px, var(--reactodia-accordion-item-size,0px) - 4px))}.reactodia-accordion-item__handle-btn-right{margin-right:-10px;right:100%}.reactodia-accordion-item__handle-btn-right:before{-webkit-mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10.072%208.024L5.715%203.667l.618-.62L11%207.716v.618L6.333%2013l-.618-.619%204.357-4.357z'/%3e%3c/svg%3e\");mask-image:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10.072%208.024L5.715%203.667l.618-.62L11%207.716v.618L6.333%2013l-.618-.619%204.357-4.357z'/%3e%3c/svg%3e\")}.reactodia-accordion-item--collapsed .reactodia-accordion-item__handle-btn-right{margin-right:calc(-1 * min(10px, var(--reactodia-accordion-item-size,0px) - 4px))}.reactodia-accordion-item--collapsed .reactodia-accordion-item__handle-btn:before{transform:rotate(180deg)}.reactodia-accordion-item__inner{flex-direction:column;flex:auto;display:flex;overflow:hidden}.reactodia-accordion-item__body{background-color:var(--reactodia-background-color);min-width:var(--reactodia-item-min-width);flex-direction:column;flex:1 1 0;display:flex}.reactodia-accordion-item__header{text-align:unset;background-color:var(--reactodia-color-emphasis-200);cursor:default;outline-offset:-2px;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;border:none;flex-shrink:0;padding:0 0 0 20px;font-size:16px;position:relative}.reactodia-accordion-item__header:before{border-top:6px solid var(--reactodia-color-emphasis-700);content:\"\";border-left:3.5px solid #0000;border-right:3.5px solid #0000;margin-top:-3px;transition:all .1s;position:absolute;top:50%;left:7px}.reactodia-accordion-item--collapsed .reactodia-accordion-item__inner{background-color:var(--reactodia-background-color-surface)}.reactodia-accordion-item--collapsed .reactodia-accordion-item__header:before{transform:rotate(-90deg)}.reactodia-accordion-item--collapsed .reactodia-accordion-item__body{display:none}.reactodia-workspace{box-sizing:border-box;height:100%;white-space:initial;color:var(--reactodia-font-color-base);font-family:var(--reactodia-font-family-base);font-size:var(--reactodia-font-size-base);line-height:var(--reactodia-line-height-base);flex-direction:column;display:flex}.reactodia-workspace *,.reactodia-workspace :before,.reactodia-workspace :after{box-sizing:inherit}.reactodia-scrollable{flex:1 1 0;overflow-y:scroll}.reactodia-scrollable>*{position:relative}.reactodia-classic-template{float:left;border-style:solid;border-width:1px;border-radius:12px;max-width:450px}.reactodia-classic-template__thumbnail{text-align:center}.reactodia-classic-template__thumbnail-image{max-width:200px}.reactodia-classic-template--expanded .reactodia-classic-template__thumbnail-image{max-width:350px}.reactodia-classic-template__type-line{color:#fff;align-items:baseline;height:18px;margin-top:-3px;margin-bottom:2px;padding:0 7px;display:flex;overflow:hidden}.reactodia-classic-template__type-line-icon{margin-right:4px;position:inherit!important}.reactodia-classic-template__type-line-text-container{text-overflow:ellipsis;flex-grow:1;width:0;overflow:hidden}.reactodia-classic-template__type-line-text{white-space:nowrap;font-size:12px;display:inline}.reactodia-classic-template__body{background:var(--reactodia-element-background-color);border-top-style:solid;border-top-width:1px;border-bottom-right-radius:12px;border-bottom-left-radius:12px;flex-direction:column;padding:7px 10px 8px;display:flex;overflow:hidden}.reactodia-classic-template__label{text-overflow:ellipsis;white-space:nowrap;word-wrap:break-word;margin-bottom:0;font-size:19px;font-weight:100;overflow:hidden}.reactodia-classic-template__expander{width:100%;display:flex;overflow:hidden}.reactodia-classic-template__iri-heading{color:var(--reactodia-color-emphasis-500);margin-right:15px;font-size:12px;font-weight:100}.reactodia-classic-template__iri-container{white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:12px;overflow:hidden}.reactodia-classic-template__iri{color:var(--reactodia-color-emphasis-500)}.reactodia-classic-template__divider{border:0;border-top:1px solid var(--reactodia-border-color-base);height:0;margin:5px 0}.reactodia-classic-template__property-table{max-height:200px;margin-bottom:5px;font-size:15px;font-weight:100;overflow:hidden scroll}.reactodia-classic-template__property-row{white-space:nowrap}.reactodia-classic-template__property-label{text-overflow:ellipsis;vertical-align:top;width:50%;display:inline-block;overflow:hidden}.reactodia-classic-template__property-values{text-overflow:ellipsis;width:50%;display:inline-block;overflow:hidden}.reactodia-classic-template__property-value{text-overflow:ellipsis;width:100%;white-space:initial;padding-right:10px;overflow:hidden}.reactodia-group-paginator{height:22px;display:flex}.reactodia-group-paginator__previous,.reactodia-group-paginator__next{padding:0 5px}.reactodia-group-paginator__previous{align-items:center;display:flex}.reactodia-group-paginator__previous:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M5.928%207.976l4.357%204.357-.618.62L5%208.284v-.618L9.667%203l.618.619-4.357%204.357z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M5.928%207.976l4.357%204.357-.618.62L5%208.284v-.618L9.667%203l.618.619-4.357%204.357z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-group-paginator__previous:not(:empty):before{margin-right:3px}.reactodia-group-paginator__previous{border-top-right-radius:unset;border-bottom-right-radius:unset}.reactodia-group-paginator__next{align-items:center;display:flex}.reactodia-group-paginator__next:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10.072%208.024L5.715%203.667l.618-.62L11%207.716v.618L6.333%2013l-.618-.619%204.357-4.357z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10.072%208.024L5.715%203.667l.618-.62L11%207.716v.618L6.333%2013l-.618-.619%204.357-4.357z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-group-paginator__next:not(:empty):before{margin-right:3px}.reactodia-group-paginator__next{border-top-left-radius:unset;border-bottom-left-radius:unset}.reactodia-group-paginator__status{text-align:center;border-top:var(--reactodia-button-border-width) solid var(--reactodia-button-default-border-color);border-bottom:var(--reactodia-button-border-width) solid var(--reactodia-button-default-border-color);flex:0 0 60px;line-height:22px}.reactodia-group-paginator__page-size{margin-left:4px}.reactodia-note-annotation{border:2px solid var(--reactodia-color-gray-500);border-radius:var(--reactodia-border-radius-s);align-content:center;width:200px;height:120px;display:grid}.reactodia-note-annotation--variant-default{color:var(--reactodia-font-color-base);background-color:var(--reactodia-element-background-color);border-color:var(--reactodia-color-gray-500)}.reactodia-note-annotation--variant-primary{color:var(--reactodia-color-primary-contrast-foreground);background-color:var(--reactodia-color-primary-contrast-background);border-color:var(--reactodia-color-primary)}.reactodia-note-annotation--variant-success{color:var(--reactodia-color-success-contrast-foreground);background-color:var(--reactodia-color-success-contrast-background);border-color:var(--reactodia-color-success)}.reactodia-note-annotation--variant-info{color:var(--reactodia-color-info-contrast-foreground);background-color:var(--reactodia-color-info-contrast-background);border-color:var(--reactodia-color-info)}.reactodia-note-annotation--variant-warning{color:var(--reactodia-color-warning-contrast-foreground);background-color:var(--reactodia-color-warning-contrast-background);border-color:var(--reactodia-color-warning)}.reactodia-note-annotation--variant-danger{color:var(--reactodia-color-danger-contrast-foreground);background-color:var(--reactodia-color-danger-contrast-background);border-color:var(--reactodia-color-danger)}.reactodia-note-annotation--editing{align-content:unset}.reactodia-note-annotation__editor{overflow-wrap:break-word;pointer-events:none;text-align:center;outline:none;margin:0;padding:10px;font-size:18px}.reactodia-note-annotation--editing .reactodia-note-annotation__editor{cursor:text;pointer-events:all}.reactodia-note-annotation__controls{gap:var(--reactodia-spacing-base);flex-direction:column;width:max-content;display:flex;position:absolute;top:10px;right:-10px;transform:translate(100%)}.reactodia-note-annotation__style-bold{align-items:center;display:flex}.reactodia-note-annotation__style-bold:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20id='icon'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;}%3c/style%3e%3c/defs%3e%3ctitle%3etext-bold%3c/title%3e%3cpath%20d='M18.25,25H9V7h8.5a5.25,5.25,0,0,1,4,8.65A5.25,5.25,0,0,1,18.25,25ZM12,22h6.23a2.25,2.25,0,1,0,0-4.5H12Zm0-7.5h5.5a2.25,2.25,0,1,0,0-4.5H12Z'/%3e%3crect%20id='_Transparent_Rectangle_'%20data-name='&lt;Transparent%20Rectangle&gt;'%20class='cls-1'%20width='32'%20height='32'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20id='icon'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;}%3c/style%3e%3c/defs%3e%3ctitle%3etext-bold%3c/title%3e%3cpath%20d='M18.25,25H9V7h8.5a5.25,5.25,0,0,1,4,8.65A5.25,5.25,0,0,1,18.25,25ZM12,22h6.23a2.25,2.25,0,1,0,0-4.5H12Zm0-7.5h5.5a2.25,2.25,0,1,0,0-4.5H12Z'/%3e%3crect%20id='_Transparent_Rectangle_'%20data-name='&lt;Transparent%20Rectangle&gt;'%20class='cls-1'%20width='32'%20height='32'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-note-annotation__style-bold:not(:empty):before{margin-right:3px}.reactodia-note-annotation__style-italic{align-items:center;display:flex}.reactodia-note-annotation__style-italic:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20id='icon'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;}%3c/style%3e%3c/defs%3e%3ctitle%3etext-italic%3c/title%3e%3cpolygon%20points='25%209%2025%207%2012%207%2012%209%2017.14%209%2012.77%2023%207%2023%207%2025%2020%2025%2020%2023%2014.86%2023%2019.23%209%2025%209'/%3e%3crect%20id='_Transparent_Rectangle_'%20data-name='&lt;Transparent%20Rectangle&gt;'%20class='cls-1'%20width='32'%20height='32'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20id='icon'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;}%3c/style%3e%3c/defs%3e%3ctitle%3etext-italic%3c/title%3e%3cpolygon%20points='25%209%2025%207%2012%207%2012%209%2017.14%209%2012.77%2023%207%2023%207%2025%2020%2025%2020%2023%2014.86%2023%2019.23%209%2025%209'/%3e%3crect%20id='_Transparent_Rectangle_'%20data-name='&lt;Transparent%20Rectangle&gt;'%20class='cls-1'%20width='32'%20height='32'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-note-annotation__style-italic:not(:empty):before{margin-right:3px}.reactodia-note-annotation__style-underline{align-items:center;display:flex}.reactodia-note-annotation__style-underline:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20id='icon'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;}%3c/style%3e%3c/defs%3e%3ctitle%3etext-underline%3c/title%3e%3crect%20x='4'%20y='26'%20width='24'%20height='2'/%3e%3cpath%20d='M16,23a7,7,0,0,1-7-7V5h2V16a5,5,0,0,0,10,0V5h2V16A7,7,0,0,1,16,23Z'/%3e%3crect%20id='_Transparent_Rectangle_'%20data-name='&lt;Transparent%20Rectangle&gt;'%20class='cls-1'%20width='32'%20height='32'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20id='icon'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;}%3c/style%3e%3c/defs%3e%3ctitle%3etext-underline%3c/title%3e%3crect%20x='4'%20y='26'%20width='24'%20height='2'/%3e%3cpath%20d='M16,23a7,7,0,0,1-7-7V5h2V16a5,5,0,0,0,10,0V5h2V16A7,7,0,0,1,16,23Z'/%3e%3crect%20id='_Transparent_Rectangle_'%20data-name='&lt;Transparent%20Rectangle&gt;'%20class='cls-1'%20width='32'%20height='32'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-note-annotation__style-underline:not(:empty):before{margin-right:3px}.reactodia-note-annotation__style-strikethrough{align-items:center;display:flex}.reactodia-note-annotation__style-strikethrough:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20id='icon'%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;}%3c/style%3e%3c/defs%3e%3ctitle%3etext--strikethrough%3c/title%3e%3cpath%20d='M28,15H17.9563c-.4522-.1237-.9037-.2324-1.3381-.3352-2.8077-.6641-4.396-1.1506-4.396-3.4231a2.8684,2.8684,0,0,1,.7866-2.145,4.7888,4.7888,0,0,1,3.0137-1.09c2.8291-.07,4.1347.8894,5.2011,2.35l1.6153-1.1792a7.4727,7.4727,0,0,0-6.83-3.1706,6.7726,6.7726,0,0,0-4.4,1.6611,4.8274,4.8274,0,0,0-1.3862,3.5735A4.3723,4.3723,0,0,0,11.9573,15H4v2H17.6519c1.9668.57,3.1432,1.3123,3.1733,3.3579a3.119,3.119,0,0,1-.8623,2.3931A5.8241,5.8241,0,0,1,16.2432,24a6.6344,6.6344,0,0,1-5.1451-2.6912L9.5649,22.593A8.5262,8.5262,0,0,0,16.2119,26c.0088-.0012.042,0,.1,0A7.67,7.67,0,0,0,21.36,24.1812a5.0779,5.0779,0,0,0,1.4648-3.8531A4.952,4.952,0,0,0,21.6753,17H28Z'/%3e%3crect%20id='_Transparent_Rectangle_'%20data-name='&lt;Transparent%20Rectangle&gt;'%20class='cls-1'%20width='32'%20height='32'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20id='icon'%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;}%3c/style%3e%3c/defs%3e%3ctitle%3etext--strikethrough%3c/title%3e%3cpath%20d='M28,15H17.9563c-.4522-.1237-.9037-.2324-1.3381-.3352-2.8077-.6641-4.396-1.1506-4.396-3.4231a2.8684,2.8684,0,0,1,.7866-2.145,4.7888,4.7888,0,0,1,3.0137-1.09c2.8291-.07,4.1347.8894,5.2011,2.35l1.6153-1.1792a7.4727,7.4727,0,0,0-6.83-3.1706,6.7726,6.7726,0,0,0-4.4,1.6611,4.8274,4.8274,0,0,0-1.3862,3.5735A4.3723,4.3723,0,0,0,11.9573,15H4v2H17.6519c1.9668.57,3.1432,1.3123,3.1733,3.3579a3.119,3.119,0,0,1-.8623,2.3931A5.8241,5.8241,0,0,1,16.2432,24a6.6344,6.6344,0,0,1-5.1451-2.6912L9.5649,22.593A8.5262,8.5262,0,0,0,16.2119,26c.0088-.0012.042,0,.1,0A7.67,7.67,0,0,0,21.36,24.1812a5.0779,5.0779,0,0,0,1.4648-3.8531A4.952,4.952,0,0,0,21.6753,17H28Z'/%3e%3crect%20id='_Transparent_Rectangle_'%20data-name='&lt;Transparent%20Rectangle&gt;'%20class='cls-1'%20width='32'%20height='32'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-note-annotation__style-strikethrough:not(:empty):before{margin-right:3px}.reactodia-note-annotation__align-left{align-items:center;display:flex}.reactodia-note-annotation__align-left:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20id='icon'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;}%3c/style%3e%3c/defs%3e%3ctitle%3ealign--left%3c/title%3e%3crect%20x='12'%20y='6'%20width='14'%20height='2'/%3e%3crect%20x='12'%20y='12'%20width='10'%20height='2'/%3e%3crect%20x='12'%20y='18'%20width='14'%20height='2'/%3e%3crect%20x='12'%20y='24'%20width='10'%20height='2'/%3e%3crect%20x='6'%20y='4'%20width='2'%20height='24'/%3e%3crect%20id='_Transparent_Rectangle_'%20data-name='&lt;Transparent%20Rectangle&gt;'%20class='cls-1'%20width='32'%20height='32'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20id='icon'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;}%3c/style%3e%3c/defs%3e%3ctitle%3ealign--left%3c/title%3e%3crect%20x='12'%20y='6'%20width='14'%20height='2'/%3e%3crect%20x='12'%20y='12'%20width='10'%20height='2'/%3e%3crect%20x='12'%20y='18'%20width='14'%20height='2'/%3e%3crect%20x='12'%20y='24'%20width='10'%20height='2'/%3e%3crect%20x='6'%20y='4'%20width='2'%20height='24'/%3e%3crect%20id='_Transparent_Rectangle_'%20data-name='&lt;Transparent%20Rectangle&gt;'%20class='cls-1'%20width='32'%20height='32'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-note-annotation__align-left:not(:empty):before{margin-right:3px}.reactodia-note-annotation__align-center{align-items:center;display:flex}.reactodia-note-annotation__align-center:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20id='icon'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;}%3c/style%3e%3c/defs%3e%3ctitle%3ealign--center%3c/title%3e%3crect%20x='6'%20y='6'%20width='20'%20height='2'/%3e%3crect%20x='10'%20y='12'%20width='12'%20height='2'/%3e%3crect%20x='6'%20y='18'%20width='20'%20height='2'/%3e%3crect%20x='10'%20y='24'%20width='12'%20height='2'/%3e%3crect%20id='_Transparent_Rectangle_'%20data-name='&lt;Transparent%20Rectangle&gt;'%20class='cls-1'%20width='32'%20height='32'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20id='icon'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;}%3c/style%3e%3c/defs%3e%3ctitle%3ealign--center%3c/title%3e%3crect%20x='6'%20y='6'%20width='20'%20height='2'/%3e%3crect%20x='10'%20y='12'%20width='12'%20height='2'/%3e%3crect%20x='6'%20y='18'%20width='20'%20height='2'/%3e%3crect%20x='10'%20y='24'%20width='12'%20height='2'/%3e%3crect%20id='_Transparent_Rectangle_'%20data-name='&lt;Transparent%20Rectangle&gt;'%20class='cls-1'%20width='32'%20height='32'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-note-annotation__align-center:not(:empty):before{margin-right:3px}.reactodia-note-annotation__align-right{align-items:center;display:flex}.reactodia-note-annotation__align-right:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20id='icon'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;}%3c/style%3e%3c/defs%3e%3ctitle%3ealign--right%3c/title%3e%3crect%20x='6'%20y='6'%20width='14'%20height='2'/%3e%3crect%20x='10'%20y='12'%20width='10'%20height='2'/%3e%3crect%20x='6'%20y='18'%20width='14'%20height='2'/%3e%3crect%20x='10'%20y='24'%20width='10'%20height='2'/%3e%3crect%20x='24'%20y='4'%20width='2'%20height='24'/%3e%3crect%20id='_Transparent_Rectangle_'%20data-name='&lt;Transparent%20Rectangle&gt;'%20class='cls-1'%20width='32'%20height='32'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20id='icon'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;}%3c/style%3e%3c/defs%3e%3ctitle%3ealign--right%3c/title%3e%3crect%20x='6'%20y='6'%20width='14'%20height='2'/%3e%3crect%20x='10'%20y='12'%20width='10'%20height='2'/%3e%3crect%20x='6'%20y='18'%20width='14'%20height='2'/%3e%3crect%20x='10'%20y='24'%20width='10'%20height='2'/%3e%3crect%20x='24'%20y='4'%20width='2'%20height='24'/%3e%3crect%20id='_Transparent_Rectangle_'%20data-name='&lt;Transparent%20Rectangle&gt;'%20class='cls-1'%20width='32'%20height='32'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-note-annotation__align-right:not(:empty):before{margin-right:3px}.reactodia-note-annotation__variant{border-radius:var(--reactodia-border-radius-s);border-top-style:solid;border-top-width:16px;width:16px;height:16px}.reactodia-note-link__path:not([stroke]){stroke:var(--reactodia-color-gray-500)}.reactodia-note-link__path:not([stroke-width]){stroke-width:2px}.reactodia-note-link__label{color:var(--reactodia-color-emphasis-600);font-weight:700}.reactodia-round-entity{background-color:var(--reactodia-element-background-color);border:4px solid var(--reactodia-element-style-color);text-align:center;border-radius:50%;grid-template-rows:1fr 1fr 1fr;align-items:center;width:120px;height:120px;display:grid}.reactodia-round-entity__types{white-space:nowrap;text-overflow:ellipsis;color:#999;place-self:end center;width:65%;font-size:11px;font-style:italic;overflow:hidden}.reactodia-round-entity__label{white-space:nowrap;text-overflow:ellipsis;margin:0 10px;font-size:18px;overflow:hidden}.reactodia-standard-element{float:left;min-width:180px;max-width:400px}.reactodia-standard-element--group{border-radius:var(--reactodia-border-radius-s);border:1px solid;border-color:var(--reactodia-standard-group-color);background:var(--reactodia-element-background-color);padding:4px}.reactodia-standard-element__main{border-radius:var(--reactodia-border-radius-s);border:1px solid;border-color:var(--reactodia-element-style-color);background-color:var(--reactodia-element-style-color)}.reactodia-standard-element__body{border-radius:0 var(--reactodia-border-radius-s) var(--reactodia-border-radius-s) 0;border-left:1px solid;border-left-color:var(--reactodia-element-style-color);background:var(--reactodia-element-background-color);margin-left:8px;padding:3px 0}.reactodia-standard-element--new .reactodia-standard-element__main{background-color:var(--reactodia-element-background-color)}.reactodia-standard-element__body-horizontal{justify-content:space-between;align-items:center;display:flex;overflow:hidden}.reactodia-standard-element__body-content{flex-grow:1;min-width:0;margin-right:12px}.reactodia-standard-element__item{border-radius:var(--reactodia-border-radius-s);border:0;display:flex}.reactodia-standard-element__item-filler{padding:3px;font-size:15px}.reactodia-standard-element__item:not(:first-child),.reactodia-standard-element__item-filler:not(:first-child){margin-top:4px}.reactodia-standard-element__item-stripe{background:var(--reactodia-element-style-color);width:6px}.reactodia-standard-element--new .reactodia-standard-element__item-stripe{background:var(--reactodia-element-background-color);border:1px solid var(--reactodia-element-style-color)}.reactodia-standard-element__item-body{text-overflow:ellipsis;background:var(--reactodia-element-background-color);flex:auto;padding:3px;display:flex;overflow:hidden}.reactodia-standard-element__label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.reactodia-standard-element--standalone .reactodia-standard-element__label{font-size:19px}.reactodia-standard-element--group .reactodia-standard-element__label{flex:auto;font-size:15px}.reactodia-standard-element--group .reactodia-standard-element--changed .reactodia-standard-element__label{color:#09f;font-style:italic}.reactodia-standard-element--group .reactodia-standard-element--deleted .reactodia-standard-element__label{color:#ff3b3b;text-decoration:line-through}.reactodia-standard-element__thumbnail{width:50px;height:50px;color:var(--reactodia-element-style-color);flex-shrink:0;justify-content:center;align-items:center;margin:5px 10px;font-size:26px;display:flex}.reactodia-standard-element__thumbnail-image{max-width:100%;max-height:100%}.reactodia-standard-element__thumbnail-icon{object-fit:contain;width:26px;height:26px}.reactodia-standard-element__thumbnail-icon--monochrome{filter:var(--reactodia-monochrome-icon-filter)}.reactodia-standard-element__photo{border-bottom:1px solid;border-color:var(--reactodia-element-style-color)}.reactodia-standard-element__photo-image{border-radius:var(--reactodia-border-radius-s) var(--reactodia-border-radius-s) 0 0;width:100%}.reactodia-standard-element__type{white-space:nowrap;text-overflow:ellipsis;color:#999;font-size:11px;font-style:italic;display:flex;overflow:hidden}.reactodia-standard-element__type-value{text-overflow:ellipsis;flex-grow:1;width:0;overflow:hidden}.reactodia-standard-element__iri{width:100%;display:flex;overflow:hidden}.reactodia-standard-element__iri-key{color:var(--reactodia-color-emphasis-500);margin-right:4px;font-size:12px}.reactodia-standard-element__iri-value{white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:12px;overflow:hidden}.reactodia-standard-element__iri-value a{color:var(--reactodia-color-emphasis-500)}.reactodia-standard-element__hr{border:0;border-top:1px solid var(--reactodia-border-color-base);height:0;margin:5px 0}.reactodia-standard-element__properties{max-height:200px;font-size:15px;overflow:hidden scroll}.reactodia-standard-element__properties-row{white-space:nowrap;grid-template-columns:1fr 1fr;display:grid}.reactodia-standard-element__properties-key{text-overflow:ellipsis;vertical-align:top;display:inline-block;overflow:hidden}.reactodia-standard-element__properties-values{text-overflow:ellipsis;display:inline-block;overflow:hidden}.reactodia-standard-element__properties-value{text-overflow:ellipsis;width:100%;white-space:initial;padding-right:10px;overflow:hidden}.reactodia-standard-element__pinned-props{border-top:1px solid;border-color:var(--reactodia-element-style-color);margin:0 5px}.reactodia-standard-element__dropdown{border:1px solid;border-color:var(--reactodia-element-style-color);border-radius:var(--reactodia-border-radius-s);background-color:var(--reactodia-element-background-color);margin-top:5px}.reactodia-standard-element__dropdown-content{width:100%;padding:9px}.reactodia-standard-element__actions{justify-content:space-between;display:flex}.reactodia-standard-element__delete-button,.reactodia-standard-element__edit-button{align-items:center;min-width:60px;padding:5px;display:flex}.reactodia-standard-element__delete-button{align-items:center;display:flex}.reactodia-standard-element__delete-button:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10%203h3v1h-1v9l-1%201H4l-1-1V4H2V3h3V2a1%201%200%200%201%201-1h3a1%201%200%200%201%201%201v1zM9%202H6v1h3V2zM4%2013h7V4H4v9zm2-8H5v7h1V5zm1%200h1v7H7V5zm2%200h1v7H9V5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10%203h3v1h-1v9l-1%201H4l-1-1V4H2V3h3V2a1%201%200%200%201%201-1h3a1%201%200%200%201%201%201v1zM9%202H6v1h3V2zM4%2013h7V4H4v9zm2-8H5v7h1V5zm1%200h1v7H7V5zm2%200h1v7H9V5z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-standard-element__delete-button:not(:empty):before{margin-right:3px}.reactodia-standard-element__edit-button{align-items:center;display:flex}.reactodia-standard-element__edit-button:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M13.23%201h-1.46L3.52%209.25l-.16.22L1%2013.59%202.41%2015l4.12-2.36.22-.16L15%204.23V2.77L13.23%201zM2.41%2013.59l1.51-3%201.45%201.45-2.96%201.55zm3.83-2.06L4.47%209.76l8-8%201.77%201.77-8%208z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20d='M13.23%201h-1.46L3.52%209.25l-.16.22L1%2013.59%202.41%2015l4.12-2.36.22-.16L15%204.23V2.77L13.23%201zM2.41%2013.59l1.51-3%201.45%201.45-2.96%201.55zm3.83-2.06L4.47%209.76l8-8%201.77%201.77-8%208z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-standard-element__edit-button:not(:empty):before{margin-right:3px}.reactodia-standard-element__ungroup-one-button{align-items:center;display:flex}.reactodia-standard-element__ungroup-one-button:before{content:\"\";background-color:currentColor;width:16px;height:16px;display:block;-webkit-mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10.072%208.024L5.715%203.667l.618-.62L11%207.716v.618L6.333%2013l-.618-.619%204.357-4.357z'/%3e%3c/svg%3e\") 0 0/contain no-repeat;mask:url(\"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10.072%208.024L5.715%203.667l.618-.62L11%207.716v.618L6.333%2013l-.618-.619%204.357-4.357z'/%3e%3c/svg%3e\") 0 0/contain no-repeat}.reactodia-standard-element__ungroup-one-button:not(:empty):before{margin-right:3px}.reactodia-standard-element__ungroup-one-button{opacity:0;align-self:center;width:18px;height:18px;margin-left:2px;padding:0;transition:opacity .2s;display:block}.reactodia-standard-element:hover .reactodia-standard-element__ungroup-one-button,.reactodia-standard-element:focus .reactodia-standard-element__ungroup-one-button,.reactodia-overlaid-element--only-selected .reactodia-standard-element__ungroup-one-button{opacity:1}.reactodia-standard-element--group .reactodia-group-paginator{opacity:.4;margin-top:4px;transition:opacity .2s}.reactodia-standard-element--group .reactodia-group-paginator:hover{opacity:1}.reactodia-standard-link--group .reactodia-link-path{stroke-width:2px}.reactodia-standard-link__path:not([stroke]){stroke:var(--reactodia-link-stroke-color)}.reactodia-standard-link__label{font-weight:700}.reactodia-standard-link__label--renamed{font-style:italic;font-weight:400}.reactodia-standard-link__property{text-overflow:ellipsis;max-width:150px;font-size:90%;font-style:normal;font-weight:400;overflow:hidden}.reactodia-standard-link__source-count,.reactodia-standard-link__target-count{color:var(--reactodia-color-emphasis-600);opacity:.8;font-size:12px;font-weight:700}\n/*$vite$:1*/")),document.head.appendChild(e)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}}();var pi,gi,vi=v.createContext(null),mi=v.createContext({defined:!1,actInColorScheme:()=>{}}),bi=class{listeners=new Map;anyListeners;on(e,t){let n=this.listeners.get(e);n||(n=new Set,this.listeners.set(e,n)),n.add(t)}onAny(e){let t=this.anyListeners;t||(t=new Set,this.anyListeners=t),t.add(e)}off(e,t){const n=this.listeners.get(e);n&&n.delete(t)}offAny(e){const t=this.anyListeners;t&&t.delete(e)}trigger(e,t){const n=this.listeners.get(e);if(n)for(const e of n)e(t);if(this.anyListeners)for(const n of this.anyListeners)n({[e]:t})}},wi=class{onDispose=new Set;listen(e,t,n){e.on(t,n),this.onDispose.add((()=>e.off(t,n)))}listenAny(e,t){e.onAny(t),this.onDispose.add((()=>e.offAny(t)))}listenOnce(e,t,n){let i;const r=o=>{e.off(t,r),this.onDispose.delete(i),n(o)};i=()=>{e.off(t,r),this.onDispose.delete(i)},e.on(t,r),this.onDispose.add(i)}stopListening(){for(const e of this.onDispose)e();this.onDispose.clear()}},yi=class{scheduled;_timeout;callback;constructor(e="frame"){this._timeout=e,this.runSynchronously=this.runSynchronously.bind(this)}get timeout(){return this._timeout}setTimeout(e){this._timeout=e}call(e){this.callback=e,this.schedule()}schedule(){void 0===this.scheduled&&(this.scheduled="frame"===this.timeout?requestAnimationFrame(this.runSynchronously):setTimeout(this.runSynchronously,this.timeout))}run(){const e=this.callback;e?.()}runSynchronously=()=>{this.cancelScheduledTimeout()&&this.run()};dispose(){this.cancelScheduledTimeout()}cancelScheduledTimeout(){return void 0!==this.scheduled&&("frame"===this.timeout?cancelAnimationFrame(this.scheduled):clearTimeout(this.scheduled),this.scheduled=void 0,!0)}},_i=class{onFetch;debouncer;queuedItems=new Set;constructor(e,t=200){this.onFetch=e,this.debouncer=new yi(t)}has(e){return this.queuedItems.has(e)}push(e){this.queuedItems.add(e),this.debouncer.call(this.run)}clear(){this.queuedItems.clear()}run=()=>{const{queuedItems:e,onFetch:t}=this,n=Array.from(e);e.clear(),t(n)}},ki="urn:reactodia:isPlaceholder",xi="urn:reactodia:newElement",Si="urn:reactodia:newLink",Ci=class e{value;static empty=new e(void 0);constructor(e){this.value=e}static property(e){return{of:()=>e}}get(e){return this.value?.[e]}set(t,n){const i=this.value;if(void 0!==n){if(i?.[t]!==n)return new e({...i,[t]:n})}else if(void 0!==i?.[t]){const{[t]:n,...r}=i;return new e(r)}return this}static fromJSON(t){return void 0===t?e.empty:new e(t)}toJSON(){return this.value?{...this.value}:void 0}};(gi=pi||(pi={})).Expanded=Ci.property("urn:reactodia:expanded").of(),gi.ElementSize=Ci.property("urn:reactodia:elementSize").of(),gi.PinnedProperties=Ci.property("urn:reactodia:pinnedProperties").of(),gi.CustomLabel=Ci.property("urn:reactodia:customLabel").of(),gi.LayoutOnly=Ci.property("urn:reactodia:layoutOnly").of(),gi.GroupPageIndex=Ci.property("urn:reactodia:groupPageIndex").of(),gi.GroupPageSize=Ci.property("urn:reactodia:groupPageSize").of(),gi.AnnotationContent=Ci.property("urn:reactodia:annotationContent").of(),gi.ColorVariant=Ci.property("urn:reactodia:colorVariant").of();var Li,Mi,Ei=["default","primary","success","info","warning","danger"],zi=class{get factory(){return Bt}knownElementTypes(e){return Promise.resolve({elementTypes:[],subtypeOf:[]})}knownLinkTypes(e){return Promise.resolve([])}elementTypes(e){return Promise.resolve(new Map)}propertyTypes(e){return Promise.resolve(new Map)}linkTypes(e){return Promise.resolve(new Map)}elements(e){return Promise.resolve(new Map)}links(e){return Promise.resolve([])}connectedLinkStats(e){return Promise.resolve([])}lookup(e){return Promise.resolve([])}};function $i(){function e(){return Math.floor(4294967296*(1+Math.random())).toString(16).substring(1)}return e()+e()+e()+e()}function Ti(e){const t=new RegExp(function(e){return e.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&")}(e),"i");return e=>t.test(e)}function*Ni(e,t,n,i,r){const o=Math.ceil(i/2),a=new Set,s=[];let l=0,c=0;function d(){const e={sources:[...a],targets:[...s]};return s.length=0,c=0,e}for(let u=0;u<e.length;u++){const h=e[u];if(a.add(h),l+=n(h),l>=o||u===e.length-1){for(const e of t){if(r&&r.has(e))continue;const t=n(e);c>0&&l+c+t>i&&(yield d()),s.push(e),c+=t}c>0&&(yield d()),a.clear(),l=0}}}function Ai(e){return Boolean(e&&"NamedNode"===e.termType)}function Ii(e){return Boolean(e&&"Literal"===e.termType)}(Mi=Li||(Li={})).hashCode=function(e){return D(Math.imul(Ot(e.source),31)+Ot(e.predicate)|0)},Mi.equals=function(e,t){return jt(e.source,t.source)&&jt(e.predicate,t.predicate)};var Vi="urn:reactodia:sparql:label",Pi=new Map,Hi=new Set;function Ri(e,t){for(const n of e.results.bindings){const e=n.link.value,i=t.get(e);i?Wi(i.label,n.label):t.set(e,Xi(n))}}function Di(e,t,n,i){const r={};for(const o in e.properties){if(!Object.hasOwnProperty.call(e.properties,o))continue;const a=n.get(o);if(a&&a.length>0)for(const n of a)Ui(n,t)&&(r[n.id]=e.properties[o]);else i&&(r[o]=e.properties[o])}return r}function Bi(e,t,n){if(!t)return!0;const i=Oi(e,t,n,!1);for(const e of i)return!0;return!1}function*Oi(e,t,n,i){for(const r of t){const t=n.get(r);if(t)for(const n of t)Ui(n,e)&&(yield n.id);else i&&(yield r)}}function ji(e){return!/[?$][a-zA-Z]+\b/.test(e.path)}function Fi(e){return!/[?$][a-zA-Z]+\b/.test(e.path)}function Ui(e,t){if(e.domain&&0!==e.domain.length){if(t){for(const n of e.domain)if(t.has(n))return!0;return!1}return!1}return!0}function qi(e,t,n){e&&(t.label&&Gi(e.properties,n,t.label),t.class&&e.types.indexOf(t.class.value)<0&&e.types.push(t.class.value),t.propType&&t.propValue&&t.propType.value!==Vi&&Gi(e.properties,t.propType.value,t.propValue))}function Wi(e,t){if(t){for(const n of e)if(jt(n,t))return;e.push(t)}}function Gi(e,t,n){let i=Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0;if(i){for(const e of i)if(jt(e,n))return}else i=[],e[t]=i;i.push(n)}function Zi(e){const t=+e.value;return Number.isFinite(t)?t:0}function Ki(e){return{id:e,types:[],properties:{}}}function Xi(e){return{id:e.link.value,label:e.label?[e.label]:[],count:e.instcount?Zi(e.instcount):void 0}}var Qi={linkConfigurations:[],openWorldLinks:!1,propertyConfigurations:[],openWorldProperties:!1,linksInfoQuery:"SELECT ?source ?type ?target\n WHERE {\n ${linkConfigurations}\n VALUES (?source) {${sourceIris}}\n VALUES (?target) {${targetIris}}\n }",defaultPrefix:"",schemaLabelProperty:"rdfs:label",dataLabelProperty:"rdfs:label",fullTextSearch:{prefix:"",queryPattern:""},classTreeQuery:"",classInfoQuery:'SELECT ?class ?label ?instcount WHERE {\n VALUES(?class) {${ids}}\n OPTIONAL {\n ?class ${schemaLabelProperty} ?label\n ${labelLanguageFilter}\n }\n BIND("" as ?instcount)\n}',linkTypesQuery:"SELECT DISTINCT ?link ?instcount ?label WHERE {\n ${linkTypesPattern}\n OPTIONAL {\n ?link ${schemaLabelProperty} ?label\n ${labelLanguageFilter}\n }\n}",linkTypesPattern:"",linkTypesInfoQuery:"SELECT ?link ?label WHERE {\n VALUES(?link) {${ids}}\n OPTIONAL {\n ?link ${schemaLabelProperty} ?label\n ${labelLanguageFilter}\n }\n}",propertyInfoQuery:"SELECT ?property ?label WHERE {\n VALUES(?property) {${ids}}\n OPTIONAL {\n ?property ${schemaLabelProperty} ?label\n ${labelLanguageFilter}\n }\n}",elementInfoQuery:"",imageQueryPattern:"",linkTypesOfQuery:"",linkTypesStatisticsQuery:"",lookupQuery:"SELECT ${outerProjection} WHERE {\n ${filterInnerPrelude}\n {\n SELECT DISTINCT ${innerProjection} WHERE {\n ${filterByType}\n ${filterByRefElementLink}\n ${filterByText}\n ${filterAdditionalRestriction}\n } ${orderBy} ${limit}\n }\n ${queryTypes}\n ${queryElementInfo}\n} ${orderBy}",filterRefElementLinkPattern:"",filterTypePattern:"",filterAdditionalRestriction:"",filterElementInfoPattern:"",defaultPrefix:"PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n PREFIX owl: <http://www.w3.org/2002/07/owl#>\n",schemaLabelProperty:"rdfs:label",dataLabelProperty:"rdfs:label",fullTextSearch:{prefix:"",queryPattern:'?inst ${dataLabelProperty} ?search1\n FILTER regex(COALESCE(str(?search1)), "${text}", "i")\n BIND(0 as ?score)\n',extractLabel:!0},classTreeQuery:"\n SELECT ?class ?label ?parent\n WHERE {\n {\n ?class a rdfs:Class\n } UNION {\n ?class a owl:Class\n }\n FILTER ISIRI(?class)\n OPTIONAL {\n ?class rdfs:label ?label\n ${labelLanguageFilter}\n }\n OPTIONAL {?class rdfs:subClassOf ?parent. FILTER ISIRI(?parent)}\n }\n ",linkTypesPattern:"\n { ?link a rdf:Property }\n UNION\n { ?link a owl:ObjectProperty }\n BIND('' as ?instcount)\n ",elementInfoQuery:"\n CONSTRUCT {\n ?inst <urn:reactodia:sparql:type> ?class .\n ?inst <urn:reactodia:sparql:label> ?label .\n ?inst ?propType ?propValue.\n } WHERE {\n VALUES (?inst) {${ids}}\n OPTIONAL { ?inst a ?class }\n OPTIONAL {\n ?inst ${dataLabelProperty} ?label\n ${labelLanguageFilter}\n }\n OPTIONAL {\n ${propertyConfigurations}\n FILTER (isLiteral(?propValue))\n ${valueLanguageFilter}\n }\n }\n ",imageQueryPattern:"{ ?inst ?linkType ?image } UNION { [] ?linkType ?inst. BIND(?inst as ?image) }",linkTypesOfQuery:"\n SELECT DISTINCT ?link ?direction\n WHERE {\n ${linkConfigurations}\n }\n ",linkTypesStatisticsQuery:"\n SELECT ?link ?outCount ?inCount\n WHERE {\n {\n SELECT (${linkId} as ?link) (count(?outObject) as ?outCount) WHERE {\n ${linkConfigurationOut}\n ${navigateElementFilterOut}\n } LIMIT 101\n } {\n SELECT (${linkId} as ?link) (count(?inObject) as ?inCount) WHERE {\n ${linkConfigurationIn}\n ${navigateElementFilterIn}\n } LIMIT 101\n }\n }\n ",filterRefElementLinkPattern:"",filterTypePattern:"?inst a ?instType. ?instType rdfs:subClassOf* ?class",filterElementInfoPattern:"\n OPTIONAL {?inst rdf:type ?foundClass}\n BIND (coalesce(?foundClass, owl:Thing) as ?class)\n OPTIONAL {\n ?inst ${dataLabelProperty} ?label\n ${labelLanguageFilter}\n }\n ",filterAdditionalRestriction:"",classTreeQuery:"\n SELECT ?class ?instcount ?label ?parent\n WHERE {\n {SELECT ?class (count(?inst) as ?instcount)\n WHERE {\n ?inst rdf:type ?class.\n FILTER ISIRI(?class)\n } GROUP BY ?class } UNION\n {\n ?class rdf:type rdfs:Class\n } UNION {\n ?class rdf:type owl:Class\n }\n OPTIONAL {\n ?class rdfs:label ?label\n ${labelLanguageFilter}\n }\n OPTIONAL {?class rdfs:subClassOf ?parent. FILTER ISIRI(?parent)}\n }\n "},Yi=class{factory;options;settings;queryFunction;acceptBlankNodes=!1;chunkMeasure;linkByPredicate=new Map;linkById=new Map;openWorldLinks;propertyByPredicate=new Map;openWorldProperties;labelPredicate;imagePredicate;constructor(e,t=Qi){const{factory:n=Bt,queryFunction:i=rr}=e;this.factory=n,this.options=e,this.settings=t,this.queryFunction=i;const{chunk:r,queryMethod:o="GET",prepareLabelPredicate:a,prepareImagePredicate:s}=this.options;if(r&&!Number.isSafeInteger(r.maxSize))throw new Error("SparqlDataProviderOptions.chunk.maxSize should be a non-negative number");this.chunkMeasure=r?{maxSize:r.maxSize,measure:Ji(r.unit)}:void 0===r&&"GET"===o?{maxSize:2500,measure:Ji("totalLength")}:{maxSize:1/0,measure:Ji("itemCount")};for(const e of t.linkConfigurations){this.linkById.set(e.id,e);const t=ji(e)?e.path:e.id;_t(this.linkByPredicate,t,e)}this.openWorldLinks=0===t.linkConfigurations.length||Boolean(t.openWorldLinks);for(const e of t.propertyConfigurations){const t=Fi(e)?e.path:e.id;_t(this.propertyByPredicate,t,e)}this.openWorldProperties=0===t.propertyConfigurations.length||Boolean(t.openWorldProperties),this.labelPredicate=a??Zt.label,this.imagePredicate=s??Kt.thumbnailUrl}async queryChunked(e,t){const{maxSize:n,measure:i}=this.chunkMeasure,r=[];for(const o of function*(e,t,n){if(!Number.isFinite(n))return void(yield e);const i=[];let r=0;for(const o of e){const e=t(o);r>0&&r+e>n&&(yield[...i],i.length=0,r=0),i.push(o),r+=e}r>0&&(yield i)}(e,i,n))r.push(t(o));await Promise.all(r)}async knownElementTypes(e){const{signal:t}=e,{defaultPrefix:n,schemaLabelProperty:i,filterOnlyLanguages:r,classTreeQuery:o}=this.settings;if(!o)return{elementTypes:[],subtypeOf:[]};const a=n+nr(o,{schemaLabelProperty:i,labelLanguageFilter:or("?label",r)}),s=function(e){const t=new Map,n=new q(Ut,qt);for(const r of e.results.bindings){if(!Ai(r.class))continue;const e=r.class.value;let o=t.get(e);o||(o=i(e),t.set(e,o)),Wi(o.label,r.label),r.parent&&n.add([e,r.parent.value]),r.instcount&&(o.count=Zi(r.instcount))}for(const n of e.results.bindings)if(n.parent){const e=n.parent.value;t.has(e)||t.set(e,i(e))}function i(e){return{id:e,label:[],count:void 0}}return{elementTypes:Array.from(t.values()),subtypeOf:Array.from(n.values())}}(await this.executeSparqlSelect(a,{signal:t}));return this.options.prepareLabels&&await er(s.elementTypes,this.options.prepareLabels,t),s}async propertyTypes(e){const{propertyIds:t,signal:n}=e,{defaultPrefix:i,schemaLabelProperty:r,filterOnlyLanguages:o,propertyInfoQuery:a}=this.settings,s=new Map;if(a)await this.queryChunked(t,(async e=>{const t=i+nr(a,{ids:e.map(sr).map((e=>` ( ${e} )`)).join(" "),schemaLabelProperty:r,labelLanguageFilter:or("?label",o)});!function(e,t){for(const n of e.results.bindings){const e=n.property.value,i=t.get(e);i?Wi(i.label,n.label):t.set(e,{id:n.property.value,label:n.label?[n.label]:[]})}}(await this.executeSparqlSelect(t,{signal:n}),s)}));else for(const e of t)s.set(e,{id:e,label:[]});return this.options.prepareLabels&&await er(Array.from(s.values()),this.options.prepareLabels,n),s}async elementTypes(e){const{classIds:t,signal:n}=e,{defaultPrefix:i,schemaLabelProperty:r,filterOnlyLanguages:o,classInfoQuery:a}=this.settings,s=new Map;if(a)await this.queryChunked(t,(async e=>{const t=i+nr(a,{ids:e.map(sr).map((e=>` ( ${e} )`)).join(" "),schemaLabelProperty:r,labelLanguageFilter:or("?label",o)});!function(e,t){for(const n of e.results.bindings){if(!n.class)continue;const e=n.class.value,i=t.get(e);if(i){if(Wi(i.label,n.label),n.instcount){const e=Zi(n.instcount);void 0!==e&&(i.count=void 0===i.count?e:Math.max(i.count,e))}}else t.set(e,{id:e,label:n.label?[n.label]:[],count:n.instcount?Zi(n.instcount):void 0})}}(await this.executeSparqlSelect(t,{signal:n}),s)}));else for(const e of t)s.set(e,{id:e,label:[]});return this.options.prepareLabels&&await er(Array.from(s.values()),this.options.prepareLabels,n),s}async linkTypes(e){const{linkTypeIds:t,signal:n}=e,{defaultPrefix:i,schemaLabelProperty:r,filterOnlyLanguages:o,linkTypesInfoQuery:a}=this.settings,s=new Map;if(a)await this.queryChunked(t,(async e=>{const t=i+nr(a,{ids:e.map(sr).map((e=>` ( ${e} )`)).join(" "),schemaLabelProperty:r,labelLanguageFilter:or("?label",o)});Ri(await this.executeSparqlSelect(t,{signal:n}),s)}));else for(const e of t)s.set(e,{id:e,label:[]});return this.options.prepareLabels&&await er(Array.from(s.values()),this.options.prepareLabels,n),s}async knownLinkTypes(e){const{signal:t}=e,{defaultPrefix:n,schemaLabelProperty:i,filterOnlyLanguages:r,linkTypesQuery:o,linkTypesPattern:a}=this.settings;if(!o)return[];const s=n+nr(o,{linkTypesPattern:a,schemaLabelProperty:i,labelLanguageFilter:or("?label",r)}),l=function(e){const t=new Map;return Ri(e,t),t}(await this.executeSparqlSelect(s,{signal:t}));return this.options.prepareLabels&&await er(Array.from(l.values()),this.options.prepareLabels,t),Array.from(l.values())}async elements(e){const{elementIds:t,signal:n}=e,i=[];t.length>0&&await this.queryChunked(t,(async e=>{const t=e.map(sr).map((e=>` (${e})`)).join(" "),{defaultPrefix:n,dataLabelProperty:r,filterOnlyLanguages:o,elementInfoQuery:a}=this.settings,s=n+nr(a,{ids:t,dataLabelProperty:r,labelLanguageFilter:or("?label",o),valueLanguageFilter:or("?propValue",o),propertyConfigurations:this.formatPropertyInfo()}),l=await this.executeSparqlConstruct(s);for(const e of l)i.push(e)}));const r=this.queryManyElementTypes(this.settings.propertyConfigurations.length>0?t:[],n),o=function(e,t=Pi,n=Pi,i,r){const o=new Map;for(const t of e.results.bindings){if(!Ai(t.inst))continue;const e=t.inst.value;let n=o.get(e);n||(n=Ki(e),o.set(e,n)),qi(n,t,i)}if(!r||n.size>0)for(const e of o.values())e.properties=Di(e,t.get(e.id),n,r);for(const e of o.values())e.types.sort();return o}(function(e){const t=new Map,n={head:{vars:["inst","class","label","blankType","propType","propValue"]},results:{bindings:[]}};for(const n of e){if(!Ai(n.subject))continue;const e=n.subject.value;t.has(e)||t.set(e,i(n)),n.predicate.value===Vi&&Ii(n.object)?(t.get(e).label&&t.set(e,i(n)),t.get(e).label=n.object):"urn:reactodia:sparql:type"===n.predicate.value&&Ai(n.object)&&Ai(n.predicate)?(t.get(e).class&&t.set(e,i(n)),t.get(e).class=n.object):(Ai(n.object)||Ii(n.object))&&Ai(n.predicate)&&(t.get(e).propType&&t.set(e,i(n)),t.get(e).propType=n.predicate,t.get(e).propValue=n.object)}function i(e){const t={inst:e.subject};return n.results.bindings.push(t),t}return n}(i),await r,this.propertyByPredicate,this.labelPredicate,this.openWorldProperties);return this.options.prepareLabels&&await tr(Array.from(o.values()),this.options.prepareLabels,this.labelPredicate,n),this.options.prepareImages?await function(e,t,n,i,r){return t(e.values(),r).then((t=>{for(const[r,o]of t){const t=e.get(r);t&&Gi(t.properties,n,i.namedNode(o))}}))}(o,this.options.prepareImages,this.imagePredicate,this.factory,n):this.options.imagePropertyUris&&this.options.imagePropertyUris.length&&await this.attachImages(o,this.options.imagePropertyUris,n),o}async attachImages(e,t,n){const i=t.map(sr).map((e=>` ( ${e} )`)).join(" ");await this.queryChunked(Array.from(e.keys()),(async t=>{const r=t.map((e=>` ( ${sr(e)} )`)).join(" "),o=this.settings.defaultPrefix+`\n SELECT ?inst ?linkType ?image\n WHERE {\n VALUES (?inst) {${r}}\n VALUES (?linkType) {${i}}\n ${this.settings.imageQueryPattern}\n }\n `;try{!function(e,t,n){for(const i of e.results.bindings){if(!Ai(i.inst))continue;const e=t.get(i.inst.value);e&&Gi(e.properties,n,i.image)}}(await this.executeSparqlSelect(o,{signal:n}),e,this.imagePredicate)}catch(e){console.warn("Failed to load entity image URLs",e)}}))}async links(e){const{primary:t,secondary:n,linkTypeIds:i,signal:r}=e,{filterOnlyLanguages:o,linksInfoQuery:a}=this.settings,s=or("?propValue",o),l=this.formatLinkLinks();let c,d;if(c=t.length>0&&n.length>0?a.includes("${ids}")?this.queryUndirectedLinks(t,n,{propLanguageFilter:s,linkConfigurations:l},r):this.queryDirectedLinks(t,n,{propLanguageFilter:s,linkConfigurations:l},r):Promise.resolve([]),this.linkByPredicate.size>0){d=new Set(t);for(const e of n)d.add(e)}const u=this.queryManyElementTypes(d?Array.from(d):[],r);let h=function(e,t=Pi,n=Pi,i=!0){const r=new U(Gt,Wt);for(const o of e){const e={sourceId:o.source.value,linkTypeId:o.type.value,targetId:o.target.value,properties:{}},a=r.get(e);if(a)o.propType&&o.propValue&&Gi(a.properties,o.propType.value,o.propValue);else{o.propType&&o.propValue&&Gi(e.properties,o.propType.value,o.propValue);const a=n.get(e.linkTypeId);if(a&&a.length>0){for(const n of a)if(Ui(n,t.get(e.sourceId))){const t=ji(n)?{...e,linkTypeId:n.id}:e;r.set(t,t)}}else i&&r.set(e,e)}}return Array.from(r.values())}(await c,await u,this.linkByPredicate,this.openWorldLinks);if(i){const e=new Set(i);h=h.filter((t=>e.has(t.linkTypeId)))}return h}async queryUndirectedLinks(e,t,n,i){const{propLanguageFilter:r,linkConfigurations:o}=n,{defaultPrefix:a,linksInfoQuery:s}=this.settings,l=new Set(e);for(const e of t)l.add(e);const c=a+nr(s,{ids:ar(l),propLanguageFilter:r,linkConfigurations:o});return(await this.executeSparqlSelect(c,{signal:i})).results.bindings}async queryDirectedLinks(e,t,n,i){const{propLanguageFilter:r,linkConfigurations:o}=n,{defaultPrefix:a,linksInfoQuery:s}=this.settings,{maxSize:l,measure:c}=this.chunkMeasure,d=[],u=Array.from(function*(e,t,n,i){e.length<t.length&&([e,t]=[t,e]);const r=new Set(t),o=new Set;for(const t of e)r.has(t)&&o.add(t);yield*Ni(e,t,n,i),yield*Ni(t,e,n,i,r.size===o.size?o:void 0)}(e,t,c,l),(async e=>{const t=a+nr(s,{sourceIris:ar(e.sources),targetIris:ar(e.targets),propLanguageFilter:r,linkConfigurations:o}),n=await this.executeSparqlSelect(t,{signal:i});for(const e of n.results.bindings)d.push(e)}));return await Promise.all(u),d}async connectedLinkStats(e){const{elementId:t,inexactCount:n,signal:i}=e,{defaultPrefix:r,linkTypesOfQuery:o,linkTypesStatisticsQuery:a,filterTypePattern:s}=this.settings,l=/\?direction\b/.test(o),c=sr(t),d=this.formatLinkUnion(t,void 0,void 0,"?outObject","?inObject",l);d.usePredicatePart&&(d.unionParts.push(`{ ${c} ?link ?outObject ${l?'BIND("out" AS ?direction)':""} }`),d.unionParts.push(`{ ?inObject ?link ${c} ${l?'BIND("in" AS ?direction)':""} }`));const u=r+nr(o,{elementIri:c,linkConfigurations:d.unionParts.join("\nUNION\n")}),h=await this.executeSparqlSelect(u,{signal:i}),f=h.head.vars.includes("direction"),p=function(e,t=Pi,n=!0){const i=new Map,r=(e,t)=>{let n=i.get(e);n||(n={linkType:e},i.set(e,n)),Ii(t)&&("in"===t.value?n.hasInLink=!0:"out"===t.value&&(n.hasOutLink=!0))};for(const i of e.results.bindings){if(!Ai(i.link))continue;const e=t.get(i.link.value);if(e&&e.length>0)for(const t of e)r(ji(t)?t.id:i.link.value,i.direction);else n&&r(i.link.value,i.direction)}return Array.from(i.values())}(h,this.linkByPredicate,this.openWorldLinks),g=this.acceptBlankNodes?"FILTER (IsIri(?outObject) || IsBlank(?outObject))":"FILTER IsIri(?outObject)",v=this.acceptBlankNodes?"FILTER (IsIri(?inObject) || IsBlank(?inObject))":"FILTER IsIri(?inObject)",m=[];return await Promise.all(p.map((async({linkType:e,hasInLink:t,hasOutLink:o})=>{const l=this.linkById.get(e);let d,u;if(!l||ji(l)){const t=sr(l&&ji(l)?l.path:e);d=`${c} ${t} ?outObject`,u=`?inObject ${t} ${c}`}else d=this.formatLinkPath(l.path,c,"?outObject"),u=this.formatLinkPath(l.path,"?inObject",c);if(l&&l.domain&&l.domain.length>0){const e=l.domain.map(sr).join(", ");d+=` { ${s.replace(/[?$]inst\b/g,c)} FILTER(?class IN (${e})) }`,u+=` { ${s.replace(/[?$]inst\b/g,"?inObject")} FILTER(?class IN (${e})) }`}if(!a||n&&f)m.push({id:e,inCount:t?1:0,outCount:o?1:0,inexact:!0});else{const t=r+nr(a,{linkId:sr(e),elementIri:c,linkConfigurationOut:d,linkConfigurationIn:u,navigateElementFilterOut:g,navigateElementFilterIn:v}),n=function(e){for(const n of e.results.bindings)if(Ai(n.link))return{id:(t=n).link.value,inCount:Zi(t.inCount),outCount:Zi(t.outCount)};var t}(await this.executeSparqlSelect(t,{signal:i}));n&&m.push(n)}}))),m}async lookup(e){const{signal:t}=e,n={...e,limit:void 0===e.limit?100:e.limit},i=this.querySingleElementTypes(n.refElementId&&this.settings.linkConfigurations.length>0?n.refElementId:void 0,t),r=this.createFilterQuery(n),o=function(e,t,n,i,r){const o=n??Pi,a=new Map,s=new Map,l=new Map,c=new Map;for(const t of e.results.bindings){if(!Ai(t.inst)&&(d=t.inst,!Boolean(d&&"BlankNode"===d.termType)))continue;const e=t.inst.value;let n=a.get(e);if(n||(n=Ki(e),a.set(e,n)),qi(n,t,i),Ai(t.classAll)&&kt(s,e,t.classAll.value),!r&&t.link&&t.direction){const e="in"===t.direction.value?c:"out"===t.direction.value?l:void 0;e&&kt(e,n.id,t.link.value)}}var d;const u=[];for(const e of a.values()){const n=s.get(e.id);if(r||Bi(t,l.get(e.id),o)&&Bi(n,c.get(e.id),o)){e.types.sort();const i=new Set(Oi(t,l.get(e.id)??Hi,o,r)),a=new Set(Oi(n,c.get(e.id)??Hi,o,r));u.push({element:e,outLinks:i,inLinks:a})}}return u}(await this.executeSparqlSelect(r,{signal:t}),await i,this.linkByPredicate,this.labelPredicate,this.openWorldLinks);return this.options.prepareLabels&&await tr(o.map((e=>e.element)),this.options.prepareLabels,this.labelPredicate,t),o}createFilterQuery(e){if(!e.refElementId&&e.refElementLinkId)throw new Error("Cannot execute refElementLink filter without refElement");let t="?inst ?class ?label",n="?inst",i="",r="";e.refElementId&&(t+=" ?link ?direction",n+=" ?link ?direction",i=this.createRefQueryPart({elementId:e.refElementId,linkId:e.refElementLinkId,direction:e.linkDirection}),this.settings.linkConfigurations.length>0&&(t+=" ?classAll",r=this.settings.filterTypePattern.replace(/[?$]class\b/g,"?classAll")));let o="";if(e.elementTypeId){const t=sr(e.elementTypeId);o=this.settings.filterTypePattern.replace(/[?$]class\b/g,t)}const{defaultPrefix:a,dataLabelProperty:s,lookupQuery:l,filterOnlyLanguages:c,filterElementInfoPattern:d,fullTextSearch:u}=this.settings,h=nr(d,{dataLabelProperty:s,labelLanguageFilter:or("?label",c)});let f="",p="";e.text&&(n+=" ?score",this.settings.fullTextSearch.extractLabel&&(f+='\n BIND ( str( ?inst ) as ?uriStr)\n BIND ( strafter(?uriStr, "#") as ?label3)\n BIND ( strafter(strafter(?uriStr, "//"), "/") as ?label6)\n BIND ( strafter(?label6, "/") as ?label5)\n BIND ( strafter(?label5, "/") as ?label4)\n BIND (if (?label3 != "", ?label3,\n if (?label4 != "", ?label4,\n if (?label5 != "", ?label5, ?label6))) as ?extractedLabel)\n '),f=nr(u.queryPattern,{text:e.text,dataLabelProperty:s}),f&&(p="ORDER BY DESC(?score)"));let g="";return"number"==typeof e.limit&&(g=`LIMIT ${e.limit}`),a+"\n"+u.prefix+"\n"+nr(l,{innerProjection:n,outerProjection:t,filterInnerPrelude:this.settings.filterInnerPrelude,filterByType:o,filterByRefElementLink:i,filterByText:f,filterAdditionalRestriction:this.settings.filterAdditionalRestriction,orderBy:p,limit:g,queryTypes:r,queryElementInfo:h})}executeSparqlSelect(e,t){const n=this.options.queryMethod??"GET",{signal:i}=t??{};return async function(e,t,n,i,r,o){let a;a=i("GET"===n?{url:ir(e,{query:t}),headers:{Accept:"application/sparql-results+json"},method:"GET",signal:o}:{url:e,body:t,headers:{Accept:"application/sparql-results+json","Content-Type":"application/sparql-query; charset=UTF-8"},method:"POST",signal:o});const s=await a;if(s.ok)return function(e,t){return{...e,results:{...e.results,bindings:e.results.bindings.map((function(e){const n={};for(const i in e)if(Object.prototype.hasOwnProperty.call(e,i)){const r=e[i];switch(r.type){case"uri":n[i]=t.namedNode(r.value);break;case"bnode":n[i]=t.blankNode(r.value);break;case"literal":case"typed-literal":n[i]=t.literal(r.value,r["xml:lang"]?r["xml:lang"]:r.datatype?t.namedNode(r.datatype):void 0);break;default:throw new Error(`Unexpected SPARQL term type: "${r.type}"`)}}return n}))}}}(await s.json(),r);{const e=new Error(s.statusText);throw e.response=s,e}}(this.options.endpointUrl,e,n,this.queryFunction,this.factory,i)}executeSparqlConstruct(e,t){const n=this.options.queryMethod??"GET",{signal:i}=t??{};return async function(e,t,n,i,r){let o;o=i("GET"===n?{url:ir(e,{query:t}),headers:{Accept:"text/turtle"},method:"GET",signal:r}:{url:e,body:t,headers:{Accept:"text/turtle","Content-Type":"application/sparql-query; charset=UTF-8"},method:"POST",signal:r});const a=await o;if(a.ok){const e=await a.text();return(new bt).parse(e)}{const e=new Error(a.statusText);throw e.response=a,e}}(this.options.endpointUrl,e,n,this.queryFunction,i)}createRefQueryPart(e){const{elementId:t,linkId:n,direction:i}=e,{unionParts:r,usePredicatePart:o}=this.formatLinkUnion(t,n,i,"?inst","?inst",!0);if(o){const t=sr(e.elementId);let o;if(n){const e=this.linkById.get(n);o=e&&ji(e)?sr(e.path):sr(n)}const a=o||"?link",s=o?`BIND(${o} as ?link)`:"",l=this.acceptBlankNodes?"FILTER(isIri(?inst) || isBlank(?inst))":"FILTER(isIri(?inst))";i&&"out"!==i||r.push(`{ ${t} ${a} ?inst BIND("out" as ?direction) ${s} ${l} }`),i&&"in"!==i||r.push(`{ ?inst ${a} ${t} BIND("in" as ?direction) ${s} ${l} }`)}let a=0===r.length?"FILTER(false)":r.join("\nUNION\n");return!n&&this.settings.filterRefElementLinkPattern.length>0&&(a+=`\n${this.settings.filterRefElementLinkPattern}`),a}formatLinkUnion(e,t,n,i,r,o){const{linkConfigurations:a}=this.settings,s=sr(e),l=[];let c=!1;for(const e of a)if(!t||e.id===t)if(ji(e))c=!0;else{const t=sr(e.id);if(!n||"out"===n){const n=this.formatLinkPath(e.path,s,i);l.push(`{ ${n} BIND(${t} as ?link) ${o?'BIND("out" as ?direction) ':""}}`)}if(!n||"in"===n){const n=this.formatLinkPath(e.path,r,s);l.push(`{ ${n} BIND(${t} as ?link) ${o?'BIND("in" as ?direction) ':""}}`)}}return{unionParts:l,usePredicatePart:this.openWorldLinks||c}}formatLinkLinks(){const e=[];let t=!1;for(const n of this.settings.linkConfigurations)if(ji(n))t=!0;else{const t=sr(n.id);e.push(`${this.formatLinkPath(n.path,"?source","?target")} BIND(${t} as ?type)`)}return(this.openWorldLinks||t)&&e.push("?source ?type ?target"),0===e.length?"":1===e.length?e[0]:"{ "+e.join(" }\nUNION\n{ ")+" }"}formatLinkPath(e,t,n){return e.replace(/[?$]source\b/g,t).replace(/[?$]target\b/g,n)}formatPropertyInfo(){const e=[];let t=!1;for(const n of this.settings.propertyConfigurations)if(Fi(n))t=!0;else{const t=sr(n.id),i=this.formatPropertyPath(n.path,"?inst","?propValue");e.push(`{ ${i} BIND(${t} as ?propType) }`)}return(this.openWorldProperties||t)&&e.push("{ ?inst ?propType ?propValue }"),e.join("\nUNION\n")}formatPropertyPath(e,t,n){return e.replace(/[?$]inst\b/g,t).replace(/[?$]value\b/g,n)}async querySingleElementTypes(e,t){if(e)return(await this.queryManyElementTypes([e],t)).get(e)}async queryManyElementTypes(e,t){if(0===e.length)return new Map;const{filterTypePattern:n}=this.settings,i=new Map;return await this.queryChunked(e,(async e=>{const r=nr("SELECT ?inst ?class { VALUES(?inst) { ${ids} } ${filterTypePattern} }",{ids:e.map((e=>`(${sr(e)})`)).join(" "),filterTypePattern:n});!function(e,t){for(const n of e.results.bindings)Ai(n.inst)&&Ai(n.class)&&kt(t,n.inst.value,n.class.value)}(await this.executeSparqlSelect(r,{signal:t}),i)})),i}};function Ji(e){return"totalLength"===e?e=>sr(e).length+3:()=>1}async function er(e,t,n){const i=await t(new Set(e.map((e=>e.id))),n);for(const t of e){const e=i.get(t.id);e&&(t.label=e)}}async function tr(e,t,n,i){const r=await t(new Set(e.map((e=>e.id))),i);for(const t of e){const e=r.get(t.id);e&&(t.properties[n]=e)}}function nr(e,t){let n=e;for(const e in t){if(!Object.prototype.hasOwnProperty.call(t,e))continue;const i=t[e]||"";n=n.replace(new RegExp("\\${"+e+"}","g"),i)}return n}function ir(e,t={}){return e+(e.indexOf("?")<0?"?":"&")+Object.keys(t).map((e=>`${e}=${encodeURIComponent(t[e])}`)).join("&")}function rr(e){return fetch(e.url,{method:e.method,body:e.body,credentials:"same-origin",mode:"cors",cache:"default",headers:e.headers,signal:e.signal})}function or(e,t){if(!t)return"";const n=[`FILTER(!isLiteral(${e}) || lang(${e}) = ""`];for(const i of t)n.push(` || lang(${e}) = "${i}"`);return n.push(")"),n.join("")}function ar(e){return Array.from(e,(e=>`(${sr(e)})`)).join(" ")}function sr(e){if("string"!=typeof e)throw new Error(`Cannot escape IRI of type "${typeof e}"`);return`<${e}>`}var lr=v.createContext(null);function cr(){const e=v.useContext(lr);if(!e)throw new Error("Reactodia: missing canvas context");return e}var dr,ur,hr,fr,pr=/Mac|iPhone|iPad/.test(window?.navigator?.platform||"");function gr(e){const{modifiers:t,key:n}=e;let i="";return 1&t&&(i+="Ctrl+"),2&t&&(i+=pr?"⌘+":"Meta+"),4&t&&(i+="Alt+"),8&t&&(i+="Shift+"),i+=1===n.length?n.toUpperCase():n,i}function vr(e,t){return e.modifiers===t.modifiers&&e.key===t.key}function mr(e){return D(R(function(e){if((0|e)===e)return e;{F[0]=e;const t=R(j[0],j[1]);return F[0]=0,t}}(e.modifiers),B(e.key)))}function br(e,t){const{canvas:n}=cr(),i=v.useMemo((()=>{if(e){const t=function(e){const t=e.split("+");let n=0;for(let e=0;e<t.length-1;e++){const i=t[e];switch(i){case"Ctrl":n|=1;break;case"Meta":n|=2;break;case"Alt":n|=4;break;case"Shift":n|=8;break;case"Mod":n|=pr?2:1;break;case"None":break;default:throw new Error(`Unknown hotkey modifier "${i}"`)}}const i=t[t.length-1];if(!i)throw new Error("Missing main key for a hotkey");return{modifiers:n,key:1===i.length?i.toLowerCase():i}}(e);return{_ast:t,text:gr(t)}}}),[e]),r=v.useRef();return r.current=t,v.useEffect((()=>{if(i)return n.renderingState.listenHotkey(i._ast,(()=>{r.current?.()}))}),[i]),i}function wr(e,t,n){if("number"!=typeof t&&"number"!=typeof n)return{width:e.width,height:e.height};const i=e.width/e.height;return t="number"==typeof t?t:n*i,(n="number"==typeof n?n:t/i)*i<=t?{width:n*i,height:n}:{width:t,height:t/i}}function yr(e,t){const{x:n,y:i}=e.position,r=t.getElementSize(e);return{x:n,y:i,width:r?r.width:0,height:r?r.height:0}}function _r(e,t){return"ellipse"===e.type?function(e,t){const n=hr.center(e),i=dr.subtract(t,n),r=dr.normalize(i),o={x:r.x*e.width*.5,y:r.y*e.height*.5};return dr.length(i)>=dr.length(o)?dr.add(n,o):void 0}(e.bounds,t):function(e,t){if(0===e.width||0===e.height||t.x>e.x&&t.x<e.x+e.width&&t.y>e.y&&t.y<e.y+e.height)return;const n=e.width/2,i=e.height/2,r=e.x+n,o=e.y+i,a=dr.normalize({x:t.x-r,y:t.y-o}),s={x:Math.abs(a.x),y:a.y};return dr.cross2D({x:n,y:-i},s)>0&&dr.cross2D({x:n,y:i},s)<0?{x:r+n*Math.sign(a.x),y:o+n*a.y/Math.abs(a.x)}:{x:r+i*a.x/Math.abs(a.y),y:o+i*Math.sign(a.y)}}(e.bounds,t)}function kr(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++){const i=e[n],r=t[n];if(i.x!==r.x||i.y!==r.y)return!1}return!0}function xr(e,t,n){const i="type"in e?e:{type:"rect",bounds:e},r="type"in t?t:{type:"rect",bounds:t};let o,a;for(let e=0;e<n.length&&(o=_r(i,n[e]),!o);e++);o||(o=_r(i,hr.center(r.bounds))??hr.center(i.bounds));for(let e=n.length-1;e>=0&&(a=_r(r,n[e]),!a);e--);return a||(a=_r(r,hr.center(i.bounds))??hr.center(r.bounds)),[o,...n,a]}function Sr(e){let t;return e.reduce(((e,n)=>{const i=t?dr.length({x:n.x-t.x,y:n.y-t.y}):0;return t=n,e+i}),0)}function Cr(e,t){if(0===e.length)throw new Error("Cannot compute a point for an empty polyline");if(t<0)return e[0];let n=0;for(let i=1;i<e.length;i++){const r=e[i-1],o=e[i],a={x:o.x-r.x,y:o.y-r.y},s=dr.length(a),l=n+s;if(t<l){const e=(t-n)/s;return{x:r.x+e*a.x,y:r.y+e*a.y}}n=l}return e[e.length-1]}(ur=dr||(dr={})).add=function(e,t){return{x:e.x+t.x,y:e.y+t.y}},ur.subtract=function(e,t){return{x:e.x-t.x,y:e.y-t.y}},ur.scale=function(e,t){return{x:e.x*t,y:e.y*t}},ur.equals=function(e,t){return e.x===t.x&&e.y===t.y},ur.length=function({x:e,y:t}){return Math.sqrt(e*e+t*t)},ur.normalize=function({x:e,y:t}){if(0===e&&0===t)return{x:e,y:t};const n=1/Math.sqrt(e*e+t*t);return{x:e*n,y:t*n}},ur.dot=function({x:e,y:t},{x:n,y:i}){return e*n+t*i},ur.cross2D=function({x:e,y:t},{x:n,y:i}){return e*i-t*n},(fr=hr||(hr={})).equals=function(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height},fr.center=function({x:e,y:t,width:n,height:i}){return{x:e+n/2,y:t+i/2}},fr.intersects=function(e,t){return e.x<=t.x+t.width&&e.y<=t.y+t.height&&t.x<=e.x+e.width&&t.y<=e.y+e.height};var Lr,Mr,Er=class e{geometry;constructor(e){if(this.geometry=e,e.points.length<2)throw new Error("Spline must consists of at least two points")}static defaultType="smooth";static create(t){return new e(t)}toPath(){const{type:e,points:t,source:n,target:i}=this.geometry;if("smooth"===e&&t.length>=3){const e=.25,r=[`M${t[0].x} ${t[0].y}`];let o=dr.normalize(dr.subtract(n,t[0]));for(let n=1;n<t.length;n++){const a=t[n-1],s=t[n],l=t[n+1],c=dr.normalize(l?dr.subtract(a,l):dr.subtract(s,i)),d=dr.length(dr.subtract(a,s)),u=dr.subtract(a,dr.scale(o,d*e)),h=dr.add(s,dr.scale(c,d*e));o=c,r.push(` C${u.x} ${u.y} ${h.x} ${h.y} ${s.x} ${s.y}`)}return r.join("")}return"M"+t.map((({x:e,y:t})=>`${e} ${t}`)).join(" L")}};function zr(e,t,n){for(let i=e.length-1;i>=0;i--){const r=e[i],{x:o,y:a,width:s,height:l}=yr(r,n);if((0!==s||0!==l)&&t.x>=o&&t.x<=o+s&&t.y>=a&&t.y<=a+l)return r}}function $r(e,t,n){let i=1/0,r=1/0,o=-1/0,a=-1/0;for(const t of e){const{x:e,y:s}=t.position,l=n.getElementSize(t);i=Math.min(i,e),r=Math.min(r,s),o=Math.max(o,e+(l?l.width:0)),a=Math.max(a,s+(l?l.height:0))}for(const e of t){const t=e.vertices||[];for(const{x:e,y:n}of t)i=Math.min(i,e),r=Math.min(r,n),o=Math.max(o,e),a=Math.max(a,n)}return{x:Number.isFinite(i)?i:0,y:Number.isFinite(r)?r:0,width:Number.isFinite(i)&&Number.isFinite(o)?o-i:0,height:Number.isFinite(r)&&Number.isFinite(a)?a-r:0}}function Tr(e,t){if(0===e.length)return{x:0,y:0};let n=0,i=0;for(const r of e){const{x:e,y:o,width:a,height:s}=yr(r,t);n+=e+a/2,i+=o+s/2}return{x:n/e.length,y:i/e.length}}(Mr=Lr||(Lr={})).create=function(e,t){return new Nr(e,t)},Mr.effect=function(e,t){return new Ar(e,t)},Mr.compound=function(e,t){return new Vr(e,t)};var Nr=class{title;invoke;constructor(e,t){this.title=e,this.invoke=t}},Ar=class{title;body;skip;constructor(e,t){this.title=e,this.body=t,this.skip=new Ir(e,this)}invoke(){const{body:e}=this;return e(),this.skip}},Ir=class{title;effect;constructor(e,t){this.title=e,this.effect=t}invoke(){return this.effect}},Vr=class e{title;commands;constructor(e,t){this.title=e,this.commands=t}invoke(){const t=[];for(const e of this.commands)t.push(e.invoke());return t.reverse(),new e(this.title,t)}},Pr=class{source=new bi;events=this.source;_undoStack=[];_redoStack=[];batches=[];get undoStack(){return this._undoStack}get redoStack(){return this._redoStack}hasChanges(){return this._undoStack.length>0}reset(){this._undoStack.length=0,this._redoStack.length=0,this.source.trigger("historyChanged",{hasChanges:this.hasChanges()})}undo(){const e=this._undoStack.pop();if(e){const t=e.invoke();this._redoStack.push(t),this.source.trigger("historyChanged",{hasChanges:this.hasChanges()})}}redo(){const e=this._redoStack.pop();if(e){const t=e.invoke();this._undoStack.push(t),this.source.trigger("historyChanged",{hasChanges:this.hasChanges()})}}execute(e){const t=e.invoke();this.registerToUndo(t)}registerToUndo(e){const t=this.topBatch();t?t._inverses.push(e):(this._undoStack.push(e),this._redoStack.length=0,this.source.trigger("historyChanged",{hasChanges:this.hasChanges()}))}topBatch(){return 0===this.batches.length?void 0:this.batches[this.batches.length-1]}startBatch(e){const t={_title:e,_inverses:[],history:this,store:()=>{if(this.batches.includes(t))for(;this.batches.length>0;){const e=this.batches.pop();if(e!==t&&console.warn("Reactodia: storing other unclosed batch on top",e),e._inverses.length>0){const n=[...e._inverses].reverse();this.registerToUndo(Lr.compound(t._title,n))}if(e===t)break}else console.warn("Reactodia: failed to find batch to store (already stored or discarded?)",t)},discard:e=>{if(this.batches.includes(t))for(;this.batches.length>0;){const n=this.batches.pop();if(n!==t&&console.warn("Reactodia: discarding other unclosed batch on top",n),e?.revert&&n._inverses.length>0){const e=[...n._inverses].reverse();Lr.compound(t._title,e).invoke()}if(n===t)break}else console.warn("Reactodia: failed to find batch to discard (already stored or discarded?)",t)}};return this.batches.push(t),t}},Hr=class e{elementState;linkState;static _title=Ht.text("commands.restore_geometry.title");constructor(e,t){this.elementState=e,this.linkState=t}static capture(t){return e.capturePartial(t.elements,t.links)}static capturePartial(t,n){return new e(t.map((e=>({element:e,position:e.position,size:Rr(e)}))),n.map((e=>({link:e,vertices:e.vertices}))))}get title(){return e._title}hasChanges(){return this.elementState.length>0||this.linkState.length>0}filterOutUnchanged(){return new e(this.elementState.filter((({element:e,position:t,size:n})=>!(dr.equals(e.position,t)&&Rr(e)===n))),this.linkState.filter((({link:e,vertices:t})=>!kr(e.vertices,t))))}invoke(){const t=e.capturePartial(this.elementState.map((e=>e.element)),this.linkState.map((e=>e.link)));for(const{element:e,position:t,size:n}of[...this.elementState].reverse())e.setPosition(t),e.setElementState(e.elementState.set(pi.ElementSize,n));for(const{link:e,vertices:t}of this.linkState)e.setVertices(t);return t}};function Rr(e){return e.elementState.get(pi.ElementSize)}function Dr(e){const t=e.vertices;return Lr.create(Ht.text("commands.restore_link_vertices.title"),(()=>{const n=Dr(e);return e.setVertices(t),n}))}function Br(e,t){return Lr.create(Ht.text("commands.set_element_state.title"),(()=>{const n=e.elementState;return e.setElementState(t),Br(e,n)}))}function Or(e,t){return Lr.create(Ht.text(t?"commands.expand_element.title":"commands.collapse_element.title"),(()=>(e.setExpanded(t),Or(e,!t))))}function jr(e,t){return Lr.create(Ht.text("commands.set_link_state.title"),(()=>{const n=e.linkState;return e.setLinkState(t),jr(e,n)}))}function Fr(e,t,n){return Lr.create(Ht.text("commands.change_link_type_visibility.title"),(()=>{const i=e.getLinkVisibility(t);return e.setLinkVisibility(t,n),Fr(e,t,i)}))}function Ur(e){const{elements:t,target:n,graph:i,sizeProvider:r,distance:o=300}=e;return Lr.create(Ht.text("commands.place_elements_around.title"),(()=>{const e=Hr.capture(i),a=yr(n,r),s=a.x+a.width/2,l=a.y+a.height/2;let c=0;const d=i.getElementLinks(n);if(d.length>0){const e=Tr(d.map((e=>{const t=i.sourceOf(e);return t!==n?t:i.targetOf(e)})),r),t={x:s-e.x,y:l-e.y};0===t.x&&0===t.y||(c=Math.atan2(t.y,t.x))}const u=Math.min(Math.PI/t.length,Math.PI/6),h=[...t],f=(e,t)=>{if(t){const{width:n,height:i}=yr(t,r);t.setPosition({x:s+o*Math.cos(e)-n/2,y:l+o*Math.sin(e)-i/2})}};if(h.length%2==0)for(let e=u/2;h.length>0;e+=u)f(c-e,h.pop()),f(c+e,h.pop());else{f(c,h.pop());for(let e=u;h.length>0;e+=u)f(c-e,h.pop()),f(c+e,h.pop())}return e.filterOutUnchanged()}))}var qr=class e{source=new bi;events=this.source;id;_position;_elementState;constructor(t){const{id:n=e.generateId(),position:i={x:0,y:0},expanded:r=!1,elementState:o=Ci.empty}=t;this.id=n,this._position=i,this._elementState=r?o.set(pi.Expanded,r):o}static generateId(){return`urn:reactodia:e:${$i()}`}get position(){return this._position}setPosition(e){const t=this._position;t.x===e.x&&t.y===e.y||(this._position=e,this.source.trigger("changePosition",{source:this,previous:t}))}get isExpanded(){return Boolean(this._elementState.get(pi.Expanded))}setExpanded(e){this.setElementState(this._elementState.set(pi.Expanded,!!e||void 0))}get elementState(){return this._elementState}setElementState(e){const t=this._elementState;t!==e&&(this._elementState=e,this.source.trigger("changeElementState",{source:this,previous:t}))}focus(){this.source.trigger("requestedFocus",{source:this})}redraw(e){this.source.trigger("requestedRedraw",{source:this,level:e})}},Wr=class extends qr{constructor(e){super(e)}},Gr=class e{source=new bi;events=this.source;id;_sourceId;_targetId;_vertices;_linkState;constructor(t){const{id:n=e.generateId(),sourceId:i,targetId:r,vertices:o=[],linkState:a=Ci.empty}=t;this.id=n,this._sourceId=i,this._targetId=r,this._vertices=o,this._linkState=a}static generateId(){return`urn:reactodia:l:${$i()}`}get sourceId(){return this._sourceId}get targetId(){return this._targetId}get typeId(){return this.getTypeId()}get vertices(){return this._vertices}setVertices(e){const t=this._vertices;kr(this._vertices,e)||(this._vertices=e,this.source.trigger("changeVertices",{source:this,previous:t}))}get linkState(){return this._linkState}setLinkState(e){const t=this._linkState;t!==e&&(this._linkState=e,this.source.trigger("changeLinkState",{source:this,previous:t}))}redraw(){this.source.trigger("requestedRedraw",{source:this})}},Zr=class{link;vertexIndex;constructor(e,t){this.link=e,this.vertexIndex=t}createAt(e){const t=[...this.link.vertices];t.splice(this.vertexIndex,0,e),this.link.setVertices(t)}moveTo(e){const t=[...this.link.vertices];t.splice(this.vertexIndex,1,e),this.link.setVertices(t)}remove(){const e=[...this.link.vertices];e.splice(this.vertexIndex,1),this.link.setVertices(e)}};function Kr(e){const{paperTransform:t,layerRef:n,style:i,children:r,...o}=e,{originX:a,originY:s,scale:l}=t;let c={position:"absolute",left:0,top:0,transform:`scale(${l},${l})translate(${a}px,${s}px)`};return i&&(c={...c,...i}),H.jsx("div",{ref:n,style:c,...o,children:r})}function Xr(e){const{layerRef:t,paperTransform:n,style:i,children:r,...o}=e,{width:a,height:s,originX:l,originY:c,scale:d}=n,u=a*d,h=s*d;let f={position:"absolute",top:0,left:0};return i&&(f={...f,...i}),H.jsx("svg",{ref:t,width:u,height:h,style:f,role:"none",...o,children:H.jsx("g",{transform:`scale(${d},${d})translate(${l},${c})`,children:r})})}function Qr(e,t){return e.width===t.width&&e.height===t.height&&e.originX===t.originX&&e.originY===t.originY&&e.paddingX===t.paddingX&&e.paddingY===t.paddingY&&e.scale===t.scale}function Yr(e,t){return{x:(e.x+t.originX)*t.scale,y:(e.y+t.originY)*t.scale}}function Jr(e,t){return{x:e.x/t.scale-t.originX,y:e.y/t.scale-t.originY}}var eo=class{gap;constructor(e={}){const{gap:t=20}=e;this.gap=t}route(e,t){const n=new Map;for(const i of e.links){if(n.has(i.id))continue;const{sourceId:r,targetId:o}=i;r&&o&&(r===o?this.routeFeedbackSiblingLinks(r,e,t,n):this.routeNormalSiblingLinks(r,o,e,t,n))}return n}routeFeedbackSiblingLinks(e,t,n,i){const r=t.getElement(e),o=n.getElementShape(r),{x:a,y:s}=o.bounds,l=hr.center(o.bounds);let c=0;for(const e of t.getElementLinks(r)){const{sourceId:n,targetId:r}=e;if(!i.has(e.id)&&"hidden"!==t.getLinkVisibility(e.typeId)&&n===r)if(0===e.vertices.length){const t=this.gap*(c+1);i.set(e.id,{linkId:e.id,vertices:[{x:a-t,y:s+t},{x:a-t,y:s-t},{x:a+t,y:s-t}]}),c++}else if(1===e.vertices.length){const[t]=e.vertices,[n]=xr(o,{x:t.x,y:t.y,width:0,height:0},[]),r=Math.min(Math.max(this.gap,.75*dr.length(dr.subtract(t,n))),o.bounds.width,o.bounds.height),a=dr.normalize(dr.subtract(t,l)),s=dr.add(t,dr.scale(a,-r)),c={x:-a.y,y:a.x},d=[dr.add(s,dr.scale(c,r)),t,dr.add(s,dr.scale(c,-r))];i.set(e.id,{linkId:e.id,vertices:d})}}}routeNormalSiblingLinks(e,t,n,i,r){const o=n.getElement(e),a=n.getElement(t),s=hr.center(yr(o,i)),l=hr.center(yr(a,i)),c=(s.x+l.x)/2,d=(s.y+l.y)/2,u=dr.normalize({x:l.x-s.x,y:l.y-s.y}),h=n.getElementLinks(o).filter((e=>!(e.sourceId!==t&&e.targetId!==t||r.has(e.id)||function(e){return e.vertices.length>0}(e)||"hidden"===n.getLinkVisibility(e.typeId))));if(h.length<=1)return;const f=h.length%2?0:1;h.forEach(((e,t)=>{const n=t+f,i=this.gap*Math.ceil(n/2)-(f?this.gap/2:0),o=n%2?{x:-u.y,y:u.x}:{x:u.y,y:-u.x};r.set(e.id,{linkId:e.id,vertices:[{x:c+o.x*i,y:d+o.y*i}],labelTextAnchor:this.getLabelAlignment(u,t,h.length)})}))}getLabelAlignment(e,t,n){const i=Math.atan2(e.y,e.x),r=Math.abs(i),o=i<0,a=i>0,s=n-2,l=n-1;if(!(r<1*Math.PI/8||r>7*Math.PI/8)){if(o&&t===l||a&&t===s)return"end";if(o&&t===s||a&&t===l)return"start"}return"middle"}},to=function(e){return e[e.Element=1]="Element",e[e.ElementSize=2]="ElementSize",e[e.LinkRoutes=3]="LinkRoutes",e[e.PaperArea=4]="PaperArea",e[e.Link=5]="Link",e[e.LinkLabel=6]="LinkLabel",e[e.Overlay=7]="Overlay",e}({}),no=()=>{},io=()=>{},ro=class e{listener=new wi;source=new bi;events=this.source;scheduledByLayer=new Map;layerUpdater=new yi;model;resolveElementTemplate;resolveLinkTemplate;mappedTemplates=new WeakMap;linkRouter;decorationContainers=new WeakMap;elementSizes=new WeakMap;linkLabelContainer=document.createElement("div");linkLabelBounds=new WeakMap;cachedLinkTemplates=new WeakMap;linkMarkerIndex=new WeakMap;static nextLinkMarkerIndex=1;routings=new Map;hotkeyHandlers=new U(mr,vr);shared;constructor(e){this.model=e.model,this.shared=e.shared,this.resolveElementTemplate=e.elementTemplateResolver??no,this.resolveLinkTemplate=e.linkTemplateResolver??io,this.linkRouter=e.linkRouter??new eo,this.listener.listen(this.model.events,"changeCells",(()=>this.scheduleUpdateRoutings())),this.listener.listen(this.model.events,"linkEvent",(({data:e})=>{e.changeVertices&&this.scheduleUpdateRoutings()})),this.listener.listen(this.model.events,"elementEvent",(({data:e})=>{e.changePosition&&this.scheduleUpdateRoutings()})),this.listener.listen(this.model.events,"changeLinkVisibility",(()=>{this.scheduleUpdateRoutings()})),this.listener.listen(this.model.events,"discardGraph",(()=>{this.cachedLinkTemplates=new WeakMap;const e=this.routings;this.routings=new Map,this.cancelOnLayerUpdate(3,this.updateRoutings),this.source.trigger("changeLinkTemplates",{source:this}),this.source.trigger("changeRoutings",{source:this,previous:e})})),this.listener.listen(this.events,"changeElementSize",(()=>{this.scheduleUpdateRoutings()})),this.updateRoutings()}dispose(){this.listener.stopListening(),this.layerUpdater.dispose(),this.cancelOnLayerUpdate(3,this.updateRoutings)}syncUpdate(){this.syncUpdateLayersUpTo(7)}scheduleOnLayerUpdate(e,t){kt(this.scheduledByLayer,e,t),this.layerUpdater.call(this.runLayerUpdate)}cancelOnLayerUpdate(e,t){const n=this.scheduledByLayer.get(e);n&&n.delete(t)}runLayerUpdate=()=>this.syncUpdateLayersUpTo(7);updateLayersUpTo(e){return Promise.resolve().then((()=>this.syncUpdateLayersUpTo(e)))}syncUpdateLayersUpTo(e){this.layerUpdater.dispose();let t=!1;for(let n=e+1;n<=7;n++){const e=this.scheduledByLayer.get(n);e&&e.size>0&&(t=!0)}const n=new Set;for(let t=1;t<=e;t++){const e=this.scheduledByLayer.get(t);if(e&&e.size>0){for(const t of e)n.add(t);e.clear();for(const e of n)e();n.clear()}this.source.trigger("syncUpdate",{layer:t})}t&&this.layerUpdater.call(this.runLayerUpdate)}ensureDecorationContainer(e){let t=this.decorationContainers.get(e);return t||(t=document.createElement("div"),this.decorationContainers.set(e,t)),t}getElementSize(e){return this.elementSizes.get(e)}setElementSize(e,t){const n=this.elementSizes.get(e);n&&n.width===t.width&&n.height===t.height||(this.ensureDecorationContainer(e).style=`width: ${t.width}px; height: ${t.height}px`,this.elementSizes.set(e,t),this.source.trigger("changeElementSize",{source:e,previous:n}))}attachLinkLabelContainer(e){if(e){if(this.linkLabelContainer.parentElement)throw new Error("Cannot attach link label container to multiple parents");e.appendChild(this.linkLabelContainer)}else this.linkLabelContainer.parentElement&&this.linkLabelContainer.parentElement.removeChild(this.linkLabelContainer)}getLinkLabelContainer(){return this.linkLabelContainer}getLinkLabelBounds(e){return this.linkLabelBounds.get(e)}setLinkLabelBounds(e,t){const n=this.linkLabelBounds.get(e);!n&&!t||n&&t&&hr.equals(n,t)||(t?this.linkLabelBounds.set(e,t):this.linkLabelBounds.delete(e),this.source.trigger("changeLinkLabelBounds",{source:e,previous:n}))}getElementTemplate(e){let t=this.resolveElementTemplate(e);if("function"==typeof t){let e=this.mappedTemplates.get(t);if(!e){const n=t;e={renderElement:e=>v.createElement(n,e)},this.mappedTemplates.set(t,e)}t=e}return t??this.shared.defaultElementResolver(e)}getElementShape(e){const t=this.getElementTemplate(e),n=yr(e,this);return{type:t.shape??"rect",bounds:n}}ensureLinkMarkerIndex(t){let n=this.linkMarkerIndex.get(t);return void 0===n&&(n=e.nextLinkMarkerIndex++,e.nextLinkMarkerIndex>=Number.MAX_SAFE_INTEGER&&(e.nextLinkMarkerIndex=1),this.linkMarkerIndex.set(t,n)),n}getLinkTemplate(e){const t=this.cachedLinkTemplates.get(e);if(t)return t;const n=this.resolveLinkTemplate(e)??this.shared.defaultLinkResolver(e);return this.cachedLinkTemplates.set(e,n),this.source.trigger("changeLinkTemplates",{source:this}),n}getRoutings(){return this.routings}getRouting(e){return this.routings.get(e)}scheduleUpdateRoutings(){this.scheduleOnLayerUpdate(3,this.updateRoutings)}updateRoutings=()=>{const e=this.routings,t=this.linkRouter.route(this.model,this);e.forEach(((e,n)=>{const i=t.get(n);var r,o;i&&(r=e).linkId===(o=i).linkId&&r.labelTextAnchor===o.labelTextAnchor&&kr(r.vertices,o.vertices)&&t.set(n,e)})),this.routings=t,this.source.trigger("changeRoutings",{source:this,previous:e})};listenHotkey(e,t){return kt(this.hotkeyHandlers,e,t),2===this.hotkeyHandlers.get(e).size&&console.warn(`Reactodia: registered multiple handlers for the same hotkey "${gr(e)}" but only the first one will run if triggered.`),()=>{!function(e,t,n){const i=e.get(t);i&&(i.delete(n),0===i.size&&e.delete(t))}(this.hotkeyHandlers,e,t)}}triggerHotkey(e){if(e.repeat)return;const t=function(e){const t=1===e.key.length?e.key.toLowerCase():e.key,n=/^[a-z]$/.test(t),i=/^Key([A-Z])$/.exec(e.code),r=i?i[1].toLowerCase():void 0;return{modifiers:(e.ctrlKey?1:0)|(e.metaKey?2:0)|(e.altKey?4:0)|(e.shiftKey?8:0),key:r&&!n?r:t}}(e),n=this.hotkeyHandlers.get(t);if(n)for(const t of n){e.preventDefault(),t();break}}};function oo(e,t,n=7){return v.useCallback((i=>{const r=()=>i(),o=e((()=>{t.scheduleOnLayerUpdate(n,r)}));return()=>{t.cancelOnLayerUpdate(n,r),o()}}),[e,t,n])}var ao=class extends v.Component{listener=new wi;redrawBatch={requests:new Map,forAll:0};memoizedElements=new WeakMap;sizeRequests=new Map;constructor(e){super(e);const{model:t,renderingState:n}=this.props;this.state={version:0,elementStates:so(t,n.shared,this.redrawBatch,new Map)}}render(){const{model:e,renderingState:t,paperTransform:n,layerRef:i}=this.props,{version:r,elementStates:o}=this.state,{memoizedElements:a}=this,s=[];for(const t of e.elements){const e=o.get(t);e&&s.push(e)}return H.jsx(Kr,{layerRef:i,className:"reactodia-element-layer",paperTransform:n,role:"figure",children:s.map((n=>{let i=a.get(n);return i||(i=H.jsx(uo,{state:n,model:e,renderingState:t,onResize:this.requestSizeUpdate},n.element.id),a.set(n,i)),i}))},r)}componentDidMount(){const{model:e,renderingState:t}=this.props;this.listener.listen(e.events,"changeCells",(e=>{e.updateAll?this.requestRedrawAll(1):e.changedElement&&this.requestRedraw(e.changedElement,1)})),this.listener.listen(e.events,"changeCellOrder",(()=>{this.requestRedrawAll(0)})),this.listener.listen(e.events,"changeSelection",(({previous:t})=>{const n=1===t.length?t[0]:void 0,i=1===e.selection.length?e.selection[0]:void 0,r=n instanceof qr?n:void 0,o=i instanceof qr?i:void 0;o!==r&&(r&&this.requestRedraw(r,6),o&&this.requestRedraw(o,6))})),this.listener.listen(e.events,"elementEvent",(({data:e})=>{const t=e.changeElementState;t&&this.requestRedraw(t.source,6);const n=e.changePosition;if(n&&this.requestRedraw(n.source,2),e.requestedRedraw){let t=2;"template"===e.requestedRedraw.level&&(t=6),this.requestRedraw(e.requestedRedraw.source,t)}})),this.listener.listen(e.events,"changeLanguage",(()=>{this.requestRedrawAll(6)})),this.listener.listen(e.events,"discardGraph",(()=>{this.requestRedrawAll(31)})),this.listener.listen(t.shared.events,"changeHighlight",(()=>{this.requestRedrawAll(10)}))}componentWillUnmount(){this.listener.stopListening(),this.props.renderingState.cancelOnLayerUpdate(to.Element,this.redrawElements),this.props.renderingState.cancelOnLayerUpdate(to.ElementSize,this.recomputeQueuedSizes)}requestRedraw=(e,t)=>{if((this.redrawBatch.forAll|t)===this.redrawBatch.forAll)return;const n=this.redrawBatch.requests.get(e.id)||0;this.redrawBatch.requests.set(e.id,n|t),this.props.renderingState.scheduleOnLayerUpdate(to.Element,this.redrawElements)};requestRedrawAll(e){this.redrawBatch.forAll|=e,this.props.renderingState.scheduleOnLayerUpdate(to.Element,this.redrawElements)}redrawElements=()=>{const e=this.redrawBatch;this.redrawBatch={forAll:0,requests:new Map},dn.flushSync((()=>{this.setState(((t,n)=>({version:31===e.forAll?t.version+1:t.version,elementStates:so(n.model,n.renderingState.shared,e,t.elementStates)})))}))};requestSizeUpdate=(e,t)=>{this.sizeRequests.set(e.id,{element:e,node:t}),this.props.renderingState.scheduleOnLayerUpdate(to.ElementSize,this.recomputeQueuedSizes)};recomputeQueuedSizes=()=>{const{renderingState:e}=this.props,t=this.sizeRequests;this.sizeRequests=new Map;for(const e of t.values()){const{clientWidth:t,clientHeight:n}=e.node;e.computedSize={width:t,height:n}}for(const n of t.values())n.computedSize&&e.setElementSize(n.element,n.computedSize)}};function so(e,t,n,i){if(0===n.forAll&&0===n.requests.size)return i;const r=1===e.selection.length?e.selection[0]:void 0,o=r instanceof qr?r:void 0,a=new Map;for(const r of e.elements){const e=r.id;let s=i.get(r);if(s){const i=(n.requests.get(e)||0)|n.forAll;2&i&&(s={element:r,templateProps:6&~i?s.templateProps:lo(s.element,o),blurred:10&~i?s.blurred:fo(s.element,t)}),a.set(r,s),n.requests.delete(e)}else a.set(r,{element:r,templateProps:lo(r,o),blurred:fo(r,t)})}return n.forAll=0,a}function lo(e,t){return{elementId:e.id,element:e,isExpanded:e.isExpanded,elementState:e.elementState,onlySelected:e===t}}var co="reactodia-overlaid-element",uo=class extends v.Component{elementRef=v.createRef();decorationsRef=v.createRef();listener=new wi;render(){const{state:{element:e,blurred:t,templateProps:n}}=this.props;if(e instanceof Wr)return H.jsx("div",{});const{x:i,y:r}=e.position,o={position:"absolute",transform:`translate(${i}px,${r}px)`};return H.jsxs(H.Fragment,{children:[H.jsx("div",{className:cn(co,t?`${co}--blurred`:void 0,n.onlySelected?`${co}--only-selected`:void 0),style:o,"data-element-id":e.id,tabIndex:0,ref:this.elementRef,onLoad:this.onLoadOrErrorEvent,onError:this.onLoadOrErrorEvent,children:H.jsx(ho,{...this.props})}),H.jsx("div",{className:"reactodia-element-decorations",style:o,ref:this.decorationsRef})]})}onLoadOrErrorEvent=()=>{const{state:e,onResize:t}=this.props;this.elementRef.current&&t(e.element,this.elementRef.current)};componentDidMount(){const{state:e,onResize:t,renderingState:n}=this.props;this.decorationsRef.current&&this.decorationsRef.current.appendChild(n.ensureDecorationContainer(e.element)),this.listener.listen(e.element.events,"requestedFocus",(()=>{this.elementRef.current?.focus()})),this.elementRef.current&&t(e.element,this.elementRef.current)}componentWillUnmount(){const{state:e,renderingState:t}=this.props,n=t.ensureDecorationContainer(e.element);n.parentElement?.removeChild(n),this.listener.stopListening()}shouldComponentUpdate(e){return this.props.state!==e.state}componentDidUpdate(){const{state:e,onResize:t}=this.props;this.elementRef.current&&t(e.element,this.elementRef.current)}},ho=class extends v.Component{cachedTemplate;cachedTemplateProps;render(){const{state:e,renderingState:t}=this.props,{element:n,templateProps:i}=e,r=t.getElementTemplate(n);return this.cachedTemplate=r,this.cachedTemplateProps=i,r.renderElement(i)}shouldComponentUpdate(e){const t=e.renderingState.getElementTemplate(e.state.element);return!(this.cachedTemplate===t&&this.cachedTemplateProps===e.state.templateProps)}};function fo(e,t){return Boolean(t.highlighter&&!t.highlighter(e))}function po(e){const{target:t,children:n}=e,{canvas:i}=cr();return dn.createPortal(n,i.renderingState.ensureDecorationContainer(t))}function go(e,t){const{positions:n,sizes:i,nestedLayouts:r}=e,o=new vo(i),a=t.elements.filter((({id:e})=>n.has(e)));for(const e of r)go(e,t);const s=Tr(a,o);for(const e of a){const t=n.get(e.id);t&&e.setPosition(t)}const l=Tr(a,o),c=s.x-l.x,d=s.y-l.y;for(const[e,i]of n)t.getElement(e).setPosition({x:i.x+c,y:i.y+d})}var vo=class{sizes;constructor(e){this.sizes=e}getElementSize(e){return this.sizes.get(e.id)}getElementShape(e){return{type:"rect",bounds:yr(e,this)}}},mo=class extends v.Component{listener=new wi;providedContext;updateState=1;scheduledToUpdate=new Set;labelMeasureRequests=new Set;memoizedLinks=new WeakMap;constructor(e){super(e),this.providedContext={scheduleLabelMeasure:this.scheduleLabelMeasure,clearLabelMeasure:this.clearLabelMeasure},this.state={version:0,shouldUpdateLink:this.popShouldUpdatePredicate()}}componentDidMount(){const{model:e,renderingState:t}=this.props,n=t=>{for(const n of e.getElementLinks(t))this.scheduleUpdateLink(n.id)};this.listener.listen(e.events,"changeLanguage",this.scheduleUpdateAll),this.listener.listen(e.events,"changeCells",(e=>{if(e.updateAll)this.scheduleUpdateAll();else if(e.changedElement&&n(e.changedElement),e.changedLinks)for(const t of e.changedLinks)this.scheduleUpdateLink(t.id)})),this.listener.listen(e.events,"changeSelection",(({previous:t})=>{const n=1===t.length?t[0]:void 0,i=1===e.selection.length?e.selection[0]:void 0,r=n instanceof Gr?n:void 0,o=i instanceof Gr?i:void 0;o!==r&&(r&&this.scheduleUpdateLink(r.id),o&&this.scheduleUpdateLink(o.id))})),this.listener.listen(e.events,"elementEvent",(({data:e})=>{e.changePosition&&n(e.changePosition.source)})),this.listener.listen(e.events,"linkEvent",(({data:e})=>{const t=e.changeVertices||e.changeLinkState||e.requestedRedraw;t&&this.scheduleUpdateLink(t.source.id)})),this.listener.listen(e.events,"changeLinkVisibility",(t=>{for(const n of e.links.filter((e=>e.typeId===t.source)))this.scheduleUpdateLink(n.id)})),this.listener.listen(e.events,"discardGraph",(()=>{this.setState((e=>({version:e.version+1}))),this.scheduleUpdateAll()})),this.listener.listen(t.shared.events,"changeHighlight",this.scheduleUpdateAll),this.listener.listen(t.events,"changeElementSize",(e=>{n(e.source)}));const i=(e,t)=>{e.forEach(((e,n)=>{t.get(n)!==e&&this.scheduleUpdateLink(n)}))};this.listener.listen(t.events,"changeRoutings",(({previous:e})=>{const n=t.getRoutings();i(n,e),i(e,n)}))}shouldComponentUpdate(e,t){return!(this.props.shouldRenderLink===e.shouldRenderLink&&this.state.version===t.version&&this.state.shouldUpdateLink===t.shouldUpdateLink)}componentWillUnmount(){this.listener.stopListening(),this.props.renderingState.cancelOnLayerUpdate(to.Link,this.performUpdate),this.props.renderingState.cancelOnLayerUpdate(to.LinkLabel,this.measureLabels)}scheduleUpdateAll=()=>{2!==this.updateState&&(this.updateState=2,this.scheduledToUpdate=new Set),this.props.renderingState.scheduleOnLayerUpdate(to.Link,this.performUpdate)};scheduleUpdateLink(e){1===this.updateState&&this.scheduledToUpdate.add(e),this.props.renderingState.scheduleOnLayerUpdate(to.Link,this.performUpdate)}popShouldUpdatePredicate(){const{updateState:e,scheduledToUpdate:t}=this;return this.scheduledToUpdate=new Set,this.updateState=1,2===e?()=>!0:e=>t.has(e.id)}scheduleLabelMeasure=e=>{this.labelMeasureRequests.add(e),this.props.renderingState.scheduleOnLayerUpdate(to.LinkLabel,this.measureLabels)};clearLabelMeasure=e=>{const{renderingState:t}=this.props;this.labelMeasureRequests.delete(e),t.setLinkLabelBounds(e.owner,void 0)};measureLabels=()=>{const{renderingState:e}=this.props,t=Array.from(this.labelMeasureRequests);this.labelMeasureRequests.clear();const n=[];for(const e of t)n.push(e.measureBounds());for(let i=0;i<t.length;i++){const r=n[i];r&&e.setLinkLabelBounds(t[i].owner,r)}};performUpdate=()=>{dn.flushSync((()=>{this.setState({shouldUpdateLink:this.popShouldUpdatePredicate()})}))};render(){const{model:e,shouldRenderLink:t,renderingState:n}=this.props,{version:i,shouldUpdateLink:r}=this.state,{memoizedLinks:o}=this;for(const t of e.links)r(t)&&o.delete(t);const a=[];for(const i of e.links)if(!t||t(i)){let t=o.get(i);t||(t=H.jsx(yo,{link:i,model:e,renderingState:n},i.id),o.set(i,t)),a.push(t)}return H.jsx(bo.Provider,{value:this.providedContext,children:H.jsx("g",{className:"reactodia-link-layer",children:a},i)})}},bo=v.createContext(null),wo="reactodia-link";function yo(e){const{link:t,model:n,renderingState:i}=e,r=i.getLinkTemplate(t),o=i.shared.defaultLinkResolver(t),a=n.getElement(t.sourceId),s=n.getElement(t.targetId),l=n.getLinkVisibility(t.typeId);if(!a||!s||"hidden"===l)return null;const c=i.getRouting(t.id),d=c?c.vertices:t.vertices,u=i.getElementShape(a),h=i.getElementShape(s),f=xr(u,h,d),p=Er.create({type:r.spline??Er.defaultType,points:f,source:hr.center(u.bounds),target:hr.center(h.bounds)}),g=Sr(f),v=r.markerSource??o.markerSource,m=r.markerTarget??o.markerTarget,b=v?i.ensureLinkMarkerIndex(v):void 0,w=m?i.ensureLinkMarkerIndex(m):void 0,{highlighter:y}=i.shared,_=y&&!y(t),k=1===n.selection.length&&n.selection[0]===t,x=r.renderLink({link:t,markerSource:b?`url(#${To(b,!0)})`:"",markerTarget:w?`url(#${To(w,!1)})`:"",path:p.toPath(),getPathPosition:e=>Cr(f,g*e),route:c,onlySelected:k});return H.jsx("g",{"data-link-id":t.id,"data-source-id":t.sourceId,"data-target-id":t.targetId,className:cn(wo,_?`${wo}--blurred`:void 0,k?`${wo}--only-selected`:void 0),children:x})}var _o="reactodia-link-path";function ko(e){const{path:t,pathProps:n,markerSource:i,markerTarget:r}=e;return H.jsxs(H.Fragment,{children:[H.jsx("path",{...n,className:cn(_o,n?.className),d:t,markerStart:i,markerEnd:r}),H.jsx("path",{className:`${_o}__wrap`,d:t})]})}function xo(e){const{renderingState:t,paperTransform:n,layerRef:i}=e,r=v.useRef(null),o=v.useCallback((e=>{r.current=e,i&&(i.current=e)}),[i]);return v.useEffect((()=>{const e=r.current;if(e)return t.attachLinkLabelContainer(e),()=>t.attachLinkLabelContainer(null)}),[]),H.jsx(Kr,{paperTransform:n,className:"reactodia-label-layer",layerRef:o,role:"figure"})}var So="middle";function Co(e){const{link:t,position:{x:n,y:i},line:r,className:o,style:a,textAnchor:s,title:l,children:c}=e,{canvas:d}=cr(),u=v.useContext(bo),h=v.useRef(null),f=v.useRef(void 0);v.useLayoutEffect((()=>{if(u&&e.primary){if(!f.current){const n={owner:t,measureBounds:()=>{const e=h.current?.getBoundingClientRect();if(!e)return;const t=1/d.getScale();return function(e,{width:t,height:n}){const{position:{x:i,y:r},textAnchor:o=So}=e;let a=0;return"middle"===o?a=-t/2:"end"===o&&(a=-t),{x:i+a,y:r-n/2,width:t,height:n}}(n.latestProps,{width:e.width*t,height:e.height*t})},latestProps:e};f.current=n}f.current.latestProps=e,u.scheduleLabelMeasure(f.current)}})),v.useLayoutEffect((()=>()=>{const e=f.current;u&&e&&u.clearLabelMeasure(e)}),[]);const p={...a,position:"absolute",transform:`translate(${n}px,${i}px)${"start"===s?"translate(0,-50%)":"end"===s?"translate(-100%,-50%)":"translate(-50%,-50%)"}`,"--reactodia-link-label-line":r},g=d.renderingState;return dn.createPortal(H.jsx("div",{ref:h,"data-link-id":t.id,className:cn("reactodia-link-label",o),style:p,title:l,children:c}),g.getLinkLabelContainer())}var Lo="reactodia-link-vertices";function Mo(e){const{linkId:t,vertices:n,className:i,vertexRadius:r=10,fill:o}=e,{model:a}=cr();if(0===n.length)return null;const s=cn(`${Lo}__vertex`,i),l=e=>{const n=a.getLink(t);if(!n)return;const i=new Zr(n,e);a.history.registerToUndo(Dr(i.link)),i.remove()},c=[];for(let e=0;e<n.length;e++){const{x:t,y:i}=n[e],a=c.length;c.push(H.jsx("circle",{"data-vertex":e,className:s,cx:t,cy:i,r,fill:o},a)),c.push(H.jsx(Eo,{vertexIndex:e,vertexRadius:r,x:t,y:i,onRemove:l},a+1))}return H.jsx("g",{className:Lo,children:c})}function Eo(e){const{vertexIndex:t,vertexRadius:n,x:i,y:r,onRemove:o}=e,a=Pt();return H.jsxs("g",{className:`${Lo}__handle`,"data-reactodia-no-export":"true",transform:`translate(${i+2*n},${r-2*n})scale(${n})`,onPointerDown:e=>{0===e.button&&(e.preventDefault(),e.stopPropagation(),o(t))},children:[H.jsx("title",{children:a.text("link_action.vertex.remove_title")}),H.jsx("circle",{r:1}),H.jsx("path",{d:"M-0.5,-0.5 L0.5,0.5 M0.5,-0.5 L-0.5,0.5",strokeWidth:2/n})]})}var zo=v.memo((function(e){const{model:t,renderingState:n}=e;$t(oo(Et(n.events,"changeLinkTemplates"),n,to.Link),(()=>t.cellsVersion));const i=new Set,r=new Set;for(const e of t.links){const t=n.getLinkTemplate(e),o=n.shared.defaultLinkResolver(e),a=t.markerSource??o.markerSource;a&&i.add(a);const s=t.markerTarget??o.markerTarget;s&&r.add(s)}return H.jsxs("defs",{children:[Array.from(i,(e=>{const t=n.ensureLinkMarkerIndex(e);return H.jsx($o,{markerIndex:t,isStartMarker:!0,style:e},t)})),Array.from(r,(e=>{const t=n.ensureLinkMarkerIndex(e);return H.jsx($o,{markerIndex:t,isStartMarker:!1,style:e},t)}))]})}),(()=>!0)),$o=class extends v.Component{render(){return H.jsx("marker",{ref:this.onMarkerMount})}shouldComponentUpdate(){return!1}onMarkerMount=e=>{if(!e)return;const{markerIndex:t,isStartMarker:n,style:i}=this.props,{d:r,width:o,height:a}=i;if(void 0===r||void 0===o||void 0===a)return;const s="reactodia-link-marker";e.setAttribute("class",s),e.setAttribute("id",To(t,n)),e.setAttribute("markerWidth",String(o)),e.setAttribute("markerHeight",String(a)),e.setAttribute("orient","auto"),e.setAttribute("refX",String(n?0:o-1)),e.setAttribute("refY",String(a/2)),e.setAttribute("markerUnits","userSpaceOnUse");const l=document.createElementNS("http://www.w3.org/2000/svg","path");l.setAttribute("class",`${s}__path`),l.setAttribute("d",r),void 0!==i.fill&&l.setAttribute("fill",i.fill),void 0!==i.stroke&&l.setAttribute("stroke",i.stroke),void 0!==i.strokeWidth&&l.setAttribute("stroke-width",String(i.strokeWidth)),e.appendChild(l)}};function To(e,t){return`reactodia-marker-${t?"start":"end"}-${e}`}var No={$schema:"../i18n.schema.json",authoring_state:{"entity_action_delete.label":"delete","entity_action_delete.title":"Delete entity","entity_action_delete.title_disabled":"Cannot delete the entity","entity_action_discard.label":"cancel","entity_action_discard.title":"Discard all changes to the entity","entity_action_edit.label":"edit","entity_action_edit.title":"Edit entity","entity_action_edit.title_disabled":"Cannot edit the entity","entity_add.label":"New","entity_change.label":"Change","entity_delete.label":"Delete","relation_action_discard.label":"cancel","relation_action_discard.title":"Discard all changes to the relation","relation_add.label":"New","relation_change.label":"Change","relation_delete.label":"Delete"},classic_workspace:{"canvas.label":"Canvas","class_tree.heading":"Classes","connections.heading":"Connections","instances.heading":"Instances"},commands:{"change_entity.title":"Change entity data","change_link_type_visibility.title":"Change link type visibility","change_relation.title":"Change relation data","collapse_element.title":"Collapse element","expand_element.title":"Expand element","place_elements_around.title":"Place elements","restore_geometry.title":"Move elements and links","restore_link_vertices.title":"Change link vertices","restore_viewport.title":"Set viewport","set_element_state.title":"Change element state","set_entity_data.title":"Set entity element data","set_entity_group_items.title":"Set entity group items","set_link_state.title":"Change link state","set_relation_data.title":"Set relation link data","set_relation_group_items.title":"Set relation group items","transform_elements.title":"Resize elements"},connections_menu:{"all_link.label":"All","breadcrumbs_root.label":"Link types","dialog.caption":"Connections","entities.add_all":"Add all","entities.add_group":"Add as group","entities.add_selected":"Add selected","entities.counter_label":"{{count}} of {{total}}","entities.extra_label":" ({{value}})","entities.extra_title":"Extra entities","entities.missing_label":" ({{value}})","entities.missing_title":"Missing entities","entities.no_results":"No results","entities.truncated_results":"Only the first {{limit}} entities are shown","entities.truncated_results_expand":"Only the first {{limit}} entities are shown,\nclick here for the full results","input.placeholder":null,"link.both_navigate_title":"Navigate to all connected elements","link.both_title":"all connected","link.source_navigate_title":'Navigate to source "{{relation}}" elements',"link.source_title":'source of "{{relation}}" {{relationIri}}',"link.target_navigate_title":'Navigate to source "{{target}}" elements',"link.target_title":'target of "{{relation}}" {{relationIri}}',"link.move_to_filter.title":"Set as filter in the Instances panel","links.no_results":"No results","links.suggest_similar":"Probably, you are looking for...","place_elements.command":"Add connected elements","select_all.label":"Select all","select_all.title":"Select or unselect all entities","sort_alphabetically.title":"Sort alphabetically","sort_smart.title":"Smart sort"},data_diagram_model:{"add_element.command":"Add element","add_link.command":"Add link","create_links.command":"Create links","group_entities.command":"Group entities","import_layout.command":"Import layout","regroup_relations.command":"Regroup relations","request_entities.command":"Request entity data","request_relations.command":"Request relations between entities","remove_element.command":"Remove element","remove_link.command":"Remove link","ungroup_entities.command":"Ungroup entities"},default_data_locale:{iri:"<{{value}}>",iri_blank:"(blank node)"},default_workspace:{"search_section_entities.label":"Entities","search_section_entities.title":"Entity lookup","search_section_entity_types.label":"Types","search_section_entity_types.title":"Entity type hierarchy","search_section_link_types.label":"Links","search_section_link_types.title":"Relation types on the diagram"},drop_on_canvas:{"drop.command":"Drag and drop onto diagram"},editor_controller:{"apply_authored_changes.command":"Apply authored changes to the diagram","discard_change.command":"Discard change","entity_add.command":"Create new entity","entity_change.command":"Edit entity","entity_delete.command":"Delete entity","relation_add.command":"Create new relation","relation_change.command":"Edit relation","relation_delete.command":"Delete relation","relation_move_source.command":"Move relation source","relation_move_target.command":"Move relation target","remove_items.command":"Remove diagram items","set_authoring_state.command":"Create, change or delete entities and relations","validate_entity_failed.message":"Failed to validate entity"},forms:{"input_file.drag_hint":"Drag files over or","input_file.remove_value.title":"Remove the file","input_file.select_files.label":"Select files","input_list.add_value.title":"Add new property value","input_list.remove_value.title":"Remove the property value"},group_paginator:{"current_page.label":"{{page}} of {{pageCount}}","go_next.title":"Go to the next page","go_previous.title":"Go to the previous page","page_size.title":"Number of items to display per page"},inline_entity:{title:"{{entity}} {{entityIri}}",title_extra:"Types: {{entityTypes}}"},link_action:{"delete_annotation.title":"Remove annotation link","delete_relation.title":"Delete relation","delete_relation.title_disabled":"Cannot delete the relation","edit_relation.title":"Edit relation","edit_relation.title_disabled":"Cannot edit the relation","rename_link.title":"Rename link","move_relation.move_source_title":"Move link source","move_relation.move_target_title":"Move link target","vertex.remove_title":"Remove vertex"},navigator:{"toggle_collapse.title":"Collapse navigator","toggle_expand.title":"Expand navigator"},note_annotation:{"change_text.command":"Change annotation text","style_align_center.title":"Align center","style_align_left.title":"Align left","style_align_right.title":"Align right","style_bold.title":"Bold","style_color_variant.title":"Color variant: {{variant}}","style_italic.title":"Italic","style_strikethrough.title":"Strikethrough","style_underline.title":"Underline"},overlay_controller:{multiple_tasks_in_progress:"Multiple tasks are in progress",unknown_error:"Unknown error occurred"},search_defaults:{empty_input_term:"Input a term to search.","input.placeholder":"Search for...","input_clear.title":"Clear the search","input_submit.title":"Search",input_term_too_short:"Input at least {{termLength}} characters to search.",no_results:"No results found."},search_element_types:{"drag_create.title":"Click or drag to create new entity of this type","input.placeholder":null,no_results:"No element types found.","refresh_progress.title":"Loading element type tree",show_only_creatable:"Show only constructible"},search_entities:{"add_group.label":"Add as group","add_group.title":"Place selected entities on the canvas as a group","add_selected.label":"Add selected","add_selected.title":"Place selected entities on the canvas",criteria_has_type:"Has type {{entityType}}",criteria_connected:"Connected to {{entity}}",criteria_connected_via:"Connected to {{entity}} through {{relationType}}",criteria_connected_to_source:"Connected to {{entity}} through {{relationType}} as {{sourceIcon}} source",criteria_connected_to_target:"Connected to {{entity}} through {{relationType}} as {{targetIcon}} target","input.placeholder":null,"place_elements.command":"Add selected elements","query_progress.title":"Querying for entities","show_more_results.label":"Show more","show_more_results.title":"Load more results"},search_link_types:{"add_to_filter.title":"Search for connected elements via the relation",heading_connected:"Connected to selected entities",heading_connected_single:"Connected to {{entity}}",heading_other:"Other links","input.placeholder":null,no_results:"No links found.","switch.command":"Change link types visibility","switch_all.label":"Switch all","switch_hidden.title":"Hide links and labels","switch_visible.title":"Show links with labels","switch_without_label.title":"Show only lines for links (without labels)"},selection_action:{"add_to_filter.title":"Search for connected elements","anchor.title":"Jump to resource","annotate.defaultContent":"Annotation","annotate.title":"Add annotation to this element","connections.title":"Navigate to connected elements","expand.collapse_command":"Collapse elements","expand.expand_command":"Expand elements","expand.title":"Expand selected elements to reveal additional properties","expand.title_single":"Expand an element to reveal additional properties","establish_relation.title":"Establish link","establish_relation.title_disabled":"Establishing link is not allowed for the element","group.title":"Group entities","group.title_ungroup":"Ungroup entities","layout.title":"Layout selected elements using force-directed algorithm","remove.title":"Remove selected elements from the diagram","remove.title_new":"Discard new element","remove.title_single":"Remove an element from the diagram","zoom_to_fit.title":"Zoom to fit selected elements into view"},standard_element:{blank_node:"(blank node)",default_type:"Thing","delete.label":"Delete","delete.title":"Delete entity","delete.title_disabled":"Cannot delete the entity","edit.label":"Edit","edit.title":"Edit entity","edit.title_disabled":"Cannot edit the entity","group_item.title":"{{entity}}\nIRI:{{entityIri}}\nTypes: {{entityTypes}}","iri.label":"IRI:","iri.label_modified":"IRI (edited):",no_properties:"no properties","property.title":"{{property}} {{propertyIri}}","ungroup.title":"Ungroup an entity"},standard_link:{"group_source.title":"{{value}} source elements","group_source.value":"{{value}}","group_target.title":"{{value}} target elements","group_target.value":"{{value}}","label.title":"{{relation}} {{relationIri}}","property.title":"{{property}} {{propertyIri}}"},toolbar:{"menu_toggle.title":"Open menu"},toolbar_action:{"clear_all.command":"Clear all","clear_all.title":"Remove all elements and links from the diagram","clear_all.label":"Clear All","export_print.label":"Print","export_print.title":"Print the diagram","export_raster.label":"Export as PNG","export_raster.title":"Export the diagram as a PNG image","export_svg.label":"Export as SVG","export_svg.title":"Export the diagram as an SVG image","redo.label":"Redo","redo.title":"Redo last undone command","redo.title_named":"Redo: {{command}}","save_authoring.title":"Apply authored graph changes","save_layout.title":"Save diagram layout","language_selector.title":"Select language for the data (labels, properties, etc)","layout.label":"Layout","layout.title":"Layout diagram using force-directed algorithm","undo.label":"Undo","undo.title":"Undo last command","undo.title_named":"Undo: {{command}}"},unified_search:{"input.placeholder":null,"input_clear.title":"Clear","input_collapse.title":"Close"},visual_authoring:{"dialog.apply.label":"Apply","dialog.apply.title":"Apply changes","dialog.cancel.label":"Cancel","dialog.cancel.title":"Cancel the dialog","edit_entity.dialog.apply.label":null,"edit_entity.dialog.apply.title":null,"edit_entity.dialog.caption":"Edit entity","edit_entity.iri.label":"IRI","edit_entity.iri.placeholder":"Entity IRI","edit_relation.dialog.apply.label":null,"edit_relation.dialog.apply.title":null,"edit_relation.dialog.caption":"Edit relation","edit_relation.dialog.caption_new":"Establish new relation","edit_relation.validation_progress.title":"Validating selected link type","find_or_create.connect_command":"Link to an entity","find_or_create.create_command":"Create new entity","find_or_create.dialog.apply.label":null,"find_or_create.dialog.apply.title":null,"find_or_create.dialog.caption":"Establish New Connection","find_or_create.loading.label":"Loading entity...","find_or_create.validation_progress.title":"Validating selected element and link types","property.label":"{{property}}","property.text_value.placeholder":"Property value","property.title":"{{property}} {{propertyIri}}","rename_link.dialog.apply.label":null,"rename_link.dialog.apply.title":null,"rename_link.dialog.caption":"Rename Link","rename_link.label.label":"Label","select_entity.entity_type.label":"{{type}}","select_entity.input.placeholder":null,"select_entity.type.label":"Entity Type","select_entity.type.placeholder":"Select entity type","select_entity.results.aria_label":"Select an existing element to put on a diagram","select_entity.separator.label":"or create new entity","select_entity.validation.error_required":"Required.","select_relation.relation_type.label":"{{relation}} [{{source}} → {{target}}]","select_relation.type.label":"Relation Type","select_relation.type.placeholder":"Select relation type","select_relation.validation.error_duplicate":"The relation already exists.","select_relation.validation.error_required":"Required."},workspace:{"group_entities.command":"Group entities","perform_layout.task":"Computing graph layout","perform_layout.command":"Graph layout","ungroup_entities.command":"Ungroup entities"},workspace_layout:{"toggle_collapse.title":"Collapse panel","toggle_expand.title":"Expand panel"},zoom_control:{"pointer_mode.title":"Toggle selection mode:\nDrag pointer to select, Shift + Pointer to pan the canvas","zoom_in.title":"Zoom In","zoom_out.title":"Zoom Out","zoom_to_fit.title":"Fit to Screen"}},Ao=class{bundles;_selectLabel;constructor(e){const{bundles:t=[],selectLabel:n=Po}=e??{};this.bundles=t,this._selectLabel=n}getString(e){const t=e.indexOf(".");if(!(t>0&&t<e.length))throw new Error(`Reactodia: Invalid translation key: ${e}`);const n=e.substring(0,t),i=e.substring(t+1);for(const e of this.bundles){const t=Io(e,n,i);if(null!=t)return t}}text(e,t){return this.textOptional(e,t)??e}textOptional(e,t){const n=this.getString(e);if(void 0!==n)return function(e,t){return e.includes("{{")?Vo(e,(e=>t&&Object.prototype.hasOwnProperty.call(t,e)?t[e]??"":"")).join(""):e}(n,t)}template(e,t){return function(e,t){const n=Vo(e,(e=>Object.prototype.hasOwnProperty.call(t,e)?t[e]??null:null));return v.createElement(v.Fragment,null,...n)}(this.getString(e)??e,t)}selectLabel(e,t){const{_selectLabel:n}=this;return n(e,t)}selectValues(e,t){return e.filter((e=>"NamedNode"===e.termType||""===e.language||e.language===t))}formatLabel(e,t,n){return function(e,t){return e?e.value:function(e){let t=e.indexOf("#");if(t<0&&(t=e.lastIndexOf("/")),t<0&&(t=e.lastIndexOf(":")),!(t<0))return e.substring(t+1)}(t)||t}(e?this.selectLabel(e,n):void 0,t)}};function Io(e,t,n){if(!Object.prototype.hasOwnProperty.call(e,t))return;const i=e[t];return"object"==typeof i&&i&&Object.prototype.hasOwnProperty.call(i,n)?i[n]:void 0}function Vo(e,t){const n=[],i=/\{\{([a-zA-Z0-9_]+)\}\}/g;let r,o=0;for(;r=i.exec(e);){const[a,s]=r,l=i.lastIndex-a.length;l!=o&&n.push(e.substring(o,l));const c=t(s);n.push(c),o=i.lastIndex}return o<e.length&&n.push(e.substring(o,e.length)),n}function Po(e,t){if(0===e.length)return;let n,i;for(const r of e){if(r.language===t)return r;""===r.language?n=r:"en"===r.language&&(i=r)}return void 0!==n?n:void 0!==i?i:e[0]}var Ho=v.createContext(null);function Ro(e){const{context:t,layer:n,...i}=e,r=v.useRef(null),o=t.containers[n];return v.useLayoutEffect((()=>{const e=r.current;if(e)return e.appendChild(o),()=>{e.removeChild(o)}}),[r,o]),H.jsx("div",{...i,ref:r,"data-reactodia-place-layer":n})}function Do(e){return e.hasAttribute("data-reactodia-place-layer")}function Bo(e){const{layer:t,children:n}=e,i=v.useContext(Ho);if(!i)throw new Error("Reactodia: <CanvasPlaceAt> should be rendered only inside <Canvas>");if("nested"===i)throw new Error("Reactodia: <CanvasPlaceAt> cannot be nested into another <CanvasPlaceAt>");const r=v.useMemo((()=>H.jsx(Ho.Provider,{value:"nested",children:n})),[n]);return dn.createPortal(r,i.containers[t])}var Oo,jo,Fo,Uo=class{source=new bi;events=this.source;dropOnPaperHandler;_highlighter;defaultElementResolver;defaultLinkResolver;defaultLayout;renameLinkProvider;constructor(e){const{defaultElementResolver:t,defaultLinkResolver:n,defaultLayout:i,renameLinkProvider:r}=e;this.defaultElementResolver=t,this.defaultLinkResolver=n,this.defaultLayout=i,this.renameLinkProvider=r}dispose(){this.source.trigger("dispose",{source:this})}findAllCanvases(){const e={canvases:[]};return this.source.trigger("findCanvas",e),e.canvases}findAnyCanvas(){const e=this.findAllCanvases();return e.length>0?e[0]:void 0}setHandlerForNextDropOnPaper(e){this.dropOnPaperHandler=e}hasHandlerForNextDropOnPaper(){return Boolean(this.dropOnPaperHandler)}tryHandleDropOnPaper(e){const{dropOnPaperHandler:t}=this;return!!t&&(this.dropOnPaperHandler=void 0,e.sourceEvent.preventDefault(),t(e),!0)}get highlighter(){return this._highlighter}setHighlighter(e){const t=this._highlighter;t!==e&&(this._highlighter=e,this.source.trigger("changeHighlight",{source:this,previous:t}))}},qo=class{canRename(e){return!0}getLabel(e){const{linkState:t}=e,n=t.get(pi.CustomLabel);return"string"==typeof n?n:void 0}setLabel(e,t){e.setLinkState(e.linkState.set(pi.CustomLabel,0===t.length?void 0:t))}},Wo=class e extends qr{static fromJSONType="Annotation";static fromJSON(t,n){const{"@id":i,position:r,elementState:o}=t;return new e({id:i,position:r,elementState:n.mapTemplateState(Ci.fromJSON(o))})}toJSON(){return{"@type":"Annotation","@id":this.id,position:this.position,elementState:this.elementState.toJSON()}}},Go=class e extends Gr{static typeId="urn:reactodia:annotates";getTypeId(){return e.typeId}static fromJSONType="AnnotationLink";static fromJSON(t,n){const{"@id":i,vertices:r,linkState:o}=t;return new e({id:i,sourceId:n.source.id,targetId:n.target.id,vertices:r,linkState:n.mapTemplateState(Ci.fromJSON(o)).set(pi.LayoutOnly,void 0)})}toJSON(){return{"@type":"AnnotationLink","@id":this.id,source:{"@id":this.sourceId},target:{"@id":this.targetId},vertices:this.vertices,linkState:this.linkState.toJSON()}}};function Zo(e,t){return e.sourceId===t||e.targetId===t}!function(e){function t(e){return{elements:new Map(e.elements),links:e.links.clone()}}function n(e){switch(e.type){case"entityAdd":case"entityChange":case"entityDelete":return!0;default:return!1}}function i(e,t){return n(t)?e.elements.get(t.data.id)===t:e.links.get(t.data)===t}function r(e,t){const n=e.elements.get(t);return Boolean(n&&"entityAdd"===n.type)}function o(e,t){const n=e.elements.get(t);return Boolean(n&&"entityDelete"===n.type)}function a(e,t){const n=e.links.get(t);return Boolean(n&&"relationAdd"===n.type)}e.empty={elements:new Map,links:new U(Gt,Wt)},e.isEmpty=function(e){return 0===e.elements.size&&0===e.links.size},e.clone=t,e.isEntityEvent=n,e.isLinkEvent=function(e){return!n(e)},e.has=i,e.discard=function(e,r){if(!i(e,r))return e;const o=t(e);if(n(r)){if(o.elements.delete(r.data.id),"entityAdd"===r.type)for(const{data:t}of e.links.values())Zo(t,r.data.id)&&o.links.delete(t)}else o.links.delete(r.data);return o},e.addEntity=function(e,n){const i=t(e);return i.elements.set(n.id,{type:"entityAdd",data:n}),i},e.addRelation=function(e,n){const i=t(e);return i.links.set(n,{type:"relationAdd",data:n}),i},e.changeEntity=function(e,n,i){const r=t(e);r.elements.delete(n.id);const o=e.elements.get(n.id);if(o&&"entityChange"!==o.type&&"entityDelete"!==o.type){if(r.elements.set(i.id,{type:"entityAdd",data:i}),n.id!==i.id)for(const t of e.links.values())if("relationChange"!==t.type&&Zo(t.data,n.id)){const e=(a=t.data,s=n.id,l=i.id,{...a,sourceId:a.sourceId===s?l:a.sourceId,targetId:a.targetId===s?l:a.targetId});r.links.delete(t.data),r.links.set(e,{type:"relationAdd",data:e})}}else{const e=i.id!==n.id;r.elements.set(n.id,{type:"entityChange",before:o&&"entityChange"===o.type?o.before:n,data:e?{...i,id:n.id}:i,newIri:e?i.id:void 0})}var a,s,l;return r},e.changeRelation=function(e,n,i){if(!Wt(n,i))throw new Error("Cannot move link to another element or change its type");const r=t(e),o=e.links.get(n);return r.links.set(n,"relationAdd"===o?.type?{type:"relationAdd",data:i}:{type:"relationChange",before:o&&"relationChange"===o.type?o.before:n,data:i}),r},e.deleteEntity=function(e,n){const i=t(e);i.elements.delete(n.id);for(const{data:t}of e.links.values())Zo(t,n.id)&&i.links.delete(t);return r(e,n.id)||i.elements.set(n.id,{type:"entityDelete",data:n}),i},e.deleteRelation=function(e,n){const i=t(e);return i.links.delete(n),a(e,n)||i.links.set(n,{type:"relationDelete",data:n}),i},e.discardAddedRelations=function(e,n){const i=t(e);for(const t of e.links.values())if("relationAdd"===t.type){const e=t.data;(n.has(e.sourceId)||n.has(e.targetId))&&i.links.delete(e)}return i},e.isAddedEntity=r,e.isDeletedEntity=o,e.hasEntityChangedIri=function(e,t){const n=e.elements.get(t);return Boolean(n&&"entityChange"===n.type&&n.newIri)},e.isAddedRelation=a,e.isDeletedRelation=function(e,t){const n=e.links.get(t);return n&&"relationDelete"===n.type||o(e,t.sourceId)||o(e,t.targetId)}}(Oo||(Oo={})),(Fo=jo||(jo={})).empty={elements:new Set,links:new q(Gt,Wt)},Fo.addEntity=function(e,t){if(e.elements.has(t.id))return e;const n=new Set(e.elements);return n.add(t.id),{...e,elements:n}},Fo.removeEntity=function(e,t){if(!e.elements.has(t.id))return e;const n=new Set(e.elements);return n.delete(t.id),{...e,elements:n}},Fo.addRelation=function(e,t){if(e.links.has(t))return e;const n=e.links.clone();return n.add(t),{...e,links:n}},Fo.removeRelation=function(e,t){if(!e.links.has(t))return e;const n=e.links.clone();return n.delete(t),{...e,links:n}};var Ko="reactodia:connectionsMenu",Xo=class{source=new bi;events=this.source;cellsVersion=Math.floor(Math.random()*Number.MAX_SAFE_INTEGER/2);elements=new St;links=new St;elementLinks=new WeakMap;EMPTY_LINKS=[];linkTypeVisibility=new Map;getCellsVersion(){return this.cellsVersion}getElements(){return this.elements.items}getLinks(){return this.links.items}getLink(e){return this.links.get(e)}getElementLinks(e){return this.elementLinks.get(e)??[]}*iterateLinks(e,t,n){const i=this.getElement(e),r=this.getElement(t);if(!i||!r)return;const o=this.elementLinks.get(i)??this.EMPTY_LINKS,a=this.elementLinks.get(r)??this.EMPTY_LINKS,s=o.length<=a.length?o:a;for(const i of s)i.sourceId!==e||i.targetId!==t||n&&i.typeId!==n||(yield i)}sourceOf(e){return this.getElement(e.sourceId)}targetOf(e){return this.getElement(e.targetId)}reorderElements(e){this.elements.reorder(e),this.incrementCellsVersion()}getElement(e){return this.elements.get(e)}addElement(e){if(this.getElement(e.id))throw new Error(`Element '${e.id}' already exists.`);e.events.onAny(this.onElementEvent),this.elements.push(e.id,e),this.incrementCellsVersion(),this.source.trigger("changeCells",{updateAll:!1,changedElement:e})}onElementEvent=e=>{this.source.trigger("elementEvent",{data:e})};removeElement(e){const t=this.elements.get(e);if(t){const n={silent:!0},i=[...this.getElementLinks(t)];for(const e of i)this.removeLink(e.id,n);this.elements.delete(e),t.events.offAny(this.onElementEvent),this.incrementCellsVersion(),this.source.trigger("changeCells",{updateAll:!1,changedElement:t,changedLinks:i})}}addLink(e){if(this.getLink(e.id))throw new Error(`Link already exists: ${e.id}`);const t=this.sourceOf(e);if(!t)throw new Error(`Link source not found: ${e.sourceId}`);const n=this.targetOf(e);if(!n)throw new Error(`Link target not found: ${e.targetId}`);let i=this.elementLinks.get(t);if(i||(i=[],this.elementLinks.set(t,i)),i.push(e),e.sourceId!==e.targetId){let t=this.elementLinks.get(n);t||(t=[],this.elementLinks.set(n,t)),t.push(e)}e.events.onAny(this.onLinkEvent),this.links.push(e.id,e),this.incrementCellsVersion(),this.source.trigger("changeCells",{updateAll:!1,changedLinks:[e]})}onLinkEvent=e=>{this.source.trigger("linkEvent",{data:e})};removeLink(e,t){const n=this.links.delete(e);n&&(n.events.offAny(this.onLinkEvent),this.removeLinkReferences(n),this.incrementCellsVersion(),t&&t.silent||this.source.trigger("changeCells",{updateAll:!1,changedLinks:[n]}))}removeLinkReferences(e){const t=this.getElement(e.sourceId);if(t){const n=this.elementLinks.get(t);n&&(Qo(n,e),0===n.length&&this.elementLinks.delete(t))}const n=this.getElement(e.targetId);if(n){const t=this.elementLinks.get(n);t&&(Qo(t,e),0===t.length&&this.elementLinks.delete(n))}}incrementCellsVersion(){this.cellsVersion=this.cellsVersion+1,this.cellsVersion>=Number.MAX_SAFE_INTEGER&&(this.cellsVersion=1)}get linkVisibility(){return this.linkTypeVisibility}getLinkVisibility(e){return this.linkTypeVisibility.get(e)??"visible"}setLinkVisibility(e,t){const n=this.getLinkVisibility(e);t!==n&&(this.linkTypeVisibility.set(e,t),this.source.trigger("changeLinkVisibility",{source:e,previous:n}))}};function Qo(e,t){const n=e.indexOf(t);n>=0&&e.splice(n,1)}var Yo=Symbol("DiagramModel.getGraph"),Jo=class{source=new bi;events=this.source;_language="en";_selection=[];graph=new Xo;graphListener=new wi;history;constructor(e){const{history:t}=e;this.history=t}[Yo](){return this.graph}get language(){return this._language}setLanguage(e){if(!e)throw new Error("Reactodia: cannot set empty language");const t=this._language;t!==e&&(this._language=e,this.source.trigger("changeLanguage",{source:this,previous:t}))}get selection(){return this._selection}setSelection(e){const t=this._selection;if(t===e)return;const n=Array.from(e),i=n.filter((e=>e instanceof qr));this.bringElements(i,"front"),this._selection=n,this.source.trigger("changeSelection",{source:this,previous:t})}get factory(){return this.getTermFactory()}get cellsVersion(){return this.graph.getCellsVersion()}get elements(){return this.graph.getElements()}get links(){return this.graph.getLinks()}getTermFactory(){return Bt}getElement(e){return this.graph.getElement(e)}getElementLinks(e){return this.graph.getElementLinks(e)}getLink(e){return this.graph.getLink(e)}findLink(e,t,n){for(const i of this.graph.iterateLinks(t,n,e))return i}sourceOf(e){return this.getElement(e.sourceId)}targetOf(e){return this.getElement(e.targetId)}getLinkVisibility(e){return this.graph.getLinkVisibility(e)}setLinkVisibility(e,t){this.graph.setLinkVisibility(e,t)}resetGraph(){this.graphListener&&(this.graphListener.stopListening(),this.graphListener=new wi),this.graph=new Xo,this._selection=[],this.source.trigger("discardGraph",{source:this})}subscribeGraph(){this.graphListener.listen(this.graph.events,"changeCells",(e=>{this.triggerChangeCells(e)})),this.graphListener.listen(this.graph.events,"elementEvent",(e=>{this.triggerElementEvent(e)})),this.graphListener.listen(this.graph.events,"linkEvent",(e=>{this.triggerLinkEvent(e)})),this.graphListener.listen(this.graph.events,"changeLinkVisibility",(e=>{this.source.trigger("changeLinkVisibility",e)})),this.triggerChangeCells({updateAll:!0})}triggerChangeCells(e){if(this.selection.length>0){const e=this.selection.filter((e=>e instanceof qr?this.getElement(e.id):e instanceof Gr&&this.getLink(e.id)));e.length<this.selection.length&&this.setSelection(e)}this.source.trigger("changeCells",e)}triggerElementEvent(e){this.source.trigger("elementEvent",e)}triggerLinkEvent(e){this.source.trigger("linkEvent",e)}reorderElements(e){this.graph.reorderElements(e),this.source.trigger("changeCellOrder",{source:this})}bringElements(e,t){0!==e.length&&this.reorderElements(function(e,t,n){const i=new Map,r=("start"===n?-1:1)*e.length;e.forEach(((e,t)=>{i.set(e,t)}));for(const e of t)i.set(e,r+i.get(e));return(e,t)=>{const n=i.get(e),r=i.get(t);return n>r?1:n<r?-1:0}}(this.elements,e,"front"===t?"end":"start"))}addElement(e){this.history.execute(new ea(this,e,[]))}removeElement(e){const t=this.getElement(e);t&&this.history.execute(new ta(this,t))}addLink(e){this.history.execute(new na(this,e))}removeLink(e){const t=this.graph.getLink(e);t&&this.history.execute(new ia(this,t))}},ea=class{model;element;connectedLinks;constructor(e,t,n){this.model=e,this.element=t,this.connectedLinks=n}get title(){return Ht.text("data_diagram_model.add_element.command")}invoke(){const{model:e,element:t,connectedLinks:n}=this,i=e[Yo]();i.addElement(t);for(const e of n)i.getLink(e.id)||i.addLink(e);return new ta(e,t)}},ta=class{model;element;constructor(e,t){this.model=e,this.element=t}get title(){return Ht.text("data_diagram_model.remove_element.command")}invoke(){const{model:e,element:t}=this,n=e[Yo](),i=[...n.getElementLinks(t)];return n.removeElement(t.id),new ea(e,t,i)}},na=class{model;link;constructor(e,t){this.model=e,this.link=t}get title(){return Ht.text("data_diagram_model.add_link.command")}invoke(){const{model:e,link:t}=this;return e[Yo]().addLink(t),new ia(e,t)}},ia=class{model;link;constructor(e,t){this.model=e,this.link=t}get title(){return Ht.text("data_diagram_model.remove_link.command")}invoke(){const{model:e,link:t}=this;return e[Yo]().removeLink(t.id),new na(e,t)}},ra=class e extends qr{_data;constructor(e){super(e),this._data=e.data}static placeholderData(e){return{id:e,types:[],properties:{[ki]:[]}}}static isPlaceholderData(e){return Object.prototype.hasOwnProperty.call(e.properties,"urn:reactodia:isPlaceholder")&&void 0!==e.properties["urn:reactodia:isPlaceholder"]}get entitySource(){return this.source}get iri(){return this._data.id}get data(){return this._data}setData(e){const t=this._data;t!==e&&(this._data=e,this.entitySource.trigger("changeData",{source:this,previous:t}),this.entitySource.trigger("requestedRedraw",{source:this,level:"template"}))}static fromJSONType="Element";static fromJSON(t,n){const{"@id":i,iri:r,position:o,isExpanded:a,elementState:s}=t;if(r)return new e({id:i,data:n.getInitialData(r)??e.placeholderData(r),position:o,expanded:a,elementState:n.mapTemplateState(Ci.fromJSON(s))})}toJSON(){return{"@type":"Element","@id":this.id,iri:this.iri,position:this.position,elementState:this.elementState.toJSON()}}},oa=class e extends qr{_items;_itemIris=new Set;constructor(e){super(e),this._items=e.items??[],this.updateItemIris()}get entitySource(){return this.source}get items(){return this._items}setItems(e){const t=this._items;t!==e&&(this._items=e,this.updateItemIris(),this.entitySource.trigger("changeItems",{source:this,previous:t}),this.entitySource.trigger("requestedRedraw",{source:this,level:"template"}))}get itemIris(){return this._itemIris}updateItemIris(){this._itemIris.clear();for(const e of this._items)this._itemIris.add(e.data.id)}static fromJSONType="ElementGroup";static fromJSON(t,n){const{"@id":i,items:r,position:o,elementState:a}=t,s=[];for(const e of r){const t=n.getInitialData(e.iri);s.push({data:t??ra.placeholderData(e.iri),elementState:n.mapTemplateState(Ci.fromJSON(e.elementState))})}return new e({id:i,items:s,position:o,elementState:Ci.fromJSON(a)})}toJSON(){return{"@type":"ElementGroup","@id":this.id,items:this.items.map((e=>({"@type":"ElementItem",iri:e.data.id,elementState:e.elementState?.toJSON()}))),position:this.position,elementState:this.elementState.toJSON()}}};function aa(e,t){return Lr.create(Ht.text("commands.set_entity_group_items.title"),(()=>{const n=e.items;return e.setItems(t),aa(e,n)}))}function*sa(e){if(e instanceof ra)yield e.data;else if(e instanceof oa)for(const t of e.items)yield t.data}var la=class e extends Gr{_data;constructor(e){super(e),this._data=e.data}get relationSource(){return this.source}getTypeId(){return this._data.linkTypeId}get data(){return this._data}setData(e){const t=this._data;t!==e&&(this._data=e,this.relationSource.trigger("changeData",{source:this,previous:t}),this.relationSource.trigger("requestedRedraw",{source:this}))}withDirection(t){if(t.sourceId!==this.data.sourceId&&t.sourceId!==this.data.targetId)throw new Error("New link source IRI is unrelated to original link");if(t.targetId!==this.data.sourceId&&t.targetId!==this.data.targetId)throw new Error("New link target IRI is unrelated to original link");return new e({sourceId:t.sourceId===this.data.sourceId?this.sourceId:this.targetId,targetId:t.targetId===this.data.targetId?this.targetId:this.sourceId,data:t})}static fromJSONType="Link";static fromJSON(t,n){const{"@id":i,property:r,vertices:o,linkState:a}=t,{source:s,target:l}=n,c=t.sourceIri??(s instanceof ra?s.data.id:void 0),d=t.targetIri??(l instanceof ra?l.data.id:void 0);if(c&&d){const t={linkTypeId:r,sourceId:c,targetId:d,properties:{}},u=n.getInitialData(t);return new e({id:i,sourceId:s.id,targetId:l.id,data:u??t,vertices:o,linkState:n.mapTemplateState(Ci.fromJSON(a))})}}toJSON(){return{"@type":"Link","@id":this.id,property:this.typeId,source:{"@id":this.sourceId},target:{"@id":this.targetId},sourceIri:this.data.sourceId,targetIri:this.data.targetId,vertices:[...this.vertices],linkState:this.linkState.toJSON()}}};function ca(e,t){return Lr.create(Ht.text("commands.set_relation_data.title"),(()=>{const n=e.data;return e.setData(t),ca(e,n)}))}var da=class e extends Gr{_typeId;_items;_itemKeys=new q(Gt,Wt);_sources=new Set;_targets=new Set;constructor(e){super(e),this._typeId=e.typeId,this._items=e.items??[],this.updateItemKeys()}get relationSource(){return this.source}getTypeId(){return this._typeId}get items(){return this._items}setItems(e){for(const t of e)if(t.data.linkTypeId!==this._typeId)throw new Error("RelationGroup should have only items with same type IRI");const t=this._items;t!==e&&(this._items=e,this.updateItemKeys(),this.relationSource.trigger("changeItems",{source:this,previous:t}),this.relationSource.trigger("requestedRedraw",{source:this}))}get itemKeys(){return this._itemKeys}get itemSources(){return this._sources}get itemTargets(){return this._targets}updateItemKeys(){this._itemKeys.clear(),this._sources.clear(),this._targets.clear();for(const e of this._items)this._itemKeys.add(e.data),this._sources.add(e.data.sourceId),this._targets.add(e.data.targetId)}static fromJSONType="LinkGroup";static fromJSON(t,n){const{"@id":i,property:r,vertices:o,linkState:a}=t,{source:s,target:l}=n,c=[];for(const e of t.items){const i={linkTypeId:t.property,sourceId:e.sourceIri,targetId:e.targetIri,properties:{}},r=n.getInitialData(i);c.push({data:r??i,linkState:n.mapTemplateState(Ci.fromJSON(e.linkState))})}return new e({id:i,typeId:r,sourceId:s.id,targetId:l.id,items:c,vertices:o,linkState:n.mapTemplateState(Ci.fromJSON(a)).set(pi.LayoutOnly,void 0)})}toJSON(){return{"@type":"LinkGroup","@id":this.id,property:this.typeId,source:{"@id":this.sourceId},target:{"@id":this.targetId},items:this.items.map((e=>({"@type":"LinkItem",sourceIri:e.data.sourceId,targetIri:e.data.targetId,linkState:e.linkState?.toJSON()}))),vertices:[...this.vertices],linkState:this.linkState.toJSON()}}};function ua(e,t){return Lr.create(Ht.text("commands.set_relation_group_items.title"),(()=>{const n=e.items;return e.setItems(t),ua(e,n)}))}function*ha(e){if(e instanceof la)yield e.data;else if(e instanceof da)for(const t of e.items)yield t.data}var fa=class{source=new bi;events=this.source;id;_data;constructor(e){const{id:t,data:n}=e;this.id=t,this.setData(n)}get data(){return this._data}setData(e){if(e&&e.id!==this.id)throw new Error("ElementTypeModel.id does not match ElementType.id");const t=this._data;t!==e&&(this._data=e,this.source.trigger("changeData",{source:this,previous:t}))}},pa=class{source=new bi;events=this.source;id;_data;constructor(e){const{id:t,data:n}=e;this.id=t,this.setData(n)}get data(){return this._data}setData(e){if(e&&e.id!==this.id)throw new Error("PropertyTypeModel.id does not match PropertyType.id");const t=this._data;t!==e&&(this._data=e,this.source.trigger("changeData",{source:this,previous:t}))}},ga=class{source=new bi;events=this.source;id;_data;constructor(e){const{id:t,data:n}=e;this.id=t,this.setData(n)}get data(){return this._data}setData(e){if(e&&e.id!==this.id)throw new Error("LinkTypeModel.id does not match LinkType.id");const t=this._data;t!==e&&(this._data=e,this.source.trigger("changeData",{source:this,previous:t}))}};function va(e,t,n){const i=Lr.create(Ht.text("commands.change_entity.title"),(()=>{const r=t,o=n.id,a=new Map,s=new Map,l=new Map,c=new Map,d=t=>{for(const n of e.getElementLinks(t))if(n instanceof la)l.set(n,n.data),n.setData(ma(n.data,r,o));else if(n instanceof da&&(n.itemSources.has(r)||n.itemTargets.has(r))){c.set(n,n.items);const e=n.items.map((e=>({...e,data:ma(e.data,r,o)})));n.setItems(e)}};for(const i of e.elements)if(i instanceof ra)i.iri===t&&(a.set(i,i.data),i.setData(n),d(i));else if(i instanceof oa&&i.itemIris.has(t)){s.set(i,i.items);const e=i.items.map((e=>e.data.id===t?{...e,data:n}:e));i.setItems(e),d(i)}return Lr.create(Ht.text("commands.change_entity.title"),(()=>{for(const[e,t]of a)e.setData(t);for(const[e,t]of s)e.setItems(t);for(const[e,t]of l)e.setData(t);for(const[e,t]of c)e.setItems(t);return i}))}));return i}function ma(e,t,n){let i=e;return i.sourceId===t&&(i={...i,sourceId:n}),i.targetId===t&&(i={...i,targetId:n}),i}function ba(e,t,n){if(!Wt(t,n))throw new Error("Cannot change typeId, sourceId or targetId when changing link data");return Lr.create(Ht.text("commands.change_relation.title"),(()=>{for(const i of e.links)i instanceof la&&Wt(i.data,t)&&i.setData(n);return ba(e,n,t)}))}var wa=class{graph;dataGraph;dataProvider;source=new bi;events=this.source;cancellation=new AbortController;_operations=[];_failReasons=new Map;elementTypeQueue=new _i((e=>{const t={type:"elementType",targets:new Set(e)},n=this.dataProvider.elementTypes({classIds:e,signal:this.signal}).then(this.onElementTypesLoaded);this.addOperation(t,n)}));linkTypeQueue=new _i((e=>{const t={type:"linkType",targets:new Set(e)},n=this.dataProvider.linkTypes({linkTypeIds:e,signal:this.signal}).then(this.onLinkTypesLoaded);this.addOperation(t,n)}));propertyTypeQueue=new _i((e=>{const t={type:"propertyType",targets:new Set(e)},n=this.dataProvider.propertyTypes({propertyIds:e,signal:this.signal}).then(this.onPropertyTypesLoaded);this.addOperation(t,n)}));constructor(e,t,n){this.graph=e,this.dataGraph=t,this.dataProvider=n}get signal(){return this.cancellation.signal}dispose(){this.cancellation.abort()}get operations(){return this._operations}getFailReason(e,t){return this._failReasons.get(e)?.get(t)}addOperation(e,t){const n=this._operations,i=[...n,e];t.then((()=>this.onOperationComplete(e)),(t=>this.onOperationComplete(e,t))),this._operations=i,this.source.trigger("changeOperations",{previous:n})}onOperationComplete(e,t){const n=this._operations,i=n.indexOf(e);if(i>=0){const e=[...n];e.splice(i,1),this._operations=e}switch(e.type){case"element":case"elementType":case"linkType":case"propertyType":{const n=this.ensureFailReasons(e.type);for(const i of e.targets)n.set(i,t)}}(this._operations!==n||t)&&this.source.trigger("changeOperations",{previous:n,fail:t?{operation:e,error:t}:void 0})}ensureFailReasons(e){let t=this._failReasons.get(e);return t||(t=new Map,this._failReasons.set(e,t)),t}fetchElementData(e){if(0===e.size)return Promise.resolve();const t={type:"element",targets:e},n=this.dataProvider.elements({elementIds:Array.from(e),signal:this.signal}).then((t=>this.onElementInfoLoaded(e,t)));return this.addOperation(t,n),n}onElementInfoLoaded(e,t){for(const n of this.graph.getElements())if(n instanceof ra){const i=t.get(n.iri);i?n.setData(i):e.has(n.iri)&&n.setData(ya(n.data))}else if(n instanceof oa){let i=!1;for(const t of n.items)e.has(t.data.id)&&(i=!0);if(i){const e=n.items.map((e=>{const n=t.get(e.data.id)??ya(e.data);return n===e.data?e:{...e,data:n}}));n.setItems(e)}}}fetchLinks(e,t,n){const i=this.dataProvider.links({primary:e,secondary:t,linkTypeIds:n});return this.addOperation({type:"link"},i),i}fetchElementType(e){this.elementTypeQueue.push(e.id)}onElementTypesLoaded=e=>{for(const t of e.values()){const e=this.dataGraph.getElementType(t.id);e&&e.setData(t)}};fetchLinkType(e){this.linkTypeQueue.push(e.id)}onLinkTypesLoaded=e=>{for(const t of e.values()){const e=this.dataGraph.getLinkType(t.id);e&&e.setData(t)}};fetchPropertyType(e){this.propertyTypeQueue.push(e.id)}onPropertyTypesLoaded=e=>{for(const t of e.values()){const e=this.dataGraph.getPropertyType(t.id);e&&e.setData(t)}}};function ya(e){if(ra.isPlaceholderData(e)){const{[ki]:t,...n}=e.properties;return{...e,properties:n}}return e}function _a(){return{"@context":"https://ontodia.org/context/v1.json","@type":"Diagram",layoutData:{"@type":"Layout",elements:[],links:[]},linkTypeOptions:[]}}function ka(e,t){const n=[];for(const t of e)if(Sa(t)){const e=t.toJSON();Ca(e)&&n.push(e)}const i=[];for(const e of t)if(Sa(e)){const t=e.toJSON();Ca(t)&&i.push(t)}return{"@type":"Layout",elements:n,links:i}}function xa(e,t){return e.set(pi.LayoutOnly,!!t||void 0)}function Sa(e){return Boolean("function"==typeof e.toJSON)}function Ca(e){return"object"==typeof e&&e&&"string"==typeof e["@type"]}var La,Ma=class{source=new bi;events=this.source;classesById=new Map;propertiesById=new Map;linkTypes=new Map;getLinkType(e){return this.linkTypes.get(e)}addLinkType(e){if(this.getLinkType(e.id))throw new Error(`Link type already exists: ${e.id}`);e.events.onAny(this.onLinkTypeEvent),this.linkTypes.set(e.id,e)}onLinkTypeEvent=e=>{this.source.trigger("linkTypeEvent",{data:e})};getPropertyType(e){return this.propertiesById.get(e)}addPropertyType(e){if(this.getPropertyType(e.id))throw new Error(`Property type already exists: ${e.id}`);e.events.onAny(this.onPropertyTypeEvent),this.propertiesById.set(e.id,e)}onPropertyTypeEvent=e=>{this.source.trigger("propertyTypeEvent",{data:e})};getElementType(e){return this.classesById.get(e)}getElementTypes(){const e=[];return this.classesById.forEach((t=>e.push(t))),e}addElementType(e){if(this.getElementType(e.id))throw new Error(`Element type already exists: ${e.id}`);e.events.onAny(this.onElementTypeEvent),this.classesById.set(e.id,e)}onElementTypeEvent=e=>{this.source.trigger("elementTypeEvent",{data:e})}},Ea=class extends Jo{translation;dataGraph=new Ma;loadingScope;_dataProvider;_locale;fetcher;discardingTask=Promise.resolve();constructor(e){super(e),this.translation=e.translation,this._dataProvider=new zi,this.fetcher=new wa(this.graph,this.dataGraph,this._dataProvider),this._locale=new Jt({model:this,translation:this.translation}),this.subscribeGraph()}get extendedSource(){return this.source}get dataProvider(){return this._dataProvider}getTermFactory(){return this._dataProvider.factory}get locale(){return this._locale}get operations(){return this.fetcher.operations}getOperationFailReason(e,t){return this.fetcher.getFailReason(e,t)}resetGraph(){this.dataGraph=new Ma,super.resetGraph(),this.loadingScope?.abort(),this.fetcher.dispose()}subscribeGraph(){this.graphListener.listen(this.dataGraph.events,"elementTypeEvent",(e=>{this.extendedSource.trigger("elementTypeEvent",e)})),this.graphListener.listen(this.dataGraph.events,"linkTypeEvent",(e=>{this.extendedSource.trigger("linkTypeEvent",e)})),this.graphListener.listen(this.dataGraph.events,"propertyTypeEvent",(e=>{this.extendedSource.trigger("propertyTypeEvent",e)})),super.subscribeGraph()}setDataProvider(e){this._dataProvider=e,this.fetcher=new wa(this.graph,this.dataGraph,e),this.graphListener.listen(this.fetcher.events,"changeOperations",(e=>{this.extendedSource.trigger("changeOperations",e)}))}async createNewDiagram(e){const{dataProvider:t,signal:n}=e;return this.importLayout({dataProvider:t,signal:n})}async importLayout(e){const{dataProvider:t,locale:n,diagram:i=_a(),elementCellTypes:r=[ra,oa,Wo],linkCellTypes:o=[la,da,Go],preloadedElements:a,preloadedLinks:s,validateLinks:l=!1,hideUnusedLinkTypes:c=!1,signal:d}=e;await this.discardingTask,this.resetGraph(),this.setDataProvider(t),this._locale=n??new Jt({model:this,translation:this.translation});const u=new AbortController;this.loadingScope=u;const h=()=>u.abort();this.extendedSource.trigger("loadingStart",{source:this});const f=this.loadingScope.signal;try{if(d?.addEventListener("abort",h),f.throwIfAborted(),this.setLinkSettings(i.linkTypeOptions??[]),this.createGraphElements({diagram:i,elementCellTypes:r,linkCellTypes:o,preloadedElements:a,preloadedLinks:s,markLinksAsLayoutOnly:l}),c){const e=await this.dataProvider.knownLinkTypes({signal:f});f.throwIfAborted();const t=this.initLinkTypes(e);this.hideUnusedLinkTypes(t)}this.subscribeGraph();const t=[];for(const e of this.graph.getElements())for(const n of sa(e))a&&a.has(n.id)||t.push(n.id);const n=this.requestElementData(t),u=e.validateLinks?this.requestLinks():Promise.resolve();await Promise.all([n,u]),this.history.reset(),this.extendedSource.trigger("loadingSuccess",{source:this})}catch(e){throw this.extendedSource.trigger("loadingError",{source:this,error:e}),new Error("Reactodia: failed to import a layout",{cause:e})}finally{d?.removeEventListener("abort",h),this.loadingScope?.abort(),this.loadingScope=void 0}}discardLayout(){const e=this.discardingTask;this.discardingTask=Promise.resolve().then((async()=>{await e,this.resetGraph(),this.setDataProvider(new zi),this.extendedSource.trigger("loadingStart",{source:this}),this.subscribeGraph(),this.history.reset(),this.extendedSource.trigger("loadingSuccess",{source:this})})).catch((e=>{console.warn("Error while discarding a layout",e)}))}exportLayout(){const e=new Set(this.graph.getLinks().filter((e=>e instanceof la||e instanceof da)).map((e=>e.typeId))),t=new Map;for(const n of e)t.set(n,this.getLinkVisibility(n));return function(e){const{elements:t,links:n,linkTypeVisibility:i}=e;let r;if(i){r=[];for(const[e,t]of i)"visible"!==t&&"urn:reactodia:newLink"!==e&&r.push({"@type":"LinkTypeOptions",property:e,visible:"hidden"!==t,showLabel:"withoutLabel"!==t})}return{..._a(),layoutData:ka(t,n),linkTypeOptions:r}}({elements:this.graph.getElements(),links:this.graph.getLinks(),linkTypeVisibility:t})}initLinkTypes(e){const t=[];for(const n of e){const e=new ga({id:n.id,data:n});this.dataGraph.addLinkType(e),t.push(e)}return t}setLinkSettings(e){for(const t of e){const{visible:e=!0,showLabel:n=!0}=t;this.setLinkVisibility(t.property,e&&n?"visible":e&&!n?"withoutLabel":"hidden")}}createGraphElements(e){const{diagram:t,elementCellTypes:n,linkCellTypes:i,preloadedElements:r,preloadedLinks:o,markLinksAsLayoutOnly:a}=e,{elements:s,links:l,linkTypeVisibility:c}=function(e,t){const{layoutData:n,linkTypeOptions:i}=e,r=new Map;if(i)for(const e of i){const{visible:t=!0,showLabel:n=!0}=e;r.set(e.property,t&&n?"visible":t&&!n?"withoutLabel":"hidden")}const{elements:o,links:a}=function(e,t){const{preloadedElements:n,preloadedLinks:i,markLinksAsLayoutOnly:r=!1}=t,o=new Map;for(const e of t.elementCellTypes)o.set(e.fromJSONType,e);const a={getInitialData:e=>n?.get(e),mapTemplateState:e=>e},s=new Map;for(const e of t.linkCellTypes)s.set(e.fromJSONType,e);const l=e=>i?.get(e),c=e=>xa(e,r),d=new Map,u=[];for(const t of e.elements){const e=o.get(t["@type"]);if(e){const n=e.fromJSON(t,a);n&&d.set(n.id,n)}}for(const t of e.links){const{source:e,target:n}=t,i=d.get(e["@id"]),r=d.get(n["@id"]);if(!i||!r)continue;const o=s.get(t["@type"]);if(o){const e=o.fromJSON(t,{source:i,target:r,getInitialData:l,mapTemplateState:c});e&&u.push(e)}}return{elements:Array.from(d.values()),links:u}}(n,t);return{elements:o,links:a,linkTypeVisibility:r}}(t,{elementCellTypes:n,linkCellTypes:i,preloadedElements:r,preloadedLinks:o,markLinksAsLayoutOnly:a}),d=this.history.startBatch(Ht.text("data_diagram_model.import_layout.command"));for(const[e,t]of c)this.setLinkVisibility(e,t);for(const e of l)(e instanceof la||e instanceof da)&&this.createLinkType(e.typeId);for(const e of s)this.addElement(e);for(const e of l)this.addLink(e);d.store()}hideUnusedLinkTypes(e){const t=new Set;for(const e of this.graph.getLinks())(e instanceof la||e instanceof da)&&t.add(e.typeId);for(const n of e)t.has(n.id)||this.setLinkVisibility(n.id,"hidden")}async requestData(){const e=new Set;for(const t of this.elements)for(const n of sa(t))ra.isPlaceholderData(n)&&e.add(n.id);const t=Array.from(e);await Promise.all([this.fetcher.fetchElementData(e),this.requestLinks({addedElements:t})])}requestElementData(e){return this.fetcher.fetchElementData(new Set(e))}requestLinks(e={}){const{addedElements:t,linkTypes:n}=e,i=[];for(const e of this.graph.getElements())for(const t of sa(e))i.push(t.id);const r=t??i;return 0===i.length||0===r.length?Promise.resolve():this.fetcher.fetchLinks(i,r,n).then((e=>this.onLinkInfoLoaded(e)))}requestLinksOfType(e){return this.requestLinks({linkTypes:e})}createElement(e){const t="string"==typeof e?e:e.id,n=this.elements.filter((e=>e instanceof ra&&e.iri===t));if(n.length>0)return n[0];let i="string"==typeof e?ra.placeholderData(t):e;i={...i,id:i.id};const r=new ra({data:i});return this.addElement(r),r}onLinkInfoLoaded(e){let t;const n=()=>{t=!1},i=this.history.startBatch();for(const i of e)t=!0,this.extendedSource.trigger("createLoadedLink",{source:this,model:i,cancel:n}),t&&this.createLinks(i);i.discard()}createLinks(e){const t=this.graph.getElements().filter((t=>t instanceof ra&&t.iri===e.sourceId||t instanceof oa&&t.itemIris.has(e.sourceId))),n=this.graph.getElements().filter((t=>t instanceof ra&&t.iri===e.targetId||t instanceof oa&&t.itemIris.has(e.targetId))),i=this.history.startBatch(Ht.text("data_diagram_model.create_links.command")),r=[];for(const i of t)for(const t of n){const n=this.createRelation(i,t,e);r.push(n)}return i.store(),r}createRelation(e,t,n){const i=Array.from(this.graph.iterateLinks(e.id,t.id,n.linkTypeId));for(const e of i){if(e instanceof la&&Wt(e.data,n))return this.history.execute(jr(e,xa(e.linkState,!1))),this.history.execute(ca(e,n)),e;if(e instanceof da&&e.itemKeys.has(n)){const t=e.items.map((e=>Wt(e.data,n)?{...e,data:n,linkState:xa(e.linkState??Ci.empty,!1)}:e));return this.history.execute(ua(e,t)),e}}for(const r of i)if(r.typeId==r.typeId){if(r instanceof la){const i=new da({sourceId:e.id,targetId:t.id,typeId:n.linkTypeId,items:[{data:r.data,linkState:r.linkState},{data:n}]});return this.removeLink(r.id),this.addLink(i),i}if(r instanceof da){const e=[...r.items,{data:n}];return this.history.execute(ua(r,e)),r}}const r=new la({sourceId:e.id,targetId:t.id,data:n});return this.addLink(r),r}getElementType(e){return this.dataGraph.getElementType(e)}createElementType(e){const t=this.dataGraph.getElementType(e);if(t)return t;const n=new fa({id:e});return this.dataGraph.addElementType(n),this.fetcher.fetchElementType(n),n}getLinkType(e){return this.dataGraph.getLinkType(e)}createLinkType(e){const t=this.dataGraph.getLinkType(e);if(t)return t;const n=new ga({id:e});return this.dataGraph.addLinkType(n),this.fetcher.fetchLinkType(n),n}getPropertyType(e){return this.dataGraph.getPropertyType(e)}createPropertyType(e){const t=this.dataGraph.getPropertyType(e);if(t)return t;const n=new pa({id:e});return this.dataGraph.addPropertyType(n),this.fetcher.fetchPropertyType(n),n}group(e){const t=this.history.startBatch(Ht.text("data_diagram_model.group_entities.command")),n=new Set;for(const t of e)n.add(t.data.id);const i=[],r=new Set;for(const t of e){i.push({data:t.data,elementState:t.elementState});for(const e of this.getElementLinks(t))r.add(e)}for(const e of r)this.removeLink(e.id);for(const t of e)this.removeElement(t.id);const o=$r(e,[],{getElementSize:()=>{}}),a=new oa({items:i,position:hr.center(o)});return this.addElement(a),this.recreateLinks(r),t.store(),a}ungroupAll(e){const t=this.history.startBatch(Ht.text("data_diagram_model.ungroup_entities.command")),n=[],i=new Set;for(const t of e){for(const e of this.getElementLinks(t))i.add(e);this.removeElement(t.id);for(const e of t.items){const i=new ra({data:e.data,position:t.position,elementState:e.elementState});this.addElement(i),n.push(i)}}return this.recreateLinks(i),t.store(),n}ungroupSome(e,t){const n=e.items.filter((e=>!t.has(e.data.id)));if(n.length<=1)return this.ungroupAll([e]);const i=this.history.startBatch(Ht.text("data_diagram_model.ungroup_entities.command")),r=new Set;for(const n of this.getElementLinks(e))n instanceof la?(t.has(n.data.sourceId)||t.has(n.data.targetId))&&r.add(n):n instanceof da&&n.items.some((e=>t.has(e.data.sourceId)||t.has(e.data.targetId)))&&r.add(n);for(const e of r)this.removeLink(e.id);const o=[];for(const n of e.items)if(t.has(n.data.id)){const t=new ra({data:n.data,position:e.position,elementState:n.elementState});this.addElement(t),o.push(t)}return i.history.execute(aa(e,n)),this.recreateLinks(r),i.store(),o}regroupLinks(e){const t=this.history.startBatch(Ht.text("data_diagram_model.regroup_relations.command"));for(const t of e)this.removeLink(t.id);this.recreateLinks(new Set(e)),t.store()}recreateLinks(e){for(const t of e)if(t instanceof la)for(const e of this.createLinks(t.data))e instanceof la&&this.history.execute(jr(e,t.linkState));else if(t instanceof da)for(const{data:e}of t.items)this.createLinks(e)}};function za(e,t){return Lr.effect(Ht.text("data_diagram_model.request_entities.command"),(()=>{e.requestElementData(t)}))}function $a(e,t={}){return Lr.effect(Ht.text("data_diagram_model.request_relations.command"),(()=>{e.requestLinks(t)}))}function Ta(e){const t=new Set;for(const n of e.elements)for(const e of sa(n))t.add(e.id);return t}async function Na(e,t,n,i,r,o){let a;try{if(a=await e,null===a)return}catch(e){a={items:[{type:"element",target:i.target.id,severity:"error",message:o.text("editor_controller.validate_entity_failed.message"),errorCause:e}]}}const s=[],l=new U(Gt,Wt);i.outboundLinks.forEach((e=>l.set(e,[])));for(const e of a.items)"element"===e.type&&e.target===i.target.id?s.push(e):"link"===e.type&&l.has(e.target)&&l.get(e.target).push(e);let c=r.validationState;c.elements.get(i.target.id)===t&&(c=La.setElementItems(c,i.target.id,s)),l.forEach(((e,t)=>{c.links.get(t)===n&&(c=La.setLinkItems(c,t,e))})),r.setValidationState(c)}!function(e){function t(){return{elements:new Map,links:new U(Gt,Wt)}}e.empty=t(),e.emptyElement={loading:!1,items:[]},e.emptyLink={loading:!1,items:[]},e.createMutable=t,e.setElementItems=function(e,t,n){const i=new Map(e.elements);return n.length>0?i.set(t,{loading:!1,items:n}):i.delete(t),{...e,elements:i}},e.setLinkItems=function(e,t,n){const i=e.links.clone();return n.length>0?i.set(t,{loading:!1,items:n}):i.delete(t),{...e,links:i}}}(La||(La={}));var Aa=new Map([["info",0],["warning",1],["error",2]]);function Ia(e){let t="info",n=Aa.get(t)??-1;for(const{severity:i}of e){const e=Aa.get(i)??-1;e>n&&(n=e,t=i)}return t}var Va=class{source=new bi;events=this.source;model;translation;getDisposeSignal;_inAuthoringMode=!1;_metadataProvider;_validationProvider;_authoringState=Oo.empty;_validationState=La.empty;_temporaryState=jo.empty;constructor(e){const{model:t,translation:n,metadataProvider:i,validationProvider:r,getDisposeSignal:o}=e;this.model=t,this.translation=n,this.getDisposeSignal=o,this._metadataProvider=i,this._validationProvider=r;const a=new wi;a.listen(this.events,"changeValidationState",(e=>{for(const t of this.model.elements){if(!(t instanceof ra))continue;const n=e.previous.elements.get(t.iri);this.validationState.elements.get(t.iri)!==n&&t.redraw()}})),a.listen(this.events,"changeAuthoringState",(e=>{this.validateChangedFrom(e.previous)})),a.listen(t.events,"changeCells",(e=>{this.validateChangedCells(e)}))}get inAuthoringMode(){return this._inAuthoringMode&&Boolean(this._metadataProvider)}setAuthoringMode(e){const t=this._inAuthoringMode,n=e&&Boolean(this._metadataProvider);n!==t&&(this._inAuthoringMode=n,this.source.trigger("changeMode",{source:this,previous:t}))}get metadataProvider(){return this._metadataProvider}get validationProvider(){return this._validationProvider}get authoringState(){return this._authoringState}setAuthoringState(e){this._authoringState!==e&&this.model.history.execute(this.updateAuthoringState(e))}updateAuthoringState(e){const t=this._authoringState;return Lr.create(Ht.text("editor_controller.set_authoring_state.command"),(()=>(this._authoringState=e,this.source.trigger("changeAuthoringState",{source:this,previous:t}),this.updateAuthoringState(t))))}get validationState(){return this._validationState}setValidationState(e){const t=this._validationState;e!==t&&(this._validationState=e,this.source.trigger("changeValidationState",{source:this,previous:t}))}get temporaryState(){return this._temporaryState}setTemporaryState(e){const t=this._temporaryState;e!==t&&(this._temporaryState=e,this.source.trigger("changeTemporaryState",{source:this,previous:t}))}validateChangedFrom(e){if(!this.validationProvider)return;const t=function(e,t,n){const i=new U(Gt,Wt);e.links.forEach(((e,t)=>i.set(t,!0))),t.links.forEach(((e,t)=>i.set(t,!0)));const r=new Set;i.forEach(((n,i)=>{t.links.get(i)!==e.links.get(i)&&r.add(i.sourceId)}));for(const i of n.elements)for(const o of sa(i)){const a=t.elements.get(o.id),s=e.elements.get(o.id);if(a!==s&&(r.add(o.id),"entityDelete"===(a||s).type))for(const e of n.getElementLinks(i))for(const t of ha(e))t.targetId===o.id&&t.sourceId!==o.id&&r.add(t.sourceId)}return r}(e,this.authoringState,this.model);this.revalidateEntities(t)}validateChangedCells(e){if(!this.validationProvider||!this.inAuthoringMode)return;if(e.updateAll)return void this.validateChangedFrom(Oo.empty);const t=this.authoringState;let n;if(e.changedElement)for(const i of sa(e.changedElement))t.elements.has(i.id)&&(n||(n=new Set),n.add(i.id));else if(e.changedLinks)for(const i of e.changedLinks)for(const e of ha(i))t.links.has(e)&&(n||(n=new Set),n.add(e.sourceId));n&&this.revalidateEntities(n)}revalidateEntities(e){this.validationProvider&&function(e,t,n,i,r,o,a){const s=i.validationState,l=La.createMutable();for(const c of n.elements)for(const d of sa(c)){if(l.elements.has(d.id))continue;const u=[];for(const e of n.getElementLinks(c))for(const t of ha(e))t.sourceId===d.id&&u.push(t);if(e.has(d.id)){const e={target:d,outboundLinks:u,state:i.authoringState,graph:n,translation:r,language:o,signal:a},s=hi(t.validate(e),a),c={loading:!0,items:[]},h={loading:!0,items:[]};l.elements.set(d.id,c),u.forEach((e=>l.links.set(e,h))),Na(s,c,h,e,i,r)}else{l.elements.set(d.id,s.elements.get(d.id));for(const e of u)l.links.set(e,s.links.get(e))}}i.setValidationState(l)}(e,this.validationProvider,this.model,this,this.translation,this.model.language,this.getDisposeSignal())}removeSelectedElements(){const e=this.model.selection;e.length>0&&(this.model.setSelection([]),this.removeItems(e))}removeItems(e){const{model:t}=this,n=t.history.startBatch(Ht.text("editor_controller.remove_items.command")),i=new Set;for(const t of e)if(t instanceof qr){for(const e of sa(t))i.add(e.id);this.model.removeElement(t.id)}else if(t instanceof Gr){for(const e of ha(t))Oo.isAddedRelation(this.authoringState,e)&&this.deleteRelation(e);t instanceof la||t instanceof da||this.model.removeLink(t.id)}const r=new Set;for(const e of i){const t=this.authoringState.elements.get(e);t&&this.discardChange(t),r.add(e)}if(r.size>0){const e=Oo.discardAddedRelations(this.authoringState,r);this.setAuthoringState(e)}n.store()}createEntity(e,t={}){const{model:n}=this,i=n.history.startBatch(Ht.text("editor_controller.entity_add.command")),r=n.createElement(e);return t.temporary?(this.setTemporaryState(jo.addEntity(this.temporaryState,r.data)),i.discard()):(this.setAuthoringState(Oo.addEntity(this._authoringState,r.data)),i.store()),r}changeEntity(e,t){const{model:n}=this,i="string"==typeof e?Ha(Pa(n,e),e):e;if(!i)return;const r=n.history.startBatch(Ht.text("editor_controller.entity_change.command")),o=Oo.changeEntity(this._authoringState,i,t),a=o.elements.get(i.id)||o.elements.get(t.id);n.history.execute(va(n,i.id,a.data)),this.setAuthoringState(o),r.store()}deleteEntity(e){const{model:t}=this,n="string"==typeof e?Ha(Pa(t,e),e):e;if(!n)return;const i=this.authoringState,r=t.history.startBatch(Ht.text("editor_controller.entity_delete.command"));for(const e of Pa(t,n.id))this.removeRelationsFromLinks(t.getElementLinks(e),(e=>Oo.isAddedRelation(i,e)));const o=i.elements.get(n.id);o&&this.discardChange(o),this.setAuthoringState(Oo.deleteEntity(i,n)),r.store()}createRelation(e,t={}){const{model:n}=this;if(n.findLink(e.typeId,e.sourceId,e.targetId))throw Error("The relation with same (source IRI, target IRI, type) already exists");const i=n.history.startBatch(Ht.text("editor_controller.relation_add.command"));return n.addLink(e),t.temporary||this.model.createLinks(e.data),function(e,t){for(const n of e.links)for(const e of ha(n))if(Wt(e,t))return!0;return!1}(n,e.data)?t.temporary?(this.setTemporaryState(jo.addRelation(this.temporaryState,e.data)),i.discard()):(this.setAuthoringState(Oo.addRelation(this._authoringState,e.data)),i.store()):i.discard(),e}changeRelation(e,t){const{model:n}=this,i=n.history.startBatch(Ht.text("editor_controller.relation_change.command"));if(Wt(e,t))n.history.execute(ba(n,e,t)),this.setAuthoringState(Oo.changeRelation(this._authoringState,e,t));else{let i=this._authoringState;i=Oo.deleteRelation(i,e),i=Oo.addRelation(i,t),Oo.isAddedRelation(this._authoringState,e)&&this.removeRelationsFromLinks(n.links,(t=>Wt(t,e))),n.createLinks(t),this.setAuthoringState(i)}i.store()}moveRelationSource(e){const{model:t}=this,{link:n,newSource:i}=e;if(n.data.sourceId===i.data.id)return n;const r=t.history.startBatch(Ht.text("editor_controller.relation_move_source.command"));this.changeRelation(n.data,{...n.data,sourceId:i.iri});const o=t.findLink(n.typeId,i.id,n.targetId);return o.setVertices(n.vertices),r.store(),o}moveRelationTarget(e){const{model:t}=this,{link:n,newTarget:i}=e;if(n.data.targetId===i.data.id)return n;const r=t.history.startBatch(Ht.text("editor_controller.relation_move_target.command"));this.changeRelation(n.data,{...n.data,targetId:i.iri});const o=t.findLink(n.typeId,n.sourceId,i.id);return o.setVertices(n.vertices),r.store(),o}deleteRelation(e){const{model:t}=this,n=this.authoringState;if(Oo.isDeletedRelation(n,e))return;const i=t.history.startBatch(Ht.text("editor_controller.relation_delete.command")),r=Oo.deleteRelation(n,e);Oo.isAddedRelation(n,e)&&this.removeRelationsFromLinks(t.links,(t=>Wt(t,e))),this.setAuthoringState(r),i.store()}removeAllTemporaryCells(){const{temporaryState:e}=this,t=[];if(e.elements.size>0)for(const n of this.model.elements)n instanceof ra&&e.elements.has(n.iri)&&t.push(n);if(e.links.size>0)for(const n of this.model.links)n instanceof la&&e.links.has(n.data)&&t.push(n);t.length>0&&this.removeTemporaryCells(t)}removeTemporaryCells(e){const{temporaryState:t}=this;let n=t;const i=this.model.history.startBatch();for(const i of e)i instanceof ra?t.elements.has(i.iri)&&(n=jo.removeEntity(n,i.data),this.model.removeElement(i.id)):i instanceof la&&t.links.has(i.data)&&(n=jo.removeRelation(n,i.data),this.model.removeLink(i.id));i.discard(),this.setTemporaryState(n)}discardChange(e){const{model:t}=this,n=Oo.discard(this._authoringState,e);if(n===this._authoringState)return;const i=t.history.startBatch(Ht.text("editor_controller.discard_change.command"));switch(e.type){case"entityAdd":for(const n of Pa(t,e.data.id))n instanceof ra?t.removeElement(n.id):n instanceof oa&&this.discardItemFromGroup(n,e.data.id);break;case"entityChange":t.history.execute(va(t,e.data.id,e.before));break;case"relationAdd":this.removeRelationsFromLinks(t.links,(t=>Wt(t,e.data)));break;case"relationChange":t.history.execute(ba(this.model,e.data,e.before))}this.setAuthoringState(n),i.store()}discardItemFromGroup(e,t){const n=e.items.filter((e=>e.data.id!==t));this.model.history.execute(aa(e,n)),this.removeRelationsFromLinks(this.model.getElementLinks(e),(({sourceId:e,targetId:n})=>e===t||n===t)),n.length<=1&&this.model.ungroupAll([e])}removeRelationsFromLinks(e,t){const n=[],i=[];for(const r of e)if(r instanceof la)t(r.data)&&n.push(r);else if(r instanceof da&&r.items.some((e=>t(e.data)))){const e=r.items.filter((e=>!t(e.data)));this.model.history.execute(ua(r,e)),i.push(r)}for(const e of n)this.model.removeLink(e.id);this.model.regroupLinks(i)}applyAuthoringChanges(){const e=this.authoringState,t=this.model.history.startBatch(Ht.text("editor_controller.apply_authored_changes.command"));for(const n of e.links.values())"relationChange"===n.type&&t.history.execute(ba(this.model,n.before,n.data));const n=[];for(const t of this.model.links)t instanceof la?Oo.isDeletedRelation(e,t.data)&&n.push(t):t instanceof da&&t.items.some((t=>Oo.isDeletedRelation(e,t.data)))&&this.model.history.execute(ua(t,t.items.filter((t=>!Oo.isDeletedRelation(e,t.data)))));for(const e of n)this.model.removeLink(e.id);for(const t of e.elements.values())"entityChange"===t.type&&this.model.history.execute(va(this.model,t.before.id,void 0===t.newIri?t.data:{...t.data,id:t.newIri}));const i=[];for(const n of this.model.elements)n instanceof ra?Oo.isDeletedEntity(e,n.iri)&&i.push(n):n instanceof oa&&n.items.some((t=>Oo.isDeletedEntity(e,t.data.id)))&&t.history.execute(aa(n,n.items.filter((t=>!Oo.isDeletedEntity(e,t.data.id)))));for(const e of i)this.model.removeElement(e.id);this.setAuthoringState(Oo.empty),t.store()}};function Pa(e,t){return e.elements.filter((e=>e instanceof ra&&e.iri===t||e instanceof oa&&e.itemIris.has(t)))}function Ha(e,t){for(const n of e)for(const e of sa(n))if(e.id===t)return e}async function Ra(e,t){const{model:n}=e,{elements:i,canvas:r}=t,o=n.history.startBatch(Ht.text("workspace.group_entities.command")),a=Hr.capturePartial(i,[]),s=$r(i,[],r.renderingState),l=hr.center(s);await r.animateGraph((()=>{for(const e of i){const t=yr(e,r.renderingState),n={x:l.x-t.width/2,y:l.y-t.height/2},i=dr.normalize(dr.subtract(e.position,l));e.setPosition(dr.add(n,dr.scale(i,Math.min(t.width,t.height)/2)))}})),o.history.registerToUndo(a);const c=[...i].sort(((e,t)=>{const i=n.locale.formatEntityLabel(e.data,n.language),r=n.locale.formatEntityLabel(t.data,n.language);return i.localeCompare(r)})),d=n.group(c);r.renderingState.syncUpdate();const u=yr(d,r.renderingState);return d.setPosition({x:l.x-u.width/2,y:l.y-u.height/2}),o.store(),d}async function Da(e,t){const{model:n,performLayout:i}=e,{groups:r,canvas:o}=t,a=n.history.startBatch(Ht.text("workspace.ungroup_entities.command")),s=n.ungroupAll(r);return await i({canvas:o,selectedElements:new Set(s),animate:!0,zoomToFit:!1}),a.store(),s}async function Ba(e,t){const{model:n}=e,{group:i,entities:r,canvas:o}=t,a=n.history.startBatch(Ht.text("workspace.ungroup_entities.command")),s=n.ungroupSome(i,r);return o.renderingState.syncUpdate(),await o.animateGraph((()=>{a.history.execute(Ur({target:i,elements:s.filter((e=>r.has(e.data.id))),graph:n,sizeProvider:o.renderingState}))})),a.store(),s}var Oa="reactodia-draggable-handle",ja={nw:`${Oa}--dock-nw`,n:`${Oa}--dock-n`,ne:`${Oa}--dock-ne`,e:`${Oa}--dock-e`,se:`${Oa}--dock-se`,s:`${Oa}--dock-s`,sw:`${Oa}--dock-sw`,w:`${Oa}--dock-w`};function Fa(e){const{dock:t,axis:n="all",onBeginDragHandle:i,onDragHandle:r,onEndDragHandle:o,children:a,...s}=e,l=v.useRef(void 0),c=At(i),d=At(r),u=At(o);return H.jsx("div",{...s,className:cn(Oa,t?ja[t]:void 0,s.className),onPointerDown:e=>{if(l.current)return;if(e.button)return;const{pageX:t,pageY:i,currentTarget:r,pointerId:o}=e;e.preventDefault();const a={origin:{pageX:t,pageY:i},target:r,onPointerMove:e=>{e.preventDefault();const{origin:t}=a;d.current(e,"y"===n?0:e.pageX-t.pageX,"x"===n?0:e.pageY-t.pageY)},onPointerUp:e=>{l.current=void 0;const{target:t}=a;t.releasePointerCapture(o),t.removeEventListener("pointermove",a.onPointerMove),t.removeEventListener("pointerup",a.onPointerUp),t.removeEventListener("pointercancel",a.onPointerUp),u.current?.(e)}};r.addEventListener("pointermove",a.onPointerMove),r.addEventListener("pointerup",a.onPointerUp),r.addEventListener("pointercancel",a.onPointerUp),r.setPointerCapture(o),c.current(e)},children:a})}var Ua="reactodia-dialog",qa={width:300,height:320},Wa={width:250,height:250},Ga={width:800,height:800},Za="e",Ka=40,Xa=class extends v.Component{static contextType=lr;unsubscribeFromTarget=void 0;listener=new wi;updateAll=()=>this.forceUpdate();startSize;constructor(e){super(e),this.state={}}componentDidMount(){const{canvas:e,model:t}=this.context;this.listener.listen(t.events,"changeLanguage",this.updateAll),this.listener.listen(e.events,"changeTransform",this.updateAll),this.listenToTarget(this.props.target),this.props.target&&this.focusOn()}componentDidUpdate(e){this.props.target!==e.target&&this.listenToTarget(this.props.target)}componentWillUnmount(){this.listener.stopListening(),this.listenToTarget(void 0)}listenToTarget(e){if(this.unsubscribeFromTarget&&(this.unsubscribeFromTarget(),this.unsubscribeFromTarget=void 0),e){const t=e.subscribe(this.updateAll,this.context);this.unsubscribeFromTarget=()=>{t()}}}calculatePosition(e){const{target:t,defaultSize:n=qa,dock:i=Za,dockMargin:r=Ka}=this.props,{canvas:o}=this.context;if(t){const a=t.getBounds(this.context);return function(e,t,n,i,r,o){let a,s;switch(n){case"w":a=e.x-o.width-i;break;case"e":a=t.x+i;break;default:a=(e.x+t.x-r.width)/2}switch(n){case"n":s=e.y-o.height-i;break;case"s":s=t.y+i;break;default:s=(e.y+t.y-r.height)/2}return{x:a,y:s}}(o.metrics.paperToScrollablePaneCoords(a.x,a.y),o.metrics.paperToScrollablePaneCoords(a.x+a.width,a.y+a.height),i,r,n,e)}}getViewPortScrollablePoints(){const{canvas:e}=this.context,{clientWidth:t,clientHeight:n}=e.metrics.pane;return{min:e.metrics.clientToScrollablePaneCoords(0,0),max:e.metrics.clientToScrollablePaneCoords(t,n)}}getDialogScrollableBounds(){const e=this.getCurrentSize(),{x:t,y:n}=this.calculatePosition(e)??{x:0,y:0},i={x:t-20,y:n-20};return{min:i,max:{x:i.x+e.width+40,y:i.y+e.height+40}}}focusOn(){const{canvas:e}=this.context,{min:t,max:n}=this.getViewPortScrollablePoints(),{min:i,max:r}=this.getDialogScrollableBounds();let o=0;i.x<t.x?o=i.x-t.x:r.x>n.x&&(o=r.x-n.x);let a=0;i.y<t.y?a=i.y-t.y:r.y>n.y&&(a=r.y-n.y);const s={x:t.x+(n.x-t.x)/2+o,y:t.y+(n.y-t.y)/2+a},l=e.metrics.scrollablePaneToPaperCoords(s.x,s.y);e.centerTo(l)}onStartDragging=()=>{const{defaultSize:e=qa,maxSize:t=Ga}=this.props;this.startSize={x:Math.min(this.state.width||e.width,t.width),y:Math.min(this.state.height||e.height,t.height)}};calculateHeight(e){const{defaultSize:t=qa,minSize:n=Wa,maxSize:i=Ga}=this.props,r=Math.min(t.height,n.height),o=Math.max(t.height,i.height);return Math.max(r,Math.min(o,e))}calculateWidth(e){const{defaultSize:t=qa,minSize:n=Wa,maxSize:i=Ga}=this.props,r=Math.min(t.width,n.width),o=Math.max(t.width,i.width);return Math.max(r,Math.min(o,e))}onDragHandle=(e,t,n)=>{const{dock:i=Za,mode:r}=this.props,o="centered"===r;let a=o?2:1,s=o?2:1;switch(i){case"n":s*=-1;break;case"w":a*=-1}const l=t?this.calculateWidth(this.startSize.x+t*a):void 0,c=n?this.calculateHeight(this.startSize.y+n*s):void 0;this.setState((e=>({width:l??e.width,height:c??e.height})))};render(){const{target:e,mode:t,dock:n=Za,caption:i,resizableBy:r="all",closable:o=!0}=this.props,a="fillViewport"===t?"none":r,s=this.getCurrentSize(),l=this.calculatePosition(s),c={left:l?.x,top:l?.y,width:s.width,height:s.height};return H.jsxs("div",{className:cn(Ua,e?"reactodia-dialog--attached":void 0,"fillViewport"===t?"reactodia-dialog--fill-viewport":void 0),role:"dialog","aria-labelledby":i?"reactodia-dialog-caption":void 0,style:c,"data-reactodia-prevent-zoom":!0,children:[H.jsxs("div",{className:`${Ua}__header`,children:[H.jsx("div",{id:"reactodia-dialog-caption",className:`${Ua}__caption`,title:i,children:i}),o?H.jsx("button",{title:"Close",className:cn("reactodia-btn",`${Ua}__close-button`),onClick:this.onClose}):null]}),this.props.children,"y"===a||"all"===a?H.jsx(Fa,{dock:"n"===n?"n":"s",axis:"y",onBeginDragHandle:this.onStartDragging,onDragHandle:this.onDragHandle,onEndDragHandle:this.onEndDragHandle}):null,"x"===a||"all"===a?H.jsx(Fa,{dock:"w"===n?"w":"e",axis:"x",onBeginDragHandle:this.onStartDragging,onDragHandle:this.onDragHandle,onEndDragHandle:this.onEndDragHandle}):null,"none"===a?null:H.jsx(Fa,{dock:"n"===n?"ne":"w"===n?"sw":"se",axis:a,onBeginDragHandle:this.onStartDragging,onDragHandle:this.onDragHandle,onEndDragHandle:this.onEndDragHandle})]})}getCurrentSize(){const{mode:e,defaultSize:t=qa,maxSize:n=Ga}=this.props;return"fillViewport"===e?n:{width:Math.min(this.state.width??t.width,n.width),height:Math.min(this.state.height??t.height,n.height)}}onClose=()=>{const{canvas:e}=this.context,{onHide:t}=this.props;e.focus(),t()};onEndDragHandle=()=>{const{onResize:e}=this.props;if(!e)return;const{width:t,height:n}=this.getCurrentSize();!this.startSize||t===this.startSize.x&&n===this.startSize.y||e({width:t,height:n})}},Qa=e=>({subscribe:(t,{canvas:n})=>{const i=new wi;return i.listen(e.events,"changePosition",t),i.listen(n.renderingState.events,"changeElementSize",(n=>{n.source===e&&t()})),()=>i.stopListening()},getBounds:({canvas:t})=>yr(e,t.renderingState)}),Ya=e=>({subscribe:(t,{model:n,canvas:i})=>{const r=n.getElement(e.sourceId),o=n.getElement(e.targetId);if(!r||!o)throw new Error("Source and target are not specified");const a=new wi;return a.listen(r.events,"changePosition",t),a.listen(o.events,"changePosition",t),a.listen(i.renderingState.events,"changeElementSize",(e=>{e.source!==r&&e.source!==o||t()})),a.listen(e.events,"changeVertices",t),a.listen(i.renderingState.events,"changeLinkLabelBounds",(n=>{n.source===e&&t()})),()=>a.stopListening()},getBounds:({model:t,canvas:n})=>{const i=n.renderingState.getLinkLabelBounds(e);if(i)return i;const r=t.getElement(e.sourceId),o=t.getElement(e.targetId);if(!r||!o)throw new Error("Source and target are not specified");const a=n.renderingState.getRouting(e.id),s=a?a.vertices:e.vertices||[],l=xr(n.renderingState.getElementShape(r),n.renderingState.getElementShape(o),s),{x:c,y:d}=Cr(l,Sr(l)/2);return{x:c,y:d,width:0,height:0}}}),Ja="reactodia-viewport-dock",es={n:`${Ja}--row-n`,s:`${Ja}--row-s`,w:`${Ja}--column-w`,e:`${Ja}--column-e`},ts={nw:`${Ja}--dock-nw`,n:`${Ja}--dock-n`,ne:`${Ja}--dock-ne`,e:`${Ja}--dock-e`,se:`${Ja}--dock-se`,s:`${Ja}--dock-s`,sw:`${Ja}--dock-sw`,w:`${Ja}--dock-w`},ns={nw:"start",n:"center",ne:"end",e:"end",se:"end",s:"center",sw:"start",w:"start"},is={nw:"start",n:"start",ne:"start",e:"center",se:"end",s:"end",sw:"end",w:"center"};function rs(e){const{dock:t,dockOffsetX:n=0,dockOffsetY:i=0,children:r}=e,o={"--reactodia-viewport-dock-offset-x":`${n}px`,"--reactodia-viewport-dock-offset-y":`${i}px`,"--reactodia-viewport-dock-align-x":ns[t],"--reactodia-viewport-dock-align-y":is[t]};return H.jsx("div",{className:cn(Ja,es[t]??`${Ja}--corner`),style:o,children:v.cloneElement(r,{className:cn(r.props.className,ts[t])})})}var os=class{source=new bi;events=this.source;internalSource=new bi;model;view;translation;dialogSettingsProvider;_openedDialog;_tasks=new Set;_taskError;constructor(e){const{model:t,view:n,translation:i,dialogSettingsProvider:r}=e;this.model=t,this.view=n,this.translation=i,this.dialogSettingsProvider=r,this[ss]={events:this.internalSource,overlays:new Set,dialog:null,spinner:null,onCanvasPointerUp:this.onAnyCanvasPointerUp,onCanvasKeydown:this.onAnyCanvasKeydown};const o=new wi;o.listen(this.model.events,"changeSelection",(()=>{this.openedDialog&&this.openedDialog.target!==(1===this.model.selection.length?this.model.selection[0]:void 0)&&this.hideDialog()})),o.listen(this.model.events,"discardGraph",(()=>{this.openedDialog&&this.openedDialog.target&&this.hideDialog()}))}get openedDialog(){return this._openedDialog}onAnyCanvasPointerUp=e=>{const{source:t,sourceEvent:n,target:i,triggerAsClick:r}=e;n.ctrlKey||n.shiftKey||n.metaKey||this.openedDialog&&this.openedDialog.holdSelection||(i instanceof qr?(this.model.setSelection([i]),i.focus()):i instanceof Gr?(this.model.setSelection([i]),t.focus()):i instanceof Zr?(this.model.setSelection([i.link]),t.focus()):!i&&r&&(this.model.setSelection([]),this.hideDialog(),t.focus()))};onAnyCanvasKeydown=e=>{const{source:t,sourceEvent:n}=e;t.renderingState.triggerHotkey(n)};startTask(e={}){const{title:t,delay:n=0}=e;0===this._tasks.size&&this._taskError&&(this._taskError=void 0);const i=n>0&&0===this._tasks.size,r={title:t,setError:e=>{this._taskError={error:e}},end:()=>{this._tasks.delete(r),this.updateTaskSpinner()},[as]:!i};return this._tasks.add(r),this.updateTaskSpinner(),i&&fi(n).then((()=>{if(this._tasks.has(r)){for(const e of this._tasks)e[as]=!0;this.updateTaskSpinner()}})),r}showSpinnerWhile(e){const{translation:t}=this,n=this.startTask();(async()=>{try{await e}catch(e){console.error(e),n.setError(new Error(t.text("overlay_controller.unknown_error"),{cause:e}))}finally{n.end()}})()}updateTaskSpinner(){const{translation:e}=this;if(this._taskError){const e=function(e){if(e&&"object"==typeof e&&"message"in e){const t=e.message;if("string"==typeof t)return t}}(this._taskError.error);this.setSpinner({statusText:e,errorOccurred:!0})}else{let t,n=!1;for(const i of this._tasks)if(i[as]&&(n=!0),i.title){if(void 0!==t){t=e.text("overlay_controller.multiple_tasks_in_progress");break}t=i.title}this.setSpinner(n?{statusText:t}:void 0)}}setSpinner(e){const t=this[ss],n=t.spinner;t.spinner=e?H.jsx(cs,{spinnerProps:e}):null,this.internalSource.trigger("changeSpinner",{previous:n,source:this})}showDialog(e){const{target:t,style:n,dialogType:i,content:r,holdSelection:o=!1,onClose:a}=e;this._openedDialog&&this._openedDialog.target!==t&&this.hideDialog();const s=this._openedDialog,l={target:t,knownType:i,holdSelection:o,onClose:a};this._openedDialog=l;const c=this.view.findAnyCanvas(),d=function(e,t){for(const n of e){const e=t(n);if(void 0!==e)return e}}(this[ss].overlays,(e=>e.getDialogViewportBreakpoint())),u=Boolean(c&&void 0!==d&&c.metrics.pane.clientWidth<=d);let h=n;const f=this.dialogSettingsProvider.getDialogSize(l);f&&(h={...n,defaultSize:f.defaultSize??n.defaultSize,minSize:f.minSize??n.minSize,maxSize:f.maxSize??n.maxSize});const p=e=>{this.dialogSettingsProvider.persistDialogSize(l,e)},g=()=>this.hideDialog();this.setDialog(t&&!u?H.jsx(Bo,{layer:"overElements",children:H.jsx(Xa,{...h,target:t instanceof qr?Qa(t):t instanceof Gr?Ya(t):t,onResize:p,onHide:g,children:r})}):H.jsx(ds,{...h,mode:u?"fillViewport":"centered",onResize:p,onHide:g,children:r})),this.source.trigger("changeOpenedDialog",{source:this,previous:s})}hideDialog(){if(this._openedDialog){const e=this._openedDialog;this._openedDialog=void 0,e.onClose?.(),this.setDialog(null),this.source.trigger("changeOpenedDialog",{source:this,previous:e})}}setDialog(e){const t=this[ss],n=t.dialog;t.dialog=e,this.internalSource.trigger("changeDialog",{previous:n,source:this})}},as=Symbol("OverlayTask.active"),ss=Symbol("OverlayController.internalApi");function ls(e){const{overlay:t}=e,{canvas:n}=cr(),i=t[ss],{overlays:r,onCanvasPointerUp:o,onCanvasKeydown:a}=i,s=v.useRef(null);v.useLayoutEffect((()=>{const e=s.current;if(e){const t={getDialogViewportBreakpoint:()=>{const t=getComputedStyle(e);return t.maxWidth?parseFloat(t.maxWidth):void 0}};return r.add(t),()=>{r.delete(t)}}}),[r]),v.useEffect((()=>{const e=new wi;return e.listen(n.events,"pointerUp",o),e.listen(n.events,"keydown",a),()=>e.stopListening()}),[o,a]);const l=Ct(i.events,"changeDialog",(()=>i.dialog)),c=Ct(i.events,"changeSpinner",(()=>i.spinner));return H.jsxs(H.Fragment,{children:[H.jsx("div",{ref:s,style:{display:"none",maxWidth:"var(--reactodia-dialog-viewport-breakpoint-s)"}}),l,c]})}function cs(e){const{spinnerProps:t}=e,n=us();return H.jsx("div",{className:"reactodia-loading-widget",children:H.jsx("svg",{width:n.width,height:n.height,children:H.jsx(Qt,{position:{x:t.statusText?n.width/3:n.width/2,y:n.height/2},...t})})})}function ds(e){const t=us(),n=v.useRef(null),[i,r]=v.useState(0);v.useLayoutEffect((()=>{n.current&&r(function(e){const t=getComputedStyle(e).getPropertyValue("--reactodia-viewport-dock-margin");if(t){const e=parseFloat(t);if(Number.isFinite(e))return e}}(n.current)??0)}),[]);const o=v.useMemo((()=>({width:t.width-2*i,height:t.height-2*i})),[t,i]);return H.jsx("div",{ref:n,className:"reactodia-viewport-dialog-overlay",children:H.jsx(Xa,{...e,dock:"e",maxSize:o})})}function us(){const{canvas:e}=cr();return Tt(oo(Et(e.events,"resize"),e.renderingState),(()=>{const{clientWidth:t,clientHeight:n}=e.metrics.pane;return{width:t,height:n}}),((e,t)=>e.width===t.width&&e.height===t.height))}var hs=class{lastDialogSize=new Map;getDialogSize(e){if(e.knownType){const t=this.lastDialogSize.get(e.knownType);if(t)return{defaultSize:t}}}persistDialogSize(e,t){e.knownType&&this.lastDialogSize.set(e.knownType,t)}},fs="reactodia-fetch-status";function ps(e){const{type:t,target:n,children:i}=e,{model:r}=sn(),[o,a]=v.useState(r.getOperationFailReason(t,n)?2:0);return v.useEffect((()=>{const e=e=>{a((()=>{if(e&&gs(e.operation,t,n))return 2;for(const e of r.operations)if(gs(e,t,n))return 1;return r.getOperationFailReason(t,n)?2:0}))};e();const i=t=>{e(t.fail)};return r.events.on("changeOperations",i),()=>r.events.off("changeOperations",i)}),[t,n]),0===o?i:v.cloneElement(i,{className:cn(i.props.className,1===o?`${fs}--loading`:2===o?`${fs}--error`:void 0)})}function gs(e,t,n){return e.type===t&&e.targets.has(n)}function vs(e){const{link:t,className:n,path:i,pathProps:r,markerSource:o,markerTarget:a,children:s}=e,l=r?.stroke;return H.jsxs("g",{className:n,children:[H.jsx(ko,{path:i,pathProps:{fill:"none",...r},markerSource:o,markerTarget:a}),0===t.vertices.length?null:H.jsx(Mo,{linkId:t.id,vertices:t.vertices,fill:l}),s]})}var ms="reactodia-group-paginator";function bs(e){const{pageIndex:t,pageCount:n,onChangePage:i,pageSize:r,pageSizes:o,onChangePageSize:a}=e,s=Pt(),l=n-1;return H.jsxs("div",{className:ms,children:[H.jsx("button",{type:"button",className:cn("reactodia-btn","reactodia-btn-default",`${ms}__previous`),name:s.text("group_paginator.go_previous.title"),disabled:t<=0,onClick:()=>i(t-1)}),H.jsx("div",{className:`${ms}__status`,children:s.text("group_paginator.current_page.label",{page:t+1,pageCount:n})}),H.jsx("button",{type:"button",className:cn("reactodia-btn","reactodia-btn-default",`${ms}__next`),title:s.text("group_paginator.go_next.title"),disabled:t>=l,onClick:()=>i(t+1)}),H.jsx("select",{className:`${ms}__page-size`,title:s.text("group_paginator.page_size.title"),value:r,onPointerDown:e=>e.stopPropagation(),onChange:e=>a(Number(e.currentTarget.value)),children:o.map((e=>H.jsx("option",{value:e,children:e},e)))})]})}function ws(e){const{className:t,style:n,text:i,setText:r,isEditing:o,setEditing:a}=e,s=v.useRef(null);return v.useLayoutEffect((()=>{const e=s.current;o&&e&&(e.focus(),window.getSelection()?.selectAllChildren(e))}),[o]),v.useLayoutEffect((()=>{const e=s.current;e&&(e.innerText=i||"\n")}),[i]),H.jsx("p",{ref:s,className:t,style:n,contentEditable:o?"plaintext-only":void 0,onPointerDown:e=>{o&&e.stopPropagation()},onKeyDown:e=>{o&&e.stopPropagation()},onKeyUp:e=>{o&&(e.stopPropagation(),"Escape"===e.key&&(document.getSelection()?.removeAllRanges(),s.current?.blur()))},onBlur:()=>{const e=(s.current?.innerText??"").trim();a(!1),r(e)}})}var ys=class e{__commandsMarker;constructor(){}static define(){return new e}},_s=ys.define(),ks=ys.define(),xs=ys.define(),Ss=ys.define(),Cs=ys.define(),Ls={canEdit:!1,canDelete:!1,onEdit:()=>{},onDelete:()=>{}};function Ms(e,t){const{editor:n,getCommandBus:i}=sn(),r=n.inAuthoringMode?e:void 0,o=Ct(n.events,"changeAuthoringState",(()=>r?n.authoringState.elements.get(r.id):void 0)),a=Nt({input:[n.metadataProvider,r,o,t],load:async([e,t,n,i],{signal:r})=>{if(e&&t&&i&&(!n||"entityDelete"!==n.type)){const{canEdit:n,canDelete:i}=await e.canModifyEntity(t,{signal:r});return(n?1:0)|(i?2:0)}return 0}}),s="completed"===a.status?a.data:void 0;return r?{editedIri:o&&"entityChange"===o.type?o.newIri:void 0,canEdit:void 0===s?void 0:Boolean(1&s),canDelete:void 0===s?void 0:Boolean(2&s),onEdit:e=>{e instanceof ra&&i(Cs).trigger("editEntity",{target:e})},onDelete:()=>{n.deleteEntity(r.id)}}:Ls}var Es={renderElement:e=>e.element instanceof Wo?H.jsx(zs,{...e}):e.element instanceof ra?H.jsx($s,{...e}):null,supports:{[pi.ColorVariant]:!0,[pi.ElementSize]:!0}};function zs(e){const{element:t,elementState:n}=e,{model:i}=cr(),r=n.get(pi.AnnotationContent);return H.jsx(Ns,{...e,content:r,setContent:e=>{i.history.execute(Lr.compound(Ht.text("note_annotation.change_text.command"),[Br(t,t.elementState.set(pi.AnnotationContent,e))]))}})}function $s(e){const{element:t,textProperty:n="http://www.w3.org/ns/oa#bodyValue"}=e,{model:i,editor:r}=sn(),o=Pt(),a=t instanceof ra?t.data:void 0,s=Ms(a,!0),l=v.useMemo((()=>{const e=a?.properties[n];return e&&e.length>0?{type:"plaintext",text:o.selectValues(e,i.language).filter((e=>"Literal"===e.termType)).map((e=>e.value)).join("\n")}:void 0}),[a]);return H.jsx(Ns,{...e,readOnly:!0!==s.canEdit,content:l,setContent:e=>{a&&r.changeEntity(a.id,{...a,properties:{...a.properties,[n]:[i.factory.literal(e.text)]}})}})}var Ts="reactodia-note-annotation";function Ns(e){const{element:t,elementState:n,onlySelected:i,readOnly:r,content:o,setContent:a}=e,{canvas:s,model:l}=cr(),[c,d]=v.useState(!1),u=n.get(pi.ElementSize),h=n.get(pi.ColorVariant),f=("plaintext"===o?.type?o:void 0)??{type:"plaintext",text:""};return H.jsxs(H.Fragment,{children:[H.jsx("div",{className:cn(Ts,`${Ts}--variant-${h??"default"}`,c?`${Ts}--editing`:void 0),style:{width:u?.width,height:u?.height},onDoubleClick:async e=>{e.preventDefault(),e.stopPropagation(),r||(s.getScale()<1&&await s.centerTo(hr.center(yr(t,s.renderingState)),{scale:1,animate:!0}),d(!0))},children:H.jsx(ws,{className:`${Ts}__editor`,style:f.style,text:f.text,setText:e=>{requestAnimationFrame((()=>a({...f,text:e})))},isEditing:c,setEditing:d})}),i&&H.jsx(po,{target:t,children:H.jsx(As,{style:f.style,setStyle:e=>{a({...f,style:e})},variant:h,setVariant:e=>{l.history.execute(Br(t,t.elementState.set(pi.ColorVariant,e)))}})})]})}function As(e){const{style:t,setStyle:n,variant:i="default",setVariant:r}=e,o=Pt(),{fontStyle:a,fontWeight:s,textDecorationLine:l,textAlign:c="center"}=t??{},d={type:"button",onPointerDown:e=>e.stopPropagation()};return H.jsxs("div",{className:`${Ts}__controls`,children:[H.jsxs("div",{className:"reactodia-btn-group reactodia-btn-group-xs",children:[H.jsx("button",{...d,className:cn(`${Ts}__style-bold reactodia-btn reactodia-btn-default`,"bold"===s?"active":void 0),title:o.text("note_annotation.style_bold.title"),onClick:()=>n({...t,fontWeight:"bold"===s?void 0:"bold"})}),H.jsx("button",{...d,className:cn(`${Ts}__style-italic reactodia-btn reactodia-btn-default`,"italic"===a?"active":void 0),title:o.text("note_annotation.style_italic.title"),onClick:()=>n({...t,fontStyle:"italic"===a?void 0:"italic"})}),H.jsx("button",{...d,className:cn(`${Ts}__style-underline reactodia-btn reactodia-btn-default`,"underline"===l?"active":void 0),title:o.text("note_annotation.style_underline.title"),onClick:()=>n({...t,textDecorationLine:"underline"===l?void 0:"underline"})}),H.jsx("button",{...d,className:cn(`${Ts}__style-strikethrough reactodia-btn reactodia-btn-default`,"line-through"===l?"active":void 0),title:o.text("note_annotation.style_strikethrough.title"),onClick:()=>n({...t,textDecorationLine:"line-through"===l?void 0:"line-through"})})]}),H.jsxs("div",{className:"reactodia-btn-group reactodia-btn-group-xs",children:[H.jsx("button",{...d,className:cn(`${Ts}__align-left reactodia-btn reactodia-btn-default`,"left"===c?"active":void 0),title:o.text("note_annotation.style_align_left.title"),onClick:()=>n({...t,textAlign:"left"})}),H.jsx("button",{...d,className:cn(`${Ts}__align-center reactodia-btn reactodia-btn-default`,"center"===c?"active":void 0),title:o.text("note_annotation.style_align_center.title"),onClick:()=>n({...t,textAlign:void 0})}),H.jsx("button",{...d,className:cn(`${Ts}__align-right reactodia-btn reactodia-btn-default`,"right"===c?"active":void 0),title:o.text("note_annotation.style_align_right.title"),onClick:()=>n({...t,textAlign:"right"})})]}),H.jsx("div",{className:"reactodia-btn-group reactodia-btn-group-xs",children:Ei.map((e=>v.createElement("button",{...d,key:e,className:cn(`${Ts}__variant-${e} reactodia-btn reactodia-btn-default`,i===e?"active":void 0),title:o.text("note_annotation.style_color_variant.title",{variant:e}),onClick:()=>r("default"===e?void 0:e)},H.jsx("div",{className:`${Ts}__variant ${Ts}--variant-${e}`}))))})]})}var Is={markerTarget:{d:"M 6 1 a 5 5 0 1 0 0.0001 0 Z",width:12,height:12,fill:"context-stroke",stroke:"context-stroke",strokeWidth:2,fill:"var(--reactodia-canvas-background-color)"},renderLink:e=>e.link instanceof Go?H.jsx(Ps,{...e}):null},Vs="reactodia-note-link";function Ps(e){const{link:t,getPathPosition:n,route:i,primaryLabelProps:r}=e,{canvas:o}=cr(),{renameLinkProvider:a}=o.renderingState.shared,s=a?.getLabel(t)??r?.children??(a?.canRename(t)?"":void 0);return H.jsx(vs,{...e,pathProps:{className:`${Vs}__path`},children:void 0===s?null:H.jsx(Co,{...r,primary:!0,textAnchor:i?.labelTextAnchor??r?.textAnchor,className:cn(`${Vs}__label`,r?.className),link:t,position:r?.position??n(.5),children:H.jsx("span",{children:s})})})}var Hs={renderElement:e=>{const{element:t}=e;return t instanceof ra?H.jsx(Ds,{...e}):t instanceof oa?H.jsx(js,{...e}):null},supports:{[pi.Expanded]:!0}},Rs="reactodia-standard-element";function Ds(e){const{showActions:t,element:n,isExpanded:i,elementState:r}=e,{model:o,editor:a,getElementTypeStyle:s}=sn(),l=Pt(),c=n instanceof ra?n.data:void 0;Dt(tn,c?c.types:[],o);const d=Ms(c,i),{data:u}=Nt({input:[o.locale,c?o.locale.selectEntityImageUrl(c):void 0],load:([e,t],{signal:n})=>void 0===t?void 0:e.resolveAssetUrl(t,{signal:n})});if(!c)return null;const h=o.locale.formatEntityLabel(c,o.language),f=Ws(c,o,l),p=s(c.types),g={"--reactodia-element-style-color":p.color},m=(i?void 0:r.get(pi.PinnedProperties))??{};return H.jsxs("div",{style:g,className:cn(Rs,`${Rs}--standalone`,Gs(c,a.authoringState)),onDoubleClick:e=>{e.preventDefault(),e.stopPropagation(),o.history.execute(Or(n,!n.isExpanded))},children:[H.jsx("div",{className:`${Rs}__main`,children:H.jsxs("div",{className:`${Rs}__body`,children:[H.jsxs("div",{className:`${Rs}__body-horizontal`,children:[H.jsx("div",void 0!==u?{className:`${Rs}__thumbnail`,"aria-hidden":"true",children:H.jsx("img",{src:u,className:`${Rs}__thumbnail-image`})}:p.icon?{className:`${Rs}__thumbnail`,"aria-hidden":"true",children:H.jsx("img",{src:p.icon,className:cn(`${Rs}__thumbnail-icon`,p.iconMonochrome?`${Rs}__thumbnail-icon--monochrome`:void 0)})}:{className:`${Rs}__thumbnail`,"aria-hidden":"true",children:f.length>0?f.charAt(0).toUpperCase():"✳"}),H.jsxs("div",{className:`${Rs}__body-content`,children:[H.jsx("div",{title:f,className:`${Rs}__type`,children:H.jsx("div",{className:`${Rs}__type-value`,children:function(e){return 0===e.types.length?l.text("standard_element.default_type"):e.types.map(((e,t)=>{const n=o.getElementType(e),i=l.formatLabel(n?.data?.label,e,o.language);return H.jsxs(v.Fragment,{children:[0===t?null:", ",H.jsx(ps,{type:"elementType",target:e,children:H.jsx("span",{children:i})})]},e)}))}(c)})}),H.jsx(ps,{type:"element",target:c.id,children:H.jsx("div",{className:`${Rs}__label`,title:h,children:h})})]})]}),qs(c,m)?H.jsx("div",{className:`${Rs}__pinned-props`,children:H.jsx(Zs,{data:c,shouldInclude:e=>Us(e,m)})}):null]})}),i?H.jsxs("div",{className:`${Rs}__dropdown`,children:[void 0===u?null:H.jsx("div",{className:`${Rs}__photo`,children:H.jsx("img",{src:u,className:`${Rs}__photo-image`})}),H.jsxs("div",{className:`${Rs}__dropdown-content`,children:[function(e){const t=void 0===d.editedIri?e.id:d.editedIri;return H.jsxs("div",{children:[H.jsxs("div",{className:`${Rs}__iri`,children:[H.jsx("div",{className:`${Rs}__iri-key`,children:l.text(d.editedIri?"standard_element.iri.label_modified":"standard_element.iri.label")}),H.jsx("div",{className:`${Rs}__iri-value`,children:Ft(t)?H.jsx("span",{children:l.text("standard_element.blank_node")}):H.jsx("a",{...o.locale.prepareAnchor(t),title:t,children:t})})]}),H.jsx("hr",{className:`${Rs}__hr`})]})}(c),H.jsx(Zs,{data:c}),t&&a.inAuthoringMode?H.jsxs(H.Fragment,{children:[H.jsx("hr",{className:`${Rs}__hr`,"data-reactodia-no-export":"true"}),H.jsx(Ks,{target:n,entityContext:d,translation:l})]}):null]})]}):null]})}var Bs=10,Os=[5,10,15,20,30];function js(e){const{element:t,elementState:n,groupPageSize:i=Bs,groupPageSizes:r=Os}=e,{canvas:o}=cr(),a=sn(),{getElementStyle:s}=a;if(!(t instanceof oa))return null;const l=t.items,{color:c}=s(t),d={"--reactodia-standard-group-color":c};let u=n.get(pi.GroupPageSize)??i;u=Number.isFinite(u)?u:i;const h=Math.max(Math.ceil(l.length/u),1);let f=n.get(pi.GroupPageIndex)??0;f=Number.isFinite(f)?f:0,f=Math.min(Math.max(f,0),h-1);const p=f*u,g=l.slice(p,Math.min(p+u,l.length)),m=1===h?0:p+u-l.length;return H.jsxs("div",{className:cn(Rs,`${Rs}--group`),style:d,role:"list",children:[g.map((n=>v.createElement(Fs,{...e,key:n.data.id,data:n.data,isExpanded:!1,target:t,canvas:o,workspace:a}))),Array.from({length:m},((e,t)=>H.jsx("div",{className:`${Rs}__item-filler`,"aria-hidden":!0,children:" "},t))),H.jsx(bs,{pageIndex:f,pageCount:h,onChangePage:e=>t.setElementState(t.elementState.set(pi.GroupPageIndex,e)),pageSize:u,pageSizes:r,onChangePageSize:e=>t.setElementState(t.elementState.set(pi.GroupPageSize,e))})]})}function Fs(e){const{data:t,target:n,canvas:i,workspace:r}=e,o=Pt(),{model:a,editor:s,getElementTypeStyle:l}=r;Dt(tn,t?t.types:[],a);const c=a.locale.formatEntityLabel(t,a.language),d=a.locale.formatIri(t.id),u=Ws(t,a,o),h=o.text("standard_element.group_item.title",{entity:c,entityIri:d,entityTypes:u}),f=Gs(t,s.authoringState),{color:p}=l(t.types),g={"--reactodia-element-style-color":p};return H.jsxs("div",{className:cn(`${Rs}__item`,f),style:g,role:"listitem",children:[H.jsx("div",{className:`${Rs}__item-stripe`,"aria-hidden":"true"}),H.jsxs("div",{className:`${Rs}__item-body`,children:[H.jsx(ps,{type:"element",target:t.id,children:H.jsx("div",{className:`${Rs}__label`,title:h,children:c})}),H.jsx("button",{type:"button",className:cn(`${Rs}__ungroup-one-button`,"reactodia-btn reactodia-btn-default"),"data-reactodia-no-export":"true",title:o.text("standard_element.ungroup.title"),onClick:()=>{Ba(r,{group:n,entities:new Set([t.id]),canvas:i})}})]})]})}function Us(e,t){return Boolean(Object.prototype.hasOwnProperty.call(t,e)&&t[e])}function qs(e,t){for(const n in e.properties)if(Object.prototype.hasOwnProperty.call(e.properties,n)&&Us(n,t))return!0;return!1}function Ws(e,t,n){return 0===e.types.length?n.text("standard_element.default_type"):t.locale.formatEntityTypeList(e,t.language)}function Gs(e,t){const n=t.elements.get(e.id);if(n)switch(n.type){case"entityAdd":return`${Rs}--new`;case"entityChange":return`${Rs}--changed`;case"entityDelete":return`${Rs}--deleted`;default:return}}function Zs(e){const{data:t,shouldInclude:n}=e,{model:i}=sn(),r=Pt(),o=[];for(const e in t.properties)Object.prototype.hasOwnProperty.call(t.properties,e)&&t.properties[e].length>0&&(!n||n(e))&&o.push(e);if(Dt(nn,o,i),0===o.length)return H.jsx("div",{children:r.text("standard_element.no_properties")});const a=o.map((e=>{const n=i.getPropertyType(e),o=r.selectValues(t.properties[e],i.language);return{iri:e,label:r.formatLabel(n?.data?.label,e,i.language),values:0===o.length?t.properties[e]:o}}));return a.sort(((e,t)=>e.label.localeCompare(t.label))),H.jsx("div",{role:"list",className:`${Rs}__properties`,children:a.map((({iri:e,label:t,values:n})=>H.jsxs("div",{role:"listitem",className:`${Rs}__properties-row`,children:[H.jsx(ps,{type:"propertyType",target:e,children:H.jsx("div",{className:`${Rs}__properties-key`,title:r.text("standard_element.property.title",{property:t,propertyIri:i.locale.formatIri(e)}),children:t})}),H.jsx("div",{className:`${Rs}__properties-values`,children:n.map(((e,t)=>H.jsx("div",{className:`${Rs}__properties-value`,title:e.value,lang:"Literal"===e.termType&&e.language?e.language:void 0,children:e.value},t)))})]},e)))})}function Ks(e){const{target:t,entityContext:{canEdit:n,canDelete:i,onEdit:r,onDelete:o},translation:a}=e;return H.jsxs("div",{className:`${Rs}__actions`,"data-reactodia-no-export":"true",children:[H.jsx("button",{type:"button",className:cn(`${Rs}__delete-button`,"reactodia-btn reactodia-btn-default"),title:a.text(i?"standard_element.delete.title":"standard_element.delete.title_disabled"),disabled:!i,onClick:o,children:void 0===i?H.jsx(Yt,{width:15,height:12}):a.text("standard_element.delete.label")}),H.jsx("button",{type:"button",className:cn(`${Rs}__edit-button`,"reactodia-btn reactodia-btn-default"),title:a.text(n?"standard_element.edit.title":"standard_element.edit.title_disabled"),disabled:!n,onClick:()=>r(t),children:void 0===n?H.jsx(Yt,{width:15,height:12}):a.text("standard_element.edit.label")})]})}var Xs={markerTarget:{d:"M0,0 L0,8 L9,4 z",width:9,height:8,fill:"context-stroke"},renderLink:e=>H.jsx(el,{...e})},Qs="reactodia-standard-link",Ys=`${Qs}__property`,Js=`${Qs}__label`;function el(e){const{link:t,className:n,path:i,pathProps:r,markerSource:o,markerTarget:a,getPathPosition:s,route:l,primaryLabelProps:c,prependLabels:d=null,children:u}=e,{model:h,view:{renameLinkProvider:f}}=sn(),p=Pt();Dt(rn,[t.typeId],h);const g=f?.getLabel(t);let v=null;if("visible"===h.getLinkVisibility(t.typeId)){const n=h.getLinkType(t.typeId),i=g??p.formatLabel(n?.data?.label,t.typeId,h.language);v=H.jsxs(H.Fragment,{children:[H.jsx(Co,{...c,primary:!0,textAnchor:l?.labelTextAnchor??c?.textAnchor,className:cn(Js,g?`${Js}--renamed`:void 0,c?.className),title:c?.title??p.text("standard_link.label.title",{relation:i,relationIri:h.locale.formatIri(t.typeId)}),link:t,position:s(.5),children:g?H.jsx("span",{children:i}):H.jsx(ps,{type:"linkType",target:t.typeId,children:H.jsx("span",{children:i})})}),d,t instanceof la?H.jsx(tl,{...e}):null,t instanceof da?H.jsxs(H.Fragment,{children:[H.jsx(Co,{className:`${Qs}__source-count`,link:t,position:s(.1),title:p.text("standard_link.group_source.title",{value:t.itemSources.size}),children:p.text("standard_link.group_source.value",{value:t.itemSources.size})}),H.jsx(Co,{className:`${Qs}__target-count`,link:t,position:s(.9),title:p.text("standard_link.group_target.title",{value:t.itemTargets.size}),children:p.text("standard_link.group_target.value",{value:t.itemTargets.size})})]}):null]})}const{linkState:m}=t,b=r?.stroke;return H.jsxs("g",{className:cn(Qs,t instanceof da?`${Qs}--group`:void 0,n),children:[H.jsx(ko,{path:i,pathProps:{fill:"none",...r,className:cn(`${Qs}__path`,r?.className),stroke:b,strokeDasharray:m.get(pi.LayoutOnly)?"5,5":r?.strokeDasharray},markerSource:o,markerTarget:a}),v,0===t.vertices.length?null:H.jsx(Mo,{linkId:t.id,vertices:t.vertices,fill:b}),u]})}function tl(e){const{link:t,getPathPosition:n,route:i,propertyLabelProps:r,propertyLabelStartLine:o=1}=e,{model:a}=sn(),s=Pt(),{data:l}=t,c=[];for(const e in l.properties)Object.prototype.hasOwnProperty.call(l.properties,e)&&l.properties[e].length>0&&c.push(e);Dt(nn,c,a);const d=[];for(const e of c){const t=a.getPropertyType(e),n=s.selectValues(l.properties[e],a.language),i="function"==typeof r?r(e):r;null!==i&&d.push({iri:e,label:s.formatLabel(t?.data?.label,e,a.language),values:0===n.length?l.properties[e]:n,style:i})}return d.sort(((e,t)=>e.label.localeCompare(t.label))),H.jsx(H.Fragment,{children:d.map(((e,l)=>H.jsxs(Co,{...r,link:t,position:n(.5),line:o+l,textAnchor:i?.labelTextAnchor??e.style?.textAnchor,className:cn(Ys,e.style?.className),title:e.style?.title??s.text("standard_link.property.title",{property:e.label,propertyIri:a.locale.formatIri(e.iri)}),children:[H.jsx(ps,{type:"propertyType",target:e.iri,children:H.jsxs("span",{children:[e.label,": "]})}),e.values.map((e=>e.value)).join(", ")]},e.iri)))})}function nl(e){const{canvas:t,model:n}=cr();return H.jsx(Bo,{layer:"overElements",children:H.jsx(ol,{...e,model:n,canvas:t})})}var il="reactodia-drag-link-mover",rl={allowed:!1,connect:()=>Promise.resolve(),moveSource:()=>Promise.resolve(),moveTarget:()=>Promise.resolve()},ol=class extends v.Component{listener=new wi;cancellation=new AbortController;canDropOnElementCancellation=new AbortController;temporaryLink;temporaryElement;oldLink;constructor(e){super(e),this.state={}}componentDidMount(){const{canvas:e,operation:t}=this.props;switch(this.cancellation=new AbortController,t.mode){case"connect":this.beginCreatingLink(t);break;case"moveSource":case"moveTarget":this.beginMovingLink(t);break;default:throw new Error(`Unknown edit mode: "${t.mode}"`)}this.forceUpdate(),this.queryCanConnectToAny(),this.listener.listen(e.events,"changeTransform",(()=>this.forceUpdate())),document.addEventListener("pointermove",this.onPointerMove),document.addEventListener("pointerup",this.onPointerUp),document.addEventListener("pointercancel",this.onPointerUp)}componentWillUnmount(){this.listener.stopListening(),this.cancellation.abort(),this.canDropOnElementCancellation.abort(),document.removeEventListener("pointermove",this.onPointerMove),document.removeEventListener("pointerup",this.onPointerUp),document.removeEventListener("pointercancel",this.onPointerUp),this.cleanup()}beginCreatingLink(e){const{createLink:t,model:n}=this.props,{source:i,point:r}=e,o=n.history.startBatch(),a=this.createTemporaryElement(r),s=t(i,a,void 0);o.discard(),this.temporaryElement=a,this.temporaryLink=s}beginMovingLink(e){const{createLink:t,model:n}=this.props,{link:i,point:r}=e,o=n.history.startBatch();this.oldLink=i,n.removeLink(i.id);const a=this.createTemporaryElement(r),s="moveSource"===e.mode?t(a,n.targetOf(i),i):t(n.sourceOf(i),a,i);o.discard(),this.temporaryElement=a,this.temporaryLink=s}createTemporaryElement(e){const{model:t}=this.props,n=new Wr({});return n.setPosition(e),t.addElement(n),n}onPointerMove=e=>{const{model:t,canvas:n}=this.props,{targetElement:i,waitingForMetadata:r}=this.state;if(e.preventDefault(),e.stopPropagation(),r)return;const o=n.metrics.pageToPaperCoords(e.pageX,e.pageY);this.temporaryElement.setPosition(o);const a=zr(t.elements,o,n.renderingState);a!==i&&this.queryCanDropOnElement(a),this.setState({targetElement:a})};queryCanConnectToAny(){const{canConnect:e,model:t}=this.props;this.setState({anyConnection:void 0});const n=this.temporaryLink;hi(e(t.getElement(n.sourceId),n,void 0,this.cancellation.signal),this.cancellation.signal).then((e=>{null!==e&&this.setState({anyConnection:e})}),(e=>{console.error("Error calling canConnect() without target",e),this.setState({anyConnection:rl})}))}queryCanDropOnElement(e){const{operation:t,canConnect:n,model:i}=this.props;if(this.canDropOnElementCancellation.abort(),this.canDropOnElementCancellation=new AbortController,!e)return void this.setState({targetConnection:rl});this.setState({targetConnection:void 0});const r=this.temporaryLink;let o,a;switch(t.mode){case"connect":case"moveTarget":o=r?i.getElement(r.sourceId):void 0,a=e;break;case"moveSource":o=e,a=r?i.getElement(r.targetId):void 0}if(!(o&&a&&r))return void this.setState({targetConnection:rl});const s=this.canDropOnElementCancellation.signal;hi(n(o,r,a,s),s).then((e=>{null!==e&&this.setState({targetConnection:e})}),(e=>{console.error("Error calling canConnect() with target",e),this.setState({targetConnection:rl})}))}onPointerUp=e=>{const{canvas:t}=this.props;if(this.state.waitingForMetadata)return;this.setState({waitingForMetadata:!0});const n=t.metrics.pageToPaperCoords(e.pageX,e.pageY);this.executeEditOperation(n)};async executeEditOperation(e){const{operation:t,canvas:n,model:i}=this.props;try{const{targetElement:r,anyConnection:o,targetConnection:a}=this.state,s=i.history.startBatch(),l=this.restoreOldLink();s.discard();const c=r?a:o;if(c?.allowed)switch(t.mode){case"connect":await c.connect(t.source,r,e,n,this.cancellation.signal);break;case"moveSource":await c.moveSource(l,r,n,this.cancellation.signal);break;case"moveTarget":await c.moveTarget(l,r,n,this.cancellation.signal)}}finally{this.cleanupAndFinish()}}cleanupAndFinish(){const{onFinish:e}=this.props;this.cleanup(),e?.()}cleanup(){const{cleanupLink:e,model:t}=this.props,n=t.history.startBatch();t.removeElement(this.temporaryElement.id),t.removeLink(this.temporaryLink.id),e?.(this.temporaryLink),this.restoreOldLink(),n.discard(),this.setState({waitingForMetadata:!1})}restoreOldLink(){const{model:e}=this.props,t=this.oldLink;return this.oldLink=void 0,t&&e.addLink(t),t}render(){const{model:e,canvas:t}=this.props,{waitingForMetadata:n}=this.state;if(!this.temporaryLink)return null;const i=t.renderingState;return H.jsxs(Xr,{paperTransform:t.metrics.transform,className:il,children:[H.jsx(zo,{model:e,renderingState:i}),this.renderHighlight(),this.renderCanDropIndicator(),n?null:H.jsx(mo,{model:e,renderingState:i,shouldRenderLink:e=>e===this.temporaryLink})]})}renderHighlight(){const{canvas:e}=this.props,{targetElement:t,targetConnection:n,waitingForMetadata:i}=this.state;if(!t)return null;const{x:r,y:o,width:a,height:s}=yr(t,e.renderingState);return void 0===n||i?H.jsxs("g",{transform:`translate(${r},${o})`,children:[H.jsx("rect",{className:`${il}__highlight-overlay`,width:a,height:s}),H.jsx(Qt,{size:30,position:{x:a/2,y:s/2}})]}):H.jsx("rect",{className:n?.allowed?`${il}__highlight-allow`:`${il}__highlight-deny`,x:r,y:o,width:a,height:s})}renderCanDropIndicator(){const{targetElement:e,anyConnection:t,waitingForMetadata:n}=this.state;if(e)return null;const{x:i,y:r}=this.temporaryElement.position;let o;return o=void 0===t?H.jsx(Qt,{size:1.2,position:{x:.5,y:-.5}}):t?.allowed?H.jsx("path",{className:`${il}__drop-allow`,d:"M0.5,0 L0.5,-1 M0,-0.5 L1,-0.5",strokeWidth:.2}):H.jsxs("g",{className:`${il}__drop-deny`,children:[H.jsx("circle",{cx:"0.5",cy:"-0.5",r:"0.5",fill:"none",strokeWidth:.2}),H.jsx("path",{d:"M0.5,0 L0.5,-1",strokeWidth:.2,transform:"rotate(-45 0.5 -0.5)"})]}),H.jsxs("g",{transform:`translate(${i} ${r})scale(40)`,children:[H.jsx("rect",{className:`${il}__drop-underlay`,x:-.5,y:-.5,width:1,height:1,rx:.25,ry:.25}),n?H.jsx(Qt,{size:.8}):H.jsx("g",{transform:"translate(0.5, -0.5)scale(0.25)",children:o})]})}};function al(e){const{operation:t,onFinish:n}=e,{model:i}=cr();return H.jsx(nl,{operation:t,createLink:(e,t,n)=>{const r=new Go({sourceId:e.id,targetId:t.id,vertices:n?.vertices,linkState:n?.linkState});return i.addLink(r),r},canConnect:async(e,t,n)=>new sl(e instanceof Wo&&t instanceof Go&&void 0!==n&&!i.getElementLinks(e).some((t=>t instanceof Go&&t.sourceId===e.id&&t.targetId===n.id)),i),onFinish:n})}var sl=class{allowed;model;constructor(e,t){this.allowed=e,this.model=t}async connect(e,t){t&&this.model.addLink(new Go({sourceId:e.id,targetId:t.id}))}async moveSource(e,t){const n=this.model.history.startBatch();this.model.removeLink(e.id);const i=new Go({id:e.id,sourceId:t.id,targetId:e.targetId,vertices:e.vertices,linkState:e.linkState});this.model.addLink(i),n.store(),this.model.setSelection([i])}async moveTarget(e,t){const n=this.model.history.startBatch();this.model.removeLink(e.id);const i=new Go({id:e.id,sourceId:e.sourceId,targetId:t.id,vertices:e.vertices,linkState:e.linkState});this.model.addLink(i),n.store(),this.model.setSelection([i])}};function ll(){const{getCommandBus:e}=sn(),{canvas:t,model:n}=cr(),[i,r]=v.useState(null);return v.useEffect((()=>{const i=e(_s),o=new wi;return o.listen(i,"findCapabilities",(e=>{e.capabilities.push({})})),o.listen(i,"startDragOperation",(({operation:e})=>{r(H.jsx(al,{operation:e,onFinish:()=>r(null)}))})),o.listen(i,"createAnnotation",(({targets:e,content:i,position:r})=>{const o=n.history.startBatch(),a=new Wo({elementState:i?Ci.empty.set(pi.AnnotationContent,i):void 0});if(n.addElement(a),r)a.setPosition(r);else{const i=function(e,t){let n,i=0;for(const r of e){const e=yr(r,t),o=dr.length(hr.center(e));o>=i&&(i=o,n=r)}return n}(e,t.renderingState);i&&(a.setPosition(i.position),t.renderingState.syncUpdate(),o.history.execute(Ur({elements:[a],target:i,graph:n,sizeProvider:t.renderingState})))}for(const t of e)n.addLink(new Go({sourceId:a.id,targetId:t.id}));o.store(),t.renderingState.syncUpdate()})),()=>o.stopListening()}),[]),H.jsx(H.Fragment,{children:i})}var cl="reactodia-form";function dl(e){const{link:t,onFinish:n}=e,{view:{renameLinkProvider:i}}=sn(),r=Pt(),o=function(e){const{model:t}=sn(),n=Pt(),i=e instanceof la||e instanceof da?t.getLinkType(e.typeId):void 0,r=$t(Et(i?.events,"changeData"),(()=>i?.data?.label));return v.useMemo((()=>e instanceof la||e instanceof da?n.formatLabel(r,e.typeId,t.language):""),[e,r,t.language])}(t),[a,s]=v.useState(i?.getLabel(t)??o);return H.jsxs("div",{className:cl,children:[H.jsx("div",{className:`${cl}__body`,children:H.jsxs("div",{className:`${cl}__row`,children:[H.jsx("label",{children:r.text("visual_authoring.rename_link.label.label")}),H.jsx("input",{className:"reactodia-form-control",placeholder:o,autoFocus:!0,value:a,onChange:e=>s(e.target.value)})]})}),H.jsxs("div",{className:`${cl}__controls`,children:[H.jsx("button",{className:`reactodia-btn reactodia-btn-primary ${cl}__apply-button`,title:r.textOptional("visual_authoring.rename_link.dialog.apply.title")??r.text("visual_authoring.dialog.apply.title"),onClick:()=>{i&&i.setLabel(t,a),n()},children:r.textOptional("visual_authoring.rename_link.dialog.apply.label")??r.text("visual_authoring.dialog.apply.label")}),H.jsx("button",{className:"reactodia-btn reactodia-btn-secondary",title:r.text("visual_authoring.dialog.cancel.title"),onClick:n,children:r.text("visual_authoring.dialog.cancel.label")})]})]})}function ul(){const{overlay:e,getCommandBus:t}=sn(),n=Pt();return v.useLayoutEffect((()=>{const i=({target:t})=>{e.showDialog({target:t,dialogType:"reactodia:renameLink",style:{defaultSize:{width:300,height:165},resizableBy:"x",caption:n.text("visual_authoring.rename_link.dialog.caption")},content:H.jsx(dl,{link:t,onFinish:()=>e.hideDialog()})})},r=new wi,o=t(_s);r.listen(o,"renameLink",i);const a=t(Cs);return r.listen(a,"renameLink",i),()=>r.stopListening()}),[]),null}function hl(e,t,n){let i=e;for(;i&&i!==t;){if(n(i))return i;i=i.parentElement}}function fl(e){const{children:t}=e,[n]=v.useState((()=>new ml)),i=t({ref:n._setRoot,controller:n}),[r,o]=v.useState(0);return v.useLayoutEffect((()=>n.ensureFocusable()),[r,i]),v.useEffect((()=>{let e=!1;const t=()=>{e||(e=!0,setTimeout((()=>{o((e=>(e+1)%Number.MAX_SAFE_INTEGER)),e=!1}),0))};return n.events.on("lostFocusable",t),()=>n.events.off("lostFocusable",t)}),[]),H.jsx(pl.Provider,{value:n,children:i})}var pl=v.createContext(null);function gl(e){const{debugLabel:t,active:n=!0}=e??{},i=v.useContext(pl);if(!i)throw new Error("Reactodia: missing <FocusGroup> context");const[r]=v.useState(new vl(t)),o=v.useCallback((e=>{i._bindFocusable(r,e)}),[i,r]),a=Ct(i.events,"changeFocus",(()=>i._getFocus()===r));return{ref:o,tabIndex:n?a?0:-1:void 0}}var vl=class{debugLabel;constructor(e){this.debugLabel=e}},ml=class{_source=new bi;events=this._source;_root=null;_tokens=new WeakMap;_focus;getRoot(){return this._root}_setRoot=e=>{this._root=e,this._focus=void 0};_getFocus(){return this._focus}_bindFocusable(e,t){t?this._tokens.set(t,e):e===this._focus&&this._source.trigger("lostFocusable",{source:this})}_isItem=e=>this._tokens.has(e);_isFocusableItem=e=>this._isItem(e)&&Boolean(e.hasAttribute("tabindex")||e.querySelector("[tabindex]"));focusAt(e){if(!this._root)return;const t=hl(e,this._root,this._isItem);t&&this._changeFocused(t)}focusPrevious(e){const{from:t}=e;if(!this._root)return;const n=hl(t,this._root,this._isItem);if(n){const e=function(e,t,n){let i=e,r=!1;do{for(;;)if(r){if(!i.lastElementChild){r=!1;break}i=i.lastElementChild}else if(i.previousElementSibling)i=i.previousElementSibling,r=!0;else{if(i.parentElement!==t){if(i.parentElement){i=i.parentElement;break}return}if(!t.lastElementChild)return;i=t.lastElementChild,r=!0}if(n(i))return i}while(i!==e)}(n,this._root,this._isFocusableItem);this._tryFocusOnItemElement(e)}}focusNext(e){const{from:t}=e;if(!this._root)return;const n=hl(t,this._root,this._isItem);if(n){const e=function(e,t,n){let i=e,r=!0;do{for(;;){if(r&&i.firstElementChild){i=i.firstElementChild;break}if(i.nextElementSibling){i=i.nextElementSibling,r=!0;break}if(i.parentElement===t){if(t.firstElementChild){i=t.firstElementChild,r=!0;break}return}if(!i.parentElement)return;i=i.parentElement,r=!1}if(n(i))return i}while(i!==e)}(n,this._root,this._isFocusableItem);this._tryFocusOnItemElement(e)}}focusParent(e){const{from:t}=e;if(!this._root)return;const n=hl(t,this._root,this._isItem);if(!n)return;const i=n.parentElement?hl(n.parentElement,this._root,this._isItem):void 0;this._tryFocusOnItemElement(i)}ensureFocusable(e){const{reset:t=!1}=e??{};if(!this._root)return;const n=t?void 0:this._focus;if(n)for(const e of this._root.querySelectorAll('[tabindex="0"]')){const t=hl(e,this._root,this._isItem);if((t?this._tokens.get(t):void 0)===n)return}let i=!1;for(const e of this._root.querySelectorAll("[tabindex]")){const t=hl(e,this._root,this._isItem);if(t&&this._tokens.has(t)){i=!0,this._changeFocused(t);break}}t&&!i&&(this._focus=void 0)}_tryFocusOnItemElement(e){if(e){const t=e.hasAttribute("tabindex")?e:e.querySelector("[tabindex]");t instanceof HTMLElement&&t.focus(),this._changeFocused(e)}}_changeFocused(e){const t=this._tokens.get(e);t&&this._focus!==t&&(this._focus=t,this._source.trigger("changeFocus",{source:this}))}defaultClick=e=>{e.target instanceof HTMLElement&&this.focusAt(e.target)};defaultKeyDown=e=>{"ArrowUp"===e.key?(e.preventDefault(),e.target instanceof HTMLElement&&this.focusPrevious({from:e.target})):"ArrowDown"===e.key&&(e.preventDefault(),e.target instanceof HTMLElement&&this.focusNext({from:e.target}))}},bl="reactodia-dropdown";function wl(e){const{className:t,direction:n="down",expanded:i,toggle:r,onClickOutside:o,children:a,...s}=e,l=v.useRef(null);return v.useLayoutEffect((()=>{if(o&&i){const e=e=>{e.target instanceof Node&&!l.current?.contains(e.target)&&o()};return document.body.addEventListener("pointerdown",e),()=>document.body.removeEventListener("pointerdown",e)}}),[o,i]),H.jsxs("div",{...s,ref:l,className:cn(t,bl,"down"===n?`${bl}--down`:`${bl}--up`,i?`${bl}--expanded`:`${bl}--collapsed`),children:["down"===n?r:null,H.jsx("div",{className:`${bl}__content`,"aria-hidden":!i,children:a}),"up"===n?r:null]})}var yl="reactodia-dropdown-menu";function _l(e){const{className:t,direction:n,title:i,children:r,...o}=e,[a,s]=v.useState(!1),l=v.useMemo((()=>({expanded:a,setExpanded:s})),[a,s]),c=v.useCallback((()=>s(!1)),[s]);return H.jsx(kl.Provider,{value:l,children:H.jsx(fl,{children:({ref:e,controller:l})=>H.jsx(wl,{...o,className:cn(t,yl),"aria-haspopup":"menu",direction:n,expanded:a,toggle:H.jsx(Sl,{title:i}),onClickOutside:c,children:H.jsx("div",{ref:e,role:"menu",className:`${yl}__items`,onClick:l.defaultClick,onKeyDown:e=>((e,t)=>{"Escape"===e.key?s(!1):t.defaultKeyDown(e)})(e,l),children:r})})})})}var kl=v.createContext(null);function xl(){const e=v.useContext(kl);if(!e)throw new Error("Missing Reactodia dropdown menu context");return e}function Sl(e){const{title:t}=e,{expanded:n,setExpanded:i}=xl(),r=function(){const e=v.useContext(pl);if(!e)throw new Error("Reactodia: missing <FocusGroup> context");return e}();return v.useLayoutEffect((()=>{n||r.ensureFocusable({reset:!0})}),[n]),H.jsx("button",{type:"button",className:cn(`${yl}__toggle`,"reactodia-btn","reactodia-btn-default",n?"active":void 0),title:t,onClick:()=>i((e=>!e))})}var Cl="reactodia-dropdown-menu-item";function Ll(e){const{className:t,title:n,disabled:i,onSelect:r,children:o,...a}=e,{expanded:s,setExpanded:l}=xl(),{ref:c,tabIndex:d}=gl({active:s&&!i}),u=v.useCallback((()=>{l((()=>!1)),r?.()}),[r,l]);return H.jsx("button",{...a,ref:c,type:"button",role:"menuitem",tabIndex:d,className:cn(t,Cl,i?`${Cl}--disabled`:void 0,"reactodia-btn reactodia-btn-default"),disabled:i,title:n,onClick:i?void 0:u,children:o})}function Ml(){const e=v.useContext(kl);return Boolean(e)}var El="reactodia-list-element-view";function zl(e){const{element:t,className:n,highlightText:i,disabled:r,selected:o,onClick:a,onDragStart:s,ref:l,...c}=e,{model:d,getElementTypeStyle:u}=sn(),h=Pt();Dt(tn,t.types,d);const{color:f}=u(t.types),{h:p,c:g,l:v}=oi(f),m=o&&!r?oi(p,g,1.2*v).toString():void 0,b=cn(El,o?`${El}--selected`:void 0,r?`${El}--disabled`:void 0,n),w={"--reactodia-element-style-color":f},y=d.locale.formatEntityLabel(t,d.language);return H.jsx("div",{...c,ref:l,className:b,role:c.role??"option",draggable:!r&&Boolean(s),title:c.title??Nl(t,d,h),style:{...c.style,...w},onClick:e=>{!r&&a&&(e.persist(),a(e,t))},onDragStart:s,children:H.jsx("div",{className:`${El}__label`,style:{background:m},children:Tl(y,i)})})}var $l={className:"reactodia-text-highlight"};function Tl(e,t,n=$l){if(!t)return H.jsx("span",{children:e});const i=e.toLowerCase().indexOf(t.toLowerCase());if(i<0)return H.jsx("span",{children:e});const r=i+t.length,o=e.substring(0,i),a=e.substring(i,r),s=e.substring(r);return H.jsxs("span",{children:[o,H.jsx("span",{...n,children:a}),s]})}function Nl(e,t,n){const i=t.locale.formatIri(e.id),r=t.locale.formatEntityLabel(e,t.language),o=t.locale.formatEntityTypeList(e,t.language),a=n.text("inline_entity.title",{entity:r,entityIri:i,entityTypes:o}),s=n.text("inline_entity.title_extra",{entity:r,entityIri:i,entityTypes:o});return`${a}${s?`\n${s}`:""}`}var Al="reactodia-progress-bar";function Il(e){const{state:t,title:n,percent:i=100,height:r=20}=e;return H.jsx("div",{className:`${Al} ${Al}--${t}`,style:{height:"loading"===t||"error"===t?r:0},children:H.jsx("div",{className:`${Al}__bar`,style:{width:`${i}%`},title:n,role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":i})})}var Vl="reactodia-search-input";function Pl(e){const{className:t,inputProps:n={},store:i,children:r}=e,o=Pt(),a=Ct(i.events,"changeValue",(()=>i.value)),s=Ct(i.events,"changeMode",(()=>i.mode));return H.jsxs("div",{role:"search",className:cn(Vl,"explicit"===s?`${Vl}--has-submit`:void 0,t),children:[H.jsx("input",{...n,role:"searchbox",type:n.type??"text",className:cn(`${Vl}__input`,"reactodia-form-control",n.className),placeholder:n.placeholder??o.text("search_defaults.input.placeholder"),value:a,onChange:e=>i.change({value:e.currentTarget.value,action:"input"}),onKeyUp:e=>{"Enter"===e.key&&i.change({value:i.value,action:"submit"})}}),i.value?H.jsx("div",{className:`${Vl}__clear-container`,children:H.jsx("button",{type:"button",className:`${Vl}__clear`,title:o.text("search_defaults.input_clear.title"),onClick:()=>i.change({value:"",action:"clear"}),children:H.jsx("span",{"aria-hidden":"true"})})}):null,"explicit"===s?H.jsx("button",{type:"button",title:o.text("search_defaults.input_submit.title"),className:cn(`${Vl}__submit`,"reactodia-btn","reactodia-btn-default"),onClick:()=>i.change({value:i.value,action:"submit"})}):null,r]})}function Hl(e){const{initialValue:t,submitTimeout:n="immediate",allowSubmit:i}=e,[r]=v.useState((()=>new Rl(t)));return v.useEffect((()=>{r.setDebounceTimeout(n),r.setAllowSubmit(i)})),r}var Rl=class{events=new bi;_value;_mode="debounce";debouncer=new yi(0);allowSubmit;constructor(e){this._value=e}get mode(){return this._mode}get value(){return this._value}setDebounceTimeout(e){switch(e){case"immediate":case"explicit":this.debouncer.setTimeout(0),this._mode=e;break;default:this.debouncer.setTimeout(e),this._mode="debounce"}}setAllowSubmit(e){this.allowSubmit=e}change(e){const{value:t,action:n}=e;if(this.debouncer.dispose(),t!==this._value||"input"!==n){const e=this._value;this._value=t,this.events.trigger("changeValue",{source:this,previous:e,action:n})}switch(n){case"input":"explicit"!==this._mode&&this.trySubmit(t,{debounce:"debounce"===this._mode});break;case"submit":this.trySubmit(t,{debounce:!1});break;case"clear":this.events.trigger("clearSearch",{source:this,value:t})}}trySubmit(e,t){!this.allowSubmit||this.allowSubmit(e)?t.debounce?this.debouncer.call((()=>this.events.trigger("executeSearch",{source:this,value:e}))):this.events.trigger("executeSearch",{source:this,value:e}):this.events.trigger("clearSearch",{source:this,value:e})}},Dl="reactodia-search-results";function Bl(e){const{items:t,selection:n,onSelectionChanged:i,isItemDisabled:r,highlightText:o,useDragAndDrop:a=!0,multiSelection:s=!0,footer:l}=e,c=function(e){const{model:t}=sn(),n=zt(Et(t.events,"changeCells")),i=$t(e?Mt:n,(()=>t.cellsVersion));return v.useMemo((()=>{if(e)return e;const n=Ta(t);return e=>n.has(e.id)}),[e,i])}(r),d=v.useMemo((()=>t.map((e=>({data:e,active:!c(e)})))),[t,c]),u=At(t),h=v.useRef(),f=v.useMemo((()=>({highlightText:o,useDragAndDrop:a,selection:n,onSetSelected:(e,t,r)=>{if(t){if(s&&r.shiftKey&&h.current){const t=h.current.id,r=u.current.findIndex((e=>e.id===t)),o=u.current.findIndex((t=>t.id===e.data.id));if(r>=0&&o>=0){const e=new Set(n),t=Math.max(r,o);for(let n=Math.min(r,o);n<=t;n++)e.add(u.current[n].id);i(e)}}else if(!n.has(e.data.id)){const t=new Set(s?n:void 0);t.add(e.data.id),i(t)}h.current=e.data}else if(n.has(e.data.id)){const t=new Set(n);t.delete(e.data.id),i(t)}}})),[o,a,n,i,s]);return v.useEffect((()=>{const e=new Set(n);for(const t of d)t.active&&e.delete(t.data.id);e.size>0&&i(new Set(Array.from(n).filter((t=>!e.has(t)))))}),[c]),H.jsx(Ol.Provider,{value:f,children:H.jsxs("div",{className:Dl,children:[H.jsx(fl,{children:({ref:e,controller:t})=>H.jsx("ul",{ref:e,className:`${Dl}__root`,role:"list","aria-multiselectable":!0,onClick:t.defaultClick,onKeyDown:t.defaultKeyDown,children:d.map((e=>H.jsx(jl,{item:e,selected:n.has(e.data.id)},function(e){return e.data.id}(e))))})}),l]})})}var Ol=v.createContext(null);function jl(e){const{item:t,selected:n}=e,{highlightText:i,useDragAndDrop:r,selection:o,onSetSelected:a}=function(){const e=v.useContext(Ol);if(!e)throw new Error("Reactodia: missing search results context");return e}(),{ref:s,tabIndex:l}=gl({debugLabel:t.data.id,active:t.active});return H.jsx("li",{ref:s,className:`${Dl}__item`,role:"listitem",children:H.jsx(zl,{tabIndex:l,element:t.data,highlightText:i,disabled:!t.active,selected:Boolean(n),onClick:t.active?e=>a(t,!n,e):void 0,onKeyDown:e=>{t.active&&" "===e.key&&(e.preventDefault(),a(t,!n,e))},onDragStart:r?e=>{const n=[];return o.forEach((e=>n.push(e))),o.has(t.data.id)||n.push(t.data.id),function(e,t){try{e.dataTransfer.setData("application/x-reactodia-elements",JSON.stringify(t))}catch(n){e.dataTransfer.setData("text",JSON.stringify(t))}return!1}(e,n)}:void 0})})}function Fl(e){const{className:t,hasQuery:n,minSearchTermLength:i=1,message:r}=e,o=Pt(),a=r??(n?o.text("search_defaults.no_results"):o.text(i<=1?"search_defaults.empty_input_term":"search_defaults.input_term_too_short",{termLength:i}));return H.jsx("div",{className:cn("reactodia-no-search-results",t),children:a})}function Ul(e){const{model:t,items:n,renderItem:i,expanded:r,defaultExpanded:o,onSetExpanded:a,selected:s,defaultSelected:l,rootProps:c,forestProps:d,itemProps:u}=e,h=v.useMemo((()=>({model:t,renderItem:i,forestProps:d,itemProps:u})),[t,i,d,u]);return H.jsx(fl,{children:({ref:e,controller:t})=>H.jsx(ql,{treeContext:h,items:n,expanded:r,defaultExpanded:o??!1,selected:s,defaultSelected:l,rootProps:{...c,ref:e,onClick:t.defaultClick,onKeyDown:e=>((e,t)=>{if("ArrowUp"===e.key||"ArrowDown"===e.key)t.defaultKeyDown(e);else if("ArrowLeft"===e.key||"ArrowRight"===e.key){if(e.target instanceof HTMLElement&&a){e.preventDefault();const i=hl(e.target,e.currentTarget,(e=>e.hasAttribute("data-tree-index")));if(!i)return;const r=Number(i.getAttribute("data-tree-index"));if(Number.isFinite(r))if("ArrowLeft"!==e.key||i.hasAttribute("aria-expanded")&&"false"!==i.getAttribute("aria-expanded")){const t=function(e,t){const n=[];let i=e;for(;i&&i!==t;){if(i.hasAttribute("data-tree-index")){const e=Number(i.getAttribute("data-tree-index"));if(!Number.isFinite(e))return;n.push(e)}i=i.parentElement}return n.reverse(),n}(i,e.currentTarget),r=t?function(e,t,n){let i,r,o,a=t;for(const t of n){if(!a||t<0||t>=a.length)return;i=a[t],o?(o.child={child:void 0,key:e.getKey(i)},o=o.child):(r={child:void 0,key:e.getKey(i)},o=r),a=e.getChildren(i)}return i&&r?[i,r]:void 0}(h.model,n,t):void 0;if(r){const[t,n]=r;a(t,n,"ArrowRight"===e.key)}}else t.focusParent({from:i})}}else c?.onKeyDown?.(e)})(e,t)}})})}function ql(e){const{treeContext:t,items:n,parentPath:i,expanded:r,defaultExpanded:o,selected:a,defaultSelected:s,rootProps:l}=e,{model:c,forestProps:d}=t;return H.jsx("ul",{...l??d,children:n.map(((e,n)=>{const l={parent:i,key:c.getKey(e)};return H.jsx(Wl,{treeContext:t,item:e,index:n,path:l,expanded:r?.get(l.key),defaultExpanded:o,selected:a?.get(l.key),defaultSelected:s},l.key)}))})}function Wl(e){const{treeContext:t,item:n,index:i,path:r,expanded:o,defaultExpanded:a,selected:s,defaultSelected:l}=e,{model:c,renderItem:d,itemProps:u}=t,{ref:h,tabIndex:f}=gl({active:c.isActive(n)}),p=o?.value??a,g=s?.value??l,v=c.getChildren(n);return H.jsxs("li",{...u,ref:h,"data-tree-index":i,"aria-expanded":v&&0!==v.length?p:void 0,"aria-selected":void 0!==g,children:[d({item:n,path:r,focusProps:{tabIndex:f},expanded:p,selected:g}),p&&v&&v.length>0?H.jsx(ql,{treeContext:t,items:v,parentPath:r,expanded:o?.level,defaultExpanded:a,selected:s?.level,defaultSelected:c.getDefaultSelected(n,g)}):null]})}var Gl=class e{states;constructor(e=new Map){this.states=e}[Symbol.iterator](){return this.states[Symbol.iterator]()}get(e){return this.states.get(e)}setAt(t,n){const i=this.states.get(t.key),r=e.setAtItem(i,t.child,n);if(r===i)return this;const o=new Map(this.states);return r?o.set(t.key,r):o.delete(t.key),new e(o)}static setAtItem(t,n,i){if(n){if(t&&t.level){const e=t.level.setAt(n,i);return e===t.level?t:{...t,level:e}}{const r=e.setAtItem(void 0,n.child,i);return r&&r!==t?{value:t?.value,level:new e(new Map([[n.key,r]]))}:r}}const r=i(t?.value);return r===t?.value?t:void 0===r&&void 0===t?.level?void 0:{...t,value:r}}};function Zl(e){let t=e.parent,n={key:e.key,child:void 0};for(;t;)n={key:t.key,child:n},t=t.parent;return n}var Kl=v.createContext(null),Xl="reactodia-class-tree-item";function Ql(e){const{nodes:t,selection:n,onSelect:i,searchText:r,creatableClasses:o,onClickCreate:a,onDragCreate:s,draggableItems:l}=e,c=v.useCallback((({item:e,path:t,focusProps:n,expanded:i,selected:r})=>H.jsx(ec,{node:e,path:t,focusProps:n,expanded:i,selected:r})),[]),d=v.useMemo((()=>({className:`${Xl}__root`,role:"tree"})),[]),u=v.useMemo((()=>({className:`${Xl}__children`,role:"none"})),[]),h=v.useMemo((()=>({className:Xl,role:"treeitem"})),[]),f=Boolean(r),[p,g]=v.useState(),m=v.useCallback((e=>{g((t=>(t??new Gl).setAt(Zl(e),(e=>!(e??f)))))}),[f]);v.useEffect((()=>g(void 0)),[r]);const b=v.useMemo((()=>({searchText:r,creatableClasses:o,onClickCreate:a,onDragCreate:s,draggableItems:l,onExpand:m,onSelect:(e,t)=>i({node:e,selection:(new Gl).setAt(Zl(t),(()=>e))})})),[r,o,a,s,l,m,i]);return H.jsx(Kl.Provider,{value:b,children:H.jsx(Ul,{model:Jl,items:t,renderItem:c,expanded:p,defaultExpanded:f,onSetExpanded:(e,t,n)=>g((e=>(e??new Gl).setAt(t,(()=>n)))),selected:n?.selection,rootProps:d,forestProps:u,itemProps:h})})}var Yl=(e,t)=>({...e,derived:t}),Jl={getKey:e=>e.iri,getChildren:e=>e.derived,getDefaultSelected:()=>{},isActive:()=>!0};function ec(e){const{node:t,path:n,focusProps:i,expanded:r,selected:o}=e,{searchText:a,creatableClasses:s,onClickCreate:l,onDragCreate:c,draggableItems:d,onExpand:u,onSelect:h}=function(){const e=v.useContext(Kl);if(!e)throw new Error("Reactodia: missing class tree context");return e}(),{getElementTypeStyle:f}=sn(),p=Pt(),g=0===t.derived.length?`${Xl}__toggle`:r?`${Xl}__toggle-expanded`:`${Xl}__toggle-collapsed`,m=f([t.iri]),b={"--reactodia-element-style-color":m.color},w=cn(`${Xl}__body`,o?`${Xl}__body--selected`:void 0),y=Tl(t.label,a,{className:`${Xl}__highlighted-term`});return H.jsxs("div",{className:`${Xl}__row`,style:b,children:[H.jsx("div",{className:g,role:"none",onClick:()=>u(n)}),H.jsxs("a",{...i,className:w,href:t.iri,onClick:e=>{e.preventDefault(),h(t,n)},onKeyDown:e=>{" "===e.key&&(e.preventDefault(),h(t,n))},draggable:d,children:[H.jsx("div",{className:`${Xl}__icon-container`,children:m.icon?H.jsx("img",{role:"presentation",className:cn(`${Xl}__icon`,m.iconMonochrome?`${Xl}__icon--monochrome`:void 0),src:m.icon}):H.jsx("div",{className:0===t.derived.length?`${Xl}__default-icon-leaf`:`${Xl}__default-icon-parent`})}),H.jsx("span",{className:`${Xl}__label`,children:y}),t.data?.count?H.jsx("span",{className:`${Xl}__count reactodia-badge`,children:t.data.count}):null]}),s.get(t.iri)?H.jsx("button",{...i,title:p.text("search_element_types.drag_create.title"),className:cn(`${Xl}__create-button`,"reactodia-btn reactodia-btn-default"),draggable:!0,onClick:()=>l(t),onDragStart:e=>{e.dataTransfer.setData("text",""),c(t)}}):null]})}function tc(e){const{searchStore:t,searchTimeout:n=200,minSearchTermLength:i=2}=e,r=Hl({initialValue:"",submitTimeout:n,allowSubmit:e=>oc(e).length>=i}),o=t??r,a=Ct(o.events,"changeValue",(()=>oc(o.value))),s=sn(),l=Pt();return H.jsx(rc,{...e,isControlled:Boolean(t),searchStore:o,normalizedTerm:a,minSearchTermLength:i,workspace:s,translation:l})}var nc="reactodia-class-tree",ic=new Map,rc=class extends v.Component{listener=new wi;searchListener=new wi;loadClassesOperation=new AbortController;refreshOperation=new AbortController;createElementCancellation=new AbortController;constructor(e){super(e),this.state={fetchedGraph:void 0,refreshingState:"none",roots:[],filteredRoots:[],appliedSearchText:"",constructibleClasses:new Map,showOnlyConstructible:!1}}render(){const{className:e,isControlled:t,searchStore:n,normalizedTerm:i,minSearchTermLength:r,draggableItems:o=!0,workspace:{editor:a},translation:s}=this.props,{fetchedGraph:l,refreshingState:c,appliedSearchText:d,roots:u,filteredRoots:h,selection:f,constructibleClasses:p,showOnlyConstructible:g}=this.state,v=d?i:void 0;return H.jsxs("div",{className:cn(nc,t?`${nc}--controlled`:void 0,e),children:[H.jsx("div",{className:`${nc}__filter`,children:H.jsxs("div",{className:`${nc}__filter-group`,children:[t?null:H.jsx(Pl,{store:n,inputProps:{name:"reactodia-class-tree-filter",placeholder:s.textOptional("search_element_types.input.placeholder")}}),a.inAuthoringMode?H.jsxs("label",{className:`${nc}__only-creatable`,children:[H.jsx("input",{type:"checkbox",name:"reactodia-class-tree-only-constructible",checked:g,onChange:this.onShowOnlyCreatableChange})," ",s.text("search_element_types.show_only_creatable")]}):null]})}),H.jsx(Il,{state:c,title:s.text("search_element_types.refresh_progress.title")}),l?.classTree?H.jsxs("div",{className:`${nc}__tree reactodia-scrollable`,tabIndex:-1,children:[H.jsx(Ql,{nodes:h,searchText:v,selection:f,onSelect:this.onSelectNode,creatableClasses:a.inAuthoringMode?p:ic,onClickCreate:this.onCreateInstance,onDragCreate:this.onDragCreate,draggableItems:o}),0===h.length?H.jsx(Fl,{className:`${nc}__no-results`,hasQuery:h!==u,minSearchTermLength:r,message:0===u.length?s.text("search_element_types.no_results"):void 0}):null]}):H.jsx("div",{className:`${nc}__spinner`,children:H.jsx(Yt,{width:30,height:30,errorOccurred:Boolean(l?.fetchError)})})]})}componentDidMount(){const{workspace:{model:e,editor:t}}=this.props;this.listener.listen(e.events,"changeLanguage",(()=>this.refreshClassTree())),this.listener.listen(e.events,"loadingStart",(()=>{this.initClassTree()})),this.listener.listen(t.events,"changeMode",(()=>this.refreshClassTree())),this.listenSearch(),this.initClassTree()}componentDidUpdate(e){this.props.searchStore.events!==e.searchStore.events&&this.listenSearch()}listenSearch(){const{searchStore:e}=this.props;this.searchListener.stopListening(),this.searchListener.listen(e.events,"executeSearch",(({value:e})=>{this.performSearch(e)})),this.searchListener.listen(e.events,"clearSearch",(()=>{this.performSearch("")}))}componentWillUnmount(){this.listener.stopListening(),this.searchListener.stopListening(),this.loadClassesOperation.abort(),this.refreshOperation.abort(),this.createElementCancellation.abort()}initClassTree(){const{workspace:{model:e}}=this.props,{fetchedGraph:t}=this.state,{dataProvider:n}=e;t&&t.dataProvider===n?this.refreshClassTree():n?this.setState({fetchedGraph:void 0},(()=>{this.fetchTypeGraph(n)})):this.refreshClassTree()}async fetchTypeGraph(e){const t=new AbortController;this.loadClassesOperation.abort(),this.loadClassesOperation=t;let n=null;try{n=await hi(e.knownElementTypes({signal:t.signal}),t.signal)}catch(t){return console.error(t),void this.setState({fetchedGraph:{dataProvider:e,fetchError:t}})}if(null===n)return;const i=function(e){const t=new Map;for(const n of e.elementTypes){const e={id:n.id,label:n.label,count:n.count,children:[]};t.set(e.id,e)}const n=new Map;for(const[t,i]of e.subtypeOf)kt(n,t,i);const i=[],r=new Set,o=new Set,a=e=>{if(o.has(e))return;r.add(e);const t=n.get(e);if(t)for(const n of t)r.has(n)?i.push([e,n]):a(n);r.delete(e)};for(const e of t.keys())a(e);for(const[e,t]of i){const i=n.get(e);i&&i.delete(t)}const s=[];for(const e of t.values()){const i=n.get(e.id);if(i&&0!==i.size)for(const n of i){const i=t.get(n);i&&i.children.push(e)}else s.push(e)}return s}(n);this.setState({fetchedGraph:{dataProvider:e,classTree:i}},(()=>{this.refreshClassTree()}))}performSearch=e=>{const t=oc(e);this.setState((e=>sc({...e,appliedSearchText:t})))};onShowOnlyCreatableChange=()=>{this.setState((e=>sc({...e,showOnlyConstructible:!e.showOnlyConstructible})))};onSelectNode=e=>{const{workspace:{getCommandBus:t}}=this.props;this.setState({selection:e},(()=>{t(xs).trigger("setCriteria",{criteria:{elementType:e.node.iri}})}))};onCreateInstance=e=>{this.createInstanceAt(e.iri)};onDragCreate=e=>{const{workspace:{view:t}}=this.props;t.setHandlerForNextDropOnPaper((t=>{this.createInstanceAt(e.iri,t)}))};refreshClassTree=()=>{const e=new AbortController;let t;this.refreshOperation.abort(),this.refreshOperation=e,this.setState(((e,n)=>{const{workspace:{model:i,editor:r},translation:o}=n,a=e.fetchedGraph?.classTree;if(!a)return{refreshingState:"none"};let s="none";if(r.inAuthoringMode){const n=function(e,t){const n=new Set,i=t=>{e.has(t.id)||n.add(t.id),t.children.forEach(i)};return t.forEach(i),n}(e.constructibleClasses,a);n.size>0&&(s="loading",t=n)}const l=function(e,t,n){const i=e=>{const r=[];for(const o of e)r.push({iri:o.id,data:o,label:n.formatLabel(o.label,o.id,t.language),derived:i(o.children)});return r};return i(e)}(a,i,o);return sc({...e,roots:ac(l),refreshingState:s})}),(()=>{t&&this.queryCreatableTypes(t,e.signal)}))};async queryCreatableTypes(e,t){const{workspace:{editor:n}}=this.props,{metadataProvider:i}=n;if(i)try{const n=await hi(i.filterConstructibleTypes(e,{signal:t}),t);if(null===n)return;this.setState((t=>{const i=new Map(t.constructibleClasses);return e.forEach((e=>{i.set(e,n.has(e))})),sc({...t,constructibleClasses:i,refreshingState:"completed"})}))}catch(e){console.error(e),this.setState((e=>sc({...e,refreshingState:"error"})))}}async createInstanceAt(e,t){const{placeCreatedEntity:n,workspace:{model:i,view:r,editor:o,getCommandBus:a},translation:s}=this.props,l=i.history.startBatch();this.createElementCancellation.abort(),this.createElementCancellation=new AbortController;const c=this.createElementCancellation.signal,d=await hi(o.metadataProvider.createEntity(e,{translation:s,language:i.language,signal:c}),c);if(null===d)return;const u=o.createEntity(d.data);let h;if(d.elementState&&u.setElementState(d.elementState),t)h=[t.source,t.position];else{const e=r.findAnyCanvas();e&&(h=[e,lc(e)])}if(h){const[e,t]=h;u.setPosition(t),e.renderingState.syncUpdate(),function(e,t,n){const i=n.getElementSize(e)??{width:0,height:0};e.setPosition({x:t.x-i.width/2,y:t.y-i.height/2})}(u,t,e.renderingState)}n&&await n(u,t),l.store(),i.setSelection([u]),a(Cs).trigger("editEntity",{target:u})}};function oc(e){return e.trim().toLowerCase()}function ac(e){function t(e){if(0===e.length)return e;const t=e.map(n);return t.sort(i),t}function n(e){return Yl(e,t(e.derived))}function i(e,t){return e.label.localeCompare(t.label)}return t(e)}function sc(e){let t=e.roots;return e.appliedSearchText&&(t=function(e,t){if(0===e.length)return e;const n=Ti(t);return e.reduce((function e(t,i){const r=i.derived.reduce(e,[]);return(r.length>0||n(i.label))&&t.push(Yl(i,r)),t}),[])}(t,e.appliedSearchText)),e.showOnlyConstructible&&(n=e.constructibleClasses,t=t.reduce((function e(t,i){const r=i.derived.reduce(e,[]);return(r.length>0||n.get(i.iri))&&t.push(Yl(i,r)),t}),[])),{...e,filteredRoots:t};var n}function lc(e){const t=e.metrics.pane;return e.metrics.clientToPaperCoords(t.clientWidth/2,t.clientHeight/2)}var cc="reactodia-paper",dc=class extends v.Component{rootRef=v.createRef();paneRef=v.createRef();resizeObserver;viewportAnimation;movingState;metrics;constructor(e){var t;super(e),this.state={paneRef:this.paneRef,contentBounds:this.props.contentBounds,pageSize:this.props.pageSize,transform:(t=this.props.pageSize,{width:t.width,height:t.height,originX:0,originY:0,scale:1,paddingX:0,paddingY:0}),mounted:!1},this.resizeObserver=new ResizeObserver(this.onResize),this.metrics=new class extends uc{paper;constructor(e){super(),this.paper=e}get pane(){return this.paper.pane??fc}get transform(){return this.paper.state.transform}getClientRect(){return this.paper.pane?.getBoundingClientRect()??pc}}(this)}get root(){return this.rootRef.current}get pane(){return this.paneRef.current}render(){const{className:e,style:t,showScrollbars:n,panOnTouch:i=!0,onContextMenu:r,onKeyDown:o,onKeyUp:a,renderLayers:s,watermark:l,children:c}=this.props,{transform:d,mounted:u}=this.state,{width:h,height:f,scale:p,paddingX:g,paddingY:v}=d,m={width:h*p+g,height:f*p+v,marginLeft:g,marginTop:v,paddingRight:g,paddingBottom:v};return H.jsxs("div",{ref:this.rootRef,className:cn(cc,e,i?`${cc}--pan-on-touch`:void 0,n?void 0:`${cc}--hide-scrollbars`),style:t,tabIndex:0,onKeyDown:o,onKeyUp:a,children:[H.jsxs("div",{className:`${cc}__pane`,ref:this.paneRef,onPointerDown:this.onAreaPointerDown,children:[H.jsx("div",{className:`${cc}__layers`,style:m,onPointerDown:this.onPointerDown,onContextMenu:r,onScrollCapture:this.onScrollCapture,children:u?s(d):null}),l]}),u?c:void 0]})}componentDidMount(){const e=this.pane;e.addEventListener("dragover",this.onDragOver),e.addEventListener("drop",this.onDragDrop),e.addEventListener("scroll",this.onScrollPassive,{passive:!0}),e.addEventListener("wheel",this.onWheel,{passive:!1}),this.resizeObserver.observe(e),this.setState({mounted:!0})}static getDerivedStateFromProps(e,t){const n=t.paneRef.current;if(n&&(!hr.equals(e.contentBounds,t.contentBounds)||e.pageSize.width!==t.pageSize.width||e.pageSize.height!==t.pageSize.height)){const{clientWidth:i,clientHeight:r}=n,o=function(e,t,n,i){const r=e.x,o=e.y,a=e.x+e.width,s=e.y+e.height,{width:l,height:c}=n,d=Math.floor(r/l),u=Math.floor(o/c),h=Math.ceil(a/l),f=Math.ceil(s/c);return{width:Math.max(h-d,1)*l,height:Math.max(f-u,1)*c,originX:-d*l,originY:-u*c,paddingX:Math.ceil(t.width),paddingY:Math.ceil(t.height),scale:i}}(e.contentBounds,{width:i,height:r},e.pageSize,t.transform.scale);return Qr(t.transform,o)?null:{...t,contentBounds:e.contentBounds,pageSize:e.pageSize,transform:o}}return null}getSnapshotBeforeUpdate(e,t){const{contentBounds:n,pageSize:i}=this.props,{paneRef:r,transform:o}=this.state,a=r.current,s=hr.equals(n,e.contentBounds)&&i.width===e.pageSize.width&&i.height===e.pageSize.height;let l;return!a||s||Qr(o,t.transform)||(l={left:a.scrollLeft,top:a.scrollTop}),{scroll:l}}componentDidUpdate(e,t,n){const i=this.state.paneRef.current;if(i&&n.scroll){const{scale:e,originX:r,originY:o,paddingX:a,paddingY:s}=this.state.transform,l=t.transform,c=n.scroll.top+((o-l.originY)*e+(s-l.paddingY));i.scrollLeft=n.scroll.left+((r-l.originX)*e+(a-l.paddingX)),i.scrollTop=c}Qr(this.state.transform,t.transform)||this.props.onChangeTransform?.(t.transform)}componentWillUnmount(){const e=this.pane;this.stopListeningToPointerMove(),e.removeEventListener("dragover",this.onDragOver),e.removeEventListener("drop",this.onDragDrop),e.removeEventListener("scroll",this.onScrollPassive),e.removeEventListener("wheel",this.onWheel),this.resizeObserver.disconnect()}onAreaPointerDown=e=>{e.target===this.pane&&this.onPointerDown(e)};onPointerDown=e=>{if(this.movingState)return void this.handleMultiPointerDown(e);const t=this.props.onPointerOperation?.(e);if(!t)return;let n;if("move"!==t.action&&"mouse"!==e.pointerType||e.preventDefault(),"panning"===t.action){const{scrollLeft:e,scrollTop:t}=this.pane;n={scrollLeft:e,scrollTop:t},document.getSelection&&document.getSelection()?.removeAllRanges?.()}const{pageX:i,pageY:r}=e;this.movingState={operation:t,pointers:new Map,pointerMoved:!1,originPointerId:e.pointerId,origin:{pageX:i,pageY:r},panningOrigin:n,pinchOrigin:void 0},this.handleMultiPointerDown(e),document.addEventListener("pointermove",this.onPointerMove),document.addEventListener("pointerup",this.onPointerUp),"mouse"!==e.pointerType&&document.addEventListener("pointercancel",this.onPointerCancel),t.onPointerDown(e)};handleMultiPointerDown(e){if(!this.movingState)return;const{pointers:t}=this.movingState;t.set(e.pointerId,{x:e.pageX,y:e.pageY}),this.movingState.pinchOrigin||2!==t.size||(e.preventDefault(),this.movingState.pinchOrigin={pointers:new Map(t),metrics:this.metrics.snapshot()})}onPointerMove=e=>{if(!this.movingState)return;const{origin:t,operation:n,panningOrigin:i}=this.movingState,r=e.pageX-t.pageX,o=e.pageY-t.pageY;if(e.isPrimary&&Math.abs(r)>=1&&Math.abs(o)>=1&&(this.movingState.pointerMoved=!0),this.handleMultiPointerMove(e));else{if(e.preventDefault(),i){const e=this.pane;e.classList.add(`${cc}--panning`),e.scrollLeft=i.scrollLeft-r,e.scrollTop=i.scrollTop-o}n.onPointerMove(e)}};handleMultiPointerMove(e){if(!this.movingState)return!1;const{pointers:t,pinchOrigin:n}=this.movingState;if(t.set(e.pointerId,{x:e.pageX,y:e.pageY}),!n)return!1;const[[i,r],[o,a]]=n.pointers,s=t.get(i),l=t.get(o);if(!s||!l)return!1;const c=dr.scale(dr.add(s,l),.5),d=dr.scale(dr.add(r,a),.5),u=dr.length(dr.subtract(l,s))/Math.max(dr.length(dr.subtract(a,r)),1),h=n.metrics,f=h.clientToPaperCoords(h.pane.clientWidth/2,h.pane.clientHeight/2),p=h.pageToPaperCoords(c.x,c.y),g=h.pageToPaperCoords(d.x,d.y),v=dr.add(g,dr.scale(dr.subtract(f,p),1/u));return this.centerViewport(v,{scale:h.transform.scale*u}),!0}onPointerUp=e=>{if(this.movingState){const{originPointerId:t,pointers:n,pinchOrigin:i}=this.movingState;n.delete(e.pointerId),(e.pointerId===t||i&&n.size<2)&&this.stopListeningToPointerMove(e)}};onPointerCancel=()=>{this.stopListeningToPointerMove()};onScrollCapture=e=>{this.movingState?.operation.hasSameTarget(e)&&this.stopListeningToPointerMove()};stopListeningToPointerMove=e=>{const t=this.movingState;if(this.movingState=void 0,t){this.pane.classList.remove(`${cc}--panning`),document.removeEventListener("pointermove",this.onPointerMove),document.removeEventListener("pointerup",this.onPointerUp),document.removeEventListener("pointercancel",this.onPointerCancel);const{operation:n,pointerMoved:i,pinchOrigin:r}=t;e&&!r?n.onPointerUp(e,{triggerAsClick:!i}):n.onPointerCancel(e)}};onWheel=e=>{const{wheelToScaleDelta:t}=this.props.scaleDefaults,n=t(e);if(void 0!==n){e.preventDefault();const t=this.metrics.pageToPaperCoords(e.pageX,e.pageY);this.setScale(this.scale+n,{pivot:t})}};onResize=()=>{this.props.onResize?.()};centerViewport(e,t){if("number"==typeof t.scale){const{min:n,max:i}=this.props.scaleDefaults;let r=t.scale;return r=Math.max(r,n),r=Math.min(r,i),this.setViewportState({center:e,scale:{x:r,y:r}},t)}return this.setViewportState({center:e},t)}get scale(){return this.state.transform.scale}setScale(e,t){let n=e;const{min:i,max:r}=this.props.scaleDefaults;let o;if(n=Math.max(n,i),n=Math.min(n,r),t&&t.pivot){const{x:e,y:i}=t.pivot,r=this.pane,a=this.metrics.clientToPaperCoords(r.clientWidth/2,r.clientHeight/2),s=n/this.state.transform.scale;o={center:{x:e-(e-a.x)/s,y:i-(i-a.y)/s},scale:{x:n,y:n}}}else o={scale:{x:n,y:n}};return this.setViewportState(o,t)}scaleToFitRect(e,t={}){const{clientWidth:n,clientHeight:i}=this.pane;if(0===e.width)return Promise.resolve();const{min:r,maxFit:o}=this.props.scaleDefaults,{width:a}=wr(e,n,i);let s=a/e.width;return s=Math.max(s,r),s=Math.min(s,o),this.setViewportState({center:{x:e.x+e.width/2,y:e.y+e.height/2},scale:{x:s,y:s}},t)}onDragOver=e=>{const t=gc(this.pane,e);this.props.onDragOver?.(e,t)?e.preventDefault():e.dataTransfer&&(e.dataTransfer.dropEffect="none")};onDragDrop=e=>{const t=gc(this.pane,e);this.props.onDragDrop?.(e,t)};onScrollPassive=e=>{this.props.onScrollPassive?.(e)};get viewportState(){const{clientWidth:e,clientHeight:t,scrollLeft:n,scrollTop:i}=this.pane,{originX:r,originY:o,paddingX:a,paddingY:s,scale:l}=this.state.transform;return{center:{x:(n+e/2-a)/l-r,y:(i+t/2-s)/l-o},scale:{x:l,y:l}}}setViewportState(e,t){this.viewportAnimation&&this.viewportAnimation.cancellation.abort();const n=this.viewportState,i={...n,...e};if(t&&(t.animate||t.duration&&t.duration>0)){const e={from:n,to:i,cancellation:new AbortController},s=(r="number"==typeof t.duration?t.duration:this.props.viewportDefaults.duration,o=e=>{const t=function(e){return e<0?0:e>1?1:e*e*(3-2*e)}(e);this.applyViewportState({center:{x:n.center.x+(i.center.x-n.center.x)*t,y:n.center.y+(i.center.y-n.center.y)*t},scale:{x:n.scale.x+(i.scale.x-n.scale.x)*t,y:n.scale.y+(i.scale.y-n.scale.y)*t}})},a=e.cancellation.signal,new Promise((e=>{let t,n,i;const s=l=>{if(a&&a.aborted)return;n=n||l;let c=l-n;c>r&&(c=r),o(c/r),c<r?t=requestAnimationFrame(s):(i?.(),e())};if(a){const n=()=>{cancelAnimationFrame(t),i?.(),e()};i=()=>{a.removeEventListener("abort",n)},a.addEventListener("abort",n)}t=requestAnimationFrame(s)})));return this.viewportAnimation=e,s.then((()=>{this.viewportAnimation=void 0}))}return this.applyViewportState(i),Promise.resolve();var r,o,a}applyViewportState(e){const t=e.scale.x,n=e.center;this.setState((e=>({transform:{...e.transform,scale:t}})),(()=>{const e=this.pane,{originX:i,originY:r,paddingX:o,paddingY:a}=this.state.transform,s=(n.x+i)*t,l=(n.y+r)*t,{clientWidth:c,clientHeight:d}=e;e.scrollLeft=s-c/2+o,e.scrollTop=l-d/2+a}))}},uc=class{get area(){return this.pane}snapshot(){const{clientWidth:e,clientHeight:t,offsetWidth:n,offsetHeight:i,scrollLeft:r,scrollTop:o}=this.pane,{left:a,right:s,top:l,bottom:c}=this.getClientRect();return new hc({clientWidth:e,clientHeight:t,offsetWidth:n,offsetHeight:i,scrollLeft:r,scrollTop:o},{left:a,right:s,top:l,bottom:c},this.transform)}getTransform(){return this.transform}getPaperSize(){const{width:e,height:t,scale:n}=this.transform;return{width:e/n,height:t/n}}getViewportPageRect(){const{left:e,right:t,top:n,bottom:i}=this.getClientRect();return{x:e+window.scrollX,y:n+window.scrollY,width:t-e,height:i-n}}pageToPaperCoords(e,t){const{left:n,top:i}=this.getClientRect();return this.clientToPaperCoords(e-(n+window.scrollX),t-(i+window.scrollY))}paperToPageCoords(e,t){const{x:n,y:i}=this.paperToScrollablePaneCoords(e,t),{x:r,y:o}=this.scrollablePaneToClientCoords(n,i),{left:a,top:s}=this.getClientRect();return{x:r+(a+window.scrollX),y:o+(s+window.scrollY)}}clientToPaperCoords(e,t){const{x:n,y:i}=this.clientToScrollablePaneCoords(e,t);return this.scrollablePaneToPaperCoords(n,i)}clientToScrollablePaneCoords(e,t){const{paddingX:n,paddingY:i}=this.transform,{scrollLeft:r,scrollTop:o}=this.pane;return{x:e+r-n,y:t+o-i}}scrollablePaneToClientCoords(e,t){const{paddingX:n,paddingY:i}=this.transform,{scrollLeft:r,scrollTop:o}=this.pane;return{x:e-r+n,y:t-o+i}}scrollablePaneToPaperCoords(e,t){return Jr({x:e,y:t},this.transform)}paperToScrollablePaneCoords(e,t){return Yr({x:e,y:t},this.transform)}},hc=class extends uc{pane;clientRect;transform;constructor(e,t,n){super(),this.pane=e,this.clientRect=t,this.transform=n}getClientRect(){return this.clientRect}snapshot(){return this}},fc={clientWidth:0,clientHeight:0,offsetWidth:0,offsetHeight:0,scrollLeft:0,scrollTop:0},pc={left:0,right:0,top:0,bottom:0};function gc(e,t){const n=(t.target instanceof SVGElement&&null!==t.target.ownerSVGElement?t.target.ownerSVGElement:t.target).getBoundingClientRect(),i=e.getBoundingClientRect();return{x:t.offsetX+(n.left-i.left),y:t.offsetY+(n.top-i.top)}}var vc="http://www.w3.org/2000/svg";async function mc(e){const{colorSchemeApi:t,contentBox:n,watermarkSvg:i,preserveDimensions:r,convertImagesToDataUris:o,removeByCssSelectors:a=[]}=e;let s,l;t.actInColorScheme("light",(()=>{s=function(e,t){const n=document.createElementNS(vc,"svg"),i=document.createElementNS(vc,"g");i.setAttribute("class","reactodia-exported-canvas"),n.appendChild(i);const r=Object.create(null);for(const n of e)if(n instanceof SVGSVGElement){const e=yc(n.cloneNode(!0));e.removeAttribute("transform"),i.appendChild(e)}else if(n instanceof HTMLElement){const e=n.cloneNode(!0);e.classList.add("reactodia-exported-layer"),e.setAttribute("style",`transform: translate(${-t.x}px,${-t.y}px)`);const o=document.createElementNS(vc,"foreignObject");o.appendChild(e),o.setAttribute("transform",`translate(${t.x},${t.y})`),o.setAttribute("width",String(t.width)),o.setAttribute("height",String(t.height));const a=document.createElementNS(vc,"g");a.appendChild(o),i.appendChild(a);const s=e.querySelectorAll("img");let l=0;for(const e of n.querySelectorAll("img")){const t=l;l++;const n=`export-key-${t}`;s[t].setAttribute("export-key",n),r[n]={width:e.clientWidth,height:e.clientHeight}}}return{composedSvg:n,imageBounds:r}}(e.layers,n);const t=new Set;var i;i=t,_c((e=>{for(let t=0;t<e.style.length;t++){const n=e.style[t];n.startsWith("--")&&!i.has(n)&&i.add(n)}})),function(e,t){const n=e=>{if(e instanceof HTMLElement)for(let n=0;n<e.style.length;n++){const i=e.style[n];i.startsWith("--")&&!t.has(i)&&t.add(i)}};kc(e,n);let i=e.parentElement;for(;i;)n(i),i=i.parentElement}(s.composedSvg,t),l=function(e,t){const n=new Map,i=getComputedStyle(e);for(const e of i)if(e.startsWith("--")){const t=i.getPropertyValue(e);n.set(e,t)}for(const e of t)if(!n.has(e)){const t=i.getPropertyValue(e);void 0!==t&&n.set(e,t)}return n}(e.styleRoot,t)}));const{composedSvg:c,imageBounds:d}=s;for(const e of a)for(const t of c.querySelectorAll(e))t.remove();const u=function(e){const t=[];return _c((n=>{const i=n.selectorText.replace(/::[a-zA-Z-]+$/,"");e.querySelector(i)&&t.push(n)})),t}(c),h=new Map;o&&(function(e,t){for(const n of e.querySelectorAll("img"))n.src&&!t.has(n.src)&&t.set(n.src,null)}(c,h),function(e,t){for(const n of e){const e=bc(n.style.getPropertyValue("mask-image"));e&&!t.has(e)&&t.set(e,null);const i=bc(n.style.getPropertyValue("background-image"));i&&!t.has(i)&&t.set(i,null)}}(u,h),function(e,t){kc(e,(e=>{if(e instanceof HTMLElement){const n=bc(e.style.maskImage);n&&!t.has(n)&&t.set(n,null);const i=bc(e.style.backgroundImage);i&&!t.has(i)&&t.set(i,null)}}))}(c,h)),r?(c.setAttribute("width",String(n.width)),c.setAttribute("height",String(n.height))):(c.setAttribute("width","100%"),c.setAttribute("height","100%")),c.setAttribute("viewBox",`${n.x} ${n.y} ${n.width} ${n.height}`),i&&function(e,t,n){const i=document.createElementNS(vc,"image");i.setAttributeNS("http://www.w3.org/1999/xlink","href",n),i.setAttribute("class","reactodia-exported-watermark");const r=Math.min(.2*t.width,120),o=t.y+20;i.setAttribute("x",(t.x+t.width-r-20).toString()),i.setAttribute("y",o.toString()),i.setAttribute("width",r.toString()),i.setAttribute("opacity","0.3"),e.insertBefore(i,e.firstChild)}(c,n,i),await async function(e){await Promise.all(Array.from(e.keys(),(async t=>{if(!t.startsWith("data:"))try{const n=await async function(e){if(!e||e.startsWith("data:"))return e;const t=e.match(/\.([a-zA-Z0-9]+)[^.a-zA-Z0-9]?[^.]*$/),n=t?t[1].toLowerCase():void 0;if("svg"===n)try{const t=await fetch(e);if(t.ok){const e=await t.text();if(e.length>0)return"data:image/svg+xml,"+encodeURIComponent(e.replace(/\r\n/g,"\n"))}}catch(e){}const i=await function(e){const t=new Image;t.crossOrigin="anonymous";const n=new Promise(((e,n)=>{t.onload=()=>e(t),t.onerror=e=>n(e)}));return t.src=e,n}(e),r=document.createElement("canvas");r.width=i.width,r.height=i.height,r.getContext("2d").drawImage(i,0,0);try{return r.toDataURL("image/"+("jpg"===n?"jpeg":"png"))}catch(t){throw new Error(`Failed to convert image to data URI: ${e}`,{cause:t})}}(t);n&&"data:image/svg+xml,"!==n&&e.set(t,n)}catch(e){console.warn("Reactodia: Failed to export image: "+t,e)}})))}(h);for(const e of c.querySelectorAll("img")){const t=e.getAttribute("export-key");if(e.removeAttribute("export-key"),t){const{width:n,height:i}=d[t];e.setAttribute("width",n.toString()),e.setAttribute("height",i.toString());const r=h.get(e.src);r&&(e.src=r)}}!function(e,t){kc(e,(e=>{if(e instanceof HTMLElement){const n=bc(e.style.maskImage),i=n?t.get(n):void 0;i&&(e.style.maskImage=wc(i));const r=bc(e.style.backgroundImage),o=r?t.get(r):void 0;o&&(e.style.backgroundImage=wc(o))}}))}(c,h);const f=document.createElementNS("http://www.w3.org/2000/svg","defs");return f.innerHTML=`<style>${function(e){const t=[":root {\n"];for(const[n,i]of e)t.push(" ",n,": ",i,";\n");return t.push("}\n"),t.join("")}(l)}</style>\n<style>${function(e,t){const n=e.map((e=>e.cssText)),i=document.createElement("style");document.body.appendChild(i);const r=i.sheet;try{for(let i=0;i<e.length;i++){const o=e[i],a=bc(o.style.getPropertyValue("mask-image")),s=a?t.get(a):void 0,l=bc(o.style.getPropertyValue("background-image")),c=l?t.get(l):void 0;if(r&&(s||c)){r.insertRule(o.cssText);const e=r.cssRules[0];e instanceof CSSStyleRule&&(s&&e.style.setProperty("mask-image",wc(s)),c&&e.style.setProperty("background-image",wc(c)),n[i]=e.cssText),r.deleteRule(0)}}}finally{document.body.removeChild(i)}return n.join("\n")}(u,h)}</style>`,c.insertBefore(f,c.firstChild),c}function bc(e){if(e){const t=e.trim();let n=/^url\(\s*'(.*)'\s*\)$/i.exec(t);if(n)return n[1];if(n=/^url\(\s*"(.*)"\s*\)$/i.exec(t),n)return n[1]}}function wc(e){return`url("${e}")`}function yc(e){let t=e.firstChild;for(;t;){if(t instanceof SVGGElement)return t;t=t.nextSibling}}function _c(e){const t=new WeakSet,n=i=>{if(!t.has(i))if(t.add(i),i instanceof CSSStyleRule)e(i);else if(i instanceof CSSLayerBlockRule)for(const e of i.cssRules)n(e)};for(let e=0;e<document.styleSheets.length;e++){let t;try{const n=document.styleSheets[e];if(t=n.cssRules||n.rules,!t)continue}catch(e){continue}for(const e of t)n(e)}}function kc(e,t){const n=new WeakSet,i=e=>{if(!n.has(e)){n.add(e),t(e);for(const t of e.children)i(t)}};i(e)}var xc={width:8192,height:8192};var Sc="reactodia-canvas-area",Cc={width:1500,height:800},Lc={duration:500};function Mc(e){const{model:t,renderingState:n,zoomOptions:i,showScrollBars:r,watermarkSvg:o,watermarkUrl:a,children:s}=e,l=v.useContext(mi),c=v.useRef(null),d=v.useRef(null),u=v.useRef(null),h=v.useRef(null),[f]=v.useState((()=>function(){const e={underlay:document.createElement("div"),overLinkGeometry:document.createElement("div"),overLinks:document.createElement("div"),overElements:document.createElement("div")};for(const t of Object.values(e))t.style.display="contents";return{containers:e}}())),p=v.useMemo((()=>function(e={}){return{min:e.min??.2,max:e.max??2,maxFit:e.maxFit??1,step:e.step??.1,fitPadding:e.fitPadding??20,requireCtrl:e.requireCtrl??!1}}(i)),[i]),[g,m]=v.useState({x:0,y:0,width:0,height:0}),[b,w]=v.useState("panning"),[y,_]=v.useState({count:0}),k={colorSchemeApi:l,graphAnimations:y,watermarkSvg:o,zoomOptions:p},[x]=v.useState((()=>new Ec(t,n,k,{setContentBounds:m,setPointerMode:w,setGraphAnimations:_},c,d,u,h)));v.useEffect((()=>x.setProvidedState(k)));const S=v.useMemo((()=>({canvas:x,model:t})),[t,x]),C=v.useMemo((()=>({min:p.min,max:p.max,maxFit:p.maxFit,wheelToScaleDelta:x.getWheelToScaleDelta})),[p]);v.useLayoutEffect((()=>(x.centerTo(),()=>x.stopListening())),[]);const L={"--reactodia-canvas-animation-duration":void 0===y.duration?void 0:`${y.duration}ms`};return H.jsx(lr.Provider,{value:S,children:H.jsx(dc,{ref:c,className:cn(Sc,y.count>0?`${Sc}--animated`:void 0),style:L,panOnTouch:"panning"===b,showScrollbars:r,scaleDefaults:C,viewportDefaults:Lc,onChangeTransform:x.onChangeTransform,onContextMenu:x.onContextMenu,onDragOver:x.onDragOver,onDragDrop:x.onDragDrop,onKeyDown:x.onKeyDown,onKeyUp:x.onKeyUp,onPointerOperation:x.onPointerOperation,onResize:x.onResize,onScrollPassive:x.onScrollPassive,pageSize:Cc,contentBounds:g,renderLayers:e=>H.jsxs(H.Fragment,{children:[H.jsx(Ro,{layer:"underlay",context:f,className:`${Sc}__widgets`}),H.jsxs(Xr,{layerRef:d,className:`${Sc}__linkGeometry`,style:{overflow:"visible"},paperTransform:e,role:"figure",children:[H.jsx(zo,{model:t,renderingState:n}),H.jsx(mo,{model:t,renderingState:n})]}),H.jsx(Ro,{layer:"overLinkGeometry",context:f,className:`${Sc}__widgets`}),H.jsx(xo,{renderingState:n,paperTransform:e,layerRef:u}),H.jsx(Ro,{layer:"overLinks",context:f,className:`${Sc}__widgets`}),H.jsx(ao,{layerRef:h,model:t,renderingState:n,paperTransform:e}),H.jsx(Ro,{layer:"overElements",context:f,className:`${Sc}__widgets`})]}),watermark:o?H.jsx("a",{href:a,target:"_blank",rel:"noreferrer",children:H.jsx("img",{className:`${Sc}__watermark`,src:o,draggable:!1})}):null,children:H.jsx(Ho.Provider,{value:f,children:s})})})}var Ec=class{model;renderingState;state;setters;_paper;linkLayer;labelLayer;elementLayer;listener=new wi;source=new bi;events=this.source;_contentBounds={x:0,y:0,width:0,height:0};_pointerMode="panning";constructor(e,t,n,i,r,o,a,s){this.model=e,this.renderingState=t,this.state=n,this.setters=i,this._paper=r,this.linkLayer=o,this.labelLayer=a,this.elementLayer=s;const l=()=>{t.scheduleOnLayerUpdate(to.PaperArea,this.updateContentBounds)};this.listener.listen(e.events,"changeCells",l),this.listener.listen(e.events,"elementEvent",(({data:e})=>{e.changePosition&&l()})),this.listener.listen(e.events,"linkEvent",(({data:e})=>{e.changeVertices&&l()})),this.listener.listen(t.events,"changeElementSize",l),this.listener.listen(t.shared.events,"findCanvas",(e=>{e.canvases.push(this)}))}get paper(){const e=this._paper.current;if(!e)throw new Error("Reactodia: canvas paper is not initialized yet");return e}stopListening(){this.listener.stopListening()}setProvidedState(e){this.state=e}onChangeTransform=e=>{this.source.trigger("changeTransform",{previous:e,source:this}),this.paper.metrics.transform.scale!==e.scale&&this.source.trigger("changeScale",{previous:e.scale,source:this})};onContextMenu=e=>{if(!this.isEventFromCellLayer(e))return;const t=zc(e.target,e.currentTarget,this.model);this.source.trigger("contextMenu",{source:this,sourceEvent:e,target:t})};onDragOver=(e,t)=>{if(this.renderingState.shared.hasHandlerForNextDropOnPaper())return e.dataTransfer&&(e.dataTransfer.dropEffect="move"),!0;{const{x:n,y:i}=t,r=this.metrics.clientToPaperCoords(n,i);let o=!1;return this.source.trigger("dragover",{source:this,sourceEvent:e,position:r,allowDrop:()=>{o=!0}}),o}};onDragDrop=(e,t)=>{const{x:n,y:i}=t,r={source:this,sourceEvent:e,position:this.metrics.clientToPaperCoords(n,i)};this.renderingState.shared.tryHandleDropOnPaper(r)||this.source.trigger("drop",r)};onKeyDown=e=>{this.isEventFromCellLayer(e)&&this.source.trigger("keydown",{source:this,sourceEvent:e})};onKeyUp=e=>{this.isEventFromCellLayer(e)&&this.source.trigger("keyup",{source:this,sourceEvent:e})};onPointerOperation=e=>{if(0!==e.button)return;let t,n=!1,i=!1,r=!1;const o=zc(e.target,e.currentTarget,this.model);if(o)if(o instanceof qr){const{x:n,y:i}=this.metrics.pageToPaperCoords(e.pageX,e.pageY),{x:r,y:a}=o.position;t={pointerX:n,pointerY:i,elementX:r,elementY:a}}else(o instanceof Gr||o instanceof Zr)&&(r=!0);else n=this.shouldStartPanning(e),i=!n&&"selection"===this._pointerMode;const a=Hr.capture(this.model),s=this.model.history.startBatch(a.title),l={target:o,restoreGeometry:a,batch:s,panning:n,moveElement:t};return{action:n?"panning":i||t||r?"move":void 0,hasSameTarget:e=>{const t=zc(e.target,e.currentTarget,this.model);return void 0!==t&&t===o},onPointerDown:e=>{this.source.trigger("pointerDown",{source:this,sourceEvent:e,target:o,panning:n})},onPointerMove:e=>this.onPointerMove(e,l),onPointerUp:(e,t)=>this.onPointerUp(e,t,l),onPointerCancel:()=>{const e=a.filterOutUnchanged();e.hasChanges()&&s.history.registerToUndo(e),s.discard({revert:!0})}}};shouldStartPanning(e){return"mouse"===e.pointerType&&e.shiftKey===("selection"===this._pointerMode)&&!(e.ctrlKey||e.altKey)}onPointerMove(e,t){const{target:n,panning:i,moveElement:r}=t;if(n){if(n instanceof qr){if(r){const{x:t,y:o}=this.metrics.pageToPaperCoords(e.pageX,e.pageY),{pointerX:a,pointerY:s,elementX:l,elementY:c}=r;n.setPosition({x:l+t-a,y:c+o-s}),this.source.trigger("pointerMove",{source:this,sourceEvent:e,target:n,panning:i})}}else if(n instanceof Gr){const i=this.metrics.pageToPaperCoords(e.pageX,e.pageY),r=this.generateLinkVertex(n,i);r.createAt(i),t.target=r}else if(n instanceof Zr){const t=this.metrics.pageToPaperCoords(e.pageX,e.pageY);n.moveTo(t),this.source.trigger("pointerMove",{source:this,sourceEvent:e,target:n,panning:i})}}else this.source.trigger("pointerMove",{source:this,sourceEvent:e,target:n,panning:i})}generateLinkVertex(e,t){const{model:n,renderingState:i}=this,r=e.vertices,o=r?[...r]:[],a=n.getElement(e.sourceId),s=n.getElement(e.targetId);return new Zr(e,function(e,t){let n=1/0,i=0;for(let r=0;r<e.length-1;r++){const o=e[r],a=e[r+1],s={x:t.x-o.x,y:t.y-o.y},l={x:a.x-o.x,y:a.y-o.y},c=dr.length(l),d=dr.dot(s,l)/c;if(d<0||d>c)continue;const u=Math.abs(dr.cross2D(s,l))/c;u<n&&(n=u,i=r)}return i}(xr(i.getElementShape(a),i.getElementShape(s),o),t))}onPointerUp(e,t,n){const{triggerAsClick:i}=t,{target:r,restoreGeometry:o,batch:a,panning:s}=n;this.source.trigger("pointerUp",{source:this,sourceEvent:e,target:r,panning:s,triggerAsClick:i});const l=o.filterOutUnchanged();l.hasChanges()&&a.history.registerToUndo(l),a.store()}onResize=()=>{this.source.trigger("resize",{source:this})};onScrollPassive=e=>{this.isEventFromCellLayer(e)&&this.source.trigger("scroll",{source:this,sourceEvent:e})};getWheelToScaleDelta=e=>{switch(this.shouldZoom(e)){case"zoom":return function(e,t=.1){return-1*Math.max(-1,Math.min(1,e.deltaY||e.deltaX))*t}(e);case"prevent":return 0;default:return}};shouldZoom(e){const{requireCtrl:t}=this.zoomOptions,n=e.target;if(t)return e.ctrlKey?"zoom":"default";if(e.ctrlKey)return"zoom";if(this.paper.root&&n instanceof window.Element){const e=hl(n,this.paper.root,Do);if(e)return $c(n,e)?"default":hl(n,e,Tc)?"prevent":"zoom"}return this.isEventFromCellLayer(e)&&n instanceof Node&&(this.paper.root===n||this.paper.pane===n||this.paper.pane?.firstChild===n||!$c(n,this.linkLayer.current)&&!$c(n,this.labelLayer.current)&&!$c(n,this.elementLayer.current))?"zoom":"default"}get metrics(){return this.paper.metrics}get pointerMode(){return this._pointerMode}setPointerMode(e){const t=this._pointerMode;t!==e&&(this._pointerMode=e,this.setters.setPointerMode(e),this.source.trigger("changePointerMode",{source:this,previous:t}))}get zoomOptions(){return this.state.zoomOptions}updateContentBounds=()=>{const{elements:e,links:t}=this.model;this._contentBounds=$r(e,t,this.renderingState),this.setters.setContentBounds(this._contentBounds)};isEventFromCellLayer(e){const t=e.target;return t instanceof Node&&Boolean(this.paper.root===t||this.paper.pane===t||this.paper.pane?.firstChild===t||this.linkLayer.current?.contains(t)||this.labelLayer.current?.contains(t)||this.elementLayer.current?.contains(t))}focus(){this.paper.root?.focus({preventScroll:!0})}async centerTo(e,t={}){await this.renderingState.updateLayersUpTo(to.PaperArea);const{width:n,height:i}=this.paper.metrics.transform;return this.paper.centerViewport(e||{x:n/2,y:i/2},t)}async centerContent(e={}){await this.renderingState.updateLayersUpTo(to.PaperArea);const t=this._contentBounds;return this.centerTo({x:t.x+t.width/2,y:t.y+t.height/2},e)}getScale(){return this.paper.scale}setScale(e,t){return this.paper.setScale(e,t)}zoomBy(e,t){return this.setScale(this.getScale()+e,t)}zoomIn(e){return this.zoomBy(this.state.zoomOptions.step,e)}zoomOut(e){return this.zoomBy(-this.state.zoomOptions.step,e)}async zoomToFit(e={}){const{model:t,renderingState:n}=this,{elements:i,links:r}=t;if(0===i.length)return this.centerTo();await this.renderingState.updateLayersUpTo(to.PaperArea);const o=$r(i,r,n);return this.zoomToFitRect(o,e)}zoomToFitRect(e,t){const{fitPadding:n}=this.state.zoomOptions;return this.paper.scaleToFitRect({x:e.x-n,y:e.y-n,width:e.width+n,height:e.height+n},t)}makeToSVGOptions(e){const t=this._contentBounds,{contentPadding:n={x:100,y:100},removeByCssSelectors:i=[]}=e,r=this.linkLayer.current,o=this.labelLayer.current,a=this.elementLayer.current;if(!(r&&o&&a))throw new Error("Cannot find element, link or label layers to export");return{colorSchemeApi:this.state.colorSchemeApi,styleRoot:r,contentBox:{x:t.x-n.x,y:t.y-n.y,width:t.width+2*n.x,height:t.height+2*n.y},layers:[r,o,a],preserveDimensions:!0,convertImagesToDataUris:!0,removeByCssSelectors:["[data-reactodia-no-export]",...i],watermarkSvg:this.state.watermarkSvg}}exportSvg(e={}){return function(e){return mc(e).then((t=>{const n=(new XMLSerializer).serializeToString(t);return e.addXmlHeader?'<?xml version="1.0" encoding="UTF-8"?>'+n:n}))}(this.makeToSVGOptions(e))}exportRaster(e={}){return async function(e){const{mimeType:t="image/png",maxFallbackSize:n=xc}=e,i=await mc({...e,convertImagesToDataUris:!0,preserveDimensions:!0}),r={width:Number(i.getAttribute("width")),height:Number(i.getAttribute("height"))},{innerSize:o,outerSize:a,offset:s}=function(e,t){const n=wr(e,t.width,t.height),i={width:Math.floor(n.width),height:Math.floor(n.height)},r={width:"number"==typeof t.width?t.width:i.width,height:"number"==typeof t.height?t.height:i.height};return{innerSize:i,outerSize:r,offset:{x:Math.round((r.width-i.width)/2),y:Math.round((r.height-i.height)/2)}}}(r,"number"==typeof e.width||"number"==typeof e.height?{width:e.width,height:e.height}:function(e,t){const n=Math.min(t.width/e.width,t.height/e.height),i=Math.min(2,n);return{width:Math.floor(e.width*i),height:Math.floor(e.height*i)}}(r,n));i.setAttribute("width",o.width.toString()),i.setAttribute("height",o.height.toString());const l=(new XMLSerializer).serializeToString(i),{canvas:c,context:d}=function(e,t,n){const i=document.createElement("canvas");i.width=e,i.height=t;const r=i.getContext("2d");return n&&(r.fillStyle=n,r.fillRect(0,0,e,t)),{canvas:i,context:r}}(a.width,a.height,e.backgroundColor),u=await(h="data:image/svg+xml,"+encodeURIComponent(l),new Promise(((e,t)=>{const n=new Image;n.onload=function(){e(n)},n.onerror=function(e){t(e)},n.src=h})));var h;return d.drawImage(u,s.x,s.y,o.width,o.height),c.toDataURL(t,e.quality)}({...e,...this.makeToSVGOptions(e)})}isAnimatingGraph(){return this.state.graphAnimations.count>0}animateGraph(e,t){const n="number"==typeof t?t:Lc.duration;return this.changeGraphAnimationCount(1,n),e(),fi(n).then((()=>this.changeGraphAnimationCount(-1)))}changeGraphAnimationCount(e,t){const n=this.isAnimatingGraph();dn.flushSync((()=>{this.setters.setGraphAnimations((n=>({count:n.count+e,duration:t??n.duration})))})),this.isAnimatingGraph()!==n&&this.source.trigger("changeAnimatingGraph",{source:this,previous:n})}};function zc(e,t,n){if(!(e instanceof globalThis.Element))return;let i,r=e;for(;;){if(r instanceof globalThis.Element){if(r.hasAttribute("data-element-id"))return n.getElement(r.getAttribute("data-element-id"));if(r.hasAttribute("data-link-id")){const e=n.getLink(r.getAttribute("data-link-id"));if(!e)return;return"number"==typeof i?new Zr(e,i):e}r.hasAttribute("data-vertex")&&(i=Number(r.getAttribute("data-vertex")))}if(!r||r===t)break;r=r.parentNode}}function $c(e,t){if(!t||!t.contains(e))return!1;let n=e;for(;n&&n!==t;){if(n instanceof window.Element){const e=getComputedStyle(n);if("scroll"===e.overflowX||"scroll"===e.overflowY)return!0}n=n.parentNode}return!1}function Tc(e){return e.hasAttribute("data-reactodia-prevent-zoom")}function Nc(e){const{model:t,view:n,overlay:i}=sn(),{elementTemplateResolver:r,linkTemplateResolver:o,linkRouter:a,showScrollbars:s,zoomOptions:l,watermarkSvg:c,watermarkUrl:d,children:u}=e,[h]=v.useState((()=>new ro({model:t,shared:n,elementTemplateResolver:r?e=>r((e instanceof ra?e.data:void 0)?.types??[],e):void 0,linkTemplateResolver:o?e=>o(e instanceof la||e instanceof da?e.typeId:void 0,e):void 0,linkRouter:a})));return H.jsx("div",{className:"reactodia-canvas",children:H.jsxs(Mc,{model:t,renderingState:h,zoomOptions:l,showScrollBars:s,watermarkSvg:c,watermarkUrl:d,children:[u,H.jsx(ls,{overlay:i}),H.jsx(ul,{})]})})}var Ac="reactodia-connections-menu";function Ic(e){return H.jsx("div",{className:`${Ac}__spinner`,children:H.jsx(Yt,{width:30,height:30,errorOccurred:Boolean(e.error)})})}function Vc(e){const{data:t,filterKey:n,sortMode:i,suggestions:r,allRelatedLink:o,onExpandLink:a,onMoveToFilter:s}=e,{model:l}=sn(),c=Pt(),d="smart"===i&&!n,u=n?Ti(n):void 0,h=d?[]:(t.links||[]).map((e=>l.getLinkType(e.id)?.data??e)).filter((e=>{const t=c.formatLabel(e.label,e.id,l.language);return!u||u(t)})).sort(Rc(c,l.language)),f=(t.links??[]).map((e=>l.getLinkType(e.id)?.data??e)).filter((e=>{const t=r.scores.get(e.id);return!h.includes(e)&&void 0!==t&&(t.score>0||d)})).sort(Rc(c,l.language,r)),p=Hc(h,{counts:t.counts,scores:r.scores}),g=Hc(f,{counts:t.counts,scores:r.scores,probable:!0}),v=[];if(p.length>1||d&&g.length>1){const{inCount:e,outCount:n,inexact:i}=t.counts.get(o.id),r=e+n;v.push({type:"link",key:o.id,linkType:o,count:i&&r>0?"some":r}),v.push({type:"separator"});for(const e of p)v.push(e)}if(g.length>0&&d){v.push({type:"probable-hint"});for(const e of g)v.push(e)}return H.jsxs("div",{className:cn(`${Ac}__links-list`,"reactodia-scrollable",0===v.length?`${Ac}__links-list-empty`:void 0),tabIndex:-1,children:[H.jsx(fl,{children:({ref:e,controller:t})=>H.jsx("ul",{ref:e,className:`${Ac}__links-root`,role:"list",onClick:t.defaultClick,onKeyDown:t.defaultKeyDown,children:v.map((e=>"link"===e.type?H.jsx(Dc,{link:e.linkType,direction:e.direction,count:e.count,filterKey:e.probable?"":n,probability:e.probability,onExpandLink:a,onMoveToFilter:s},Pc(e)):"separator"===e.type?H.jsx("hr",{className:`${Ac}__links-list-hr`},Pc(e)):"probable-hint"===e.type?H.jsx("li",{className:`${Ac}__links-probably-label`,children:c.text("connections_menu.links.suggest_similar")},Pc(e)):null))})}),0===v.length?H.jsx("label",{className:`${Ac}__links-no-results`,children:c.text("connections_menu.links.no_results")}):null]})}function Pc(e){return"link"===e.type?e.key:e.type}function Hc(e,t){const{counts:n,scores:i,probable:r}=t,o=[],a=(e,t)=>{const{inCount:a,outCount:s,inexact:l}=n.get(e.id)??{inCount:0,outCount:0,inexact:!1},c="in"===t?a:s;if(0===c)return;const d=i.get(e.id);o.push({type:"link",key:`${t}-${r?"probable":""}-${e.id}`,linkType:e,direction:t,count:l&&c>0?"some":c,probable:r,probability:r&&void 0!==d?d.score:0})};for(const t of e)a(t,"in"),a(t,"out");return o}function Rc(e,t,n){return(i,r)=>{if(n){const{scores:e}=n,t=e.has(i.id)?e.get(i.id).score:0,o=e.has(r.id)?e.get(r.id).score:0;if(t>o)return-1;if(t<o)return 1}const o=e.formatLabel(i.label,i.id,t),a=e.formatLabel(r.label,r.id,t);return o.localeCompare(a)}}function Dc(e){const{link:t,filterKey:n,direction:i,count:r,onExpandLink:o,onMoveToFilter:a,probability:s=0}=e,{model:l}=sn(),c=Pt(),{ref:d,tabIndex:u}=gl(),h=c.formatLabel(t.label,t.id,l.language),f=l.locale.formatIri(t.id),p=Math.round(100*s),g=Tl(h+(p>0?` (${p}%)`:""),n),v=c.text("in"===i?"connections_menu.link.source_title":"out"===i?"connections_menu.link.target_title":"connections_menu.link.both_title",{relation:h,relationIri:f}),m=c.text("in"===i?"connections_menu.link.source_navigate_title":"out"===i?"connections_menu.link.target_navigate_title":"connections_menu.link.both_navigate_title",{relation:h,relationIri:f});return H.jsxs("li",{ref:d,className:`${Ac}__link`,role:"listitem","data-linktypeid":t.id,children:[H.jsxs("button",{className:`${Ac}__link-button`,title:v,onClick:()=>{o({chunkId:$i(),linkType:t,direction:i,expectedCount:r,pageCount:1})},tabIndex:u,children:["in"===i||"out"===i?H.jsxs("div",{className:`${Ac}__link-direction`,children:["in"===i&&H.jsx("div",{className:"reactodia-connections-menu__link-direction-in"}),"out"===i&&H.jsx("div",{className:"reactodia-connections-menu__link-direction-out"})]}):null,H.jsx(ps,{type:"linkType",target:t.id,children:H.jsx("div",{className:`${Ac}__link-title`,children:g})}),"some"===r?null:H.jsx("span",{className:`reactodia-badge ${Ac}__link-count`,children:r<=100?r:"100+"}),a?H.jsx("div",{className:`${Ac}__link-filter-spacer`}):null,H.jsx("div",{className:`${Ac}__link-navigate-button`,title:m})]}),a?H.jsx("button",{className:`${Ac}__link-filter-button`,onClick:e=>{e.stopPropagation(),a?.({chunkId:$i(),linkType:t,direction:i,expectedCount:r,pageCount:1})},title:c.text("connections_menu.link.move_to_filter.title"),tabIndex:u}):null]})}function Bc(e){const{data:t,isLoading:n,filterKey:i,onPressAddSelected:r,onMoveToFilter:o}=e,{model:a}=sn(),s=Pt(),l=Ct(a.events,"changeLanguage",(()=>a.language)),[c,d]=v.useState((()=>new Set)),u=v.useMemo((()=>{if(!i)return t.elements;const e=Ti(i);return t.elements.filter((t=>e(a.locale.formatEntityLabel(t,l))))}),[t.elements,i,l]),h=Ta(a),f=u.every((e=>h.has(e.id)||c.has(e.id))),p=u.filter((e=>!h.has(e.id))),g=p.filter((e=>c.has(e.id))),m=g.length>0?g:p,b=s.text("connections_menu.entities.counter_label",{count:g.length,total:t.elements.length});let w=null;if("some"!==t.chunk.expectedCount){const e=t.elements.length-Math.min(100,t.chunk.expectedCount),n=Math.abs(e)>100?"100+":Math.abs(e).toString();w=H.jsx("span",{className:`${Ac}__objects-extra`,title:0===e?void 0:s.text(e>0?"connections_menu.entities.extra_title":"connections_menu.entities.missing_title",{value:n}),children:0===e?null:s.text(e>0?"connections_menu.entities.extra_label":"connections_menu.entities.missing_label",{value:n})})}const y=H.jsxs("div",{className:`${Ac}__objects-count`,children:[H.jsx("span",{children:b}),w]});return H.jsxs("div",{className:`${Ac}__objects`,children:[H.jsxs("div",{className:`${Ac}__objects-select-all`,children:[H.jsxs("label",{children:[H.jsx("input",{type:"checkbox",name:"reactodia-connections-menu-select-all",checked:f&&p.length>0,onChange:()=>d(new Set(f?[]:p.map((e=>e.id)))),disabled:0===p.length,title:s.text("connections_menu.select_all.title")}),H.jsx("span",{children:s.text("connections_menu.select_all.label")})]}),H.jsx("div",{className:`${Ac}__objects-spacer`,"aria-hidden":"true"}),y]}),n?H.jsx("div",{className:`${Ac}__objects-loading`,children:H.jsx(Ic,{})}):0===u.length?H.jsx("div",{className:`${Ac}__objects-no-results`,children:s.text("connections_menu.entities.no_results")}):H.jsxs("div",{className:`${Ac}__objects-list`,tabIndex:-1,children:[H.jsx(Bl,{items:u,selection:c,onSelectionChanged:d,highlightText:i}),"some"!==t.chunk.expectedCount&&t.chunk.expectedCount>100?H.jsx("div",o?{className:`${Ac}__move-to-filter`,onClick:()=>o(t.chunk),children:s.text("connections_menu.entities.truncated_results_expand",{limit:100})}:{className:`${Ac}__move-to-filter`,children:s.text("connections_menu.entities.truncated_results",{limit:100})}):null]}),H.jsxs("div",{className:`${Ac}__objects-statusbar`,children:[H.jsx("button",{className:cn(`${Ac}__objects-add-button`,"reactodia-btn reactodia-btn-secondary"),disabled:n||m.length<=1,onClick:()=>r(m,"grouped"),children:s.text("connections_menu.entities.add_group")}),H.jsx("button",{className:cn(`${Ac}__objects-add-button`,"reactodia-btn reactodia-btn-primary"),disabled:n||0===p.length,onClick:()=>r(m,"separately"),children:s.text(g.length>0?"connections_menu.entities.add_selected":"connections_menu.entities.add_all")})]})]})}function Oc(e){const t=sn(),{canvas:n}=cr(),i=Pt(),r=v.useRef("alphabet"),o=t.getCommandBus(ks);return v.useEffect((()=>{const a=new wi;return a.listen(o,"findCapabilities",(e=>{e.capabilities.push({})})),a.listen(o,"show",(({targets:o})=>{if(0===o.length)return;const{model:a,overlay:s}=t,l=o.length>1?new jc(o,a,n):void 0,c=l??o[0],d=new Set;for(const e of o)for(const t of sa(e))d.add(t.id);s.showDialog({target:c,dialogType:Ko,style:{caption:i.text("connections_menu.dialog.caption"),defaultSize:{width:310,height:340},minSize:{width:300,height:250}},content:H.jsx(Fc,{...e,placeTarget:c,targetIris:Array.from(d),initialMode:r.current,onChangeMode:e=>{r.current=e},onCancel:()=>s.hideDialog()}),onClose:()=>l?.removeFrom(a)})})),()=>a.stopListening()}),[o]),null}var jc=class extends Wr{listener=new wi;constructor(e,t,n){super({});const i=new Set(e),r=()=>{const{x:t,y:i,width:r,height:o}=$r(e,[],n.renderingState);this.setPosition({x:t+r,y:i+o/2})};r();const o=t.history.startBatch();t.addElement(this),o.discard(),this.listener.listen(t.events,"changeCells",(e=>{(e.changedElement===this||e.updateAll)&&t.getElement(this.id)!==this&&this.listener.stopListening()})),this.listener.listen(t.events,"elementEvent",(({data:e})=>{e.changePosition&&i.has(e.changePosition.source)&&r()})),this.listener.listen(n.renderingState.events,"changeElementSize",(e=>{i.has(e.source)&&r()}))}removeFrom(e){if(this.listener.stopListening(),e.getElement(this.id)===this){const t=e.history.startBatch();e.removeElement(this.id),t.discard()}}};function Fc(e){const{canvas:t}=cr(),n=sn(),i=Pt(),r=Hl({initialValue:"",submitTimeout:200}),o=Hl({initialValue:""});return H.jsx(Uc,{...e,connectionSearch:r,objectSearch:o,canvas:t,workspace:n,translation:i})}var Uc=class extends v.Component{ALL_RELATED_ELEMENTS_LINK;handler=new wi;linkTypesListener=new wi;suggestionCancellation=new AbortController;linksScrolledListRef=v.createRef();linksScrollPosition;constructor(e){super(e);const{targetIris:t,initialMode:n,suggestProperties:i,workspace:{model:r},translation:o}=this.props;this.ALL_RELATED_ELEMENTS_LINK={id:"urn:reactodia:allLinks",label:[r.factory.literal(o.text("connections_menu.all_link.label"))]};const a=Boolean(i)&&1===t.length;this.state={loadingState:"none",panel:"connections",connectionSortMode:a?n:"alphabet",connectionSuggestions:{filterKey:null,scores:new Map}}}updateAll=()=>this.forceUpdate();scheduleUpdateAll=()=>{const{canvas:e}=this.props;e.renderingState.scheduleOnLayerUpdate(to.Overlay,this.updateAll)};componentDidMount(){const{connectionSearch:e,objectSearch:t,workspace:{model:n}}=this.props;this.handler.listen(n.events,"changeLanguage",this.scheduleUpdateAll),this.handler.listen(e.events,"changeValue",this.updateAll),this.handler.listen(e.events,"executeSearch",(({value:e})=>{this.loadSuggestions(e)})),this.handler.listen(t.events,"changeValue",this.updateAll),this.loadLinks()}getSnapshotBeforeUpdate(e,t){return"objects"===this.state.panel&&"connections"===t.panel&&this.linksScrolledListRef.current&&(this.linksScrollPosition=this.linksScrolledListRef.current.scrollTop),0}componentDidUpdate(e,t){"connections"===this.state.panel&&"objects"===t.panel&&void 0!==this.linksScrollPosition&&this.linksScrolledListRef.current&&(this.linksScrolledListRef.current.scrollTop=this.linksScrollPosition)}componentWillUnmount(){const{canvas:e}=this.props;this.handler.stopListening(),this.linkTypesListener.stopListening(),e.renderingState.cancelOnLayerUpdate(to.Overlay,this.updateAll),this.suggestionCancellation.abort()}async loadLinks(){const{targetIris:e,workspace:{model:t,triggerWorkspaceEvent:n}}=this.props;this.setState({loadingState:"loading",connections:{links:[],counts:new Map}});const i=e.length>1,r=new Map;try{await Promise.all(e.map((e=>t.dataProvider.connectedLinkStats({elementId:e,inexactCount:i}).then((e=>{for(const{id:t,inCount:n,outCount:o,inexact:a}of e){const e=r.get(t)??{inCount:0,outCount:0,inexact:!1};r.set(t,{inexact:Boolean(i||e.inexact||a),inCount:e.inCount+n,outCount:e.outCount+o})}})))))}catch(e){return console.error(e),void this.setState({loadingState:"error"})}const o=Array.from(r.keys(),(e=>t.createLinkType(e)?.data??{id:e,label:[]}));r.set(this.ALL_RELATED_ELEMENTS_LINK.id,Array.from(r.values()).reduce(((e,t)=>({inexact:Boolean(e.inexact||t.inexact),inCount:e.inCount+t.inCount,outCount:e.outCount+t.outCount})),{inCount:0,outCount:0,inexact:!1})),this.setState({loadingState:"completed",connections:{links:o,counts:r}},(()=>{this.resubscribeOnLinkTypeEvents(),n(on.connectionsLoadLinks),this.loadSuggestions("")}))}resubscribeOnLinkTypeEvents(){const{workspace:{model:e}}=this.props,{connections:t}=this.state;if(this.linkTypesListener.stopListening(),t){for(const{id:n}of t.links){const t=e.createLinkType(n);this.linkTypesListener.listen(t.events,"changeData",this.scheduleUpdateAll)}const n=new Set(t.links.map((e=>e.id)));this.linkTypesListener.listen(e.events,"changeLinkVisibility",(e=>{n.has(e.source)&&this.scheduleUpdateAll()}))}}async loadObjects(e){const{targetIris:t,workspace:{model:n,triggerWorkspaceEvent:i}}=this.props,{linkType:r,direction:o,pageCount:a}=e;this.setState({loadingState:"loading",objects:{chunk:e,elements:[]}});const s=new Map;try{await Promise.all(t.map((e=>n.dataProvider.lookup({refElementId:e,refElementLinkId:r.id===this.ALL_RELATED_ELEMENTS_LINK.id?void 0:r.id,linkDirection:o,limit:100*a}).then((e=>{for(const{element:t}of e)s.set(t.id,t)})))))}catch(e){return console.error(e),void this.setState({loadingState:"error"})}const l=Array.from(s.values());this.setState({loadingState:"completed",objects:{chunk:e,elements:l}},(()=>{i(on.connectionsLoadElements)}))}async loadSuggestions(e){const{targetIris:t,suggestProperties:n,workspace:{model:i}}=this.props,{loadingState:r,panel:o,connectionSortMode:a,connections:s,connectionSuggestions:l}=this.state;if(this.suggestionCancellation.abort(),n&&1===t.length&&"connections"===o&&"completed"===r&&s&&(e.length>0||"smart"===a)&&l.filterKey!==e){const r=t[0],o=i.language,a=e.trim(),l=s.links.map((e=>e.id));this.suggestionCancellation=new AbortController;const c=this.suggestionCancellation.signal,d=await n({elementId:r,token:a,properties:l,lang:o,signal:c}),u=new Map;for(const e of d)u.set(e.propertyIri,e);this.setState((t=>({connectionSuggestions:{...t.connectionSuggestions,filterKey:e,scores:u}})))}}render(){const{connectionSearch:e,objectSearch:t,translation:n}=this.props,{panel:i}=this.state;return H.jsxs("div",{className:Ac,children:[this.getBreadCrumbs(),H.jsx(Pl,{className:`${Ac}__search`,store:"connections"===i?e:t,inputProps:{name:"reactodia-connection-menu-filter",placeholder:n.textOptional("connections_menu.input.placeholder")},children:this.renderSortSwitches()}),this.getBody()]})}getBreadCrumbs(){const{workspace:{model:e},translation:t}=this.props,{objects:n,panel:i}=this.state;if(n&&"objects"===i){const{linkType:i,direction:r}=n.chunk,{label:o}=e.getLinkType(i.id)?.data??i,a=t.formatLabel(o,i.id,e.language);return H.jsxs("span",{className:`${Ac}__breadcrumbs`,children:[H.jsx("button",{className:`${Ac}__breadcrumbs-link`,onClick:this.onCollapseLink,children:t.text("connections_menu.breadcrumbs_root.label")})," / ",a," ",r?`(${r})`:null]})}return null}onExpandLink=e=>{const{objectSearch:t,workspace:{triggerWorkspaceEvent:n}}=this.props,{objects:i}=this.state;this.setState({panel:"objects"},(()=>t.change({value:"",action:"clear"}))),i&&i.chunk.linkType.id===e.linkType.id&&i.chunk.direction===e.direction||this.loadObjects(e),n(on.connectionsExpandLink)};onCollapseLink=()=>{this.setState({panel:"connections",loadingState:"completed"})};getBody(){const{targetIris:e,connectionSearch:t,objectSearch:n,workspace:{getCommandBus:i}}=this.props,{panel:r,connectionSortMode:o,loadingState:a,objects:s,connections:l,connectionSuggestions:c}=this.state;if("error"===a)return H.jsx(Ic,{error:!0});if(s&&"objects"===r)return H.jsx(Bc,{data:s,onMoveToFilter:this.onMoveToFilter,filterKey:n.value,isLoading:"loading"===a,onPressAddSelected:this.onAddSelectedElements},s.chunk.chunkId);if(l&&"connections"===r){if("loading"===a||"smart"===o&&null===c.filterKey)return H.jsx(Ic,{});const n={capabilities:[]};return i(xs).trigger("findCapabilities",n),H.jsx(Vc,{data:l,suggestions:c,filterKey:t.value,sortMode:o,allRelatedLink:this.ALL_RELATED_ELEMENTS_LINK,onExpandLink:this.onExpandLink,onMoveToFilter:n.capabilities.length>0&&1===e.length?this.onMoveToFilter:void 0,scrolledListRef:this.linksScrolledListRef})}return H.jsx("div",{})}onAddSelectedElements=(e,t)=>{const{onCancel:n}=this.props,{objects:i}=this.state,r=e.map((e=>e.id)),o=i?i.chunk.linkType.id:void 0;this.placeElements(r,i&&o!==this.ALL_RELATED_ELEMENTS_LINK.id?o:void 0,t),n()};placeElements(e,t,n){const{placeTarget:i,canvas:r,workspace:{model:o,triggerWorkspaceEvent:a}}=this.props,s=o.history.startBatch(Ht.text("connections_menu.place_elements.command"));let l=[];switch(n){case"separately":l=e.map((e=>o.createElement(e)));break;case"grouped":{const t=new oa({items:e.map((e=>({data:ra.placeholderData(e)})))});o.addElement(t),l=[t];break}}r.renderingState.syncUpdate(),s.history.execute(Ur({target:i,elements:l,graph:o,sizeProvider:r.renderingState})),t&&"hidden"===o.getLinkVisibility(t)&&s.history.execute(Fr(o,t,"visible")),s.history.execute(za(o,e)),s.history.execute($a(o,{addedElements:e})),s.store(),a(on.editorAddElements)}onMoveToFilter=e=>{const{targetIris:t,workspace:{getCommandBus:n}}=this.props,{linkType:i,direction:r}=e,o=1===t.length?t[0]:void 0;if(!o)return;n(xs).trigger("setCriteria",i.id===this.ALL_RELATED_ELEMENTS_LINK.id?{criteria:{refElement:o}}:{criteria:{refElement:o,refElementLink:i.id,linkDirection:r}})};renderSortSwitches(){const{targetIris:e,suggestProperties:t,translation:n}=this.props,{panel:i}=this.state;return"connections"===i&&t&&1===e.length?H.jsxs("div",{className:`${Ac}__sort-switches`,children:[this.renderSortSwitch("alphabet",`${Ac}__sort-label-alpha`,n.text("connections_menu.sort_alphabetically.title")),this.renderSortSwitch("smart",`${Ac}__sort-label-smart`,n.text("connections_menu.sort_smart.title"))]}):null}renderSortSwitch(e,t,n){const{connectionSortMode:i}=this.state;return H.jsxs("div",{children:[H.jsx("input",{type:"radio",name:"sort",id:e,value:e,className:`${Ac}__sort-switch`,onChange:this.onSortChange,checked:i===e}),H.jsx("label",{htmlFor:e,title:n,className:cn(`${Ac}__sort-switch-label`,t)})]})}onSortChange=e=>{const{onChangeMode:t,connectionSearch:n}=this.props,{connectionSortMode:i}=this.state,r=e.target.value;i!==r&&this.setState({connectionSortMode:r},(()=>{t(r),n.change({value:n.value,action:"submit"})}))}};function qc(e){const{allowDrop:t,getDroppedItems:n=Wc}=e,{canvas:i}=cr(),{model:r,triggerWorkspaceEvent:o}=sn();return v.useEffect((()=>{const e=new wi;return e.listen(i.events,"dragover",(e=>{t&&!t(e)||(e.sourceEvent.dataTransfer&&(e.sourceEvent.dataTransfer.dropEffect="move"),e.allowDrop())})),e.listen(i.events,"drop",(e=>{e.sourceEvent.preventDefault();const t=n(e);if(t.length>0){const n=r.history.startBatch(Ht.text("drop_on_canvas.drop.command")),a=Ta(r),s=new Set,l=[],c=[];for(const e of t)if("element"===e.type){let t=!1,n=!1;for(const i of sa(e.element))n=!0,a.has(i.id)||s.has(i.id)||(t=!0,s.add(i.id),ra.isPlaceholderData(i)&&l.push(i.id));n&&!t||c.push(e.element)}for(const e of c)r.getElement(e.id)||r.addElement(e);!function(e,t,n){for(const n of e)n.setPosition(t);n.renderingState.syncUpdate();let{x:i,y:r}=t,o=!0;for(const t of e){let{width:e,height:a}=yr(t,n.renderingState);0===e&&(e=100),0===a&&(a=50),o&&(o=!1,i-=e/2,r-=a/2),t.setPosition({x:i,y:r}),r+=a+20}}(c,e.position,i),n.history.execute(za(r,l)),n.history.execute($a(r,{addedElements:Array.from(s)})),n.store(),c.length>0&&c[c.length-1].focus(),r.setSelection(c),i.renderingState.syncUpdate(),o(on.editorAddElements)}})),()=>e.stopListening()}),[t,n]),null}function Wc(e){const t=(t,n=!1)=>{try{const i=e.sourceEvent.dataTransfer?.getData(t);if(!i)return;let r=[];try{const e=JSON.parse(i);Array.isArray(e)&&(r=e.filter((e=>"string"==typeof e)))}catch(e){r=[n?decodeURI(i):i]}if(0===r.length)return;return r.map((e=>({type:"element",element:new ra({data:ra.placeholderData(e)})})))}catch(e){return}};return t("application/x-reactodia-elements")??t("text/uri-list",!0)??t("text")??[]}var Gc="reactodia-form";function Zc(e){const{link:t,onChange:n,disabled:i,error:r}=e,{editor:o}=sn(),a=Pt(),s=Nt({input:[o.metadataProvider,t.source.id,t.target.id],load:([e],{signal:n})=>async function(e){const{link:t,metadataProvider:n,signal:i}=e;if(!n)return[];const r=await hi(n.canConnect(t.source,t.target,void 0,{signal:i}),i);if(null===r)return[];const o=new Set,a=new Set;for(const{inLinks:e,outLinks:t}of r){for(const t of e)o.add(t);for(const e of t)a.add(e)}let s=1;const l=[];for(const e of a)l.push({key:s,iri:e,direction:"out"}),s++;for(const e of o)l.push({key:s,iri:e,direction:"in"}),s++;return l}({link:t,metadataProvider:e,signal:n})}),l="completed"===s.status?s.data:void 0,c=(l??[]).find((({iri:e,direction:n})=>e===t.base.linkTypeId&&n===t.direction));return H.jsxs("div",{className:`${Gc}__control-row`,children:[H.jsx("label",{children:a.text("visual_authoring.select_relation.type.label")}),l&&"completed"===s.status?H.jsxs("select",{className:"reactodia-form-control",name:"reactodia-link-type-selector-select",value:c?.key??-1,onChange:e=>{const i=Number(e.currentTarget.value),r=l?.find((e=>e.key===i));r&&n({...t,base:{...t.base,linkTypeId:r.iri},direction:r.direction})},disabled:i,children:[H.jsx("option",{value:-1,disabled:!0,children:a.text("visual_authoring.select_relation.type.placeholder")}),H.jsx(Kc,{link:t,linkTypes:l})]}):H.jsx("div",{children:H.jsx(Yt,{width:20,height:20,errorOccurred:"error"===s.status})}),r?H.jsx("span",{className:`${Gc}__control-error`,children:r}):null]})}function Kc(e){const{link:t,linkTypes:n}=e,{model:i}=sn(),r=Pt(),o=Ct(i.events,"changeLanguage",(()=>i.language));return Dt(rn,n.map((e=>e.iri)),i),H.jsx(H.Fragment,{children:[...n].sort(Xc(i,r,o)).map((({key:e,iri:n,direction:o})=>{const a=i.getLinkType(n),s=r.formatLabel(a?.data?.label,n,i.language);let[l,c]=[t.source,t.target].map((e=>i.locale.formatEntityLabel(e,i.language)));return"in"===o&&([l,c]=[c,l]),H.jsx("option",{value:e,children:r.text("visual_authoring.select_relation.relation_type.label",{relation:s,source:l,target:c})},e)}))})}function Xc(e,t,n){return(i,r)=>{const o=e.getLinkType(i.iri),a=e.getLinkType(r.iri),s=t.formatLabel(o?.data?.label,i.iri,n),l=t.formatLabel(a?.data?.label,r.iri,n),c=s.localeCompare(l);return 0!==c?c:"out"===i.direction&&"in"===r.direction?-1:"in"===i.direction&&"out"===r.direction?1:0}}function Qc(e,t,n){let[i,r]=[t,n];return"in"===e.direction&&([i,r]=[r,i]),new la({sourceId:i.id,targetId:r.id,data:{...e.base,sourceId:i.iri,targetId:r.iri}})}v.createContext(null);var Yc="reactodia-resizable-box";function Jc(e){const{className:t,mapCoordsFromPage:n,startResize:i,minWidth:r=0,minHeight:o=0}=e,[a,s]=v.useState(),l=e=>{e.stopPropagation(),s(i())},c=()=>{a?.end(),s(void 0)},d=(e,t,i,s)=>{if(!a)return;const{initialBounds:l}=a,c=n(0,0),{x:d,y:u}=dr.subtract(n(e,t),c),{x:h,y:f}=dr.subtract(n(i,s),c),p={x:Math.min(l.x+d,l.x+l.width-r),y:Math.min(l.y+u,l.y+l.height-o),width:Math.max(l.width+h,r),height:Math.max(l.height+f,o)};a.onResize(p)};v.useEffect((()=>()=>a?.end()),[]);const u=H.jsx("svg",{className:`${Yc}__corner`,viewBox:"-2 -2 14 14",children:H.jsx("circle",{cx:5,cy:5,r:5})}),h=H.jsx("svg",{className:`${Yc}__vertical`,viewBox:"-2 -2 34 14",children:H.jsx("rect",{x:0,y:0,rx:2,ry:2,width:30,height:10})}),f=H.jsx("svg",{className:`${Yc}__horizontal`,viewBox:"-2 -2 14 34",children:H.jsx("rect",{x:0,y:0,rx:2,ry:2,width:10,height:30})}),p=`${Yc}__handle`;return H.jsxs("div",{className:cn(Yc,t),children:[H.jsx(Fa,{className:p,dock:"n",onBeginDragHandle:l,onEndDragHandle:c,onDragHandle:(e,t,n)=>d(0,n,0,-n),children:h}),H.jsx(Fa,{className:p,dock:"s",onBeginDragHandle:l,onEndDragHandle:c,onDragHandle:(e,t,n)=>d(0,0,0,n),children:h}),H.jsx(Fa,{className:p,dock:"w",onBeginDragHandle:l,onEndDragHandle:c,onDragHandle:(e,t)=>d(t,0,-t,0),children:f}),H.jsx(Fa,{className:p,dock:"e",onBeginDragHandle:l,onEndDragHandle:c,onDragHandle:(e,t)=>d(0,0,t,0),children:f}),H.jsx(Fa,{className:p,dock:"nw",onBeginDragHandle:l,onEndDragHandle:c,onDragHandle:(e,t,n)=>d(t,n,-t,-n),children:u}),H.jsx(Fa,{className:p,dock:"ne",onBeginDragHandle:l,onEndDragHandle:c,onDragHandle:(e,t,n)=>d(0,n,t,-n),children:u}),H.jsx(Fa,{className:p,dock:"sw",onBeginDragHandle:l,onEndDragHandle:c,onDragHandle:(e,t,n)=>d(t,0,-t,n),children:u}),H.jsx(Fa,{className:p,dock:"se",onBeginDragHandle:l,onEndDragHandle:c,onDragHandle:(e,t,n)=>d(0,0,t,n),children:u})]})}var ed="reactodia-selection-action";function td(e){const{dock:t,dockRow:n,dockColumn:i,className:r,title:o,hotkey:a,disabled:s,onSelect:l,onMouseDown:c,onPointerDown:d,children:u}=e,h=br(a,s?void 0:l),f=o&&h?`${o} (${h.text})`:o;return H.jsx("button",{type:"button",className:cn(ed,nd(t),r),style:id(n,i),title:f,"aria-label":o,"aria-keyshortcuts":h?.text,disabled:s,onClick:l,onMouseDown:c,onPointerDown:d,children:u})}function nd(e){switch(e){case"nw":return`${ed}--dock-nw`;case"n":return`${ed}--dock-n`;case"ne":return`${ed}--dock-ne`;case"e":return`${ed}--dock-e`;case"se":return`${ed}--dock-se`;case"s":return`${ed}--dock-s`;case"sw":return`${ed}--dock-sw`;case"w":return`${ed}--dock-w`;default:return}}function id(e,t){return{"--reactodia-dock-x":t??0,"--reactodia-dock-y":e??0}}function rd(e){return Ct(e.events,"changeSelection",(()=>{const t=1===e.selection.length?e.selection[0]:void 0;return t instanceof qr?t:void 0}))}function od(e){const{dock:t,dockRow:n,dockColumn:i,className:r,title:o}=e;return H.jsx("div",{role:"button",className:cn(r,nd(t),`${ed}__spinner`),style:id(n,i),title:o,children:H.jsx(Yt,{width:20,height:20})})}function ad(e){const{className:t,title:n,hotkey:i,...r}=e,{canvas:o}=cr(),{model:a,editor:s}=sn(),l=Pt(),c=Ct(a.events,"changeSelection",(()=>a.selection)).filter((e=>e instanceof qr));let d=0,u=0;for(const e of c)e instanceof ra&&(u++,Oo.isAddedEntity(s.authoringState,e.iri)&&d++);const h=1===d&&1===u;return H.jsx(td,{...r,className:cn(t,h?`${ed}__delete`:`${ed}__remove`),title:n||l.text(h?"selection_action.remove.title_new":1===c.length?"selection_action.remove.title_single":"selection_action.remove.title"),hotkey:void 0===i?"None+Delete":i,onSelect:()=>{s.removeSelectedElements(),o.focus()}})}function sd(e){const{className:t,title:n,...i}=e,{model:r,canvas:o}=cr(),a=Pt(),s=Ct(r.events,"changeSelection",(()=>r.selection)).filter((e=>e instanceof qr));return s.length<=1?null:H.jsx(td,{...i,className:cn(t,`${ed}__zoomToFit`),title:n??a.text("selection_action.zoom_to_fit.title"),onSelect:()=>{const e=new Set;for(const t of s)for(const n of r.getElementLinks(t))e.add(n);const t=$r(s,e,o.renderingState);o.zoomToFitRect(t,{animate:!0})}})}function ld(e){const{className:t,title:n,...i}=e,{model:r,canvas:o}=cr(),{performLayout:a}=sn(),s=Pt(),l=Ct(r.events,"changeSelection",(()=>r.selection)).filter((e=>e instanceof qr));return l.length<=1?null:H.jsx(td,{...i,className:cn(t,`${ed}__layout`),title:n??s.text("selection_action.layout.title"),onSelect:()=>{a({canvas:o,selectedElements:new Set(l),animate:!0})}})}function cd(e){const{className:t,title:n,...i}=e,{canvas:r}=cr(),{model:o}=sn(),a=Pt(),s=Ct(o.events,"changeSelection",(()=>o.selection)).filter((e=>e instanceof qr)),l=function(e,t){return v.useCallback((n=>{if(0===t.length)return()=>{};const i=new Set(t),r=new wi;return r.listen(e.events,"elementEvent",(({data:e})=>{if(e.changeElementState&&i.has(e.changeElementState.source)){const t=Boolean(e.changeElementState.previous.get(pi.Expanded));e.changeElementState.source.isExpanded!==t&&n()}})),()=>r.stopListening()}),[e.events,t])}(o,s),c=e=>{const t=r.renderingState.getElementTemplate(e);return Boolean(t.supports?.[pi.Expanded])},d=$t(oo(l,r.renderingState),(()=>s.every((e=>!c(e)||e.isExpanded))));return s.some(c)?H.jsx(td,{...i,className:cn(t,d?`${ed}__collapse`:`${ed}__expand`),title:n??a.text(1===s.length?"selection_action.expand.title_single":"selection_action.expand.title"),onSelect:()=>{if(1===s.length){const e=s[0];o.history.execute(Or(e,!e.isExpanded))}else{const e=o.history.startBatch(Ht.text(d?"selection_action.expand.collapse_command":"selection_action.expand.expand_command"));for(const t of s)c(t)&&e.history.execute(Or(t,!d));e.store()}}}):null}function dd(e){const{dock:t,dockRow:n,dockColumn:i,className:r,title:o,anchorProps:a,onSelect:s}=e,{model:l}=sn(),c=Pt(),d=rd(l);if(!(d instanceof ra))return null;const u=l.locale.prepareAnchor(d.iri);return H.jsx("a",{...u,role:"button",...a,className:cn(ed,nd(t),r,`${ed}__link`),style:id(n,i),title:o??c.text("selection_action.anchor.title"),onClick:e=>{s?s(d,e):u.onClick?.(e)}})}function ud(e){const{className:t,title:n,...i}=e,{model:r,overlay:o,getCommandBus:a}=sn(),s=Pt(),l=Ct(o.events,"changeOpenedDialog",(()=>o.openedDialog?.knownType===Ko)),c=Ct(r.events,"changeSelection",(()=>r.selection)).filter((e=>e instanceof qr));let d=0;for(const e of c)for(const t of sa(e))d++;const u=a(ks),h={capabilities:[]};return u.trigger("findCapabilities",h),h.capabilities.length>0&&d>0?H.jsx(td,{...i,className:cn(t,l?`${ed}__navigate-close`:`${ed}__navigate-open`),title:n??s.text("selection_action.connections.title"),onSelect:()=>{l?o.hideDialog():u.trigger("show",{targets:c})}}):null}function hd(e){const{className:t,title:n,...i}=e,{model:r,getCommandBus:o}=sn(),a=Pt(),s=rd(r),l=o(xs),c={capabilities:[]};return l.trigger("findCapabilities",c),s instanceof ra&&c.capabilities.length>0?H.jsx(td,{...i,className:cn(t,`${ed}__add-to-filter`),title:n??a.text("selection_action.add_to_filter.title"),onSelect:()=>{l.trigger("setCriteria",{criteria:{refElement:s.iri}})}}):null}function fd(e){const{className:t,title:n,hotkey:i,...r}=e,{canvas:o}=cr(),a=sn(),s=Pt(),{model:l}=a,c=Ct(l.events,"changeSelection",(()=>l.selection)).filter((e=>e instanceof qr)),d=c.length>0&&c.every((e=>e instanceof ra)),u=c.length>0&&c.every((e=>e instanceof oa));return 0===c.length||1===c.length&&d||c.every((e=>e instanceof Wo))?null:H.jsx(td,{...r,className:cn(t,u?`${ed}__ungroup`:`${ed}__group`),disabled:!(d||u),title:n??s.text(u?"selection_action.group.title_ungroup":"selection_action.group.title"),hotkey:void 0===i?"None+G":i,onSelect:async()=>{if(d){const e=await Ra(a,{elements:c,canvas:o});l.setSelection([e]),e.focus()}else if(u){const e=await Da(a,{groups:c,canvas:o});l.setSelection(e),o.focus()}}})}function pd(e){const{model:t}=cr(),n=rd(t);return n instanceof ra?H.jsx(gd,{...e,target:n}):n instanceof Wo?H.jsx(vd,{...e,target:n}):null}function gd(e){const{target:t,className:n,title:i,linkType:r,...o}=e,{canvas:a}=cr(),{editor:s,getCommandBus:l}=sn(),c=Pt(),d=Ct(s.events,"changeMode",(()=>s.inAuthoringMode)),u=function(e,t,n){const{canvas:i}=cr(),r=t instanceof ra?t:void 0,o=$t(Et(r?.events,"changeData"),(()=>r?.data)),a=$t(oo(Et(e.events,"changeAuthoringState"),i.renderingState),(()=>e.authoringState)),s=t instanceof ra?a.elements.get(t.iri):void 0,{data:l,status:c}=Nt({input:[e.metadataProvider,o,s,n],load:async([e,t,n,i],{signal:r})=>!(!e||!t||n&&"entityDelete"===n.type)&&(await e.canConnect(t,void 0,i,{signal:r})).length>0});return"completed"===c?l:void 0}(s,d?t:void 0,r);if(!d)return null;if(void 0===u){const{dock:t,dockRow:n,dockColumn:i}=e;return H.jsx(od,{dock:t,dockRow:n,dockColumn:i})}return H.jsx(td,{...o,className:cn(n,`${ed}__establish-link`),disabled:!u,title:i??c.text(u?"selection_action.establish_relation.title":"selection_action.establish_relation.title_disabled"),onPointerDown:e=>{e.preventDefault();const n=a.metrics.pageToPaperCoords(e.pageX,e.pageY);l(Cs).trigger("startDragEdit",{operation:{mode:"connect",source:t,linkType:r,point:n}})}})}function vd(e){const{target:t,className:n,title:i,linkType:r,...o}=e,{canvas:a}=cr(),{getCommandBus:s}=sn(),l=Pt(),c={capabilities:[]};return s(_s).trigger("findCapabilities",c),0===c.capabilities.length?null:H.jsx(td,{...o,className:cn(n,`${ed}__establish-link`),title:i??l.text("selection_action.establish_relation.title"),onPointerDown:e=>{e.preventDefault();const n=a.metrics.pageToPaperCoords(e.pageX,e.pageY);s(_s).trigger("startDragOperation",{operation:{mode:"connect",source:t,point:n}})}})}function md(e){const{className:t,title:n,initialContent:i,...r}=e,{model:o,getCommandBus:a}=sn(),s=Pt(),l=Ct(o.events,"changeSelection",(()=>o.selection)).filter((e=>e instanceof qr)),c={capabilities:[]};return a(_s).trigger("findCapabilities",c),0===l.length||0===c.capabilities.length?null:H.jsx(td,{...r,className:cn(t,`${ed}__annotate`),title:n??s.text("selection_action.annotate.title"),onSelect:()=>{let e;"function"==typeof i?e=i(l):void 0===i?e={type:"plaintext",text:s.text("selection_action.annotate.defaultContent")}:null!==i&&(e=i),a(_s).trigger("createAnnotation",{targets:l,content:e})}})}function bd(e){const{model:t,canvas:n}=cr(),i=rd(t);return i?H.jsx(Bo,{layer:"overElements",children:H.jsx(yd,{...e,target:i,canvas:n,model:t})}):null}var wd="reactodia-halo",yd=class extends v.Component{listener=new wi;targetListener=new wi;constructor(e){super(e),this.state={}}componentDidMount(){const{canvas:e,target:t}=this.props;this.listener.listen(e.events,"changeTransform",(()=>this.forceUpdate())),this.listenToElement(t)}componentDidUpdate(e){e.target!==this.props.target&&this.listenToElement(this.props.target)}componentWillUnmount(){this.listener.stopListening(),this.listenToElement(void 0)}listenToElement(e){const{canvas:t}=this.props;this.targetListener.stopListening(),e&&(this.targetListener.listenAny(e.events,this.onElementEvent),this.targetListener.listen(t.renderingState.events,"changeElementSize",(t=>{t.source===e&&dn.flushSync((()=>{this.forceUpdate()}))})))}onElementEvent=e=>{e.changePosition&&dn.flushSync((()=>{this.forceUpdate()}))};render(){const{target:e,canvas:t,model:n,margin:i,children:r}=this.props,o=t.renderingState.getElementTemplate(e),a=Boolean(o.supports?.[pi.ElementSize]),s=yr(e,t.renderingState),{x:l,y:c}=t.metrics.paperToScrollablePaneCoords(s.x,s.y),{x:d,y:u}=t.metrics.paperToScrollablePaneCoords(s.x+s.width,s.y+s.height),h={"--reactodia-selection-single-box-margin":i,"--reactodia-halo-left":`${l}px`,"--reactodia-halo-top":`${c}px`,"--reactodia-halo-width":d-l+"px","--reactodia-halo-height":u-c+"px"};return H.jsxs("div",{className:cn(wd,a?`${wd}--resizable`:void 0),style:h,children:[a&&H.jsx(Jc,{className:`${wd}__resizer`,mapCoordsFromPage:(e,n)=>t.metrics.pageToPaperCoords(e,n),startResize:()=>(n.history.registerToUndo(Lr.compound(Ht.text("commands.transform_elements.title"),[Hr.capturePartial([e],[])])),new _d(e,s)),minWidth:40,minHeight:40}),r??H.jsxs(H.Fragment,{children:[H.jsx(fd,{dock:"nw",dockColumn:1}),H.jsx(ad,{dock:"ne"}),H.jsx(cd,{dock:"s"}),H.jsx(dd,{dock:"w"}),H.jsx(ud,{dock:"e"}),H.jsx(hd,{dock:"se"}),H.jsx(md,{dock:"se",dockColumn:1}),H.jsx(pd,{dock:"sw"})]})]})}},_d=class{target;initialBounds;constructor(e,t){this.target=e,this.initialBounds=t}onResize({x:e,y:t,width:n,height:i}){this.target.setPosition({x:e,y:t}),this.target.setElementState(this.target.elementState.set(pi.ElementSize,{width:n,height:i}))}end(){}},kd=v.createContext(null);function xd(){const e=v.useContext(kd);if(!e)throw new Error("Missing context for LinkAction");return e}var Sd="reactodia-link-action";function Cd(e){const{dockSide:t,dockIndex:n,disabled:i,className:r,title:o,hotkey:a,onSelect:s,onMouseDown:l,onPointerDown:c,children:d}=e,{getPosition:u}=xd(),h=br(a,i?void 0:s),f=o&&h?`${o} (${h.text})`:o;return H.jsx("button",{role:"button",className:cn(r,Sd),style:u(t,n),disabled:i,title:f,"aria-label":o,"aria-keyshortcuts":h?.text,onClick:s,onMouseDown:l,onPointerDown:c,children:d})}function Ld(e){const{dockSide:t,dockIndex:n,className:i,title:r}=e,{buttonSize:o,getPosition:a}=xd();return H.jsx("div",{className:cn(i,`${Sd}__spinner`),style:a(t,n),title:r,children:H.jsx(Yt,{width:o,height:o})})}function Md(e){const{className:t,title:n,...i}=e,{link:r}=xd(),{model:o,editor:a,getCommandBus:s}=sn(),l=Pt(),c=Ct(a.events,"changeMode",(()=>a.inAuthoringMode)),d=$d(c?r:void 0,o,a),u="completed"===d.status?d.data:void 0,h=Ct(a.events,"changeAuthoringState",(()=>r instanceof la&&Oo.isDeletedRelation(a.authoringState,r.data)));if(!(c&&r instanceof la)||h)return null;if(void 0===u){const{dockSide:t,dockIndex:n}=e;return H.jsx(Ld,{dockSide:t,dockIndex:n})}return H.jsx(Cd,{...i,className:cn(t,`${Sd}__button`,`${Sd}__edit`),title:n??l.text(u.canChangeType?"link_action.edit_relation.title":"link_action.edit_relation.title_disabled"),disabled:!u.canChangeType,onSelect:()=>s(Cs).trigger("editRelation",{target:r})})}function Ed(e){const{link:t}=xd();return t instanceof la?H.jsx(zd,{...e,link:t}):t instanceof Go?H.jsx(Td,{...e,link:t}):null}function zd(e){const{link:t,className:n,title:i,hotkey:r,...o}=e,{model:a,editor:s}=sn(),l=Pt(),c=$d(t,a,s),d="completed"===c.status?c.data:void 0,u=Ct(s.events,"changeAuthoringState",(()=>t instanceof la&&Oo.isDeletedRelation(s.authoringState,t.data)));if(!(s.inAuthoringMode&&t instanceof la)||u)return null;if(void 0===d){const{dockSide:t,dockIndex:n}=e;return H.jsx(Ld,{dockSide:t,dockIndex:n})}return H.jsx(Cd,{...o,className:cn(n,`${Sd}__button`,`${Sd}__delete`),title:i??l.text(d.canDelete?"link_action.delete_relation.title":"link_action.delete_relation.title_disabled"),hotkey:void 0===r?"None+Delete":r,disabled:!d.canDelete,onSelect:()=>s.deleteRelation(t.data)})}function $d(e,t,n){const{canvas:i}=cr(),r=$t(oo(Et(n.events,"changeAuthoringState"),i.renderingState),(()=>n.authoringState));return Nt({input:[n.metadataProvider,e,r],load:async([e,n,i],{signal:r})=>{if(e&&n instanceof la&&!function(e,t){return Oo.isDeletedEntity(e,t.data.sourceId)||Oo.isDeletedEntity(e,t.data.targetId)}(i,n)){const i=t.getElement(n.sourceId),o=t.getElement(n.targetId);return e.canModifyRelation(n.data,i.data,o.data,{signal:r})}return{}}})}function Td(e){const{link:t,className:n,title:i,hotkey:r,...o}=e,{editor:a}=sn(),s=Pt();return H.jsx(Cd,{...o,className:cn(n,`${Sd}__button`,`${Sd}__delete`),title:i??s.text("link_action.delete_annotation.title"),hotkey:void 0===r?"None+Delete":r,onSelect:()=>a.removeItems([t])})}function Nd(e){const{link:t}=xd();return t instanceof la?H.jsx(Ad,{...e,link:t}):t instanceof Go?H.jsx(Id,{...e,link:t}):null}function Ad(e){const{link:t,dockSide:n,className:i,title:r,...o}=e,{buttonSize:a,getAngleInDegrees:s}=xd(),{canvas:l}=cr(),{editor:c,getCommandBus:d}=sn(),u=Pt(),h=Ct(c.events,"changeMode",(()=>c.inAuthoringMode)),f=Ct(c.events,"changeAuthoringState",(()=>Oo.isDeletedRelation(c.authoringState,t.data)));return h?H.jsx(Cd,{...o,dockSide:n,dockIndex:0,className:cn(i,`${Sd}__endpoint`),title:r??u.text("source"===n?"link_action.move_relation.move_source_title":"link_action.move_relation.move_target_title"),disabled:f,onPointerDown:e=>{e.preventDefault();const i=l.metrics.pageToPaperCoords(e.pageX,e.pageY);d(Cs).trigger("startDragEdit",{operation:{mode:"source"===n?"moveSource":"moveTarget",link:t,point:i}})},children:H.jsx(Vd,{dockSide:n,buttonSize:a,angle:s(n)})}):null}function Id(e){const{link:t,dockSide:n,className:i,title:r,...o}=e,{buttonSize:a,getAngleInDegrees:s}=xd(),{canvas:l}=cr(),{getCommandBus:c}=sn(),d=Pt(),u={capabilities:[]};return c(_s).trigger("findCapabilities",u),0===u.capabilities.length?null:H.jsx(Cd,{...o,dockSide:n,dockIndex:0,className:cn(i,`${Sd}__endpoint`),title:r??d.text("source"===n?"link_action.move_relation.move_source_title":"link_action.move_relation.move_target_title"),onPointerDown:e=>{e.preventDefault();const i=l.metrics.pageToPaperCoords(e.pageX,e.pageY);c(_s).trigger("startDragOperation",{operation:{mode:"source"===n?"moveSource":"moveTarget",link:t,point:i}})},children:H.jsx(Vd,{dockSide:n,buttonSize:a,angle:s(n)})})}function Vd(e){const{dockSide:t,buttonSize:n,angle:i}=e;return H.jsx("svg",{width:n,height:n,style:{transform:`rotate(${i}deg)`},children:H.jsx("g",{transform:`scale(${n})`,children:"source"===t?H.jsx("circle",{r:.5,cx:.5,cy:.5,fill:"currentColor"}):H.jsx("polygon",{points:"0,0.5 1,1 1,0",fill:"currentColor"})})})}function Pd(e){const{className:t,title:n}=e,{link:i}=xd(),{canvas:r}=cr(),{view:{renameLinkProvider:o},getCommandBus:a}=sn(),s=Pt(),l=$t(Et(r.renderingState.events,"changeLinkLabelBounds"),(()=>r.renderingState.getLinkLabelBounds(i)));if(!o?.canRename(i)||!l)return null;const{x:c,y:d,width:u,height:h}=l,{x:f,y:p}=r.metrics.paperToScrollablePaneCoords(c+u,d+h/2),g={width:15,height:17,left:f,top:p-8.5};return H.jsx("button",{className:cn(t,`${Sd}__rename`),style:g,title:n??s.text("link_action.rename_link.title"),onClick:()=>a(_s).trigger("renameLink",{target:i})})}function Hd(e){const{canvas:t,model:n}=cr(),i=$t(Et(n.events,"changeSelection"),(()=>{const e=1===n.selection.length?n.selection[0]:void 0;return e instanceof Gr?e:void 0}));return i?H.jsx(jd,{...e,target:i,model:n,canvas:t}):null}var Rd="reactodia-halo-link",Dd=0,Bd=20,Od=5,jd=class e extends v.Component{listener=new wi;targetListener=new wi;constructor(t){super(t),this.state={actionContext:e.makeActionContext(this.props)}}static makeActionContext(e){const{target:t,model:n,canvas:i,buttonSize:r=Bd,buttonMargin:o=Od}=e,a=function(e,t,n){const i=t.getElement(e.sourceId),r=t.getElement(e.targetId);if(!i||!r)return;const o=n.getLinkTemplate(e),a=n.getRouting(e.id),s=a?a.vertices:e.vertices||[],l=n.getElementShape(i),c=n.getElementShape(r),d=xr(l,c,s);return Er.create({type:o?.spline??Er.defaultType,points:d,source:hr.center(l.bounds),target:hr.center(c.bounds)})}(t,n,i.renderingState);if(!a)return null;const s=Sr(a.geometry.points);return{link:t,spline:a,buttonSize:r,getPosition:(e,t)=>{const n=(r+o)*t,l=Cr(a.geometry.points,"source"===e?n:s-n),{x:c,y:d}=i.metrics.paperToScrollablePaneCoords(l.x,l.y);return{top:d-r/2,left:c-r/2}},getAngleInDegrees:e=>{const{points:t}=a.geometry,n=dr.normalize(dr.subtract(t["source"===e?0:t.length-2],t["source"===e?1:t.length-1]));return Math.atan2(n.y,n.x)*(180/Math.PI)}}}componentDidMount(){const{canvas:e,target:t}=this.props;this.listener.listen(e.events,"changeTransform",(()=>this.forceUpdate())),this.listenToTarget(t)}componentDidUpdate(e){this.props.target!==e.target&&this.listenToTarget(this.props.target),this.props.target===e.target&&this.props.buttonSize===e.buttonSize&&this.props.buttonMargin===e.buttonMargin||this.updateActionContext()}componentWillUnmount(){this.listener.stopListening(),this.listenToTarget(void 0)}listenToTarget(e){const{model:t,canvas:n}=this.props;if(this.targetListener.stopListening(),e){const i=t.getElement(e.sourceId),r=t.getElement(e.targetId);this.targetListener.listen(i.events,"changePosition",this.updateActionContext),this.targetListener.listen(r.events,"changePosition",this.updateActionContext),this.targetListener.listen(e.events,"changeVertices",this.updateActionContext),this.targetListener.listen(n.renderingState.events,"changeElementSize",(e=>{e.source!==i&&e.source!==r||this.updateActionContext()})),this.targetListener.listen(n.renderingState.events,"changeRoutings",(t=>{t.previous.get(e.id)!==t.source.getRouting(e.id)&&this.updateActionContext()}))}}updateActionContext=()=>{this.setState(((t,n)=>({actionContext:e.makeActionContext(n)})))};render(){const{canvas:e,highlightMargin:t=Dd,buttonSize:n=Bd,buttonMargin:i=Od,children:r}=this.props,{actionContext:o}=this.state;if(!o)return null;const a={"--reactodia-link-button-size":`${n}px`,"--reactodia-link-button-margin":`${i}px`};return H.jsxs(H.Fragment,{children:[H.jsx(Fd,{actionContext:o,style:a,margin:t,canvas:e}),H.jsx(Bo,{layer:"overElements",children:H.jsx("div",{className:Rd,style:a,children:H.jsx(kd.Provider,{value:o,children:r??H.jsxs(H.Fragment,{children:[H.jsx(Nd,{dockSide:"target"}),H.jsx(Nd,{dockSide:"source"}),H.jsx(Md,{dockSide:"target",dockIndex:1}),H.jsx(Ed,{dockSide:"target",dockIndex:2}),H.jsx(Pd,{})]})})})})]})}};function Fd(e){const{actionContext:{link:t,spline:n},style:i,margin:r,canvas:o}=e,a=$t(Et(o.renderingState.events,"changeLinkLabelBounds"),(()=>o.renderingState.getLinkLabelBounds(t)));let s;if(a){const{x:e,y:t}=o.metrics.paperToScrollablePaneCoords(a.x,a.y),{x:n,y:i}=o.metrics.paperToScrollablePaneCoords(a.x+a.width,a.y+a.height);s={left:e-r,top:t-r,width:n-e+2*r,height:i-t+2*r}}return H.jsxs(H.Fragment,{children:[H.jsx(Bo,{layer:"overLinkGeometry",children:H.jsx(Xr,{paperTransform:o.metrics.transform,className:Rd,style:{...i,overflow:"visible",pointerEvents:"none"},children:H.jsx("path",{className:`${Rd}__path-highlight`,d:n.toPath()})})}),s&&H.jsx(Bo,{layer:"overLinks",children:H.jsx("div",{className:Rd,style:i,children:H.jsx("div",{className:`${Rd}__label-highlight`,style:s})})})]})}var Ud="reactodia-inline-entity";function qd(e){const{target:t}=e,{model:n,getElementTypeStyle:i}=sn(),r=Pt(),o=n.locale.formatEntityLabel(t,n.language),{color:a}=i(t.types);return H.jsx("span",{className:Ud,style:{"--reactodia-inline-entity-color":a},title:Nl(t,n,r),children:H.jsx("span",{className:`${Ud}__label`,children:o})})}function Wd(e){const{searchStore:t,searchTimeout:n="explicit",minSearchTermLength:i=3}=e,r=Hl({initialValue:"",submitTimeout:n,allowSubmit:e=>e.length>=i}),o=t??r,a=sn(),s=Pt();return H.jsx(Zd,{...e,isControlled:Boolean(t),searchStore:o,minSearchTermLength:i,workspace:a,translation:s})}var Gd="reactodia-instances-search",Zd=class extends v.Component{listener=new wi;criteriaListener=new wi;searchListener=new wi;delayedUpdateAll=new yi;requestCancellation=new AbortController;currentRequest;constructor(e){super(e),this.state={criteria:{},resultId:0,selection:new Set}}componentDidMount(){const{workspace:e}=this.props,{model:t}=e;this.listener.listen(t.events,"changeLanguage",(()=>this.forceUpdate())),this.listener.listen(t.events,"loadingStart",(()=>{this.setState({criteria:{}},(()=>this.props.searchStore.change({value:"",action:"clear"})))}));const n=e.getCommandBus(xs);this.listener.listen(n,"findCapabilities",(e=>{e.capabilities.push({})})),this.listener.listen(n,"setCriteria",(({criteria:e})=>{const{searchStore:t,onChangeCriteria:n,workspace:{triggerWorkspaceEvent:i}}=this.props;i(on.searchUpdateCriteria),this.setState({criteria:e},(()=>{t.change({value:e.text??"",action:"clear"}),n?.(this.state.criteria)}))})),this.listenSearch(),this.resubscribeToCriteria(),this.queryItems(!1)}componentDidUpdate(e,t){this.props.searchStore.events!==e.searchStore.events&&this.listenSearch(),this.state.criteria!==t.criteria&&(this.resubscribeToCriteria(),this.queryItems(!1))}listenSearch(){const{searchStore:e}=this.props;this.searchListener.stopListening(),this.searchListener.listen(e.events,"executeSearch",(({value:e})=>{this.submitCriteriaUpdate(e,{triggerChange:!1})})),this.searchListener.listen(e.events,"clearSearch",(()=>{this.submitCriteriaUpdate("",{triggerChange:!1})}))}componentWillUnmount(){this.listener.stopListening(),this.criteriaListener.stopListening(),this.searchListener.stopListening(),this.requestCancellation.abort(),this.currentRequest=void 0}resubscribeToCriteria(){const{workspace:{model:e}}=this.props,{criteria:t}=this.state;if(this.criteriaListener.stopListening(),t.elementType){const n=e.createElementType(t.elementType);n&&this.criteriaListener.listen(n.events,"changeData",this.scheduleUpdateAll)}if(t.refElement){const n=e.elements.find((e=>e instanceof ra&&e.iri===t.refElement));n&&this.criteriaListener.listen(n.events,"changeData",this.scheduleUpdateAll)}if(t.refElementLink){const n=e.createLinkType(t.refElementLink);n&&this.criteriaListener.listen(n.events,"changeData",this.scheduleUpdateAll)}}scheduleUpdateAll=()=>{this.delayedUpdateAll.call(this.updateAll)};updateAll=()=>this.forceUpdate();render(){const{className:e,isControlled:t,searchStore:n,minSearchTermLength:i,translation:r}=this.props,o=this.state.querying?"loading":this.state.error?"error":this.state.items?"completed":"none",a=this.state.items??[],s=this.state.querying||0===this.state.selection.size;return H.jsxs("div",{className:cn(Gd,t?`${Gd}--controlled`:void 0,e),children:[H.jsxs("div",{className:`${Gd}__criteria`,children:[this.renderCriteria(),t?null:H.jsx(Pl,{store:n,className:`${Gd}__text-criteria`,inputProps:{name:"reactodia-instances-search-text",placeholder:r.textOptional("search_entities.input.placeholder")}})]}),H.jsx(Il,{state:o,title:r.text("search_entities.query_progress.title")}),H.jsxs("div",{className:`${Gd}__rest reactodia-scrollable`,tabIndex:-1,children:[H.jsx(Bl,{items:a,highlightText:this.state.criteria.text,selection:this.state.selection,onSelectionChanged:this.onSelectionChanged,footer:0===a.length?H.jsx(Fl,{hasQuery:void 0!==this.state.items,minSearchTermLength:i}):null}),H.jsx("div",{className:`${Gd}__rest-end`,children:H.jsx("button",{type:"button",className:`${Gd}__load-more reactodia-btn reactodia-btn-primary`,disabled:this.state.querying,style:{display:this.state.moreItemsAvailable?void 0:"none"},title:r.text("search_entities.show_more_results.title"),onClick:()=>this.queryItems(!0),children:r.text("search_entities.show_more_results.label")})})]},this.state.resultId),H.jsxs("div",{className:cn(`${Gd}__actions`,s?`${Gd}__actions-hidden`:void 0),"aria-hidden":s?"true":void 0,children:[H.jsx("button",{type:"button",className:`${Gd}__action reactodia-btn reactodia-btn-secondary`,disabled:this.state.querying||this.state.selection.size<=1,title:r.text("search_entities.add_group.title"),onClick:()=>this.placeSelectedItems("group"),children:r.text("search_entities.add_group.label")}),H.jsx("button",{type:"button",className:`${Gd}__action reactodia-btn reactodia-btn-primary`,disabled:this.state.querying||0===this.state.selection.size,title:r.text("search_entities.add_selected.title"),onClick:()=>this.placeSelectedItems("separately"),children:r.text("search_entities.add_selected.label")})]})]})}onSelectionChanged=e=>{this.setState({selection:e})};renderCriteria(){const{workspace:{model:e},translation:t}=this.props,{criteria:n}=this.state,i=[];if(n.elementType){const r=e.getElementType(n.elementType),o=t.formatLabel(r?.data?.label,n.elementType,e.language);i.push(H.jsxs("div",{className:`${Gd}__criterion`,children:[this.renderRemoveCriterionButtons((()=>this.setState({criteria:{...n,elementType:void 0}},(()=>this.props.onChangeCriteria?.(this.state.criteria))))),t.template("search_entities.criteria_has_type",{entityType:H.jsx("span",{className:`${Gd}__criterion-class`,title:n.elementType,children:o})})]},"hasType"))}else if(n.refElement){const r=function(e,t){for(const n of e.elements)for(const e of sa(n))if(e.id===t)return e}(e,n.refElement)??ra.placeholderData(n.refElement);let o;if(n.refElementLink){const i=e.getLinkType(n.refElementLink);o=t.formatLabel(i?.data?.label,n.refElementLink,e.language)}const a=H.jsx(qd,{target:r}),s=n.refElementLink?H.jsx("span",{className:`${Gd}__criterion-link-type`,title:n.refElementLink,children:o}):void 0,l=H.jsx("span",{className:`${Gd}__link-direction-in`}),c=H.jsx("span",{className:`${Gd}__link-direction-out`});i.push(H.jsxs("div",{className:`${Gd}__criterion`,children:[this.renderRemoveCriterionButtons((()=>this.setState({criteria:{...n,refElement:void 0,refElementLink:void 0}},(()=>this.props.onChangeCriteria?.(this.state.criteria))))),t.template(n.refElementLink?"in"===n.linkDirection?"search_entities.criteria_connected_to_source":"out"==n.linkDirection?"search_entities.criteria_connected_to_target":"search_entities.criteria_connected_via":"search_entities.criteria_connected",{entity:a,relationType:s,sourceIcon:l,targetIcon:c})]},"hasLinkedElement"))}return H.jsx("div",{className:`${Gd}__criterions`,children:i})}renderRemoveCriterionButtons(e){return H.jsx("div",{className:`${Gd}__criterion-remove reactodia-btn-group reactodia-btn-group-xs`,children:H.jsx("button",{type:"button",title:"Remove criteria",className:cn(`${Gd}__criterion-remove-button`,"reactodia-btn reactodia-btn-default"),onClick:e})})}submitCriteriaUpdate(e,t){const{onChangeCriteria:n}=this.props;this.setState((t=>{const n=""===e?void 0:e;return t.criteria.text===n?null:{criteria:{...t.criteria,text:n}}}),t.triggerChange?()=>n?.(this.state.criteria):void 0)}queryItems(e){const{workspace:{model:t,triggerWorkspaceEvent:n}}=this.props;let i;if(this.requestCancellation.abort(),e){if(!this.currentRequest)throw new Error("Cannot request more items without initial request.");const{limit:e}=this.currentRequest;i={...this.currentRequest,limit:"number"==typeof e?e+100:e}}else i=Kd(this.state.criteria);if(!(i.text||i.elementTypeId||i.refElementId||i.refElementLinkId))return void this.setState({querying:!1,error:void 0,items:void 0,selection:new Set,moreItemsAvailable:!1});this.requestCancellation=new AbortController;const r=this.requestCancellation.signal;i={...i,signal:r},this.currentRequest=i,this.setState({querying:!0,error:void 0,moreItemsAvailable:!1}),t.dataProvider.lookup(i).then((e=>{r.aborted||(this.processFilterData(e),n(on.searchQueryItem))})).catch((e=>{r.aborted||(console.error(e),this.setState({querying:!1,error:e}))}))}processFilterData(e){const t="number"==typeof this.currentRequest.limit&&this.currentRequest.limit>100,n=new Set;if(t)for(const e of this.state.items)n.add(e.id);const i=t?[...this.state.items]:[];for(const{element:t}of e)n.has(t.id)||i.push(t);const r="number"==typeof this.currentRequest.limit&&e.length>=this.currentRequest.limit;this.setState(t?{querying:!1,items:i,error:void 0,moreItemsAvailable:r}:{querying:!1,resultId:this.state.resultId+1,items:i,selection:new Set,error:void 0,moreItemsAvailable:r})}placeSelectedItems(e){const{onAddElements:t,workspace:{model:n,view:i}}=this.props,r=i.findAnyCanvas(),{items:o,selection:a}=this.state;if(!r||0===a.size)return;const s=n.history.startBatch(Ht.text("search_entities.place_elements.command")),l=o?o.filter((e=>a.has(e.id))):Array.from(a,ra.placeholderData);let c;if("separately"===e){const e=new Wr({position:Xd(r,.3,.5)});c=l.map((e=>n.createElement(e))),r.renderingState.syncUpdate(),s.history.execute(Ur({target:e,elements:c,graph:n,sizeProvider:r.renderingState,distance:150}))}else{const e=new oa({items:l.map((e=>({data:e}))),position:Xd(r,.5,.5)});c=[e],n.addElement(e),r.renderingState.syncUpdate();const{x:t,y:i,width:o,height:a}=yr(e,r.renderingState);e.setPosition({x:t-o/2,y:i-a/2})}const d=Array.from(a);s.history.execute(za(n,d)),s.history.execute($a(n,{addedElements:d})),s.store(),t?.(c)}};function Kd(e){const{text:t,elementType:n,refElement:i,refElementLink:r,linkDirection:o}=e;return{text:t,elementTypeId:n,refElementId:i,refElementLinkId:r,linkDirection:o,limit:100}}function Xd(e,t,n){const i=e.metrics.pane;return e.metrics.clientToPaperCoords(i.clientWidth*t,i.clientHeight*n)}function Qd(e){const{searchStore:t,searchTimeout:n=200,minSearchTermLength:i=1}=e,r=Hl({initialValue:"",submitTimeout:n,allowSubmit:e=>e.length>=i}),o=t??r,a=sn(),s=Pt();return H.jsx(eu,{...e,isControlled:Boolean(t),searchStore:o,minSearchTermLength:i,workspace:a,translation:s})}var Yd="reactodia-links-toolbox",Jd=!0,eu=class extends v.Component{listener=new wi;selectionListener=new wi;searchListener=new wi;linkListener=new wi;debounceSelection=new yi(50);delayedUpdateAll=new yi;constructor(e){super(e),this.state={filteredLinks:{term:"",diagramHasLink:!1,selection:[],selectionLinks:new Set,links:[]}}}componentDidMount(){const{workspace:{model:e}}=this.props;this.listener.listen(e.events,"loadingSuccess",this.updateOnCurrentSelection),this.listener.listen(e.events,"changeLanguage",this.updateOnCurrentSelection),this.subscribeToSelectionChanges(),this.listenSearch(),this.updateOnCurrentSelection()}componentDidUpdate(e,t){const{trackSelected:n=Jd,searchStore:i}=this.props;n!==e.trackSelected&&this.subscribeToSelectionChanges(),i.events!==e.searchStore.events&&this.listenSearch(),this.state.filteredLinks!==t.filteredLinks&&this.subscribeOnFilteredLinksEvents()}listenSearch(){const{searchStore:e}=this.props;this.searchListener.stopListening(),this.searchListener.listen(e.events,"executeSearch",(({value:e})=>{this.setState(((t,n)=>tu(t,e,n)))})),this.searchListener.listen(e.events,"clearSearch",(()=>{this.setState(((e,t)=>tu(e,"",t)))}))}componentWillUnmount(){this.listener.stopListening(),this.selectionListener.stopListening(),this.searchListener.stopListening(),this.linkListener.stopListening(),this.debounceSelection.dispose(),this.delayedUpdateAll.dispose()}subscribeToSelectionChanges(){const{trackSelected:e=Jd,workspace:{model:t}}=this.props;this.selectionListener.stopListening(),e&&this.selectionListener.listen(t.events,"changeSelection",(()=>{this.debounceSelection.call(this.updateOnCurrentSelection)}))}updateOnCurrentSelection=()=>{this.setState(((e,t)=>tu(e,t.searchStore.value,t)))};subscribeOnFilteredLinksEvents(){const{workspace:{model:e}}=this.props,{filteredLinks:t}=this.state;this.linkListener.stopListening();const n=new Set;for(const e of t.links)n.add(e.iri),this.linkListener.listen(e.type.events,"changeData",this.onLinkChanged);this.linkListener.listen(e.events,"changeLinkVisibility",(e=>{n.has(e.source)&&this.onLinkChanged()}))}onLinkChanged=()=>{this.delayedUpdateAll.call((()=>this.forceUpdate()))};render(){const{className:e,isControlled:t,searchStore:n,minSearchTermLength:i,workspace:r,translation:o}=this.props,{filteredLinks:a}=this.state,s=a.links.filter((e=>a.selectionLinks.has(e.iri))),l=a.links.filter((e=>!a.selectionLinks.has(e.iri)));return H.jsxs("div",{className:cn(Yd,t?`${Yd}--controlled`:void 0,e),children:[H.jsxs("div",{className:`${Yd}__heading`,children:[t?null:H.jsx(Pl,{store:n,className:`${Yd}__filter`,inputProps:{name:"reactodia-link-types-filter",placeholder:o.textOptional("search_link_types.input.placeholder")}}),H.jsxs("div",{className:`${Yd}__switch-all`,children:[H.jsx(iu,{onSetVisibility:e=>ru(a.links,e,r),disabled:0===a.links.length}),H.jsxs("span",{children:[" ",o.text("search_link_types.switch_all.label")]})]})]}),H.jsx("div",{className:`${Yd}__rest`,children:H.jsxs("div",{className:"reactodia-scrollable",children:[s.length>0?H.jsxs(H.Fragment,{children:[H.jsx("div",{role:"heading",className:`${Yd}__links-heading`,children:1===a.selection.length?o.template("search_link_types.heading_connected_single",{entity:H.jsx(qd,{target:a.selection[0]})}):o.template("search_link_types.heading_connected",{count:a.selection.length})}),this.renderLinks(s)]}):null,s.length>0&&l.length>0?H.jsx("div",{role:"heading",className:`${Yd}__links-heading`,children:o.template("search_link_types.heading_other",{count:l.length})}):null,this.renderLinks(l),0===a.links.length?H.jsx(Fl,{className:`${Yd}__no-results`,hasQuery:a.term.length>0,minSearchTermLength:i,message:a.diagramHasLink?void 0:o.text("search_link_types.no_results")}):null]})})]})}renderLinks(e){const{workspace:{getCommandBus:t}}=this.props,{filteredLinks:n}=this.state,i=t(xs),r={capabilities:[]};return i.trigger("findCapabilities",r),H.jsx("ul",{className:`${Yd}__links`,children:e.map((e=>H.jsx(nu,{link:e,onAddToFilter:r.capabilities.length>0&&n.selectionLinks.has(e.iri)?this.onAddToFilter:void 0,filterKey:n.term},e.iri)))})}onAddToFilter=e=>{const{workspace:{getCommandBus:t}}=this.props,{filteredLinks:n}=this.state;1===n.selection.length&&t(xs).trigger("setCriteria",{criteria:{refElement:n.selection[0].id,refElementLink:e}})}};function tu(e,t,n){const{trackSelected:i=Jd,workspace:{model:r},translation:o}=n,a=new Set;for(const e of r.links)(e instanceof la||e instanceof da)&&a.add(e.typeId);const s=Ti(t),l=Array.from(a,(e=>r.createLinkType(e))).map((e=>({iri:e.id,type:e,label:o.formatLabel(e.data?.label,e.id,r.language)}))).filter((e=>s(e.label))).sort(((e,t)=>e.label.localeCompare(t.label))),c=new Map,d=new Set;if(i)for(const e of r.selection)if(e instanceof qr){for(const t of sa(e))c.set(t.id,t);for(const t of r.getElementLinks(e))d.add(t.typeId)}return{...e,filteredLinks:{term:t,diagramHasLink:a.size>0,selection:Array.from(c.values()),selectionLinks:d,links:l}}}function nu(e){const{link:t,filterKey:n,onAddToFilter:i}=e,r=sn(),o=Pt(),{model:a}=r;return H.jsxs("li",{"data-linktypeid":t.iri,className:`${Yd}__link-item`,children:[H.jsx(iu,{className:`${Yd}__link-buttons`,visibility:a.getLinkVisibility(t.iri),onSetVisibility:e=>ru([t],e,r)}),H.jsx(ps,{type:"linkType",target:t.iri,children:H.jsx("div",{className:`${Yd}__link-title`,children:Tl(t.label,n)})}),i?H.jsx("div",{className:`${Yd}__filter-button`,title:o.text("search_link_types.add_to_filter.title"),onClick:()=>i(t.iri)}):null]})}function iu(e){const{className:t,visibility:n,onSetVisibility:i,disabled:r}=e,o=Pt();return H.jsxs("div",{className:cn(t,"reactodia-btn-group reactodia-btn-group-xs"),children:[H.jsx("button",{title:o.text("search_link_types.switch_hidden.title"),className:cn(`${Yd}__toggle-invisible`,"reactodia-btn reactodia-btn-default","hidden"===n?"active":void 0),disabled:r,onClick:()=>i("hidden")}),H.jsx("button",{title:o.text("search_link_types.switch_without_label.title"),className:cn(`${Yd}__toggle-lines-only`,"reactodia-btn reactodia-btn-default","withoutLabel"===n?"active":void 0),disabled:r,onClick:()=>i("withoutLabel")}),H.jsx("button",{title:o.text("search_link_types.switch_visible.title"),className:cn(`${Yd}__toggle-visible`,"reactodia-btn reactodia-btn-default","visible"===n?"active":void 0),disabled:r,onClick:()=>i("visible")})]})}function ru(e,t,n){const{model:i}=n,r=i.history.startBatch(Ht.text("search_link_types.switch.command"));for(const n of e)i.history.execute(Fr(i,n.iri,t));r.store()}function ou(e){const{canvas:t}=cr(),n=sn(),i=Pt(),r=v.useContext(vi)??"light";return H.jsx(hu,{...e,canvas:t,workspace:n,translation:i,colorScheme:r})}var au="reactodia-navigator",su="auto",lu=.4,cu=300,du=160,uu=.2,hu=class extends v.Component{delayedRedraw=new yi;delayedSizeCheck=new yi;listener=new wi;canvas;transform;isDraggingViewport=!1;constructor(e){super(e);const{expanded:t=su}=this.props;this.state={initialized:!1,expanded:Boolean(t),autoToggle:"auto"===t,allowExpand:!0}}componentDidMount(){const{canvas:e,workspace:{model:t}}=this.props,{renderingState:n}=e;this.listener.listen(t.events,"changeCells",this.scheduleRedraw),this.listener.listen(t.events,"elementEvent",this.scheduleRedraw),this.listener.listen(e.events,"pointerMove",this.scheduleRedraw),this.listener.listen(e.events,"scroll",this.scheduleRedraw),this.listener.listen(e.events,"resize",(()=>{this.delayedSizeCheck.call(this.onCheckSize)})),this.listener.listen(n.shared.events,"changeHighlight",this.scheduleRedraw),this.listener.listen(n.events,"changeElementSize",this.scheduleRedraw),this.onCheckSize()}shouldComponentUpdate(e,t){return!(e.colorScheme===this.props.colorScheme&&e.dock===this.props.dock&&e.dockOffsetX===this.props.dockOffsetX&&e.dockOffsetY===this.props.dockOffsetY&&e.width===this.props.width&&e.height===this.props.height&&t===this.state)}componentDidUpdate(e){this.props.colorScheme!==e.colorScheme&&this.scheduleRedraw()}componentWillUnmount(){this.delayedRedraw.dispose(),this.delayedSizeCheck.dispose(),this.listener.stopListening(),this.stopDragViewport()}scheduleRedraw=()=>{this.state.expanded&&this.delayedRedraw.call(this.draw)};draw=()=>{const{canvas:e,workspace:{model:t},width:n=cu,height:i=du}=this.props,r=e.metrics.transform;this.calculateTransform(r);const o=function(e,t){const{backgroundFill:n,scrollablePaneFill:i,viewportFill:r,viewportStroke:o,overflowStroke:a}=e,s=getComputedStyle(t);return{backgroundFill:n??s.getPropertyValue("--reactodia-navigator-background-fill"),scrollablePaneFill:i??s.getPropertyValue("--reactodia-navigator-scrollable-pane-fill"),viewportFill:r??s.getPropertyValue("--reactodia-navigator-viewport-fill"),viewportStroke:o??fu(s.getPropertyValue("--reactodia-navigator-viewport-stroke-color"),s.getPropertyValue("--reactodia-navigator-viewport-stroke-width"),s.getPropertyValue("--reactodia-navigator-viewport-stroke-dash")),overflowStroke:a??fu(s.getPropertyValue("--reactodia-navigator-overflow-stroke-color"),s.getPropertyValue("--reactodia-navigator-overflow-stroke-width"),s.getPropertyValue("--reactodia-navigator-overflow-stroke-dash"))}}(this.props,this.canvas),a=this.canvas.getContext("2d");if(a.fillStyle=o.backgroundFill,a.clearRect(0,0,n,i),a.fillRect(0,0,n,i),0===t.elements.length)return;const s=function(e){return{x:-e.paddingX,y:-e.paddingY}}(r),l=dr.add(s,function(e){return{x:e.width*e.scale+2*e.paddingX,y:e.height*e.scale+2*e.paddingY}}(r)),c=gu(s,0,this.transform),d=gu(l,0,this.transform);a.fillStyle=o.scrollablePaneFill,a.fillRect(c.x,c.y,d.x-c.x,d.y-c.y),a.save();const{clientWidth:u,clientHeight:h}=e.metrics.pane,f=e.metrics.clientToScrollablePaneCoords(0,0),p=e.metrics.clientToScrollablePaneCoords(u,h),{x:g,y:v}=gu(f,0,this.transform),{x:m,y:b}=gu(p,0,this.transform),w={x:g,y:v,width:m-g,height:b-v};this.fillViewport(a,w,o),this.drawElements(a,r,o),this.strokeViewport(a,w,o),a.restore()};drawElements(e,t,n){const{canvas:i,workspace:{model:r}}=this.props;for(const o of r.elements){const{type:r,bounds:{x:a,y:s,width:l,height:c}}=i.renderingState.getElementShape(o);e.beginPath(),e.fillStyle=this.chooseElementColor(o,n);const{x:d,y:u}=vu({x:a,y:s},t,this.transform),{x:h,y:f}=vu({x:a+l,y:s+c},t,this.transform);"ellipse"===r?e.ellipse((d+h)/2,(u+f)/2,(h-d)/2,(f-u)/2,0,2*Math.PI,0):e.rect(d,u,h-d,f-u),e.fill()}}chooseElementColor(e,t){const{canvas:n,workspace:{getElementStyle:i}}=this.props,{highlighter:r}=n.renderingState.shared;if(r&&!r(e))return"lightgray";const{color:o}=i(e);return o}fillViewport(e,t,n){e.fillStyle=n.viewportFill,e.fillRect(t.x,t.y,t.width,t.height)}strokeViewport(e,t,n){const{width:i=cu,height:r=du}=this.props,{x:o,y:a}=t,s=o+t.width,l=a+t.height;if(pu(e,n.viewportStroke),e.strokeRect(o,a,s-o,l-a),e.beginPath(),o<0){const t=e.lineWidth;e.moveTo(t,a),e.lineTo(t,l)}if(a<0){const t=e.lineWidth;e.moveTo(o,t),e.lineTo(s,t)}if(s>i){const t=i-e.lineWidth;e.moveTo(t,a),e.lineTo(t,l)}if(l>r){const t=r-e.lineWidth;e.moveTo(o,t),e.lineTo(s,t)}pu(e,n.overflowStroke),e.stroke()}calculateTransform(e){const{canvas:t,workspace:{model:n},width:i=cu,height:r=du,scalePadding:o=uu}=this.props,a=$r(n.elements,n.links,t.renderingState),s=Math.max(a.width,i/.25)*o,l=Math.max(a.height,r/.25)*o,c=Yr({x:a.x-s,y:a.y-l},e),d=Yr({x:a.x+a.width+s,y:a.y+a.height+l},e),u=d.x-c.x,h=d.y-c.y,f=Math.min(i/u,r/h);this.transform={scale:f,canvasOffset:{x:(i-u*f)/2,y:(r-h*f)/2},paneOffset:c}}canvasFromPageCoords(e,t){const{top:n,left:i}=this.canvas.getBoundingClientRect();return{x:e-i-window.scrollX,y:t-n-window.scrollY}}onCheckSize=()=>{const{canvas:e,autoCollapseFraction:t=lu,width:n=cu,height:i=du}=this.props,{expanded:r,autoToggle:o,allowExpand:a}=this.state,{clientWidth:s,clientHeight:l}=e.metrics.pane,c=n<.9*s&&i<.9*l,d=c&&n<s*t&&i<l*t;o&&r!==d?this.setState({expanded:d,allowExpand:c},(()=>{this.scheduleRedraw(),this.setInitialized()})):c!==a?this.setState({allowExpand:c},(()=>{this.setInitialized()})):this.setInitialized()};async setInitialized(){await Promise.resolve(),this.setState({initialized:!0})}render(){const{dock:e="se",dockOffsetX:t,dockOffsetY:n,width:i=cu,height:r=du,translation:o}=this.props,{initialized:a,expanded:s,allowExpand:l}=this.state,c=s&&l;return H.jsx(rs,{dock:e,dockOffsetX:t,dockOffsetY:n,children:H.jsxs("div",{className:cn(au,a?`${au}--animated`:void 0,`${au}--${c?"expanded":"collapsed"}`),style:c?{width:i,height:r}:void 0,children:[H.jsx("canvas",{ref:this.onCanvasMount,width:i,height:r,onMouseDown:e=>{this.startDragViewport(),this.onDragViewport(e)},onWheel:this.onWheel}),H.jsx("button",{type:"button",className:`${au}__toggle`,title:o.text(s?"navigator.toggle_collapse.title":"navigator.toggle_expand.title"),disabled:!l,onClick:this.onToggleClick,children:H.jsx("div",{className:`${au}__toggle-icon`})})]})})}onCanvasMount=e=>{this.canvas=e};startDragViewport(){this.isDraggingViewport||(this.isDraggingViewport=!0,document.addEventListener("mousemove",this.onDragViewport),document.addEventListener("mouseup",this.onMouseUp))}stopDragViewport(){this.isDraggingViewport&&(this.isDraggingViewport=!1,document.removeEventListener("mousemove",this.onDragViewport),document.removeEventListener("mouseup",this.onMouseUp))}onDragViewport=e=>{if(e.preventDefault(),this.isDraggingViewport){const{canvas:t}=this.props,n=function(e,t,n){return Jr({x:n.paneOffset.x+(e.x-n.canvasOffset.x)/n.scale,y:n.paneOffset.y+(e.y-n.canvasOffset.y)/n.scale},t)}(this.canvasFromPageCoords(e.pageX,e.pageY),t.metrics.transform,this.transform);t.centerTo(n)}};onMouseUp=()=>{this.stopDragViewport()};onWheel=e=>{e.preventDefault();const{canvas:t}=this.props,n=Math.max(-1,Math.min(1,e.deltaY||e.deltaX));t.zoomBy(.1*-n)};onToggleClick=()=>{this.setState((e=>({expanded:!e.expanded,autoToggle:!1})),this.scheduleRedraw)}};function fu(e,t,n){const i=Number(t),r=n.split(" ").map((e=>Number(e)));return{color:e||void 0,width:Number.isFinite(i)?i:void 0,dash:r.every((e=>Number.isFinite(e)))?r:void 0}}function pu(e,t){const{color:n="transparent",width:i=1,dash:r=[]}=t;e.strokeStyle=n,e.lineWidth=i,e.setLineDash(r)}function gu(e,t,n){return{x:n.canvasOffset.x+(e.x-n.paneOffset.x)*n.scale,y:n.canvasOffset.y+(e.y-n.paneOffset.y)*n.scale}}function vu(e,t,n){return gu(Yr(e,t),0,n)}var mu="reactodia-selection";function bu(e){const{hotkeySelectAll:t}=e,{model:n,canvas:i}=cr(),r=Tt(Et(n.events,"changeSelection"),(()=>n.selection.filter((e=>e instanceof qr))),xt),[o,a]=v.useState();return v.useEffect((()=>{let e;const t=new wi;let r;t.listen(i.events,"pointerDown",(t=>{if(!t.target&&!t.panning&&t.sourceEvent.shiftKey===("selection"!==t.source.pointerMode)){t.sourceEvent.preventDefault();const{pageX:n,pageY:r}=t.sourceEvent;e={pageX:n,pageY:r},a(wu(e,e,i.metrics)),o()}}));const o=()=>{r?.stopListening(),r=new wi,r.listen(i.events,"pointerMove",(t=>{const{pageX:n,pageY:r}=t.sourceEvent;e&&a(wu(e,{pageX:n,pageY:r},i.metrics))}))};return t.listen(i.events,"pointerUp",(t=>{const{pageX:o,pageY:s}=t.sourceEvent;r?.stopListening(),a(void 0),t.triggerAsClick?(t.sourceEvent.shiftKey===("selection"!==t.source.pointerMode)||n.selection.length>1)&&t.target instanceof qr&&(t.sourceEvent.preventDefault(),_u(t.target,n)):e&&function(e,t,n){const i=new Set(t.selection),r=Array.from(yu(t.elements,e,i,n.renderingState));r.length>0&&t.setSelection([...t.selection,...r])}(wu(e,{pageX:o,pageY:s},i.metrics),n,i),e=void 0})),()=>{t.stopListening(),r?.stopListening()}}),[]),br(void 0===t?"Mod+A":t,(()=>{n.setSelection(n.elements)})),o||r.length>1?H.jsx(Bo,{layer:"overElements",children:H.jsx(ku,{...e,model:n,canvas:i,selectedElements:r,highlightedBox:o})}):null}function wu(e,t,n){const{x:i,y:r}=n.pageToPaperCoords(e.pageX,e.pageY),{x:o,y:a}=n.pageToPaperCoords(t.pageX,t.pageY);return{x:Math.min(i,o),y:Math.min(r,a),width:Math.abs(o-i),height:Math.abs(a-r)}}function*yu(e,t,n,i){for(const r of e){const e=yr(r,i);!n.has(r)&&hr.intersects(t,e)&&(yield r)}}function _u(e,t){const{selection:n}=t,i=n.includes(e)?n.filter((t=>t!=e)):[...n,e];t.setSelection(i)}function ku(e){const{model:t,canvas:n,selectedElements:i,highlightedBox:r,boxMargin:o=5,itemMargin:a=2,children:s}=e;$t(Et(n.events,"changeTransform"),(()=>n.metrics.transform));const l=xu(Tt(oo(function(e,t,n){return v.useCallback((i=>{if(0===n.length)return()=>{};const r=new Set(n),o=new wi;return o.listen(e.events,"elementEvent",(({data:e})=>{e.changePosition&&r.has(e.changePosition.source)&&i()})),o.listen(t.renderingState.events,"changeElementSize",(e=>{r.has(e.source)&&i()})),()=>o.stopListening()}),[e.events,t.renderingState.events,n])}(t,n,i),n.renderingState),(()=>$r(i,[],n.renderingState)),hr.equals),o,n.metrics),c=r?Array.from(yu(t.elements,r,new Set(i),n.renderingState)):[],d=v.useRef(void 0);d.current||(d.current=new Su(n,t)),v.useEffect((()=>()=>{d.current?.onPointerUp()}),[]);const u=d.current;return u.setElements(i),H.jsxs("div",{className:mu,children:[i.length>1?H.jsxs(H.Fragment,{children:[i.map((e=>H.jsx("div",{className:`${mu}__selectedItem`,style:xu(yr(e,n.renderingState),a,n.metrics)},e.id))),H.jsx("div",{className:`${mu}__selectedActions`,style:l,children:s??H.jsxs(H.Fragment,{children:[H.jsx(sd,{dock:"nw",dockColumn:1}),H.jsx(ld,{dock:"nw",dockColumn:2}),H.jsx(fd,{dock:"nw",dockColumn:3}),H.jsx(ad,{dock:"ne"}),H.jsx(ud,{dock:"e"}),H.jsx(cd,{dock:"s"}),H.jsx(md,{dock:"se",dockColumn:1})]})}),H.jsx("div",{className:`${mu}__selectedBox`,style:l,onClick:u.onClick,onPointerDown:u.onPointerDown,onPointerMove:u.onPointerMove,onPointerUp:u.onPointerUp,onPointerCancel:u.onPointerUp})]}):null,r?H.jsx("div",{className:`${mu}__highlightedBox`,style:xu(r,0,n.metrics)}):null,c.map((e=>H.jsx("div",{className:`${mu}__highlightedItem`,style:xu(yr(e,n.renderingState),a,n.metrics)},e.id)))]})}function xu(e,t,n){const{x:i,y:r}=n.paperToScrollablePaneCoords(e.x,e.y),{x:o,y:a}=n.paperToScrollablePaneCoords(e.x+e.width,e.y+e.height);return{left:i-t,top:r-t,width:o-i+2*t,height:a-r+2*t}}var Su=class{canvas;model;elements=[];moveState;constructor(e,t){this.canvas=e,this.model=t}setElements(e){this.elements=e}onClick=e=>{if(this.isToggleSelectionEvent(e)){e.preventDefault();const t=this.canvas.metrics.pageToPaperCoords(e.pageX,e.pageY),n=zr(this.model.elements,t,this.canvas.renderingState);n&&_u(n,this.model)}};onPointerDown=e=>{const{canvas:t,model:n,elements:i}=this;if(this.isToggleSelectionEvent(e))return;e.preventDefault(),e.currentTarget.setPointerCapture(e.pointerId);const r=t.metrics.pageToPaperCoords(e.pageX,e.pageY),o=new Set;for(const e of i)o.add(e.id);const a=new Map,s=new Map;for(const e of i){a.set(e,e.position);for(const t of n.getElementLinks(e))t.vertices.length>0&&t.sourceId===e.id&&o.has(t.targetId)&&s.set(t,t.vertices)}this.moveState={origin:r,positions:a,links:s,command:Hr.capturePartial(i,Array.from(s.keys()))},t.focus()};isToggleSelectionEvent(e){return e.shiftKey}onPointerMove=e=>{const{canvas:t,moveState:n}=this;if(n){e.preventDefault();const{x:i,y:r}=t.metrics.pageToPaperCoords(e.pageX,e.pageY),o=i-n.origin.x,a=r-n.origin.y;for(const[e,t]of n.positions)e.setPosition({x:t.x+o,y:t.y+a});for(const[e,t]of n.links)e.setVertices(t.map((e=>({x:e.x+o,y:e.y+a}))));t.renderingState.syncUpdate()}};onPointerUp=e=>{this.moveState&&(e?.preventDefault(),this.moveState.command.hasChanges()&&this.model.history.registerToUndo(this.moveState.command),this.moveState=void 0)}},Cu="reactodia-toolbar";function Lu(e){const{dock:t,dockOffsetX:n,dockOffsetY:i,menu:r,children:o}=e,a=Pt(),s="s"===t||"sw"===t||"se"===t;return H.jsx(rs,{dock:t,dockOffsetX:n,dockOffsetY:i,children:H.jsxs("div",{className:cn(Cu,s?`${Cu}--drop-up`:void 0),role:"toolbar",children:[r?H.jsx(_l,{className:`${Cu}__menu`,direction:s?"up":"down",title:a.text("toolbar.menu_toggle.title"),children:r}):null,o?H.jsx("div",{className:cn(`${Cu}__quick-access-group`,"reactodia-btn-group","reactodia-btn-group-sm"),children:o}):null]})})}var Mu="reactodia-toolbar-action";function Eu(e){const{className:t,title:n,disabled:i,hotkey:r,onSelect:o,children:a}=e,s=Ml(),l=br(r,o),c=n&&l?`${n} (${l.text})`:n;return s?H.jsxs(Ll,{className:t,title:c,"aria-label":n,"aria-keyshortcuts":l?.text,disabled:i,onSelect:o,children:[a,l?H.jsxs(H.Fragment,{children:[H.jsx("span",{className:`${Mu}__spacer`}),H.jsx("span",{className:`${Mu}__hotkey`,children:l.text})]}):null]}):H.jsx("button",{type:"button",className:cn(t,"reactodia-btn reactodia-btn-default"),title:c,"aria-label":n,"aria-keyshortcuts":l?.text,disabled:i,onClick:o,children:a})}function zu(e){const{className:t,title:n,...i}=e,{model:r,editor:o}=sn(),a=Pt();return H.jsx(Eu,{...i,className:cn(t,`${Mu}__clear-all`),title:n??a.text("toolbar_action.clear_all.title"),onSelect:()=>{const e=r.history.startBatch(Ht.text("toolbar_action.clear_all.command"));o.removeItems([...r.elements]),e.store()},children:a.text("toolbar_action.clear_all.label")})}function $u(e){const{className:t,title:n,kind:i,fileName:r="diagram",rasterOptions:o,children:a,...s}=e,{canvas:l}=cr(),c=Pt();return"exportRaster"===i?H.jsx(Eu,{...s,className:cn(t,`${Mu}__export-image`),title:n??c.text("toolbar_action.export_raster.title"),onSelect:async()=>{const e=o??{backgroundColor:"white"};ui.saveAs(function(e){const t=";base64,";if(-1===e.indexOf(t)){const t=e.split(","),n=t[0].split(":")[1],i=decodeURIComponent(t[1]);return new Blob([i],{type:n})}{const n=e.split(t),i=n[0].split(":")[1],r=window.atob(n[1]),o=r.length,a=new Uint8Array(o);for(let e=0;e<o;++e)a[e]=r.charCodeAt(e);return new Blob([a],{type:i})}}(await l.exportRaster(e)),`${r}.png`)},children:a??c.text("toolbar_action.export_raster.label")}):"exportSvg"===i?H.jsx(Eu,{...s,className:cn(t,`${Mu}__export-image`),title:n??c.text("toolbar_action.export_svg.title"),onSelect:async()=>{const e=await l.exportSvg({addXmlHeader:!0});ui.saveAs(new Blob([e],{type:"image/svg+xml"}),`${r}.svg`)},children:a??c.text("toolbar_action.export_svg.label")}):"print"===i?H.jsx(Eu,{...s,className:cn(t,`${Mu}__print`),title:n??c.text("toolbar_action.export_print.title"),onSelect:async()=>{const e=window.open("",void 0,"width=1280,height=720");if(!e)return void console.error("Reactodia: failed to open print preview window");const t=await l.exportSvg();e.document.write(t),e.document.close(),e.print()},children:a??c.text("toolbar_action.export_print.label")}):null}function Tu(e){const{className:t,title:n,hotkey:i,...r}=e,{model:{history:o}}=cr(),a=Pt(),s=Ml(),l=Ct(o.events,"historyChanged",(()=>{const{undoStack:e}=o;return 0===e.length?void 0:e[e.length-1]})),c=!n&&l?Au(l,a):void 0;return H.jsx(Eu,{...r,className:cn(t,`${Mu}__undo`),disabled:!l,title:n??(void 0===c?a.text("toolbar_action.undo.title"):a.text("toolbar_action.undo.title_named",{command:c})),hotkey:void 0===i?"Mod+Z":i,onSelect:()=>o.undo(),children:s?a.text("toolbar_action.undo.label"):null})}function Nu(e){const{className:t,title:n,hotkey:i,...r}=e,{model:{history:o}}=cr(),a=Pt(),s=Ml(),l=Ct(o.events,"historyChanged",(()=>{const{redoStack:e}=o;return 0===o.redoStack.length?void 0:e[e.length-1]})),c=!n&&l?Au(l,a):void 0;return H.jsx(Eu,{...r,className:cn(t,`${Mu}__redo`),disabled:!l,title:n??(void 0===c?a.text("toolbar_action.redo.title"):a.text("toolbar_action.redo.title_named",{command:c})),hotkey:void 0===i?"Mod+Shift+Z":i,onSelect:()=>o.redo(),children:s?a.text("toolbar_action.redo.label"):null})}function Au(e,t){return"string"==typeof e.title||void 0===e.title?e.title:e.title.resolve(t)}function Iu(e){const{className:t,title:n,...i}=e,{model:r,canvas:o}=cr(),{performLayout:a}=sn(),s=Pt(),l=Ct(r.events,"changeCells",(()=>0===r.elements.length));return H.jsx(Eu,{...i,className:cn(t,`${Mu}__layout`),title:n??s.text("toolbar_action.layout.title"),disabled:l,onSelect:async()=>{await a({canvas:o,animate:!0})},children:s.text("toolbar_action.layout.label")})}function Vu(e){const{className:t,title:n,languages:i}=e,{model:r}=cr(),o=Pt(),a=Ct(r.events,"changeLanguage",(()=>r.language));return 0===i.length?null:H.jsxs("div",{className:cn(t,`${Mu}__language-selector`),title:n??o.text("toolbar_action.language_selector.title"),children:[H.jsx("label",{htmlFor:"reactodia-language-selector"}),H.jsx("select",{id:"reactodia-language-selector",value:a,onChange:e=>r.setLanguage(e.currentTarget.value),children:i.map((({code:e,label:t})=>H.jsx("option",{value:e,children:t},e)))})]})}var Pu=v.createContext(null);function Hu(e={}){const t=v.useContext(Pu);if(!t)throw new Error("Missing Reactodia unified search section context");const{searchStore:n,isSectionActive:i,setSectionActive:r}=t,[o,a]=v.useState(i),{searchTimeout:s=0,allowSubmit:l}=e,c=Hl({initialValue:n.value,submitTimeout:s,allowSubmit:l});return v.useLayoutEffect((()=>{if(i){a(!0);const e=new wi;return e.listen(n.events,"changeValue",(({source:e,action:t})=>{c.change({value:e.value,action:t})})),c.change({value:n.value,action:"submit"}),()=>e.stopListening()}}),[i]),v.useEffect((()=>{o&&c.change({value:n.value,action:"submit"})}),[o]),{shouldRender:o,isSectionActive:i,setSectionActive:r,searchStore:c}}function Ru(e){const{searchTimeout:t=200,minSearchTermLength:n=2,draggableItems:i,placeCreatedEntity:r}=e,{searchStore:o,shouldRender:a}=Hu({searchTimeout:t,allowSubmit:e=>e.length>=n});return a?H.jsx(tc,{className:"reactodia-search-section-element-types",searchStore:o,draggableItems:i,placeCreatedEntity:r}):null}function Du(e){const{searchTimeout:t=600,minSearchTermLength:n=3}=e,{getCommandBus:i}=sn(),{shouldRender:r,setSectionActive:o,searchStore:a}=Hu({searchTimeout:t,allowSubmit:e=>e.length>=n}),s=i(xs);return v.useEffect((()=>{const e=new wi;return e.listen(s,"setCriteria",(({criteria:e})=>{o(!0,Bu(e))})),()=>e.stopListening()}),[r,s]),H.jsx(Wd,{className:"reactodia-search-section-entities",searchStore:a,onChangeCriteria:e=>{r&&o(!0,Bu(e))},onAddElements:()=>{o(!1)}})}function Bu(e){return e.text||e.elementType||e.refElement?e:void 0}function Ou(e){const{searchTimeout:t=200,minSearchTermLength:n=1}=e,{shouldRender:i,isSectionActive:r,searchStore:o}=Hu({searchTimeout:t,allowSubmit:e=>e.length>=n});return i?H.jsx(Qd,{className:"reactodia-search-section-link-types",trackSelected:r,searchStore:o}):null}var ju="reactodia-unified-search";function Fu(e){const{sections:t,direction:n="down",defaultWidth:i=300,defaultHeight:r=350,minWidth:o=200,minHeight:a=150,offsetWithMaxWidth:s=20,offsetWithMaxHeight:l=20,hotkeyFocus:c}=e,[d,u]=v.useState(!1),[h,f]=v.useState(Uu.empty),p=Hl({initialValue:""}),g=Ct(p.events,"changeValue",(()=>p.value));v.useEffect((()=>{const e=()=>{f((e=>e.deactivate())),u(!1)};return p.events.on("clearSearch",e),()=>p.events.off("clearSearch",e)}),[p,f,u]);const[m,b]=v.useState({width:i,height:r}),w=v.useRef({width:1/0,height:1/0}),y={width:Math.min(m.width,w.current.width),height:Math.min(m.height,w.current.height)},_=v.useMemo((()=>t.map((e=>({...e,context:{searchStore:p,isSectionActive:e.key===h?.key,setSectionActive:(t,n)=>{t?(f((t=>t.activate(e.key,n))),u(!0),x.current?.focus()):(f((e=>e.deactivate())),u(!1))}}})))),[t,p,h,f,u]),{getCommandBus:k}=sn(),x=v.useRef(null),S=v.useCallback((({sectionKey:e})=>{e&&(t.some((t=>t.key===e))?f((t=>t.activate(e))):console.warn(`Unified search: cannot activate section that does not exists: ${e}`)),x.current?.focus()}),[t,f]),C=k(Ss);v.useEffect((()=>(C.on("focus",S),()=>C.off("focus",S))),[C,S]);const L=br(c,(()=>S({}))),M=g.length>0||void 0!==h.getSearchExtra(),E=v.useCallback((()=>{M||u(!1)}),[M,u]);return H.jsx(wl,{className:ju,direction:n,expanded:d,"aria-keyshortcuts":L?.text,onClickOutside:E,toggle:H.jsx(qu,{inputRef:x,searchTerm:g,setSearchTerm:e=>p.change({value:e,action:"input"}),onSubmit:()=>{},onClear:M?()=>p.change({value:"",action:"clear"}):void 0,expanded:d,setExpanded:e=>{f((n=>{if(!e)return n.deactivate();if(void 0===n.key){const e=t.some((e=>e.key===h.previousActive))?h.previousActive:t.length>0?t[0].key:void 0;if(e)return n.activate(e)}return n})),u(e)},minWidth:o,panelSize:y}),children:H.jsx(Wu,{sections:_,activeSectionKey:h.key,onActivateSection:e=>f((t=>t.switch(e))),dropUp:"up"===n,size:y,minSize:{width:o,height:a},offsetForMaxSize:{x:s,y:l},onResize:e=>{const t={width:Math.max(e.width,o),height:Math.max(e.height,a)};m.width===t.width&&m.height===t.height||b(t)},setMaxSize:e=>{w.current=e,(m.width>e.width||m.height>e.height)&&b({...m})}})})}var Uu=class e{key;previousActive;searchExtras;static empty=new e(void 0,void 0,{});constructor(e,t,n){this.key=e,this.previousActive=t,this.searchExtras=n}getSearchExtra(){const{key:e,searchExtras:t}=this;if(void 0!==e&&Object.prototype.hasOwnProperty.call(t,e))return t[e]}activate(t,n){return this.key===t&&this.getSearchExtra()===n?this:new e(t,this.key===t?this.previousActive:this.key,{...this.searchExtras,[t]:n})}deactivate(){return new e(void 0,this.key,this.searchExtras)}switch(t){return this.key===t?this:new e(t,this.key,this.searchExtras)}};function qu(e){const{inputRef:t,searchTerm:n,setSearchTerm:i,onSubmit:r,onClear:o,expanded:a,setExpanded:s,panelSize:l}=e,c=Pt();return H.jsxs("div",{className:cn(`${ju}__toggle`),style:{width:l?.width},role:"search",children:[H.jsx("input",{ref:t,role:"searchbox",type:"text",className:`${ju}__search-input`,placeholder:c.textOptional("unified_search.input.placeholder")??c.text("search_defaults.input.placeholder"),name:"reactodia-search",value:n,onClick:()=>s(!0),onFocus:()=>s(!0),onChange:e=>i(e.currentTarget.value),onKeyUp:e=>{switch(e.key){case"Enter":n.length>0&&s(!0),r();break;case"Escape":o?o():s(!1);break;default:s(!0)}}}),o?H.jsx("button",{type:"button",title:c.text("unified_search.input_clear.title"),className:`${ju}__clear-button`,onClick:o}):a?H.jsx("button",{type:"button",title:c.text("unified_search.input_collapse.title"),className:`${ju}__collapse-button`,onClick:()=>s(!1)}):H.jsx("div",{className:`${ju}__search-icon`,onClick:()=>t.current?.focus()})]})}function Wu(e){const{sections:t,activeSectionKey:n,onActivateSection:i,dropUp:r,size:o,minSize:a,offsetForMaxSize:s,onResize:l,setMaxSize:c}=e,{canvas:d}=cr(),u=v.useRef(null),h=v.useRef(void 0),f=()=>{if(!u.current)return;const{x:e,y:t,width:n,height:i}=u.current.getBoundingClientRect(),r=e+window.scrollX,o=t+window.scrollY,[a]=function(e){const t=getComputedStyle(e);return[t.getPropertyValue("--reactodia-viewport-dock-align-x"),t.getPropertyValue("--reactodia-viewport-dock-align-y")]}(u.current),s=d.metrics.getViewportPageRect();h.current={bounds:{x:r,y:o,width:n,height:i},centeredByX:"center"===a,centerOffsetX:Math.max(2*r+n-2*s.x-s.width,0)}};!function(e){const{canvas:t}=cr(),n=v.useRef(void 0);v.useLayoutEffect((()=>{n.current=e})),v.useLayoutEffect((()=>{const e=new yi,i=()=>{const t=n.current;t&&e.call(t)};return t.events.on("resize",i),n.current?.(),()=>{e.dispose(),t.events.off("resize",i)}}),[])}((()=>{if(h.current||f(),h.current){const{bounds:e,centeredByX:t,centerOffsetX:n}=h.current,i=d.metrics.getViewportPageRect(),o=r?e.y-i.y-s.y:i.y+i.height-e.y-s.y;c({width:Math.max(t?i.width-n-s.x:i.x+i.width-e.x-s.x,a.width),height:Math.max(o,a.height)})}}));const p=(e,t,n)=>{if(h.current){const{bounds:e,centeredByX:i}=h.current;l({width:e.width+t*(i?2:1),height:e.height+(r?-n:n)})}},g=e=>`reactodia-unified-search-panel-${e.key}`;return H.jsxs("div",{ref:u,className:`${ju}__panel`,style:{width:o.width,height:o.height},children:[H.jsx("div",{className:`${ju}__section-tabs`,role:"tablist",children:t.map((e=>H.jsx("button",{className:cn(`${ju}__section-tab`,"reactodia-btn","reactodia-btn-default",e.key===n?"active":void 0),role:"tab","aria-selected":e.key===n,"aria-controls":g(e),"aria-label":e.title,title:e.title,onClick:()=>i(e.key),children:e.label},e.key)))}),t.map((e=>H.jsx(Pu.Provider,{value:e.context,children:H.jsx("div",{id:g(e),role:"tabpanel",className:cn(`${ju}__section`,e.context.isSectionActive?`${ju}__section--active`:void 0),children:e.component})},e.key))),H.jsx(Fa,{dock:r?"n":"s",axis:"y",onBeginDragHandle:f,onDragHandle:p}),H.jsx(Fa,{dock:"e",axis:"x",className:`${ju}__right-handle`,onBeginDragHandle:f,onDragHandle:p}),H.jsx(Fa,{dock:r?"ne":"se",axis:"all",className:`${ju}__corner-handle`,onBeginDragHandle:f,onDragHandle:p})]})}function Gu(e){const t=Hl({initialValue:"",submitTimeout:200}),n=sn(),i=Pt();return H.jsx(Xu,{...e,searchStore:t,workspace:n,translation:i})}var Zu="reactodia-element-selector",Ku="reactodia-form",Xu=class extends v.Component{listener=new wi;fetchTypesCancellation=new AbortController;filterCancellation=new AbortController;loadingItemCancellation=new AbortController;constructor(e){super(e),this.state={elementTypesState:"none",existingElements:[],existingElementsState:"none"}}componentDidMount(){const{searchStore:e}=this.props;this.listener.listen(e.events,"changeValue",(({source:e})=>{0===e.value.length?this.searchExistingElements(""):this.forceUpdate()})),this.listener.listen(e.events,"executeSearch",(({value:e})=>{this.searchExistingElements(e)})),this.fetchPossibleElementTypes()}componentWillUnmount(){this.listener.stopListening(),this.fetchTypesCancellation.abort(),this.filterCancellation.abort(),this.loadingItemCancellation.abort()}async fetchPossibleElementTypes(){const{source:e,workspace:{editor:{metadataProvider:t}}}=this.props;if(!t)return;this.fetchTypesCancellation.abort(),this.fetchTypesCancellation=new AbortController;const n=this.fetchTypesCancellation.signal,i=await hi(t.canConnect(e,void 0,void 0,{signal:n}),n);if(null===i)return;const r=new Set;for(const{targetTypes:e}of i)for(const t of e)r.add(t);this.setState({elementTypes:Array.from(r)})}async searchExistingElements(e){const{workspace:{model:t}}=this.props;if(this.filterCancellation.abort(),this.setState({existingElements:[],existingElementsState:"none"}),e.length>0){this.setState({existingElementsState:"loading"}),this.filterCancellation=new AbortController;const n=this.filterCancellation.signal,i=Kd({text:e});let r;try{if(r=await hi(t.dataProvider.lookup(i),n),null===r)return}catch(e){return console.error("Error looking up existing entities",e),void this.setState({existingElementsState:"error"})}const o=r.map((e=>e.element));this.setState({existingElements:o,existingElementsState:"none"})}}onElementTypeChange=async e=>{this.setState({elementTypesState:"loading"}),this.loadingItemCancellation.abort(),this.loadingItemCancellation=new AbortController;const t=this.loadingItemCancellation.signal,{onChange:n,workspace:{model:i,editor:{metadataProvider:r}},translation:o}=this.props,a=e.target.value;let s;try{if(s=await hi(r.createEntity(a,{translation:o,language:i.language,signal:t}),t),null===s)return}catch(e){return console.error("Error calling MetadataProvider.createEntity()",e),void this.setState({elementTypesState:"error"})}this.setState({elementTypesState:"none"}),n({value:s,isNew:!0,loading:!1})};renderElementTypeSelector(){const{elementValue:e,translation:t}=this.props,{elementTypes:n,elementTypesState:i}=this.state,r=e.value.data.types.length?e.value.data.types[0]:"";return"none"!==i?H.jsx(Yt,{width:20,height:20,errorOccurred:"error"===i}):H.jsxs("div",{className:`${Ku}__control-row`,children:[H.jsx("label",{children:t.text("visual_authoring.select_entity.type.label")}),n?H.jsxs("select",{className:"reactodia-form-control",name:"reactodia-element-type-selector-select",value:r,onChange:e=>{this.onElementTypeChange(e)},children:[H.jsx("option",{value:xi,disabled:!0,children:t.text("visual_authoring.select_entity.type.placeholder")}),H.jsx(Yu,{elementTypes:n})]}):H.jsx("div",{children:H.jsx(Yt,{width:20,height:20})}),e.error?H.jsx("span",{className:`${Ku}__control-error`,children:e.error}):""]})}renderExistingElementsList(){const{searchStore:e,elementValue:t}=this.props,{elementTypes:n,existingElements:i,existingElementsState:r}=this.state;return"none"!==r?H.jsx("div",{className:`${Zu}__results-spinner`,children:H.jsx(Yt,{width:30,height:30,errorOccurred:"error"===r})}):H.jsx(Qu,{items:i,requiredElementTypes:n,selected:t.isNew?void 0:t.value.data,onSelect:e=>{this.onSelectExistingItem(e)},highlightText:e.value})}async onSelectExistingItem(e){const{onChange:t,workspace:{model:n}}=this.props;this.loadingItemCancellation.abort(),this.loadingItemCancellation=new AbortController;const i=this.loadingItemCancellation.signal;t({value:{data:e},isNew:!1,loading:!0});const r=await n.dataProvider.elements({elementIds:[e.id]});i.aborted||t({value:{data:r.get(e.id)},isNew:!1,loading:!1})}render(){const{searchStore:e,translation:t}=this.props;return H.jsxs("div",{className:cn(`${Ku}__row`,Zu,e.value.length>0?`${Zu}--search-existing`:void 0),children:[H.jsx(Pl,{store:e,className:`${Zu}__search`,inputProps:{className:`${Zu}__search-input`,name:"reactodia-element-type-selector-search",placeholder:t.textOptional("visual_authoring.select_entity.input.placeholder"),autoFocus:!0},children:H.jsx("span",{className:`${Zu}__search-icon`})}),e.value.length>0?H.jsx("div",{className:`${Zu}__existing-elements-list`,role:"listbox","aria-label":t.text("visual_authoring.select_entity.results.aria_label"),tabIndex:-1,children:this.renderExistingElementsList()}):H.jsxs("div",{children:[H.jsx("div",{className:`${Zu}__separator`,children:H.jsx("i",{className:`${Zu}__separator-text`,children:t.text("visual_authoring.select_entity.separator.label")})}),this.renderElementTypeSelector()]})]})}};function Qu(e){const{items:t,requiredElementTypes:n,selected:i,onSelect:r,highlightText:o}=e,{model:a,editor:s}=sn(),l=i?.id,c=v.useMemo((()=>new Set(void 0===l?void 0:[l])),[l]),d=$t(zt(Et(a.events,"changeCells")),(()=>a.cellsVersion)),u=v.useMemo((()=>{const e=Ta(a);return t=>e.has(t.id)}),[d]),h=Ct(s.events,"changeTemporaryState",(()=>s.temporaryState));return H.jsx(Bl,{items:t,selection:c,onSelectionChanged:e=>{if(1===e.size){const[n]=e,i=t.find((e=>e.id===n));i&&r(i)}},isItemDisabled:v.useCallback((e=>{const t=n&&n.some((t=>e.types.includes(t)));return u(e)&&!h.elements.has(e.id)||!t}),[u,h,n]),highlightText:o,useDragAndDrop:!1,multiSelection:!1,footer:0===t.length?H.jsx(Fl,{hasQuery:!0}):void 0})}function Yu(e){const{elementTypes:t}=e,{model:n}=sn(),i=Pt(),r=Ct(n.events,"changeLanguage",(()=>n.language));return Dt(tn,t,n),H.jsx(H.Fragment,{children:[...t].sort(Ju(n,i,r)).map((e=>{const t=n.getElementType(e),o=i.formatLabel(t?.data?.label,e,r);return H.jsx("option",{value:e,children:i.text("visual_authoring.select_entity.entity_type.label",{type:o,typeIri:e})},e)}))})}function Ju(e,t,n){return(i,r)=>{const o=e.getElementType(i),a=e.getElementType(r),s=t.formatLabel(o?.data?.label,i,n),l=t.formatLabel(a?.data?.label,r,n);return s.localeCompare(l)}}var eh="reactodia-form",th=class extends v.Component{static contextType=an;link;validationCancellation=new AbortController;constructor(e){super(e);const{source:t,target:n,initialTargetIsNew:i,originalLink:r}=this.props;this.link=r,this.state={elementValue:{value:{data:n.data},isNew:i,loading:!1,validated:!0,allowChange:!0},linkValue:{link:{base:r.data,source:t.data,target:n.data,direction:"out"},validated:!0,allowChange:!0}}}componentDidMount(){this.validate()}componentWillUnmount(){this.validationCancellation.abort()}validate(){const{originalLink:e,translation:t}=this.props,{elementValue:n,linkValue:i}=this.state;this.setState({isValidating:!0}),this.validationCancellation.abort(),this.validationCancellation=new AbortController;const r=this.validationCancellation.signal,o=function(e,t){const n=e.types.indexOf("urn:reactodia:newElement")<0?void 0:t.text("visual_authoring.select_entity.validation.error_required");return Promise.resolve({error:n,allowChange:!0})}(n.value.data,t),a=async function(e,t,n,i,r){const{model:o,editor:a}=n;return"urn:reactodia:newLink"===e.linkTypeId?{error:i.text("visual_authoring.select_relation.validation.error_required"),allowChange:!0}:Wt(e,t)?{error:void 0,allowChange:!0}:function(e,t){for(const n of e.links)for(const e of ha(n))if(Wt(e,t))return!0;return!1}(o,e)?{error:i.text("visual_authoring.select_relation.validation.error_duplicate"),allowChange:a.temporaryState.links.has(e)}:(await o.dataProvider.links({primary:[e.sourceId],secondary:[e.targetId],linkTypeIds:[e.linkTypeId],signal:r})).some((t=>Wt(t,e)))?{error:i.text("visual_authoring.select_relation.validation.error_duplicate"),allowChange:!1}:{error:void 0,allowChange:!0}}({...(s=i.link).base,sourceId:"out"===s.direction?s.source.id:s.target.id,targetId:"out"===s.direction?s.target.id:s.source.id},e.data,this.context,t,r);var s;Promise.all([o,a]).then((([e,t])=>{r.aborted||(this.setState({isValidating:!1}),this.setElementOrLink({elementValue:{...n,...e,validated:!0},linkValue:{...i,...t,validated:!0}}))}))}render(){const{source:e,originalLink:t,translation:n}=this.props,{elementValue:i,linkValue:r,isValidating:o}=this.state,a=!i.error&&!r.error;return H.jsxs("div",{className:eh,children:[H.jsxs("div",{className:`${eh}__body`,children:[H.jsx(Gu,{source:e.data,elementValue:i,onChange:n=>{this.setElementOrLink({elementValue:{value:n.value,isNew:n.isNew,loading:n.loading,error:void 0,validated:!1,allowChange:!1},linkValue:{link:{base:t.data,source:e.data,target:n.value.data,direction:"out"},validated:!1,allowChange:!1}})}}),i.loading?H.jsxs("div",{style:{display:"flex"},children:[H.jsx(Yt,{width:20,height:20})," ",n.text("visual_authoring.find_or_create.loading.label")]}):H.jsx(Zc,{link:r.link,error:r.error,onChange:e=>this.setElementOrLink({linkValue:{link:e,error:void 0,validated:!1,allowChange:!1}}),disabled:void 0!==i.error}),o?H.jsx("div",{className:`${eh}__progress`,children:H.jsx(Il,{state:"loading",title:n.text("visual_authoring.find_or_create.validation_progress.title"),height:10})}):null]}),H.jsxs("div",{className:`${eh}__controls`,children:[H.jsx("button",{className:`reactodia-btn reactodia-btn-primary ${eh}__apply-button`,onClick:this.onApply,disabled:i.loading||!a||o,title:n.textOptional("visual_authoring.find_or_create.dialog.apply.title")??n.text("visual_authoring.dialog.apply.title"),children:n.textOptional("visual_authoring.find_or_create.dialog.apply.label")??n.text("visual_authoring.dialog.apply.label")}),H.jsx("button",{className:"reactodia-btn reactodia-btn-secondary",onClick:this.props.onCancel,title:n.text("visual_authoring.dialog.cancel.title"),children:n.text("visual_authoring.dialog.cancel.label")})]})]})}setElementOrLink({elementValue:e,linkValue:t}){const{model:n,editor:i}=this.context;this.setState((n=>({elementValue:e||n.elementValue,linkValue:t||n.linkValue})),(()=>{const{source:e,target:t}=this.props,{elementValue:r,linkValue:o}=this.state;if((r&&!r.validated||o&&!o.validated)&&this.validate(),r&&r.validated&&r.allowChange){let e=i.temporaryState;e=jo.removeEntity(e,t.data),e=jo.removeRelation(e,this.link.data),i.setTemporaryState(e);const o=n.history.startBatch();o.history.execute(va(n,t.iri,r.value.data)),o.discard(),e=jo.addEntity(e,t.data),e=jo.addRelation(e,this.link.data),i.setTemporaryState(e)}if(o&&o.validated&&o.allowChange){i.removeTemporaryCells([this.link]);const n=Qc(o.link,e,t);this.link=i.createRelation(n,{temporary:!0})}}))}onApply=()=>{const{model:e,editor:t}=this.context,{source:n,target:i,onAfterApply:r}=this.props,{elementValue:o,linkValue:a}=this.state,s=this.link;o.isNew||t.setTemporaryState(jo.removeEntity(t.temporaryState,o.value.data)),t.removeTemporaryCells([i,s]);const l=e.history.startBatch(Ht.text(o.isNew?"visual_authoring.find_or_create.create_command":"visual_authoring.find_or_create.connect_command"));o.isNew?(e.addElement(i),o.value.elementState&&i.setElementState(o.value.elementState),t.setAuthoringState(Oo.addEntity(t.authoringState,i.data))):e.requestLinks({addedElements:[o.value.data.id]});const c=Qc(a.link,n,i);t.createRelation(c),l.store(),r()}},nh="reactodia-authoring-state";function ih(e){const{target:t,inlineActions:n}=e,{canvas:i}=cr(),{model:r,editor:o}=sn(),a=Pt(),s=Ct(r.events,"changeSelection",(()=>1===r.selection.length&&r.selection[0]===t)),l=Ct(t.events,"changeData",(()=>t.data)),c=[l],d=$t(Et(o.events,"changeAuthoringState",c),(()=>o.authoringState.elements.get(l.id))),u=$t(Et(o.events,"changeValidationState",c),(()=>o.validationState.elements.get(l.id))),h=$t(Et(o.events,"changeTemporaryState",c),(()=>o.temporaryState.elements.has(l.id))),[f,p]=v.useState((()=>i.renderingState.getElementShape(t)));v.useEffect((()=>{const e=new wi;return e.listen(i.renderingState.events,"changeElementSize",(e=>{e.source===t&&p(i.renderingState.getElementShape(t))})),()=>e.stopListening()}),[t]);let g=null;if(h)g=H.jsxs(H.Fragment,{children:[H.jsx(ah,{shape:f,className:`${nh}__outline-overlay`}),H.jsx(ah,{shape:f,fill:"url(#stripe-pattern)"})]});else if(d&&"entityDelete"===d.type){const e=f.bounds.width/2,n=f.bounds.height/2,i="rect"===f.type?e:e*Math.SQRT1_2,r="rect"===f.type?n:n*Math.SQRT1_2;g=H.jsxs("g",{children:[H.jsx(ah,{shape:f,className:`${nh}__outline-overlay`}),H.jsx("line",{className:`${nh}__outline-cross-line`,x1:e-i,y1:n-r,x2:e+i,y2:n+r}),H.jsx("line",{className:`${nh}__outline-cross-line`,x1:e-i,y1:n+r,x2:e+i,y2:n-r})]},t.id)}let m=null;if(u){const e=Ia(u.items),t=u.items.map((e=>{if(e.propertyType){const t=r.getPropertyType(e.propertyType);return`${a.formatLabel(t?.data?.label,e.propertyType,r.language)}: ${e.message}`}return e.message})).join("\n");m=H.jsxs("div",{className:cn(`${nh}__item-validation`,rh(e)),title:t,children:[u.loading?H.jsx(Yt,{width:15,height:17}):H.jsx("div",{className:`${nh}__item-validation-icon`}),!u.loading&&u.items.length>0?u.items.length:void 0]})}const b=H.jsx("div",{className:`${nh}__state-indicator`,children:H.jsxs("div",{className:`${nh}__state-indicator-body`,children:[d?H.jsx("span",{className:`${nh}__state-label`,children:"entityAdd"===d.type?a.text("authoring_state.entity_add.label"):"entityChange"===d.type?a.text("authoring_state.entity_change.label"):"entityDelete"===d.type?a.text("authoring_state.entity_delete.label"):null}):null,h?null:H.jsx(oh,{target:t,state:d,allActions:Boolean(n)}),m]})},t.id);return H.jsx(po,{target:t,children:H.jsxs("div",{className:cn(`${nh}__decorator`,d||u?void 0:`${nh}__decorator--optional`,s?`${nh}__decorator--selected`:void 0),"data-reactodia-no-export":"true",children:[g?H.jsxs("svg",{className:`${nh}__element-outlines`,width:f.bounds.width,height:f.bounds.height,children:[H.jsx("defs",{children:H.jsx("pattern",{id:"stripe-pattern",patternUnits:"userSpaceOnUse",width:13,height:13,patternTransform:"rotate(45)",children:H.jsx("line",{className:`${nh}__outline-stripe-line`,x1:0,y:0,x2:0,y2:13})})}),g]}):null,b]})})}function rh(e){switch(e){case"info":return`${nh}--severity-info`;case"warning":return`${nh}--severity-warning`;case"error":return`${nh}--severity-error`;default:return}}function oh(e){const{target:t,state:n,allActions:i}=e,{editor:r}=sn(),o=Pt(),a=Ms(t.data,i);return H.jsxs("div",{className:`${nh}__actions`,children:[!i||n&&"entityAdd"!==n.type&&"entityChange"!==n.type?null:H.jsx("button",{className:`${nh}__action ${nh}__action-edit`,disabled:!a.canEdit,onClick:()=>a.onEdit(t),title:o.text(a.canEdit?"authoring_state.entity_action_edit.title":"authoring_state.entity_action_edit.title_disabled"),children:o.text("authoring_state.entity_action_edit.label")}),i&&!n||"entityAdd"===n?.type?H.jsx("button",{className:`${nh}__action ${nh}__action-delete`,disabled:!a.canDelete,onClick:()=>a.onDelete(),title:o.text(a.canEdit?"authoring_state.entity_action_delete.title":"authoring_state.entity_action_delete.title_disabled"),children:o.text("authoring_state.entity_action_delete.label")}):null,n&&"entityAdd"!==n.type?H.jsx("button",{className:`${nh}__action ${nh}__action-discard`,onClick:()=>r.discardChange(n),title:o.text("authoring_state.entity_action_discard.title"),children:o.text("authoring_state.entity_action_discard.label")}):null]})}function ah(e){const{shape:t,...n}=e;switch(t.type){case"rect":return H.jsx("rect",{x:0,y:0,width:t.bounds.width,height:t.bounds.height,...n});case"ellipse":{const e=t.bounds.width/2,i=t.bounds.height/2;return H.jsx("ellipse",{cx:e,cy:i,rx:e,ry:i,...n})}default:return null}}function sh(e){const{canvas:t}=cr(),n=sn(),i=Pt(),{editor:r}=n;return Ct(r.events,"changeMode",(()=>r.inAuthoringMode))?H.jsx(dh,{...e,workspace:n,canvas:t,translation:i}):null}var lh="reactodia-authoring-state",ch=5,dh=class extends v.Component{listener=new wi;componentDidMount(){this.listenEvents()}componentWillUnmount(){const{canvas:e}=this.props;this.listener.stopListening(),e.renderingState.cancelOnLayerUpdate(to.Overlay,this.performUpdate)}listenEvents(){const{workspace:{model:e,editor:t},canvas:n}=this.props;this.listener.listen(e.events,"elementEvent",(({data:e})=>{e.changePosition&&this.scheduleUpdate()})),this.listener.listen(e.events,"linkEvent",(({data:e})=>{e.changeVertices&&this.scheduleUpdate()})),this.listener.listen(e.events,"changeCells",this.scheduleUpdate),this.listener.listen(t.events,"changeAuthoringState",this.scheduleUpdate),this.listener.listen(t.events,"changeTemporaryState",this.scheduleUpdate),this.listener.listen(t.events,"changeValidationState",this.scheduleUpdate),this.listener.listen(n.events,"changeTransform",this.performUpdate),this.listener.listen(n.renderingState.events,"changeElementSize",this.scheduleUpdate),this.listener.listen(n.renderingState.events,"changeLinkLabelBounds",this.scheduleUpdate)}scheduleUpdate=()=>{const{canvas:e}=this.props;e.renderingState.scheduleOnLayerUpdate(to.Overlay,this.performUpdate)};performUpdate=()=>{this.forceUpdate()};calculateLinkPath(e){return this.calculateSpline(e).toPath()}calculateSpline(e){const{workspace:{model:t},canvas:n}=this.props,i=t.getElement(e.sourceId),r=t.getElement(e.targetId),o=n.renderingState.getLinkTemplate(e),a=n.renderingState.getRouting(e.id),s=a?a.vertices:e.vertices||[],l=n.renderingState.getElementShape(i),c=n.renderingState.getElementShape(r),d=xr(l,c,s);return Er.create({type:o?.spline??Er.defaultType,points:d,source:hr.center(l.bounds),target:hr.center(c.bounds)})}renderLinkStateLabels(){const{workspace:{model:e,editor:t}}=this.props,n=[];for(const i of e.links){if(!(i instanceof la))continue;const e=t.authoringState.links.get(i.data),r=this.renderLinkStatus(e),o=this.renderLinkValidations(i.data);if(r||o){const e=this.getLinkStateLabelPosition(i);e&&n.push(H.jsx("div",{className:`${lh}__state-indicator`,style:{left:e.x,top:e.y},children:H.jsxs("div",{className:`${lh}__state-indicator-body`,children:[r,o]})},i.id))}}return n}renderLinkStatus(e){const{workspace:{editor:t},translation:n}=this.props;return e?H.jsxs(H.Fragment,{children:[H.jsx("span",{className:`${lh}__state-label`,children:"relationAdd"===e.type?n.text("authoring_state.relation_add.label"):"relationChange"===e.type?n.text("authoring_state.relation_change.label"):"relationDelete"===e.type?n.text("authoring_state.relation_delete.label"):null}),H.jsx("span",{className:`${lh}__action ${lh}__action-discard`,onClick:()=>t.discardChange(e),title:n.text("authoring_state.relation_action_discard.title"),children:n.text("authoring_state.relation_action_discard.label")})]}):null}renderLinkStateHighlighting(){const{workspace:{model:e,editor:t}}=this.props,n=[];for(const i of e.links)if(i instanceof la)if(t.temporaryState.links.has(i.data)){const e=this.calculateLinkPath(i);n.push(H.jsx("path",{className:`${lh}__link-temporary`,d:e},i.id))}else{const e=t.authoringState.links.get(i.data),r=Oo.isDeletedRelation(t.authoringState,i.data),o=Oo.hasEntityChangedIri(t.authoringState,i.data.sourceId)||Oo.hasEntityChangedIri(t.authoringState,i.data.targetId);if(e||r||o){const t=this.calculateLinkPath(i);n.push(H.jsx("path",{className:r?`${lh}__link-deleted`:"relationAdd"===e?.type?`${lh}__link-added`:"relationChange"===e?.type?`${lh}__link-changed`:o?`${lh}__link-uncertain`:`${lh}__link-changed`,d:t},i.id))}}return n}getLinkStateLabelPosition(e){const{canvas:t,linkLabelMargin:n=ch}=this.props,i=t.renderingState.getLinkLabelBounds(e);if(i){const{x:e,y:t}=i;return{x:e,y:t-n/2}}{const t=this.calculateSpline(e),n=Sr(t.geometry.points);return Cr(t.geometry.points,n/2)}}renderLinkValidations(e){const{workspace:{model:t,editor:n},translation:i}=this.props,{validationState:r}=n,o=r.links.get(e);if(!o)return null;const a=o.items.map((e=>{if(e.propertyType){const n=t.getPropertyType(e.propertyType);return`${i.formatLabel(n?.data?.label,e.propertyType,t.language)}: ${e.message}`}return e.message})).join("\n"),s=Ia(o.items);return H.jsxs("div",{className:cn(`${lh}__item-validation`,uh(s)),title:a,children:[o.loading?H.jsx(Yt,{width:15,height:17}):H.jsx("div",{className:`${lh}__item-validation-icon`}),!o.loading&&o.items.length>0?o.items.length:void 0]})}render(){const{canvas:e}=this.props,t=e.metrics.transform,{scale:n,originX:i,originY:r}=t,o={position:"absolute",left:0,top:0,transform:`scale(${n},${n})translate(${i}px,${r}px)`};return H.jsxs(H.Fragment,{children:[H.jsx(Bo,{layer:"overLinkGeometry",children:H.jsx("div",{className:lh,children:H.jsx(Xr,{paperTransform:t,style:{overflow:"visible",pointerEvents:"none"},children:this.renderLinkStateHighlighting()})})}),H.jsx(Bo,{layer:"overElements",children:H.jsx("div",{className:lh,children:H.jsx("div",{className:`${lh}__validation-layer`,style:o,children:this.renderLinkStateLabels()})})})]})}};function uh(e){switch(e){case"info":return`${lh}--severity-info`;case"warning":return`${lh}--severity-warning`;case"error":return`${lh}--severity-error`;default:return}}function hh(e){const{operation:t,onFinishEditing:n}=e,i=sn(),r=Pt(),{model:o,editor:a}=i,{metadataProvider:s}=a;return H.jsx(nl,{operation:t,createLink:v.useCallback(((e,t,n)=>{if(n&&!(n instanceof la))throw new Error("DragEditLayer: cannot clone a non-relation link");const i=new la({sourceId:e.id,targetId:t.id,data:{sourceId:e instanceof ra?e.iri:"",targetId:t instanceof ra?t.iri:"",linkTypeId:n?.data.linkTypeId??"urn:reactodia:newLink",properties:n?.data.properties??{}},vertices:n?.vertices,linkState:n?.linkState}),r=a.createRelation(i,{temporary:!0});return n||o.setLinkVisibility(Si,"withoutLabel"),r}),[t]),canConnect:v.useCallback((async(e,t,n,l)=>{const c=n instanceof ra?a.authoringState.elements.get(n.iri):void 0;if(!(s&&t instanceof la&&e instanceof ra&&(!n||n instanceof ra))||c&&"entityDelete"===c.type)return new fh([],i,r);const d="urn:reactodia:newLink"===t.data.linkTypeId?void 0:t.data.linkTypeId;return n&&d&&o.findLink(d,e.id,n.id)?new fh([],i,r):new fh(await s.canConnect(e.data,n?.data,d,{signal:l}),i,r)}),[s]),cleanupLink:v.useCallback((e=>{e instanceof la&&a.setTemporaryState(jo.removeRelation(a.temporaryState,e.data))}),[]),onFinish:n})}var fh=class{connections;workspace;translation;constructor(e,t,n){this.connections=e,this.workspace=t,this.translation=n}get allowed(){return this.connections.length>0}async connect(e,t,n,i,r){if(!(e instanceof ra&&(!t||t instanceof ra)))return;let o=t;o||(o=await this.createNewElement(r),o.setPosition(n),i.renderingState.syncUpdate(),function(e,t,n){const{width:i,height:r}=n.getElementSize(e)??{width:0,height:0};e.setPosition({x:t.x-i/2,y:t.y-r/2})}(o,n,i.renderingState));const a=await this.createNewLink(e,o,r);this.afterCommit(t,o,a)}async moveSource(e,t,n,i){const{editor:r}=this.workspace;if(!(e instanceof la&&t instanceof ra))return;const o=r.moveRelationSource({link:e,newSource:t});this.afterCommit(t,void 0,o)}async moveTarget(e,t,n,i){const{editor:r}=this.workspace;if(!(e instanceof la&&t instanceof ra))return;const o=r.moveRelationTarget({link:e,newTarget:t});this.afterCommit(t,void 0,o)}async createNewElement(e){const{model:t,editor:n}=this.workspace;if(!n.metadataProvider)throw new Error("Cannot create new entity without metadata provider");const i=new Set;for(const{targetTypes:e}of this.connections)for(const t of e)i.add(t);const r=1===i.size?Array.from(i)[0]:xi,o=await n.metadataProvider.createEntity(r,{translation:this.translation,language:t.language,signal:e}),a=n.createEntity(o.data,{temporary:!0});return o.elementState&&a.setElementState(o.elementState),a}async createNewLink(e,t,n){const{model:i,editor:r}=this.workspace;if(!r.metadataProvider)throw new Error("Cannot create new relation without metadata provider");const o=new Set,a=new Set;for(const{targetTypes:e,inLinks:n,outLinks:i}of this.connections)if(t.data.types.some((t=>e.has(t)))){for(const e of n)o.add(e);for(const e of i)a.add(e)}const s=1===o.size?[...o][0]:void 0,l=1===a.size?[...a][0]:void 0;let c,d;0===o.size&&l?(c=l,d="out"):s&&0===a.size?(c=s,d="in"):s&&l&&s===l?(c=l,d=i.findLink(c,e.id,t.id)?"in":"out"):(c=Si,d="out");let[u,h]=[e,t];"in"===d&&([u,h]=[h,u]);const f=await r.metadataProvider.createRelation(u.data,h.data,c,{translation:this.translation,language:i.language,signal:n}),p=new la({sourceId:u.id,targetId:h.id,data:f.data,linkState:f.linkState}),g=i.findLink(p.typeId,p.sourceId,p.targetId);return g instanceof la?g:r.createRelation(p,{temporary:!0})}afterCommit(e,t,n){const{model:i,getCommandBus:r}=this.workspace;e?(i.setSelection([n]),r(Cs).trigger("editRelation",{target:n})):t&&n&&(i.setSelection([t]),r(Cs).trigger("findOrCreateEntity",{link:n,target:t}))}};function ph(e){const{propertyEditor:t,inlineEntityActions:n=!0}=e,{model:i,editor:r,overlay:o,getCommandBus:a}=sn(),s=Pt();return v.useLayoutEffect((()=>{const e=new wi;return e.listen(o.events,"changeOpenedDialog",(({previous:e})=>{e&&e.target&&r.removeTemporaryCells([e.target])})),()=>{e.stopListening()}}),[]),v.useLayoutEffect((()=>{const e=a(Cs),n=new wi;return n.listen(e,"editEntity",(({target:e})=>{let n;n=e instanceof ra?e:new ra({data:e});const i=t({type:"entity",target:n,onClose:()=>o.hideDialog()});o.showDialog({target:e instanceof ra?e:void 0,dialogType:"reactodia:editEntity",style:{caption:s.text("visual_authoring.edit_entity.dialog.caption"),defaultSize:{width:340,height:400}},content:i,holdSelection:!0})})),n.listen(e,"findOrCreateEntity",(t=>{const{link:n,target:a}=t,l=H.jsx(th,{source:i.getElement(n.sourceId),target:a,initialTargetIsNew:r.temporaryState.elements.has(a.iri),originalLink:n,onAfterApply:()=>{o.hideDialog(),Oo.isAddedEntity(r.authoringState,a.iri)&&e.trigger("editEntity",{target:a})},onCancel:()=>o.hideDialog(),translation:s});o.showDialog({target:a,dialogType:"reactodia:findOrCreateEntity",style:{caption:s.text("visual_authoring.find_or_create.dialog.caption"),minSize:{width:250,height:320}},content:l,onClose:()=>r.removeAllTemporaryCells()})})),n.listen(e,"editRelation",(({target:n})=>{const i=r.temporaryState.links.has(n.data)?s.text("visual_authoring.edit_relation.dialog.caption_new"):s.text("visual_authoring.edit_relation.dialog.caption"),a=t({type:"relation",target:n,onChangeTarget:t=>{o.hideDialog(),e.trigger("editRelation",{target:t})},onClose:()=>o.hideDialog()});o.showDialog({target:n,dialogType:"reactodia:editRelation",style:{defaultSize:{width:340,height:300},caption:i},content:a,onClose:()=>r.removeTemporaryCells([n])})})),()=>n.stopListening()}),[]),H.jsxs(H.Fragment,{children:[H.jsx(sh,{}),H.jsx(gh,{inlineActions:n}),H.jsx(vh,{})]})}var gh=v.memo((function(e){const{inlineActions:t}=e,{canvas:n}=cr(),{model:i,editor:r}=sn(),o=Ct(r.events,"changeMode",(()=>r.inAuthoringMode)),a=$t(oo(Et(i.events,"changeCells"),n.renderingState),(()=>i.cellsVersion)),s=v.useMemo((()=>new WeakMap),[t,a]),l=[];if(o)for(const e of i.elements)if(e instanceof ra){let n=s.get(e);n||(n=H.jsx(ih,{target:e,inlineActions:t},e.id),s.set(e,n)),l.push(n)}return l}));function vh(){const[e,t]=v.useState(null),{getCommandBus:n}=sn();return v.useLayoutEffect((()=>{const e=n(Cs),i=new wi;return i.listen(e,"startDragEdit",(({operation:e})=>{t(H.jsx(hh,{operation:e,onFinishEditing:()=>t(null)}))})),()=>i.stopListening()}),[]),e}var mh="reactodia-zoom-control";function bh(e){const{dock:t,dockOffsetX:n,dockOffsetY:i,showPointerModeToggle:r=!0}=e,{canvas:o}=cr(),a=Pt(),s=Ct(o.events,"changePointerMode",(()=>o.pointerMode));return H.jsx(rs,{dock:t,dockOffsetX:n,dockOffsetY:i,children:H.jsxs("div",{className:mh,role:"toolbar",children:[H.jsx("button",{type:"button",className:cn(`${mh}__zoom-in-button`,"reactodia-btn reactodia-btn-default"),title:a.text("zoom_control.zoom_in.title"),onClick:()=>o.zoomIn()}),H.jsx("button",{type:"button",className:cn(`${mh}__zoom-out-button`,"reactodia-btn reactodia-btn-default"),title:a.text("zoom_control.zoom_out.title"),onClick:()=>o.zoomOut()}),H.jsx("button",{type:"button",className:cn(`${mh}__zoom-fit-button`,"reactodia-btn reactodia-btn-default"),title:a.text("zoom_control.zoom_to_fit.title"),onClick:()=>o.zoomToFit({animate:!0})}),r?H.jsx("button",{type:"button",className:cn(`${mh}__selection-mode-button`,"reactodia-btn reactodia-btn-default","selection"===s?"active":void 0),title:a.text("zoom_control.pointer_mode.title"),onClick:()=>o.setPointerMode("panning"===s?"selection":"panning")}):null]})})}function wh(e){const{colorScheme:t="auto"}=e,n=v.useContext(mi),i=v.useContext(vi),r=function(e){const t=document.documentElement,[n,i]=v.useState((()=>t.getAttribute("data-theme")??(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"")));return v.useLayoutEffect((()=>{if(e){const e=window.matchMedia("(prefers-color-scheme: dark)"),n=()=>{i(t.getAttribute("data-theme")??(e.matches?"dark":""))};e.addEventListener("change",n);const r=new MutationObserver(n);return t&&r.observe(t,{attributes:!0,attributeFilter:["data-theme"]}),()=>{e.removeEventListener("change",n),r.disconnect()}}}),[t,e]),n}(!i&&"auto"===t);let o=t;"auto"===o&&(o=i??("dark"===r?"dark":"light"));const[a,s]=v.useState();void 0!==a&&(o=a);const l=v.useMemo((()=>n.defined?n:{defined:!0,actInColorScheme:(e,t)=>{dn.flushSync((()=>s(e))),t(),dn.flushSync((()=>s(void 0)))}}),[n,s]);return H.jsx(mi.Provider,{value:l,children:H.jsx(vi.Provider,{value:o,children:H.jsx("div",{className:cn("reactodia-workspace",e.className,"dark"===o?"reactodia-workspace-dark":"reactodia-workspace-light"),style:e.style,"data-theme":o,children:e.children})})})}function yh(e){const{className:t,style:n,colorScheme:i,children:r,canvas:o,canvasWidgets:a,annotations:s,connectionsMenu:l,dropOnCanvas:c,halo:d,haloLink:u,selection:h,navigator:f,visualAuthoring:p,zoomControl:g,menu:m,search:b,actions:w,mainToolbar:y,actionsToolbar:_,languages:k=[]}=e,x=Pt(),S=null===m?null:m??H.jsxs(H.Fragment,{children:[H.jsx(zu,{}),H.jsx($u,{kind:"exportRaster"}),H.jsx($u,{kind:"exportSvg"}),H.jsx($u,{kind:"print"})]}),C=null===w?null:w??H.jsxs(H.Fragment,{children:[H.jsx(Tu,{}),H.jsx(Nu,{}),H.jsx(Iu,{}),H.jsx(Vu,{languages:k})]}),L=v.useMemo((()=>[{key:"elementTypes",label:x.text("default_workspace.search_section_entity_types.label"),title:x.text("default_workspace.search_section_entity_types.title"),component:H.jsx(Ru,{})},{key:"entities",label:x.text("default_workspace.search_section_entities.label"),title:x.text("default_workspace.search_section_entities.title"),component:H.jsx(Du,{})},{key:"linkTypes",label:x.text("default_workspace.search_section_link_types.label"),title:x.text("default_workspace.search_section_link_types.title"),component:H.jsx(Ou,{})}]),[]),M=y?.dock??"nw",E="s"===M||"sw"===M||"se"===M;return H.jsx(wh,{className:t,style:n,colorScheme:i,children:H.jsxs(Nc,{...o,children:[p?H.jsx(ph,{...p}):null,null===s?null:H.jsx(ll,{...s}),null===l?null:H.jsx(Oc,{...l}),null===c?null:H.jsx(qc,{...c}),null===d?null:H.jsx(bd,{...d}),null===u?null:H.jsx(Hd,{...u}),null===h?null:H.jsx(bu,{...h}),null===g?null:H.jsx(bh,{dock:"w",...g}),null===f?null:H.jsx(ou,{dock:"se",...f}),H.jsx(Lu,{...y,dock:M,menu:S,children:null===b?null:H.jsx(Fu,{...b,direction:b?.direction??(E?"up":"down"),sections:b?.sections??L})}),null===C?null:H.jsx(Lu,{..._,dock:_?.dock??"sw",menu:null,children:C}),a,r]})})}v.createContext(null);var _h="en",kh=()=>{};function xh(e){const{workspace:t,onMount:n,children:i}=e;return v.useEffect((()=>t.mount()),[t]),v.useEffect((()=>{if(n)return n({getContext:()=>t}),()=>n(null)}),[n]),H.jsx(Vt,{translation:t.translation,children:H.jsx(an.Provider,{value:t,children:i})})}var Sh=class{refCount=0;cancellation=new AbortController;extensionCommands=new WeakMap;resolveTypeStyle;cachedTypeStyles;cachedGroupStyles;annotationStyles=new Map([["default",{color:"#bec3c9"}],["primary",{color:"#337ab7"}],["success",{color:"#5cb85c"}],["info",{color:"#54c7ec"}],["warning",{color:"#ffba00"}],["danger",{color:"#c9302c"}]]);layoutTypeProvider;model;view;editor;overlay;translation;triggerWorkspaceEvent;constructor(e){const{translation:t=new Ao({bundles:[No]}),history:n=new Pr,dialogSettingsProvider:i=new hs,metadataProvider:r,validationProvider:o,renameLinkProvider:a,typeStyleResolver:s,defaultLanguage:l=_h,defaultLayout:c,onWorkspaceEvent:d=()=>{}}=e;this.translation=t,this.resolveTypeStyle=s??kh,this.cachedTypeStyles=new WeakMap,this.cachedGroupStyles=new WeakMap,this.model=new Ea({history:n,translation:this.translation}),this.model.setLanguage(l),this.view=new Uo({defaultElementResolver:e=>e instanceof Wo?Es:Hs,defaultLinkResolver:e=>e instanceof Go?Is:Xs,defaultLayout:c,renameLinkProvider:null===a?void 0:a??new Lh}),this.editor=new Va({model:this.model,translation:this.translation,getDisposeSignal:()=>this.disposeSignal,metadataProvider:r,validationProvider:o}),this.overlay=new os({model:this.model,view:this.view,translation:this.translation,dialogSettingsProvider:i}),this.triggerWorkspaceEvent=d,this.layoutTypeProvider={getElementTypes:e=>e instanceof ra?e.data.types:[]};const u=new wi;u.listen(this.model.events,"loadingSuccess",(()=>{for(const e of this.view.findAllCanvases())e.renderingState.syncUpdate(),e.zoomToFit()})),d&&(u.listen(this.model.events,"changeSelection",(()=>d(on.editorChangeSelection))),u.listen(this.overlay.events,"changeOpenedDialog",(()=>d(on.editorToggleDialog))))}mount(){this.refCount++;let e=!0;return()=>{e&&(e=!1,this.refCount--,0===this.refCount&&(this.view.dispose(),this.cancellation.abort(),this.cancellation=new AbortController))}}get disposeSignal(){return this.cancellation.signal}getCommandBus=e=>{let t=this.extensionCommands.get(e);return t||(t=new bi,this.extensionCommands.set(e,t)),t};getElementStyle=e=>e instanceof ra?this.getElementTypeStyle(e.data.types):e instanceof oa?this.getGroupTypeStyle(e):this.tryGetColorVariantStyle(e)??this.getElementTypeStyle([]);getElementTypeStyle=e=>{let t=this.cachedTypeStyles.get(e);if(!t){const n=this.resolveTypeStyle(e);let i;i=n&&n.color?oi(n.color).toString():oi(function(e){const t=Ch(e,195935983);return(void 0===t?0:t)/2147483647*360}(e),40,75).toString(),t={...n,color:i},this.cachedTypeStyles.set(e,t)}return t};getGroupTypeStyle(e){const{items:t}=e;let n=this.cachedGroupStyles.get(t);if(!n){const e=new U(Ch,xt);for(const n of t)e.set(n.data.types,(e.get(n.data.types)??0)+1);let i=0,r=[];for(const[t,n]of e)n>i&&(i=n,r=t);n=this.getElementTypeStyle(r),this.cachedGroupStyles.set(t,n)}return n}tryGetColorVariantStyle(e){const{elementState:t}=e,n=t.get(pi.ColorVariant);if(n||e instanceof Wo)return this.annotationStyles.get(n??"default")}performLayout=async e=>{const{canvas:t,layoutFunction:n,selectedElements:i,fixedElements:r,animate:o,zoomToFit:a=!0}=e,{model:s,view:l,overlay:c}=this,d=this.translation,u=t??l.findAnyCanvas();if(!u)throw new Error("Failed to find any canvas to perform layout");u.renderingState.syncUpdate();const h=c.startTask({title:d.text("workspace.perform_layout.task"),delay:200});let f;try{f=await async function(e){const{layoutFunction:t,model:n,sizeProvider:i,typeProvider:r,fixedElements:o,selectedElements:a}=e;if(a&&a.size<=1)return{positions:new Map,sizes:new Map,nestedLayouts:[]};let s=n.elements;a&&(s=s.filter((e=>a.has(e))));const l=Object.create(null),c=Object.create(null);for(const e of s)l[e.id]={types:r?.getElementTypes?.(e)??[],fixed:o?.has(e)},c[e.id]=yr(e,i);const d=[];for(const e of n.links)Object.hasOwn(l,e.sourceId)&&Object.hasOwn(l,e.targetId)&&"hidden"!==n.getLinkVisibility(e.typeId)&&d.push({type:r?.getLinkType?.(e)??e.typeId,source:e.sourceId,target:e.targetId});const u=await t({nodes:l,links:d},{bounds:c}),h=new Map,f=new Map;for(const[e,{x:t,y:n,width:i,height:r}]of Object.entries(u.bounds))h.set(e,{x:t,y:n}),f.set(e,{width:i,height:r});return{positions:h,sizes:f,nestedLayouts:[]}}({layoutFunction:n??l.defaultLayout,model:s,selectedElements:i,fixedElements:r,sizeProvider:u.renderingState,typeProvider:this.layoutTypeProvider})}catch(e){return h.setError(e),void console.error("Failed to compute graph layout",e)}finally{h.end()}const p=s.history.startBatch(Ht.text("workspace.perform_layout.command"));p.history.registerToUndo(Hr.capture(s));for(const e of s.links)e.setVertices([]);p.history.registerToUndo(function(e){function t(){const{metrics:t}=e,{clientWidth:n,clientHeight:i}=e.metrics.pane,r=t.clientToPaperCoords(n/2,i/2),{scale:o}=t.transform;return{center:r,scale:o}}function n({center:t,scale:n}){e.centerTo(t,{scale:n})}const i=t(),r=Lr.create(Ht.text("commands.restore_viewport.title"),(()=>{const e=t();return n(i),Lr.create(Ht.text("commands.restore_viewport.title"),(()=>(n(e),r)))}));return r}(u)),o?await Promise.all([u.animateGraph((()=>{go(f,s),p.store()})),a?u.zoomToFit({animate:!0}):null]):(go(f,s),p.store(),a&&await u.zoomToFit())};group=e=>Ra(this,e);ungroupAll=e=>Da(this,e);ungroupSome=e=>Ba(this,e)};function Ch(e,t=0){let n=0|t;for(const t of e)n=R(n,B(t,n));return 0|n}var Lh=class extends qo{canRename(e){return e instanceof Go}},Mh=class extends v.Component{_workspace;static contextType=It;constructor(e,t){super(e,t);const{history:n,dialogSettingsProvider:i,metadataProvider:r,validationProvider:o,renameLinkProvider:a,typeStyleResolver:s,selectLabelLanguage:l,translations:c=[],useDefaultTranslation:d=!0,defaultLanguage:u,defaultLayout:h,onWorkspaceEvent:f}=this.props;let p=c;var g;d&&(p=[...c,No]),this._workspace=(g={translation:this.context??new Ao({bundles:p,selectLabel:l}),history:n,dialogSettingsProvider:i,metadataProvider:r,validationProvider:o,renameLinkProvider:a,typeStyleResolver:s,defaultLanguage:u,defaultLayout:h,onWorkspaceEvent:f},new Sh(g))}getContext(){return this._workspace}render(){const{children:e}=this.props;return H.jsx(xh,{workspace:this._workspace,children:e})}},Eh=A((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=function(e,t,n){this.source=e,this.target=t,this.type=n};e.PowerEdge=t;var n=function(){function e(e,t,n,i){var a=this;if(this.linkAccessor=n,this.modules=new Array(e),this.roots=[],i)this.initModulesFromGroup(i);else{this.roots.push(new o);for(var s=0;s<e;++s)this.roots[0].add(this.modules[s]=new r(s))}this.R=t.length,t.forEach((function(e){var t=a.modules[n.getSourceIndex(e)],i=a.modules[n.getTargetIndex(e)],r=n.getType(e);t.outgoing.add(r,i),i.incoming.add(r,t)}))}return e.prototype.initModulesFromGroup=function(e){var t=new o;this.roots.push(t);for(var n=0;n<e.leaves.length;++n){var i=e.leaves[n],s=new r(i.id);this.modules[i.id]=s,t.add(s)}if(e.groups)for(var l=0;l<e.groups.length;++l){var c=e.groups[l],d={};for(var u in c)"leaves"!==u&&"groups"!==u&&c.hasOwnProperty(u)&&(d[u]=c[u]);t.add(new r(-1-l,new a,new a,this.initModulesFromGroup(c),d))}return t},e.prototype.merge=function(e,t,n){void 0===n&&(n=0);var i=e.incoming.intersection(t.incoming),a=e.outgoing.intersection(t.outgoing),s=new o;s.add(e),s.add(t);var l=new r(this.modules.length,a,i,s);this.modules.push(l);var c=function(n,i,r){n.forAll((function(n,o){n.forAll((function(n){var a=n[i];a.add(o,l),a.remove(o,e),a.remove(o,t),e[r].remove(o,n),t[r].remove(o,n)}))}))};return c(a,"incoming","outgoing"),c(i,"outgoing","incoming"),this.R-=i.count()+a.count(),this.roots[n].remove(e),this.roots[n].remove(t),this.roots[n].add(l),l},e.prototype.rootMerges=function(e){void 0===e&&(e=0);for(var t=this.roots[e].modules(),n=t.length,i=new Array(n*(n-1)),r=0,o=0,a=n-1;o<a;++o)for(var s=o+1;s<n;++s){var l=t[o],c=t[s];i[r]={id:r,nEdges:this.nEdges(l,c),a:l,b:c},r++}return i},e.prototype.greedyMerge=function(){for(var e=0;e<this.roots.length;++e)if(!(this.roots[e].modules().length<2)){var t=this.rootMerges(e).sort((function(e,t){return e.nEdges==t.nEdges?e.id-t.id:e.nEdges-t.nEdges}))[0];if(!(t.nEdges>=this.R))return this.merge(t.a,t.b,e),!0}},e.prototype.nEdges=function(e,t){var n=e.incoming.intersection(t.incoming),i=e.outgoing.intersection(t.outgoing);return this.R-n.count()-i.count()},e.prototype.getGroupHierarchy=function(e){var n=this,r=[];return i(this.roots[0],{},r),this.allEdges().forEach((function(i){var o=n.modules[i.source],a=n.modules[i.target];e.push(new t(void 0===o.gid?i.source:r[o.gid],void 0===a.gid?i.target:r[a.gid],i.type))})),r},e.prototype.allEdges=function(){var t=[];return e.getEdges(this.roots[0],t),t},e.getEdges=function(t,n){t.forAll((function(t){t.getEdges(n),e.getEdges(t.children,n)}))},e}();function i(e,t,n){e.forAll((function(e){if(e.isLeaf())t.leaves||(t.leaves=[]),t.leaves.push(e.id);else{var r=t;if(e.gid=n.length,!e.isIsland()||e.isPredefined()){if(r={id:e.gid},e.isPredefined())for(var o in e.definition)r[o]=e.definition[o];t.groups||(t.groups=[]),t.groups.push(e.gid),n.push(r)}i(e.children,r,n)}}))}e.Configuration=n;var r=function(){function e(e,t,n,i,r){void 0===t&&(t=new a),void 0===n&&(n=new a),void 0===i&&(i=new o),this.id=e,this.outgoing=t,this.incoming=n,this.children=i,this.definition=r}return e.prototype.getEdges=function(e){var n=this;this.outgoing.forAll((function(i,r){i.forAll((function(i){e.push(new t(n.id,i.id,r))}))}))},e.prototype.isLeaf=function(){return 0===this.children.count()},e.prototype.isIsland=function(){return 0===this.outgoing.count()&&0===this.incoming.count()},e.prototype.isPredefined=function(){return void 0!==this.definition},e}();e.Module=r;var o=function(){function e(){this.table={}}return e.prototype.count=function(){return Object.keys(this.table).length},e.prototype.intersection=function(t){var n=new e;return n.table=function(e,t){var n={};for(var i in e)i in t&&(n[i]=e[i]);return n}(this.table,t.table),n},e.prototype.intersectionCount=function(e){return this.intersection(e).count()},e.prototype.contains=function(e){return e in this.table},e.prototype.add=function(e){this.table[e.id]=e},e.prototype.remove=function(e){delete this.table[e.id]},e.prototype.forAll=function(e){for(var t in this.table)e(this.table[t])},e.prototype.modules=function(){var e=[];return this.forAll((function(t){t.isPredefined()||e.push(t)})),e},e}();e.ModuleSet=o;var a=function(){function e(){this.sets={},this.n=0}return e.prototype.count=function(){return this.n},e.prototype.contains=function(e){var t=!1;return this.forAllModules((function(n){t||n.id!=e||(t=!0)})),t},e.prototype.add=function(e,t){(e in this.sets?this.sets[e]:this.sets[e]=new o).add(t),++this.n},e.prototype.remove=function(e,t){var n=this.sets[e];n.remove(t),0===n.count()&&delete this.sets[e],--this.n},e.prototype.forAll=function(e){for(var t in this.sets)e(this.sets[t],Number(t))},e.prototype.forAllModules=function(e){this.forAll((function(t){return t.forAll(e)}))},e.prototype.intersection=function(t){var n=new e;return this.forAll((function(e,i){if(i in t.sets){var r=e.intersection(t.sets[i]),o=r.count();o>0&&(n.sets[i]=r,n.n+=o)}})),n},e}();e.LinkSets=a,e.getGroups=function(e,t,i,r){for(var o=new n(e.length,t,i,r);o.greedyMerge(););var a=[],s=o.getGroupHierarchy(a);return a.forEach((function(t){var n=function(n){var i=t[n];"number"==typeof i&&(t[n]=e[i])};n("source"),n("target")})),{groups:s,powerEdges:a}}})),zh=A((e=>{function t(e,t){var n={};for(var i in e)n[i]={};for(var i in t)n[i]={};return Object.keys(n).length}function n(e,t){var n=0;for(var i in e)void 0!==t[i]&&++n;return n}function i(e,t,n,i){var r=function(e,t){var n={},i=function(e,t){void 0===n[e]&&(n[e]={}),n[e][t]={}};return e.forEach((function(e){var n=t.getSourceIndex(e),r=t.getTargetIndex(e);i(n,r),i(r,n)})),n}(e,i);e.forEach((function(e){var o=r[i.getSourceIndex(e)],a=r[i.getTargetIndex(e)];i.setLength(e,1+t*n(o,a))}))}function r(e,t,n){var i=[],r=0,o=[],a=[];function s(e){e.index=e.lowlink=r++,o.push(e),e.onStack=!0;for(var t=0,n=e.out;t<n.length;t++){var i=n[t];void 0===i.index?(s(i),e.lowlink=Math.min(e.lowlink,i.lowlink)):i.onStack&&(e.lowlink=Math.min(e.lowlink,i.index))}if(e.lowlink===e.index){for(var l=[];o.length&&((i=o.pop()).onStack=!1,l.push(i),i!==e););a.push(l.map((function(e){return e.id})))}}for(var l=0;l<e;l++)i.push({id:l,out:[]});for(var c=0,d=t;c<d.length;c++){var u=d[c],h=i[n.getSourceIndex(u)],f=i[n.getTargetIndex(u)];h.out.push(f)}for(var p=0,g=i;p<g.length;p++){var v=g[p];void 0===v.index&&s(v)}return a}Object.defineProperty(e,"__esModule",{value:!0}),e.symmetricDiffLinkLengths=function(e,r,o){void 0===o&&(o=1),i(e,o,(function(e,i){return Math.sqrt(t(e,i)-n(e,i))}),r)},e.jaccardLinkLengths=function(e,r,o){void 0===o&&(o=1),i(e,o,(function(e,i){return Math.min(Object.keys(e).length,Object.keys(i).length)<1.1?0:n(e,i)/t(e,i)}),r)},e.generateDirectedEdgeConstraints=function(e,t,n,i){var o=r(e,t,i),a={};o.forEach((function(e,t){return e.forEach((function(e){return a[e]=t}))}));var s=[];return t.forEach((function(e){var t=i.getSourceIndex(e),r=i.getTargetIndex(e);a[t]!==a[r]&&s.push({axis:n,left:t,right:r,gap:i.getMinSeparation(e)})})),s},e.stronglyConnectedComponents=r})),$h=A((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=function(){function e(){this.locks={}}return e.prototype.add=function(e,t){this.locks[e]=t},e.prototype.clear=function(){this.locks={}},e.prototype.isEmpty=function(){for(var e in this.locks)return!1;return!0},e.prototype.apply=function(e){for(var t in this.locks)e(Number(t),this.locks[t])},e}();e.Locks=t,e.Descent=function(){function e(e,i,r){void 0===r&&(r=null),this.D=i,this.G=r,this.threshold=1e-4,this.numGridSnapNodes=0,this.snapGridSize=100,this.snapStrength=1e3,this.scaleSnapByMaxH=!1,this.random=new n,this.project=null,this.x=e,this.k=e.length;var o=this.n=e[0].length;this.H=new Array(this.k),this.g=new Array(this.k),this.Hd=new Array(this.k),this.a=new Array(this.k),this.b=new Array(this.k),this.c=new Array(this.k),this.d=new Array(this.k),this.e=new Array(this.k),this.ia=new Array(this.k),this.ib=new Array(this.k),this.xtmp=new Array(this.k),this.locks=new t,this.minD=Number.MAX_VALUE;for(var a,s=o;s--;)for(a=o;--a>s;){var l=i[s][a];l>0&&l<this.minD&&(this.minD=l)}for(this.minD===Number.MAX_VALUE&&(this.minD=1),s=this.k;s--;){for(this.g[s]=new Array(o),this.H[s]=new Array(o),a=o;a--;)this.H[s][a]=new Array(o);this.Hd[s]=new Array(o),this.a[s]=new Array(o),this.b[s]=new Array(o),this.c[s]=new Array(o),this.d[s]=new Array(o),this.e[s]=new Array(o),this.ia[s]=new Array(o),this.ib[s]=new Array(o),this.xtmp[s]=new Array(o)}}return e.createSquareMatrix=function(e,t){for(var n=new Array(e),i=0;i<e;++i){n[i]=new Array(e);for(var r=0;r<e;++r)n[i][r]=t(i,r)}return n},e.prototype.offsetDir=function(){for(var e=this,t=new Array(this.k),n=0,i=0;i<this.k;++i){var r=t[i]=this.random.getNextBetween(.01,1)-.5;n+=r*r}return n=Math.sqrt(n),t.map((function(t){return t*(e.minD/n)}))},e.prototype.computeDerivatives=function(e){var t=this,n=this.n;if(!(n<1)){for(var i,r=new Array(this.k),o=new Array(this.k),a=new Array(this.k),s=0,l=0;l<n;++l){for(i=0;i<this.k;++i)a[i]=this.g[i][l]=0;for(var c=0;c<n;++c)if(l!==c){for(var d=n;d--;){var u=0;for(i=0;i<this.k;++i){var h=r[i]=e[i][l]-e[i][c];u+=o[i]=h*h}if(u>1e-9)break;var f=this.offsetDir();for(i=0;i<this.k;++i)e[i][c]+=f[i]}var p=Math.sqrt(u),g=this.D[l][c],v=null!=this.G?this.G[l][c]:1;if(v>1&&p>g||!isFinite(g))for(i=0;i<this.k;++i)this.H[i][l][c]=0;else{v>1&&(v=1);var m=g*g,b=2*v*(p-g)/(m*p),w=p*p*p,y=2*-v/(m*w);for(isFinite(b)||console.log(b),i=0;i<this.k;++i)this.g[i][l]+=r[i]*b,a[i]-=this.H[i][l][c]=y*(w+g*(o[i]-u)+p*u)}}for(i=0;i<this.k;++i)s=Math.max(s,this.H[i][l][l]=a[i])}var _=this.snapGridSize/2,k=this.snapGridSize,x=this.snapStrength/(_*_),S=this.numGridSnapNodes;for(l=0;l<S;++l)for(i=0;i<this.k;++i){var C=this.x[i][l],L=C/k,M=L%1,E=L-M;-_<(h=Math.abs(M)<=.5?C-E*k:C>0?C-(E+1)*k:C-(E-1)*k)&&h<=_&&(this.scaleSnapByMaxH?(this.g[i][l]+=s*x*h,this.H[i][l][l]+=s*x):(this.g[i][l]+=x*h,this.H[i][l][l]+=x))}this.locks.isEmpty()||this.locks.apply((function(n,r){for(i=0;i<t.k;++i)t.H[i][n][n]+=s,t.g[i][n]-=s*(r[i]-e[i][n])}))}},e.dotProd=function(e,t){for(var n=0,i=e.length;i--;)n+=e[i]*t[i];return n},e.rightMultiply=function(t,n,i){for(var r=t.length;r--;)i[r]=e.dotProd(t[r],n)},e.prototype.computeStepSize=function(t){for(var n=0,i=0,r=0;r<this.k;++r)n+=e.dotProd(this.g[r],t[r]),e.rightMultiply(this.H[r],t[r],this.Hd[r]),i+=e.dotProd(t[r],this.Hd[r]);return 0!==i&&isFinite(i)?1*n/i:0},e.prototype.reduceStress=function(){this.computeDerivatives(this.x);for(var e=this.computeStepSize(this.g),t=0;t<this.k;++t)this.takeDescentStep(this.x[t],this.g[t],e);return this.computeStress()},e.copy=function(e,t){for(var n=e.length,i=t[0].length,r=0;r<n;++r)for(var o=0;o<i;++o)t[r][o]=e[r][o]},e.prototype.stepAndProject=function(t,n,i,r){e.copy(t,n),this.takeDescentStep(n[0],i[0],r),this.project&&this.project[0](t[0],t[1],n[0]),this.takeDescentStep(n[1],i[1],r),this.project&&this.project[1](n[0],t[1],n[1]);for(var o=2;o<this.k;o++)this.takeDescentStep(n[o],i[o],r)},e.mApply=function(e,t,n){for(var i=e;i-- >0;)for(var r=t;r-- >0;)n(i,r)},e.prototype.matrixApply=function(t){e.mApply(this.k,this.n,t)},e.prototype.computeNextPosition=function(e,t){var n=this;this.computeDerivatives(e);var i=this.computeStepSize(this.g);if(this.stepAndProject(e,t,this.g,i),this.project){this.matrixApply((function(i,r){return n.e[i][r]=e[i][r]-t[i][r]}));var r=this.computeStepSize(this.e);r=Math.max(.2,Math.min(r,1)),this.stepAndProject(e,t,this.e,r)}},e.prototype.run=function(e){for(var t=Number.MAX_VALUE,n=!1;!n&&e-- >0;){var i=this.rungeKutta();n=Math.abs(t/i-1)<this.threshold,t=i}return t},e.prototype.rungeKutta=function(){var t=this;this.computeNextPosition(this.x,this.a),e.mid(this.x,this.a,this.ia),this.computeNextPosition(this.ia,this.b),e.mid(this.x,this.b,this.ib),this.computeNextPosition(this.ib,this.c),this.computeNextPosition(this.c,this.d);var n=0;return this.matrixApply((function(e,i){var r=(t.a[e][i]+2*t.b[e][i]+2*t.c[e][i]+t.d[e][i])/6,o=t.x[e][i]-r;n+=o*o,t.x[e][i]=r})),n},e.mid=function(t,n,i){e.mApply(t.length,t[0].length,(function(e,r){return i[e][r]=t[e][r]+(n[e][r]-t[e][r])/2}))},e.prototype.takeDescentStep=function(e,t,n){for(var i=0;i<this.n;++i)e[i]=e[i]-n*t[i]},e.prototype.computeStress=function(){for(var e=0,t=0,n=this.n-1;t<n;++t)for(var i=t+1,r=this.n;i<r;++i){for(var o=0,a=0;a<this.k;++a){var s=this.x[a][t]-this.x[a][i];o+=s*s}o=Math.sqrt(o);var l=this.D[t][i];if(isFinite(l)){var c=l-o;e+=c*c/(l*l)}}return e},e.zeroDistance=1e-10,e}();var n=function(){function e(e){void 0===e&&(e=1),this.seed=e,this.a=214013,this.c=2531011,this.m=2147483648,this.range=32767}return e.prototype.getNext=function(){return this.seed=(this.seed*this.a+this.c)%this.m,(this.seed>>16)/this.range},e.prototype.getNextBetween=function(e,t){return e+this.getNext()*(t-e)},e}();e.PseudoRandom=n})),Th=A((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=function(){function e(e){this.scale=e,this.AB=0,this.AD=0,this.A2=0}return e.prototype.addVariable=function(e){var t=this.scale/e.scale,n=e.weight;this.AB+=n*t*(e.offset/e.scale),this.AD+=n*t*e.desiredPosition,this.A2+=n*t*t},e.prototype.getPosn=function(){return(this.AD-this.AB)/this.A2},e}();e.PositionStats=t;var n=function(){function e(e,t,n,i){void 0===i&&(i=!1),this.left=e,this.right=t,this.gap=n,this.equality=i,this.active=!1,this.unsatisfiable=!1,this.left=e,this.right=t,this.gap=n,this.equality=i}return e.prototype.slack=function(){return this.unsatisfiable?Number.MAX_VALUE:this.right.scale*this.right.position()-this.gap-this.left.scale*this.left.position()},e}();e.Constraint=n;var i=function(){function e(e,t,n){void 0===t&&(t=1),void 0===n&&(n=1),this.desiredPosition=e,this.weight=t,this.scale=n,this.offset=0}return e.prototype.dfdv=function(){return 2*this.weight*(this.position()-this.desiredPosition)},e.prototype.position=function(){return(this.block.ps.scale*this.block.posn+this.offset)/this.scale},e.prototype.visitNeighbours=function(e,t){var n=function(n,i){return n.active&&e!==i&&t(n,i)};this.cOut.forEach((function(e){return n(e,e.right)})),this.cIn.forEach((function(e){return n(e,e.left)}))},e}();e.Variable=i;var r=function(){function e(e){this.vars=[],e.offset=0,this.ps=new t(e.scale),this.addVariable(e)}return e.prototype.addVariable=function(e){e.block=this,this.vars.push(e),this.ps.addVariable(e),this.posn=this.ps.getPosn()},e.prototype.updateWeightedPosition=function(){this.ps.AB=this.ps.AD=this.ps.A2=0;for(var e=0,t=this.vars.length;e<t;++e)this.ps.addVariable(this.vars[e]);this.posn=this.ps.getPosn()},e.prototype.compute_lm=function(e,t,n){var i=this,r=e.dfdv();return e.visitNeighbours(t,(function(t,o){var a=i.compute_lm(o,e,n);o===t.right?(r+=a*t.left.scale,t.lm=a):(r+=a*t.right.scale,t.lm=-a),n(t)})),r/e.scale},e.prototype.populateSplitBlock=function(e,t){var n=this;e.visitNeighbours(t,(function(t,i){i.offset=e.offset+(i===t.right?t.gap:-t.gap),n.addVariable(i),n.populateSplitBlock(i,e)}))},e.prototype.traverse=function(e,t,n,i){var r=this;void 0===n&&(n=this.vars[0]),void 0===i&&(i=null),n.visitNeighbours(i,(function(i,o){t.push(e(i)),r.traverse(e,t,o,n)}))},e.prototype.findMinLM=function(){var e=null;return this.compute_lm(this.vars[0],null,(function(t){!t.equality&&(null===e||t.lm<e.lm)&&(e=t)})),e},e.prototype.findMinLMBetween=function(e,t){this.compute_lm(e,null,(function(){}));var n=null;return this.findPath(e,null,t,(function(e,t){!e.equality&&e.right===t&&(null===n||e.lm<n.lm)&&(n=e)})),n},e.prototype.findPath=function(e,t,n,i){var r=this,o=!1;return e.visitNeighbours(t,(function(t,a){o||a!==n&&!r.findPath(a,e,n,i)||(o=!0,i(t,a))})),o},e.prototype.isActiveDirectedPathBetween=function(e,t){if(e===t)return!0;for(var n=e.cOut.length;n--;){var i=e.cOut[n];if(i.active&&this.isActiveDirectedPathBetween(i.right,t))return!0}return!1},e.split=function(t){return t.active=!1,[e.createSplitBlock(t.left),e.createSplitBlock(t.right)]},e.createSplitBlock=function(t){var n=new e(t);return n.populateSplitBlock(t,null),n},e.prototype.splitBetween=function(t,n){var i=this.findMinLMBetween(t,n);if(null!==i){var r=e.split(i);return{constraint:i,lb:r[0],rb:r[1]}}return null},e.prototype.mergeAcross=function(e,t,n){t.active=!0;for(var i=0,r=e.vars.length;i<r;++i){var o=e.vars[i];o.offset+=n,this.addVariable(o)}this.posn=this.ps.getPosn()},e.prototype.cost=function(){for(var e=0,t=this.vars.length;t--;){var n=this.vars[t],i=n.position()-n.desiredPosition;e+=i*i*n.weight}return e},e}();e.Block=r;var o=function(){function e(e){this.vs=e;var t=e.length;for(this.list=new Array(t);t--;){var n=new r(e[t]);this.list[t]=n,n.blockInd=t}}return e.prototype.cost=function(){for(var e=0,t=this.list.length;t--;)e+=this.list[t].cost();return e},e.prototype.insert=function(e){e.blockInd=this.list.length,this.list.push(e)},e.prototype.remove=function(e){var t=this.list.length-1,n=this.list[t];this.list.length=t,e!==n&&(this.list[e.blockInd]=n,n.blockInd=e.blockInd)},e.prototype.merge=function(e){var t=e.left.block,n=e.right.block,i=e.right.offset-e.left.offset-e.gap;t.vars.length<n.vars.length?(n.mergeAcross(t,e,i),this.remove(t)):(t.mergeAcross(n,e,-i),this.remove(n))},e.prototype.forEach=function(e){this.list.forEach(e)},e.prototype.updateBlockPositions=function(){this.list.forEach((function(e){return e.updateWeightedPosition()}))},e.prototype.split=function(e){var t=this;this.updateBlockPositions(),this.list.forEach((function(n){var i=n.findMinLM();null!==i&&i.lm<a.LAGRANGIAN_TOLERANCE&&(n=i.left.block,r.split(i).forEach((function(e){return t.insert(e)})),t.remove(n),e.push(i))}))},e}();e.Blocks=o;var a=function(){function e(e,t){this.vs=e,this.cs=t,this.vs=e,e.forEach((function(e){e.cIn=[],e.cOut=[]})),this.cs=t,t.forEach((function(e){e.left.cOut.push(e),e.right.cIn.push(e)})),this.inactive=t.map((function(e){return e.active=!1,e})),this.bs=null}return e.prototype.cost=function(){return this.bs.cost()},e.prototype.setStartingPositions=function(e){this.inactive=this.cs.map((function(e){return e.active=!1,e})),this.bs=new o(this.vs),this.bs.forEach((function(t,n){return t.posn=e[n]}))},e.prototype.setDesiredPositions=function(e){this.vs.forEach((function(t,n){return t.desiredPosition=e[n]}))},e.prototype.mostViolated=function(){for(var t=Number.MAX_VALUE,n=null,i=this.inactive,r=i.length,o=r,a=0;a<r;++a){var s=i[a];if(!s.unsatisfiable){var l=s.slack();if((s.equality||l<t)&&(t=l,n=s,o=a,s.equality))break}}return o!==r&&(t<e.ZERO_UPPERBOUND&&!n.active||n.equality)&&(i[o]=i[r-1],i.length=r-1),n},e.prototype.satisfy=function(){null==this.bs&&(this.bs=new o(this.vs)),this.bs.split(this.inactive);for(var t=null;(t=this.mostViolated())&&(t.equality||t.slack()<e.ZERO_UPPERBOUND&&!t.active);){var n=t.left.block;if(n!==t.right.block)this.bs.merge(t);else{if(n.isActiveDirectedPathBetween(t.right,t.left)){t.unsatisfiable=!0;continue}var i=n.splitBetween(t.left,t.right);if(null===i){t.unsatisfiable=!0;continue}this.bs.insert(i.lb),this.bs.insert(i.rb),this.bs.remove(n),this.inactive.push(i.constraint),t.slack()>=0?this.inactive.push(t):this.bs.merge(t)}}},e.prototype.solve=function(){this.satisfy();for(var e=Number.MAX_VALUE,t=this.bs.cost();Math.abs(e-t)>1e-4;)this.satisfy(),e=t,t=this.bs.cost();return t},e.LAGRANGIAN_TOLERANCE=-1e-4,e.ZERO_UPPERBOUND=-1e-10,e}();e.Solver=a,e.removeOverlapInOneDimension=function(e,t,r){for(var o=e.map((function(e){return new i(e.desiredCenter)})),s=[],l=e.length,c=0;c<l-1;c++)s.push(new n(o[c],o[c+1],(e[c].size+e[c+1].size)/2));var d=o[0],u=o[l-1],h=e[0].size/2,f=e[l-1].size/2,p=null,g=null;return t&&(p=new i(t,1e3*d.weight),o.push(p),s.push(new n(p,d,h))),r&&(g=new i(r,1e3*u.weight),o.push(g),s.push(new n(u,g,f))),new a(o,s).solve(),{newCenters:o.slice(0,e.length).map((function(e){return e.position()})),lowerBound:p?p.position():d.position()-h,upperBound:g?g.position():u.position()+f}}})),Nh=A((e=>{var t,n=e&&e.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)});Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function e(){this.findIter=function(e){for(var t=this._root,n=this.iterator();null!==t;){var i=this._comparator(e,t.data);if(0===i)return n._cursor=t,n;n._ancestors.push(t),t=t.get_child(i>0)}return null}}return e.prototype.clear=function(){this._root=null,this.size=0},e.prototype.find=function(e){for(var t=this._root;null!==t;){var n=this._comparator(e,t.data);if(0===n)return t.data;t=t.get_child(n>0)}return null},e.prototype.lowerBound=function(e){return this._bound(e,this._comparator)},e.prototype.upperBound=function(e){var t=this._comparator;return this._bound(e,(function(e,n){return t(n,e)}))},e.prototype.min=function(){var e=this._root;if(null===e)return null;for(;null!==e.left;)e=e.left;return e.data},e.prototype.max=function(){var e=this._root;if(null===e)return null;for(;null!==e.right;)e=e.right;return e.data},e.prototype.iterator=function(){return new r(this)},e.prototype.each=function(e){for(var t,n=this.iterator();null!==(t=n.next());)e(t)},e.prototype.reach=function(e){for(var t,n=this.iterator();null!==(t=n.prev());)e(t)},e.prototype._bound=function(e,t){for(var n=this._root,i=this.iterator();null!==n;){var r=this._comparator(e,n.data);if(0===r)return i._cursor=n,i;i._ancestors.push(n),n=n.get_child(r>0)}for(var o=i._ancestors.length-1;o>=0;--o)if(t(e,(n=i._ancestors[o]).data)>0)return i._cursor=n,i._ancestors.length=o,i;return i._ancestors.length=0,i},e}();e.TreeBase=i;var r=function(){function e(e){this._tree=e,this._ancestors=[],this._cursor=null}return e.prototype.data=function(){return null!==this._cursor?this._cursor.data:null},e.prototype.next=function(){if(null===this._cursor){var e=this._tree._root;null!==e&&this._minNode(e)}else if(null===this._cursor.right){var t;do{if(t=this._cursor,!this._ancestors.length){this._cursor=null;break}this._cursor=this._ancestors.pop()}while(this._cursor.right===t)}else this._ancestors.push(this._cursor),this._minNode(this._cursor.right);return null!==this._cursor?this._cursor.data:null},e.prototype.prev=function(){if(null===this._cursor){var e=this._tree._root;null!==e&&this._maxNode(e)}else if(null===this._cursor.left){var t;do{if(t=this._cursor,!this._ancestors.length){this._cursor=null;break}this._cursor=this._ancestors.pop()}while(this._cursor.left===t)}else this._ancestors.push(this._cursor),this._maxNode(this._cursor.left);return null!==this._cursor?this._cursor.data:null},e.prototype._minNode=function(e){for(;null!==e.left;)this._ancestors.push(e),e=e.left;this._cursor=e},e.prototype._maxNode=function(e){for(;null!==e.right;)this._ancestors.push(e),e=e.right;this._cursor=e},e}();e.Iterator=r;var o=function(){function e(e){this.data=e,this.left=null,this.right=null,this.red=!0}return e.prototype.get_child=function(e){return e?this.right:this.left},e.prototype.set_child=function(e,t){e?this.right=t:this.left=t},e}();e.RBTree=function(e){function t(t){var n=e.call(this)||this;return n._root=null,n._comparator=t,n.size=0,n}return n(t,e),t.prototype.insert=function(e){var n=!1;if(null===this._root)this._root=new o(e),n=!0,this.size++;else{var i=new o(void 0),r=!1,a=!1,s=null,l=i,c=null,d=this._root;for(l.right=this._root;;){if(null===d?(d=new o(e),c.set_child(r,d),n=!0,this.size++):t.is_red(d.left)&&t.is_red(d.right)&&(d.red=!0,d.left.red=!1,d.right.red=!1),t.is_red(d)&&t.is_red(c)){var u=l.right===s;d===c.get_child(a)?l.set_child(u,t.single_rotate(s,!a)):l.set_child(u,t.double_rotate(s,!a))}var h=this._comparator(d.data,e);if(0===h)break;a=r,null!==s&&(l=s),s=c,c=d,d=d.get_child(r=h<0)}this._root=i.right}return this._root.red=!1,n},t.prototype.remove=function(e){if(null===this._root)return!1;var n=new o(void 0),i=n;i.right=this._root;for(var r=null,a=null,s=null,l=!0;null!==i.get_child(l);){var c=l;a=r,r=i,i=i.get_child(l);var d=this._comparator(e,i.data);if(l=d>0,0===d&&(s=i),!t.is_red(i)&&!t.is_red(i.get_child(l)))if(t.is_red(i.get_child(!l))){var u=t.single_rotate(i,l);r.set_child(c,u),r=u}else if(!t.is_red(i.get_child(!l))){var h=r.get_child(!c);if(null!==h)if(t.is_red(h.get_child(!c))||t.is_red(h.get_child(c))){var f=a.right===r;t.is_red(h.get_child(c))?a.set_child(f,t.double_rotate(r,c)):t.is_red(h.get_child(!c))&&a.set_child(f,t.single_rotate(r,c));var p=a.get_child(f);p.red=!0,i.red=!0,p.left.red=!1,p.right.red=!1}else r.red=!1,h.red=!0,i.red=!0}}return null!==s&&(s.data=i.data,r.set_child(r.right===i,i.get_child(null===i.left)),this.size--),this._root=n.right,null!==this._root&&(this._root.red=!1),null!==s},t.is_red=function(e){return null!==e&&e.red},t.single_rotate=function(e,t){var n=e.get_child(!t);return e.set_child(!t,n.get_child(t)),n.set_child(t,e),e.red=!0,n.red=!1,n},t.double_rotate=function(e,n){return e.set_child(!n,t.single_rotate(e.get_child(!n),!n)),t.single_rotate(e,n)},t}(i)})),Ah=A((e=>{var t,n=e&&e.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)});Object.defineProperty(e,"__esModule",{value:!0});var i=Th(),r=Nh();function o(e){return e.bounds=void 0!==e.leaves?e.leaves.reduce((function(e,t){return t.bounds.union(e)}),a.empty()):a.empty(),void 0!==e.groups&&(e.bounds=e.groups.reduce((function(e,t){return o(t).union(e)}),e.bounds)),e.bounds=e.bounds.inflate(e.padding),e.bounds}e.computeGroupBounds=o;var a=function(){function e(e,t,n,i){this.x=e,this.X=t,this.y=n,this.Y=i}return e.empty=function(){return new e(Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY)},e.prototype.cx=function(){return(this.x+this.X)/2},e.prototype.cy=function(){return(this.y+this.Y)/2},e.prototype.overlapX=function(e){var t=this.cx(),n=e.cx();return t<=n&&e.x<this.X?this.X-e.x:n<=t&&this.x<e.X?e.X-this.x:0},e.prototype.overlapY=function(e){var t=this.cy(),n=e.cy();return t<=n&&e.y<this.Y?this.Y-e.y:n<=t&&this.y<e.Y?e.Y-this.y:0},e.prototype.setXCentre=function(e){var t=e-this.cx();this.x+=t,this.X+=t},e.prototype.setYCentre=function(e){var t=e-this.cy();this.y+=t,this.Y+=t},e.prototype.width=function(){return this.X-this.x},e.prototype.height=function(){return this.Y-this.y},e.prototype.union=function(t){return new e(Math.min(this.x,t.x),Math.max(this.X,t.X),Math.min(this.y,t.y),Math.max(this.Y,t.Y))},e.prototype.lineIntersections=function(t,n,i,r){for(var o=[[this.x,this.y,this.X,this.y],[this.X,this.y,this.X,this.Y],[this.X,this.Y,this.x,this.Y],[this.x,this.Y,this.x,this.y]],a=[],s=0;s<4;++s){var l=e.lineIntersection(t,n,i,r,o[s][0],o[s][1],o[s][2],o[s][3]);null!==l&&a.push({x:l.x,y:l.y})}return a},e.prototype.rayIntersection=function(e,t){var n=this.lineIntersections(this.cx(),this.cy(),e,t);return n.length>0?n[0]:null},e.prototype.vertices=function(){return[{x:this.x,y:this.y},{x:this.X,y:this.y},{x:this.X,y:this.Y},{x:this.x,y:this.Y}]},e.lineIntersection=function(e,t,n,i,r,o,a,s){var l=n-e,c=a-r,d=i-t,u=s-o,h=u*l-c*d;if(0==h)return null;var f=e-r,p=t-o,g=(c*p-u*f)/h,v=(l*p-d*f)/h;return g>=0&&g<=1&&v>=0&&v<=1?{x:e+g*l,y:t+g*d}:null},e.prototype.inflate=function(t){return new e(this.x-t,this.X+t,this.y-t,this.Y+t)},e}();e.Rectangle=a,e.makeEdgeBetween=function(e,t,n){var i=e.rayIntersection(t.cx(),t.cy())||{x:e.cx(),y:e.cy()},r=t.rayIntersection(e.cx(),e.cy())||{x:t.cx(),y:t.cy()},o=r.x-i.x,a=r.y-i.y,s=Math.sqrt(o*o+a*a),l=s-n;return{sourceIntersection:i,targetIntersection:r,arrowStart:{x:i.x+l*o/s,y:i.y+l*a/s}}},e.makeEdgeTo=function(e,t,n){var i=t.rayIntersection(e.x,e.y);i||(i={x:t.cx(),y:t.cy()});var r=i.x-e.x,o=i.y-e.y,a=Math.sqrt(r*r+o*o);return{x:i.x-n*r/a,y:i.y-n*o/a}};var s=function(e,t,n){this.v=e,this.r=t,this.pos=n,this.prev=d(),this.next=d()},l=function(e,t,n){this.isOpen=e,this.v=t,this.pos=n};function c(e,t){return e.pos>t.pos?1:e.pos<t.pos||e.isOpen?-1:t.isOpen?1:0}function d(){return new r.RBTree((function(e,t){return e.pos-t.pos}))}var u={getCentre:function(e){return e.cx()},getOpen:function(e){return e.y},getClose:function(e){return e.Y},getSize:function(e){return e.width()},makeRect:function(e,t,n,i){return new a(n-i/2,n+i/2,e,t)},findNeighbours:function(e,t){var n=function(n,i){for(var r,o=t.findIter(e);null!==(r=o[n]());){var a=r.r.overlapX(e.r);if((a<=0||a<=r.r.overlapY(e.r))&&(e[n].insert(r),r[i].insert(e)),a<=0)break}};n("next","prev"),n("prev","next")}},h={getCentre:function(e){return e.cy()},getOpen:function(e){return e.x},getClose:function(e){return e.X},getSize:function(e){return e.height()},makeRect:function(e,t,n,i){return new a(e,t,n-i/2,n+i/2)},findNeighbours:function(e,t){var n=function(n,i){var r=t.findIter(e)[n]();null!==r&&r.r.overlapX(e.r)>0&&(e[n].insert(r),r[i].insert(e))};n("next","prev"),n("prev","next")}};function f(e,t,n,i){void 0===i&&(i=!1);var r=e.padding,o=void 0!==e.groups?e.groups.length:0,a=void 0!==e.leaves?e.leaves.length:0,s=o?e.groups.reduce((function(e,i){return e.concat(f(i,t,n,!0))}),[]):[],l=(i?2:0)+a+o,c=new Array(l),d=new Array(l),u=0,h=function(e,t){d[u]=e,c[u++]=t};if(i){var g=e.bounds,v=t.getCentre(g),m=t.getSize(g)/2,b=t.getOpen(g),w=t.getClose(g),y=v-m+r/2,_=v+m-r/2;e.minVar.desiredPosition=y,h(t.makeRect(b,w,y,r),e.minVar),e.maxVar.desiredPosition=_,h(t.makeRect(b,w,_,r),e.maxVar)}a&&e.leaves.forEach((function(e){return h(e.bounds,e.variable)})),o&&e.groups.forEach((function(e){var n=e.bounds;h(t.makeRect(t.getOpen(n),t.getClose(n),t.getCentre(n),t.getSize(n)),e.minVar)}));var k=p(d,c,t,n);return o&&(c.forEach((function(e){e.cOut=[],e.cIn=[]})),k.forEach((function(e){e.left.cOut.push(e),e.right.cIn.push(e)})),e.groups.forEach((function(e){var n=(e.padding-t.getSize(e.bounds))/2;e.minVar.cIn.forEach((function(e){return e.gap+=n})),e.minVar.cOut.forEach((function(t){t.left=e.maxVar,t.gap+=n}))}))),s.concat(k)}function p(e,t,n,r){var o,a=e.length,u=2*a;console.assert(t.length>=a);var h=new Array(u);for(o=0;o<a;++o){var f=e[o],p=new s(t[o],f,n.getCentre(f));h[o]=new l(!0,p,n.getOpen(f)),h[o+a]=new l(!1,p,n.getClose(f))}h.sort(c);var g=new Array,v=d();for(o=0;o<u;++o){var m=h[o];if(p=m.v,m.isOpen)v.insert(p),n.findNeighbours(p,v);else{v.remove(p);var b=function(e,t){var o=(n.getSize(e.r)+n.getSize(t.r))/2+r;g.push(new i.Constraint(e.v,t.v,o))},w=function(e,t,n){for(var i,r=p[e].iterator();null!==(i=r[e]());)n(i,p),i[t].remove(p)};w("prev","next",(function(e,t){return b(e,t)})),w("next","prev",(function(e,t){return b(t,e)}))}}return console.assert(0===v.size),g}function g(e,t){return p(e,t,u,1e-6)}function v(e,t){return p(e,t,h,1e-6)}function m(e){return f(e,u,1e-6)}function b(e){return f(e,h,1e-6)}e.generateXConstraints=g,e.generateYConstraints=v,e.generateXGroupConstraints=m,e.generateYGroupConstraints=b,e.removeOverlaps=function(e){var t=e.map((function(e){return new i.Variable(e.cx())})),n=g(e,t),r=new i.Solver(t,n);r.solve(),t.forEach((function(t,n){return e[n].setXCentre(t.position())})),t=e.map((function(e){return new i.Variable(e.cy())})),n=v(e,t),(r=new i.Solver(t,n)).solve(),t.forEach((function(t,n){return e[n].setYCentre(t.position())}))};var w=function(e){function t(t,n){var i=e.call(this,0,n)||this;return i.index=t,i}return n(t,e),t}(i.Variable);e.IndexedVariable=w,e.Projection=function(){function e(e,t,n,i,r){void 0===n&&(n=null),void 0===i&&(i=null),void 0===r&&(r=!1);var s=this;if(this.nodes=e,this.groups=t,this.rootGroup=n,this.avoidOverlaps=r,this.variables=e.map((function(e,t){return e.variable=new w(t,1)})),i&&this.createConstraints(i),r&&n&&void 0!==n.groups){e.forEach((function(e){if(e.width&&e.height){var t=e.width/2,n=e.height/2;e.bounds=new a(e.x-t,e.x+t,e.y-n,e.y+n)}else e.bounds=new a(e.x,e.x,e.y,e.y)})),o(n);var l=e.length;t.forEach((function(e){s.variables[l]=e.minVar=new w(l++,void 0!==e.stiffness?e.stiffness:.01),s.variables[l]=e.maxVar=new w(l++,void 0!==e.stiffness?e.stiffness:.01)}))}}return e.prototype.createSeparation=function(e){return new i.Constraint(this.nodes[e.left].variable,this.nodes[e.right].variable,e.gap,void 0!==e.equality&&e.equality)},e.prototype.makeFeasible=function(e){var t=this;if(this.avoidOverlaps){var n="x",i="width";"x"===e.axis&&(n="y",i="height");var r=e.offsets.map((function(e){return t.nodes[e.node]})).sort((function(e,t){return e[n]-t[n]})),o=null;r.forEach((function(e){if(o){var t=o[n]+o[i];t>e[n]&&(e[n]=t)}o=e}))}},e.prototype.createAlignment=function(e){var t=this,n=this.nodes[e.offsets[0].node].variable;this.makeFeasible(e);var r="x"===e.axis?this.xConstraints:this.yConstraints;e.offsets.slice(1).forEach((function(e){r.push(new i.Constraint(n,t.nodes[e.node].variable,e.offset,!0))}))},e.prototype.createConstraints=function(e){var t=this,n=function(e){return void 0===e.type||"separation"===e.type};this.xConstraints=e.filter((function(e){return"x"===e.axis&&n(e)})).map((function(e){return t.createSeparation(e)})),this.yConstraints=e.filter((function(e){return"y"===e.axis&&n(e)})).map((function(e){return t.createSeparation(e)})),e.filter((function(e){return"alignment"===e.type})).forEach((function(e){return t.createAlignment(e)}))},e.prototype.setupVariablesAndBounds=function(e,t,n,i){this.nodes.forEach((function(r,o){r.fixed?(r.variable.weight=r.fixedWeight?r.fixedWeight:1e3,n[o]=i(r)):r.variable.weight=1;var s=(r.width||0)/2,l=(r.height||0)/2,c=e[o],d=t[o];r.bounds=new a(c-s,c+s,d-l,d+l)}))},e.prototype.xProject=function(e,t,n){(this.rootGroup||this.avoidOverlaps||this.xConstraints)&&this.project(e,t,e,n,(function(e){return e.px}),this.xConstraints,m,(function(e){return e.bounds.setXCentre(n[e.variable.index]=e.variable.position())}),(function(e){var t=n[e.minVar.index]=e.minVar.position(),i=n[e.maxVar.index]=e.maxVar.position(),r=e.padding/2;e.bounds.x=t-r,e.bounds.X=i+r}))},e.prototype.yProject=function(e,t,n){(this.rootGroup||this.yConstraints)&&this.project(e,t,t,n,(function(e){return e.py}),this.yConstraints,b,(function(e){return e.bounds.setYCentre(n[e.variable.index]=e.variable.position())}),(function(e){var t=n[e.minVar.index]=e.minVar.position(),i=n[e.maxVar.index]=e.maxVar.position(),r=e.padding/2;e.bounds.y=t-r,e.bounds.Y=i+r}))},e.prototype.projectFunctions=function(){var e=this;return[function(t,n,i){return e.xProject(t,n,i)},function(t,n,i){return e.yProject(t,n,i)}]},e.prototype.project=function(e,t,n,i,r,a,s,l,c){this.setupVariablesAndBounds(e,t,i,r),this.rootGroup&&this.avoidOverlaps&&(o(this.rootGroup),a=a.concat(s(this.rootGroup))),this.solve(this.variables,a,n,i),this.nodes.forEach(l),this.rootGroup&&this.avoidOverlaps&&(this.groups.forEach(c),o(this.rootGroup))},e.prototype.solve=function(e,t,n,r){var o=new i.Solver(e,t);o.setStartingPositions(n),o.setDesiredPositions(r),o.solve()},e}()})),Ih=A((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=function(){function e(e){this.elem=e,this.subheaps=[]}return e.prototype.toString=function(e){for(var t="",n=!1,i=0;i<this.subheaps.length;++i){var r=this.subheaps[i];r.elem?(n&&(t+=","),t+=r.toString(e),n=!0):n=!1}return""!==t&&(t="("+t+")"),(this.elem?e(this.elem):"")+t},e.prototype.forEach=function(e){this.empty()||(e(this.elem,this),this.subheaps.forEach((function(t){return t.forEach(e)})))},e.prototype.count=function(){return this.empty()?0:1+this.subheaps.reduce((function(e,t){return e+t.count()}),0)},e.prototype.min=function(){return this.elem},e.prototype.empty=function(){return null==this.elem},e.prototype.contains=function(e){if(this===e)return!0;for(var t=0;t<this.subheaps.length;t++)if(this.subheaps[t].contains(e))return!0;return!1},e.prototype.isHeap=function(e){var t=this;return this.subheaps.every((function(n){return e(t.elem,n.elem)&&n.isHeap(e)}))},e.prototype.insert=function(t,n){return this.merge(new e(t),n)},e.prototype.merge=function(e,t){return this.empty()?e:e.empty()?this:t(this.elem,e.elem)?(this.subheaps.push(e),this):(e.subheaps.push(this),e)},e.prototype.removeMin=function(e){return this.empty()?null:this.mergePairs(e)},e.prototype.mergePairs=function(t){if(0==this.subheaps.length)return new e(null);if(1==this.subheaps.length)return this.subheaps[0];var n=this.subheaps.pop().merge(this.subheaps.pop(),t),i=this.mergePairs(t);return n.merge(i,t)},e.prototype.decreaseKey=function(t,n,i,r){var o=t.removeMin(r);t.elem=o.elem,t.subheaps=o.subheaps,null!==i&&null!==o.elem&&i(t.elem,t);var a=new e(n);return null!==i&&i(n,a),this.merge(a,r)},e}();e.PairingHeap=t,e.PriorityQueue=function(){function e(e){this.lessThan=e}return e.prototype.top=function(){return this.empty()?null:this.root.elem},e.prototype.push=function(){for(var e,n=[],i=0;i<arguments.length;i++)n[i]=arguments[i];for(var r,o=0;r=n[o];++o)e=new t(r),this.root=this.empty()?e:this.root.merge(e,this.lessThan);return e},e.prototype.empty=function(){return!this.root||!this.root.elem},e.prototype.isHeap=function(){return this.root.isHeap(this.lessThan)},e.prototype.forEach=function(e){this.root.forEach(e)},e.prototype.pop=function(){if(this.empty())return null;var e=this.root.min();return this.root=this.root.removeMin(this.lessThan),e},e.prototype.reduceKey=function(e,t,n){void 0===n&&(n=null),this.root=this.root.decreaseKey(e,t,n,this.lessThan)},e.prototype.toString=function(e){return this.root.toString(e)},e.prototype.count=function(){return this.root.count()},e}()})),Vh=A((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=Ih(),n=function(e,t){this.id=e,this.distance=t},i=function(e){this.id=e,this.neighbours=[]},r=function(e,t,n){this.node=e,this.prev=t,this.d=n};e.Calculator=function(){function e(e,t,r,o,a){this.n=e,this.es=t,this.neighbours=new Array(this.n);for(var s=this.n;s--;)this.neighbours[s]=new i(s);for(s=this.es.length;s--;){var l=this.es[s],c=r(l),d=o(l),u=a(l);this.neighbours[c].neighbours.push(new n(d,u)),this.neighbours[d].neighbours.push(new n(c,u))}}return e.prototype.DistanceMatrix=function(){for(var e=new Array(this.n),t=0;t<this.n;++t)e[t]=this.dijkstraNeighbours(t);return e},e.prototype.DistancesFromNode=function(e){return this.dijkstraNeighbours(e)},e.prototype.PathFromNodeToNode=function(e,t){return this.dijkstraNeighbours(e,t)},e.prototype.PathFromNodeToNodeWithPrevCost=function(e,n,i){var o=new t.PriorityQueue((function(e,t){return e.d<=t.d})),a=this.neighbours[e],s=new r(a,null,0),l={};for(o.push(s);!o.empty()&&(a=(s=o.pop()).node).id!==n;)for(var c=a.neighbours.length;c--;){var d=a.neighbours[c],u=this.neighbours[d.id];if(!s.prev||u.id!==s.prev.node.id){var h=u.id+","+a.id;if(!(h in l&&l[h]<=s.d)){var f=s.prev?i(s.prev.node.id,a.id,u.id):0,p=s.d+d.distance+f;l[h]=p,o.push(new r(u,s,p))}}}for(var g=[];s.prev;)g.push((s=s.prev).node.id);return g},e.prototype.dijkstraNeighbours=function(e,n){void 0===n&&(n=-1);for(var i=new t.PriorityQueue((function(e,t){return e.d<=t.d})),r=this.neighbours.length,o=new Array(r);r--;){var a=this.neighbours[r];a.d=r===e?0:Number.POSITIVE_INFINITY,a.q=i.push(a)}for(;!i.empty();){var s=i.pop();if(o[s.id]=s.d,s.id===n){for(var l=[],c=s;void 0!==c.prev;)l.push(c.prev.id),c=c.prev;return l}for(r=s.neighbours.length;r--;){var d=s.neighbours[r],u=(c=this.neighbours[d.id],s.d+d.distance);s.d!==Number.MAX_VALUE&&c.d>u&&(c.d=u,c.prev=s,i.reduceKey(c.q,c,(function(e,t){return e.q=t})))}}return o},e}()})),Ph=A((e=>{var t,n=e&&e.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)});Object.defineProperty(e,"__esModule",{value:!0});var i=Ah(),r=function(){};e.Point=r;var o=function(e,t,n,i){this.x1=e,this.y1=t,this.x2=n,this.y2=i};function a(e,t,n){return(t.x-e.x)*(n.y-e.y)-(n.x-e.x)*(t.y-e.y)}function s(e,t,n){return a(e,t,n)>0}function l(e,t,n){return a(e,t,n)<0}function c(e,t){var n,i,r,o,a=t.length-1;if(l(e,t[1],t[0])&&!s(e,t[a-1],t[0]))return 0;for(n=0,i=a;;){if(i-n==1)return s(e,t[n],t[i])?n:i;if((o=l(e,t[(r=Math.floor((n+i)/2))+1],t[r]))&&!s(e,t[r-1],t[r]))return r;s(e,t[n+1],t[n])?o||s(e,t[n],t[r])?i=r:n=r:o&&l(e,t[n],t[r])?i=r:n=r}}function d(e,t){var n,i,r,o,a=t.length-1;if(s(e,t[a-1],t[0])&&!l(e,t[1],t[0]))return 0;for(n=0,i=a;;){if(i-n==1)return l(e,t[n],t[i])?n:i;if(o=l(e,t[(r=Math.floor((n+i)/2))+1],t[r]),s(e,t[r-1],t[r])&&!o)return r;l(e,t[n+1],t[n])?o?l(e,t[n],t[r])?i=r:n=r:i=r:o?n=r:s(e,t[n],t[r])?i=r:n=r}}function u(e,t,n,i,r,o){for(var a=n(t[0],e),s=i(e[a],t),l=!1;!l;){for(l=!0;a===e.length-1&&(a=0),!r(t[s],e[a],e[a+1]);)++a;for(;0===s&&(s=t.length-1),!o(e[a],t[s],t[s-1]);)--s,l=!1}return{t1:a,t2:s}}function h(e,t){return u(e,t,c,d,s,l)}e.LineSegment=o,e.PolyPoint=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return n(t,e),t}(r),e.isLeft=a,e.ConvexHull=function(e){var t,n=e.slice(0).sort((function(e,t){return e.x!==t.x?t.x-e.x:t.y-e.y})),i=e.length,r=n[0].x;for(t=1;t<i&&n[t].x===r;++t);var o=t-1,s=[];if(s.push(n[0]),o===i-1)n[o].y!==n[0].y&&s.push(n[o]);else{var l,c=i-1,d=n[i-1].x;for(t=i-2;t>=0&&n[t].x===d;t--);for(l=t+1,t=o;++t<=l;)if(!(a(n[0],n[l],n[t])>=0&&t<l)){for(;s.length>1&&!(a(s[s.length-2],s[s.length-1],n[t])>0);)s.length-=1;0!=t&&s.push(n[t])}c!=l&&s.push(n[c]);var u=s.length;for(t=l;--t>=o;)if(!(a(n[c],n[o],n[t])>=0&&t>o)){for(;s.length>u&&!(a(s[s.length-2],s[s.length-1],n[t])>0);)s.length-=1;0!=t&&s.push(n[t])}}return s},e.clockwiseRadialSweep=function(e,t,n){t.slice(0).sort((function(t,n){return Math.atan2(t.y-e.y,t.x-e.x)-Math.atan2(n.y-e.y,n.x-e.x)})).forEach(n)},e.tangent_PolyPolyC=u,e.LRtangent_PolyPolyC=function(e,t){var n=h(t,e);return{t1:n.t2,t2:n.t1}},e.RLtangent_PolyPolyC=h,e.LLtangent_PolyPolyC=function(e,t){return u(e,t,d,d,l,l)},e.RRtangent_PolyPolyC=function(e,t){return u(e,t,c,c,s,s)};var f=function(e,t){this.t1=e,this.t2=t};e.BiTangent=f;var p=function(){};e.BiTangents=p,e.TVGPoint=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return n(t,e),t}(r);var g=function(e,t,n,i){this.id=e,this.polyid=t,this.polyvertid=n,this.p=i,i.vv=this};e.VisibilityVertex=g;var v=function(){function e(e,t){this.source=e,this.target=t}return e.prototype.length=function(){var e=this.source.p.x-this.target.p.x,t=this.source.p.y-this.target.p.y;return Math.sqrt(e*e+t*t)},e}();function m(e,t){for(var n=[],r=1,o=t.length;r<o;++r){var a=i.Rectangle.lineIntersection(e.x1,e.y1,e.x2,e.y2,t[r-1].x,t[r-1].y,t[r].x,t[r].y);a&&n.push(a)}return n}function b(e,t){for(var n=e.length-1,i=t.length-1,r=new p,o=0;o<n;++o)for(var s=0;s<i;++s){var l=e[0==o?n-1:o-1],c=e[o],d=e[o+1],u=t[0==s?i-1:s-1],h=t[s],g=t[s+1],v=a(l,c,h),m=a(c,u,h),b=a(c,h,g),w=a(u,h,c),y=a(h,l,c),_=a(h,c,d);v>=0&&m>=0&&b<0&&w>=0&&y>=0&&_<0?r.ll=new f(o,s):v<=0&&m<=0&&b>0&&w<=0&&y<=0&&_>0?r.rr=new f(o,s):v<=0&&m>0&&b<=0&&w>=0&&y<0&&_>=0?r.rl=new f(o,s):v>=0&&m<0&&b>=0&&w<=0&&y>0&&_<=0&&(r.lr=new f(o,s))}return r}function w(e,t){return!e.every((function(e){return!function(e,t){for(var n=1,i=t.length;n<i;++n)if(l(t[n-1],t[n],e))return!1;return!0}(e,t)}))}e.VisibilityEdge=v,e.TangentVisibilityGraph=function(){function e(e,t){if(this.P=e,this.V=[],this.E=[],t)this.V=t.V.slice(0),this.E=t.E.slice(0);else{for(var n=e.length,i=0;i<n;i++){for(var r=e[i],o=0;o<r.length;++o){var a=new g(this.V.length,i,o,r[o]);this.V.push(a),o>0&&this.E.push(new v(r[o-1].vv,a))}r.length>1&&this.E.push(new v(r[0].vv,r[r.length-1].vv))}for(i=0;i<n-1;i++){var s=e[i];for(o=i+1;o<n;o++){var l=e[o],c=b(s,l);for(var d in c){var u=c[d];this.addEdgeIfVisible(s[u.t1],l[u.t2],i,o)}}}}}return e.prototype.addEdgeIfVisible=function(e,t,n,i){this.intersectsPolys(new o(e.x,e.y,t.x,t.y),n,i)||this.E.push(new v(e.vv,t.vv))},e.prototype.addPoint=function(e,t){var n,i,r,o=this.P.length;this.V.push(new g(this.V.length,o,0,e));for(var a=0;a<o;++a)if(a!==t){var s=this.P[a],l=(n=e,r=void 0,(r=(i=s).slice(0)).push(i[0]),{rtan:c(n,r),ltan:d(n,r)});this.addEdgeIfVisible(e,s[l.ltan],t,a),this.addEdgeIfVisible(e,s[l.rtan],t,a)}return e.vv},e.prototype.intersectsPolys=function(e,t,n){for(var i=0,r=this.P.length;i<r;++i)if(i!=t&&i!=n&&m(e,this.P[i]).length>0)return!0;return!1},e}(),e.tangents=b,e.polysOverlap=function(e,t){if(w(e,t))return!0;if(w(t,e))return!0;for(var n=1,i=e.length;n<i;++n){var r=e[n],a=e[n-1];if(m(new o(a.x,a.y,r.x,r.y),t).length>0)return!0}return!1}})),Hh=A((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=10,n=(1+Math.sqrt(5))/2,i=1e-4;e.applyPacking=function(e,r,o,a,s,l){void 0===s&&(s=1),void 0===l&&(l=!0);var c=r,d=o,u=(s=void 0!==s?s:1,a=void 0!==a?a:0,0),h=0,f=0,p=0,g=[];function v(e,t){g=[],u=0,h=0,p=0;for(var n=0;n<e.length;n++)m(e[n],t);return Math.abs(u/h-s)}function m(e,n){for(var r=void 0,o=0;o<g.length;o++)if(g[o].space_left>=e.height&&g[o].x+g[o].width+e.width+t-n<=i){r=g[o];break}g.push(e),void 0!==r?(e.x=r.x+r.width+t,e.y=r.bottom,e.space_left=e.height,e.bottom=e.y,r.space_left-=e.height+t,r.bottom+=e.height+t):(e.y=p,p+=e.height+t,e.x=0,e.bottom=e.y,e.space_left=e.height),e.y+e.height-h>-1e-4&&(h=e.y+e.height-0),e.x+e.width-u>-1e-4&&(u=e.x+e.width-0)}0!=e.length&&(function(e){e.forEach((function(e){var t,n,i,r,o;t=e,n=Number.MAX_VALUE,i=Number.MAX_VALUE,r=0,o=0,t.array.forEach((function(e){var t=void 0!==e.width?e.width:a,s=void 0!==e.height?e.height:a;t/=2,s/=2,r=Math.max(e.x+t,r),n=Math.min(e.x-t,n),o=Math.max(e.y+s,o),i=Math.min(e.y-s,i)})),t.width=r-n,t.height=o-i}))}(e),function(e){var r=Number.POSITIVE_INFINITY,o=0;e.sort((function(e,t){return t.height-e.height}));for(var a=g=f=e.reduce((function(e,t){return e.width<t.width?e.width:t.width})),s=m=function(e){var n=0;return e.forEach((function(e){return n+=e.width+t})),n}(e),l=0,c=Number.MAX_VALUE,d=Number.MAX_VALUE,u=-1,h=Number.MAX_VALUE,p=Number.MAX_VALUE;h>f||p>i;){if(1!=u){var g=s-(s-a)/n;c=v(e,g)}if(0!=u){var m=a+(s-a)/n;d=v(e,m)}if(h=Math.abs(g-m),p=Math.abs(c-d),c<r&&(r=c,o=g),d<r&&(r=d,o=m),c>d?(a=g,g=m,c=d,u=1):(s=m,m=g,d=c,u=0),l++>100)break}v(e,o)}(e),l&&function(e){e.forEach((function(e){var t={x:0,y:0};e.array.forEach((function(e){t.x+=e.x,t.y+=e.y})),t.x/=e.array.length,t.y/=e.array.length;var n=e.x-(t.x-e.width/2)+c/2-u/2,i=e.y-(t.y-e.height/2)+d/2-h/2;e.array.forEach((function(e){e.x+=n,e.y+=i}))}))}(e))},e.separateGraphs=function(e,t){for(var n={},i={},r=[],o=0,a=0;a<t.length;a++){var s=t[a],l=s.source,c=s.target;i[l.index]?i[l.index].push(c):i[l.index]=[c],i[c.index]?i[c.index].push(l):i[c.index]=[l]}for(a=0;a<e.length;a++){var d=e[a];n[d.index]||u(d,!0)}function u(e,t){if(void 0===n[e.index]){t&&(o++,r.push({array:[]})),n[e.index]=o,r[o-1].array.push(e);var a=i[e.index];if(a)for(var s=0;s<a.length;s++)u(a[s],!1)}}return r}})),Rh=A((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t,n=Eh(),i=zh(),r=$h(),o=Ah(),a=Vh(),s=Ph(),l=Hh();function c(e){return void 0!==e.leaves||void 0!==e.groups}!function(e){e[e.start=0]="start",e[e.tick=1]="tick",e[e.end=2]="end"}(t=e.EventType||(e.EventType={})),e.Layout=function(){function e(){var t=this;this._canvasSize=[1,1],this._linkDistance=20,this._defaultNodeSize=10,this._linkLengthCalculator=null,this._linkType=null,this._avoidOverlaps=!1,this._handleDisconnected=!0,this._running=!1,this._nodes=[],this._groups=[],this._rootGroup=null,this._links=[],this._constraints=[],this._distanceMatrix=null,this._descent=null,this._directedLinkConstraints=null,this._threshold=.01,this._visibilityGraph=null,this._groupCompactness=1e-6,this.event=null,this.linkAccessor={getSourceIndex:e.getSourceIndex,getTargetIndex:e.getTargetIndex,setLength:e.setLinkLength,getType:function(e){return"function"==typeof t._linkType?t._linkType(e):0}}}return e.prototype.on=function(e,n){return this.event||(this.event={}),"string"==typeof e?this.event[t[e]]=n:this.event[e]=n,this},e.prototype.trigger=function(e){this.event&&void 0!==this.event[e.type]&&this.event[e.type](e)},e.prototype.kick=function(){for(;!this.tick(););},e.prototype.tick=function(){if(this._alpha<this._threshold)return this._running=!1,this.trigger({type:t.end,alpha:this._alpha=0,stress:this._lastStress}),!0;var e,n,i=this._nodes.length;for(this._descent.locks.clear(),n=0;n<i;++n)(e=this._nodes[n]).fixed&&(void 0!==e.px&&void 0!==e.py||(e.px=e.x,e.py=e.y),this._descent.locks.add(n,[e.px,e.py]));var r=this._descent.rungeKutta();return 0===r?this._alpha=0:void 0!==this._lastStress&&(this._alpha=r),this._lastStress=r,this.updateNodePositions(),this.trigger({type:t.tick,alpha:this._alpha,stress:this._lastStress}),!1},e.prototype.updateNodePositions=function(){for(var e,t=this._descent.x[0],n=this._descent.x[1],i=this._nodes.length;i--;)(e=this._nodes[i]).x=t[i],e.y=n[i]},e.prototype.nodes=function(e){if(!e){if(0===this._nodes.length&&this._links.length>0){var t=0;this._links.forEach((function(e){t=Math.max(t,e.source,e.target)})),this._nodes=new Array(++t);for(var n=0;n<t;++n)this._nodes[n]={}}return this._nodes}return this._nodes=e,this},e.prototype.groups=function(e){var t=this;return e?(this._groups=e,this._rootGroup={},this._groups.forEach((function(e){void 0===e.padding&&(e.padding=1),void 0!==e.leaves&&e.leaves.forEach((function(n,i){"number"==typeof n&&((e.leaves[i]=t._nodes[n]).parent=e)})),void 0!==e.groups&&e.groups.forEach((function(n,i){"number"==typeof n&&((e.groups[i]=t._groups[n]).parent=e)}))})),this._rootGroup.leaves=this._nodes.filter((function(e){return void 0===e.parent})),this._rootGroup.groups=this._groups.filter((function(e){return void 0===e.parent})),this):this._groups},e.prototype.powerGraphGroups=function(e){var t=n.getGroups(this._nodes,this._links,this.linkAccessor,this._rootGroup);return this.groups(t.groups),e(t),this},e.prototype.avoidOverlaps=function(e){return arguments.length?(this._avoidOverlaps=e,this):this._avoidOverlaps},e.prototype.handleDisconnected=function(e){return arguments.length?(this._handleDisconnected=e,this):this._handleDisconnected},e.prototype.flowLayout=function(e,t){return arguments.length||(e="y"),this._directedLinkConstraints={axis:e,getMinSeparation:"number"==typeof t?function(){return t}:t},this},e.prototype.links=function(e){return arguments.length?(this._links=e,this):this._links},e.prototype.constraints=function(e){return arguments.length?(this._constraints=e,this):this._constraints},e.prototype.distanceMatrix=function(e){return arguments.length?(this._distanceMatrix=e,this):this._distanceMatrix},e.prototype.size=function(e){return e?(this._canvasSize=e,this):this._canvasSize},e.prototype.defaultNodeSize=function(e){return e?(this._defaultNodeSize=e,this):this._defaultNodeSize},e.prototype.groupCompactness=function(e){return e?(this._groupCompactness=e,this):this._groupCompactness},e.prototype.linkDistance=function(e){return e?(this._linkDistance="function"==typeof e?e:+e,this._linkLengthCalculator=null,this):this._linkDistance},e.prototype.linkType=function(e){return this._linkType=e,this},e.prototype.convergenceThreshold=function(e){return e?(this._threshold="function"==typeof e?e:+e,this):this._threshold},e.prototype.alpha=function(e){return arguments.length?(e=+e,this._alpha?this._alpha=e>0?e:0:e>0&&(this._running||(this._running=!0,this.trigger({type:t.start,alpha:this._alpha=e}),this.kick())),this):this._alpha},e.prototype.getLinkLength=function(e){return"function"==typeof this._linkDistance?+this._linkDistance(e):this._linkDistance},e.setLinkLength=function(e,t){e.length=t},e.prototype.getLinkType=function(e){return"function"==typeof this._linkType?this._linkType(e):0},e.prototype.symmetricDiffLinkLengths=function(e,t){var n=this;return void 0===t&&(t=1),this.linkDistance((function(t){return e*t.length})),this._linkLengthCalculator=function(){return i.symmetricDiffLinkLengths(n._links,n.linkAccessor,t)},this},e.prototype.jaccardLinkLengths=function(e,t){var n=this;return void 0===t&&(t=1),this.linkDistance((function(t){return e*t.length})),this._linkLengthCalculator=function(){return i.jaccardLinkLengths(n._links,n.linkAccessor,t)},this},e.prototype.start=function(t,n,s,l,c,d){var u=this;void 0===t&&(t=0),void 0===n&&(n=0),void 0===s&&(s=0),void 0===l&&(l=0),void 0===c&&(c=!0),void 0===d&&(d=!0);var h,f=this.nodes().length,p=f+2*this._groups.length,g=this._canvasSize[0],v=this._canvasSize[1],m=new Array(p),b=new Array(p),w=null,y=this._avoidOverlaps;this._nodes.forEach((function(e,t){e.index=t,void 0===e.x&&(e.x=g/2,e.y=v/2),m[t]=e.x,b[t]=e.y})),this._linkLengthCalculator&&this._linkLengthCalculator(),this._distanceMatrix?h=this._distanceMatrix:(h=new a.Calculator(p,this._links,e.getSourceIndex,e.getTargetIndex,(function(e){return u.getLinkLength(e)})).DistanceMatrix(),w=r.Descent.createSquareMatrix(p,(function(){return 2})),this._links.forEach((function(e){"number"==typeof e.source&&(e.source=u._nodes[e.source]),"number"==typeof e.target&&(e.target=u._nodes[e.target])})),this._links.forEach((function(t){var n=e.getSourceIndex(t),i=e.getTargetIndex(t);w[n][i]=w[i][n]=t.weight||1})));var _=r.Descent.createSquareMatrix(p,(function(e,t){return h[e][t]}));if(this._rootGroup&&void 0!==this._rootGroup.groups){var k=f;this._groups.forEach((function(){!function(e,t,n){w[e][t]=w[t][e]=n,_[e][t]=_[t][e]=.1}(k,k+1,u._groupCompactness),m[k]=0,b[k++]=0,m[k]=0,b[k++]=0}))}else this._rootGroup={leaves:this._nodes,groups:[]};var x=this._constraints||[];for(this._directedLinkConstraints&&(this.linkAccessor.getMinSeparation=this._directedLinkConstraints.getMinSeparation,x=x.concat(i.generateDirectedEdgeConstraints(f,this._links,this._directedLinkConstraints.axis,this.linkAccessor))),this.avoidOverlaps(!1),this._descent=new r.Descent([m,b],_),this._descent.locks.clear(),k=0;k<f;++k){var S=this._nodes[k];S.fixed&&(S.px=S.x,S.py=S.y,this._descent.locks.add(k,[S.x,S.y]))}if(this._descent.threshold=this._threshold,this.initialLayout(t,m,b),x.length>0&&(this._descent.project=new o.Projection(this._nodes,this._groups,this._rootGroup,x).projectFunctions()),this._descent.run(n),this.separateOverlappingComponents(g,v,d),this.avoidOverlaps(y),y&&(this._nodes.forEach((function(e,t){e.x=m[t],e.y=b[t]})),this._descent.project=new o.Projection(this._nodes,this._groups,this._rootGroup,x,!0).projectFunctions(),this._nodes.forEach((function(e,t){m[t]=e.x,b[t]=e.y}))),this._descent.G=w,this._descent.run(s),l){this._descent.snapStrength=1e3,this._descent.snapGridSize=this._nodes[0].width,this._descent.numGridSnapNodes=f,this._descent.scaleSnapByMaxH=f!=p;var C=r.Descent.createSquareMatrix(p,(function(e,t){return e>=f||t>=f?w[e][t]:0}));this._descent.G=C,this._descent.run(l)}return this.updateNodePositions(),this.separateOverlappingComponents(g,v,d),c?this.resume():this},e.prototype.initialLayout=function(t,n,i){if(this._groups.length>0&&t>0){var r=this._nodes.length,o=this._links.map((function(e){return{source:e.source.index,target:e.target.index}})),a=this._nodes.map((function(e){return{index:e.index}}));this._groups.forEach((function(e,t){a.push({index:e.index=r+t})})),this._groups.forEach((function(e){void 0!==e.leaves&&e.leaves.forEach((function(t){return o.push({source:e.index,target:t.index})})),void 0!==e.groups&&e.groups.forEach((function(t){return o.push({source:e.index,target:t.index})}))})),(new e).size(this.size()).nodes(a).links(o).avoidOverlaps(!1).linkDistance(this.linkDistance()).symmetricDiffLinkLengths(5).convergenceThreshold(1e-4).start(t,0,0,0,!1),this._nodes.forEach((function(e){n[e.index]=a[e.index].x,i[e.index]=a[e.index].y}))}else this._descent.run(t)},e.prototype.separateOverlappingComponents=function(e,t,n){var i=this;if(void 0===n&&(n=!0),!this._distanceMatrix&&this._handleDisconnected){var r=this._descent.x[0],o=this._descent.x[1];this._nodes.forEach((function(e,t){e.x=r[t],e.y=o[t]}));var a=l.separateGraphs(this._nodes,this._links);l.applyPacking(a,e,t,this._defaultNodeSize,1,n),this._nodes.forEach((function(e,t){i._descent.x[0][t]=e.x,i._descent.x[1][t]=e.y,e.bounds&&(e.bounds.setXCentre(e.x),e.bounds.setYCentre(e.y))}))}},e.prototype.resume=function(){return this.alpha(.1)},e.prototype.stop=function(){return this.alpha(0)},e.prototype.prepareEdgeRouting=function(e){void 0===e&&(e=0),this._visibilityGraph=new s.TangentVisibilityGraph(this._nodes.map((function(t){return t.bounds.inflate(-e).vertices()})))},e.prototype.routeEdge=function(e,t,n){void 0===t&&(t=5);var i=[],r=new s.TangentVisibilityGraph(this._visibilityGraph.P,{V:this._visibilityGraph.V,E:this._visibilityGraph.E}),l={x:e.source.x,y:e.source.y},c={x:e.target.x,y:e.target.y},d=r.addPoint(l,e.source.index),u=r.addPoint(c,e.target.index);r.addEdgeIfVisible(l,c,e.source.index,e.target.index),void 0!==n&&n(r);var h=new a.Calculator(r.V.length,r.E,(function(e){return e.source.id}),(function(e){return e.target.id}),(function(e){return e.length()})).PathFromNodeToNode(d.id,u.id);if(1===h.length||h.length===r.V.length){var f=o.makeEdgeBetween(e.source.innerBounds,e.target.innerBounds,t);i=[f.sourceIntersection,f.arrowStart]}else{for(var p=h.length-2,g=r.V[h[p]].p,v=r.V[h[0]].p,m=(i=[e.source.innerBounds.rayIntersection(g.x,g.y)],p);m>=0;--m)i.push(r.V[h[m]].p);i.push(o.makeEdgeTo(v,e.target.innerBounds,t))}return i},e.getSourceIndex=function(e){return"number"==typeof e.source?e.source:e.source.index},e.getTargetIndex=function(e){return"number"==typeof e.target?e.target:e.target.index},e.linkId=function(t){return e.getSourceIndex(t)+"-"+e.getTargetIndex(t)},e.dragStart=function(t){c(t)?e.storeOffset(t,e.dragOrigin(t)):(e.stopNode(t),t.fixed|=2)},e.stopNode=function(e){e.px=e.x,e.py=e.y},e.storeOffset=function(t,n){void 0!==t.leaves&&t.leaves.forEach((function(t){t.fixed|=2,e.stopNode(t),t._dragGroupOffsetX=t.x-n.x,t._dragGroupOffsetY=t.y-n.y})),void 0!==t.groups&&t.groups.forEach((function(t){return e.storeOffset(t,n)}))},e.dragOrigin=function(e){return c(e)?{x:e.bounds.cx(),y:e.bounds.cy()}:e},e.drag=function(t,n){c(t)?(void 0!==t.leaves&&t.leaves.forEach((function(e){t.bounds.setXCentre(n.x),t.bounds.setYCentre(n.y),e.px=e._dragGroupOffsetX+n.x,e.py=e._dragGroupOffsetY+n.y})),void 0!==t.groups&&t.groups.forEach((function(t){return e.drag(t,n)}))):(t.px=n.x,t.py=n.y)},e.dragEnd=function(t){c(t)?(void 0!==t.leaves&&t.leaves.forEach((function(t){e.dragEnd(t),delete t._dragGroupOffsetX,delete t._dragGroupOffsetY})),void 0!==t.groups&&t.groups.forEach(e.dragEnd)):t.fixed&=-7},e.mouseOver=function(e){e.fixed|=4,e.px=e.x,e.py=e.y},e.mouseOut=function(e){e.fixed&=-5},e}()})),Dh=A((e=>{var t,n=e&&e.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)});Object.defineProperty(e,"__esModule",{value:!0});var i=Rh(),r=function(e){function t(t){var n=e.call(this)||this,r=t;return r.trigger&&(n.trigger=r.trigger),r.kick&&(n.kick=r.kick),r.drag&&(n.drag=r.drag),r.on&&(n.on=r.on),n.dragstart=n.dragStart=i.Layout.dragStart,n.dragend=n.dragEnd=i.Layout.dragEnd,n}return n(t,e),t.prototype.trigger=function(){},t.prototype.kick=function(){},t.prototype.drag=function(){},t.prototype.on=function(){return this},t}(i.Layout);e.LayoutAdaptor=r,e.adaptor=function(e){return new r(e)}})),Bh=A((e=>{var t,n=e&&e.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)});Object.defineProperty(e,"__esModule",{value:!0});var i=Rh(),r=function(e){function t(){var t=e.call(this)||this;t.event=d3.dispatch(i.EventType[i.EventType.start],i.EventType[i.EventType.tick],i.EventType[i.EventType.end]);var n=t;return t.drag=function(){if(!e)var e=d3.behavior.drag().origin(i.Layout.dragOrigin).on("dragstart.d3adaptor",i.Layout.dragStart).on("drag.d3adaptor",(function(e){i.Layout.drag(e,d3.event),n.resume()})).on("dragend.d3adaptor",i.Layout.dragEnd);if(!arguments.length)return e;this.call(e)},t}return n(t,e),t.prototype.trigger=function(e){var t={type:i.EventType[e.type],alpha:e.alpha,stress:e.stress};this.event[t.type](t)},t.prototype.kick=function(){var t=this;d3.timer((function(){return e.prototype.tick.call(t)}))},t.prototype.on=function(e,t){return this.event.on("string"==typeof e?e:i.EventType[e],t),this},t}(i.Layout);e.D3StyleLayoutAdaptor=r,e.d3adaptor=function(){return new r}})),Oh=A((e=>{var t,n=e&&e.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)});Object.defineProperty(e,"__esModule",{value:!0});var i=Rh();e.D3StyleLayoutAdaptor=function(e){function t(t){var n=e.call(this)||this;n.d3Context=t,n.event=t.dispatch(i.EventType[i.EventType.start],i.EventType[i.EventType.tick],i.EventType[i.EventType.end]);var r=n;return n.drag=function(){if(!e)var e=t.drag().subject(i.Layout.dragOrigin).on("start.d3adaptor",i.Layout.dragStart).on("drag.d3adaptor",(function(e){i.Layout.drag(e,t.event),r.resume()})).on("end.d3adaptor",i.Layout.dragEnd);if(!arguments.length)return e;arguments[0].call(e)},n}return n(t,e),t.prototype.trigger=function(e){var t={type:i.EventType[e.type],alpha:e.alpha,stress:e.stress};this.event.call(t.type,t)},t.prototype.kick=function(){var t=this,n=this.d3Context.timer((function(){return e.prototype.tick.call(t)&&n.stop()}))},t.prototype.on=function(e,t){return this.event.on("string"==typeof e?e:i.EventType[e],t),this},t}(i.Layout)})),jh=A((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=Bh(),n=Oh();e.d3adaptor=function(e){return!e||function(e){return e.version&&null!==e.version.match(/^3\./)}(e)?new t.D3StyleLayoutAdaptor:new n.D3StyleLayoutAdaptor(e)}})),Fh=A((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=Ah(),n=Th(),i=Vh(),r=function(e,t,n){this.id=e,this.rect=t,this.children=n,this.leaf=void 0===n||0===n.length};e.NodeWrapper=r;var o=function(e,t,n,i,r){void 0===i&&(i=null),void 0===r&&(r=null),this.id=e,this.x=t,this.y=n,this.node=i,this.line=r};e.Vert=o;var a=function(){function e(t,n){this.s=t,this.t=n;var i=e.findMatch(t,n),r=n.slice(0).reverse(),o=e.findMatch(t,r);i.length>=o.length?(this.length=i.length,this.si=i.si,this.ti=i.ti,this.reversed=!1):(this.length=o.length,this.si=o.si,this.ti=n.length-o.ti-o.length,this.reversed=!0)}return e.findMatch=function(e,t){for(var n=e.length,i=t.length,r={length:0,si:-1,ti:-1},o=new Array(n),a=0;a<n;a++){o[a]=new Array(i);for(var s=0;s<i;s++)if(e[a]===t[s]){var l=o[a][s]=0===a||0===s?1:o[a-1][s-1]+1;l>r.length&&(r.length=l,r.si=a-l+1,r.ti=s-l+1)}else o[a][s]=0}return r},e.prototype.getSequence=function(){return this.length>=0?this.s.slice(this.si,this.si+this.length):[]},e}();e.LongestCommonSubsequence=a,e.GridRouter=function(){function e(e,n,i){void 0===i&&(i=12);var a=this;this.originalnodes=e,this.groupPadding=i,this.leaves=null,this.nodes=e.map((function(e,t){return new r(t,n.getBounds(e),n.getChildren(e))})),this.leaves=this.nodes.filter((function(e){return e.leaf})),this.groups=this.nodes.filter((function(e){return!e.leaf})),this.cols=this.getGridLines("x"),this.rows=this.getGridLines("y"),this.groups.forEach((function(e){return e.children.forEach((function(t){return a.nodes[t].parent=e}))})),this.root={children:[]},this.nodes.forEach((function(e){void 0===e.parent&&(e.parent=a.root,a.root.children.push(e.id)),e.ports=[]})),this.backToFront=this.nodes.slice(0),this.backToFront.sort((function(e,t){return a.getDepth(e)-a.getDepth(t)})),this.backToFront.slice(0).reverse().filter((function(e){return!e.leaf})).forEach((function(e){var n=t.Rectangle.empty();e.children.forEach((function(e){return n=n.union(a.nodes[e].rect)})),e.rect=n.inflate(a.groupPadding)}));var s=this.midPoints(this.cols.map((function(e){return e.pos}))),l=this.midPoints(this.rows.map((function(e){return e.pos}))),c=s[0],d=s[s.length-1],u=l[0],h=l[l.length-1],f=this.rows.map((function(e){return{x1:c,x2:d,y1:e.pos,y2:e.pos}})).concat(l.map((function(e){return{x1:c,x2:d,y1:e,y2:e}}))),p=this.cols.map((function(e){return{x1:e.pos,x2:e.pos,y1:u,y2:h}})).concat(s.map((function(e){return{x1:e,x2:e,y1:u,y2:h}}))),g=f.concat(p);g.forEach((function(e){return e.verts=[]})),this.verts=[],this.edges=[],f.forEach((function(e){return p.forEach((function(t){var n=new o(a.verts.length,t.x1,e.y1);e.verts.push(n),t.verts.push(n),a.verts.push(n);for(var i=a.backToFront.length;i-- >0;){var r=a.backToFront[i],s=r.rect,l=Math.abs(n.x-s.cx()),c=Math.abs(n.y-s.cy());if(l<s.width()/2&&c<s.height()/2){n.node=r;break}}}))})),g.forEach((function(e){a.nodes.forEach((function(t){t.rect.lineIntersections(e.x1,e.y1,e.x2,e.y2).forEach((function(n){var i=new o(a.verts.length,n.x,n.y,t,e);a.verts.push(i),e.verts.push(i),t.ports.push(i)}))}));var t=Math.abs(e.y1-e.y2)<.1,n=function(e,n){return t?n.x-e.x:n.y-e.y};e.verts.sort(n);for(var i=1;i<e.verts.length;i++){var r=e.verts[i-1],s=e.verts[i];r.node&&r.node===s.node&&r.node.leaf||a.edges.push({source:r.id,target:s.id,length:Math.abs(n(r,s))})}}))}return e.prototype.avg=function(e){return e.reduce((function(e,t){return e+t}))/e.length},e.prototype.getGridLines=function(e){for(var t=[],n=this.leaves.slice(0,this.leaves.length);n.length>0;){var i=n.filter((function(t){return t.rect["overlap"+e.toUpperCase()](n[0].rect)})),r={nodes:i,pos:this.avg(i.map((function(t){return t.rect["c"+e]()})))};t.push(r),r.nodes.forEach((function(e){return n.splice(n.indexOf(e),1)}))}return t.sort((function(e,t){return e.pos-t.pos})),t},e.prototype.getDepth=function(e){for(var t=0;e.parent!==this.root;)t++,e=e.parent;return t},e.prototype.midPoints=function(e){for(var t=e[1]-e[0],n=[e[0]-t/2],i=1;i<e.length;i++)n.push((e[i]+e[i-1])/2);return n.push(e[e.length-1]+t/2),n},e.prototype.findLineage=function(e){var t=[e];do{t.push(e=e.parent)}while(e!==this.root);return t.reverse()},e.prototype.findAncestorPathBetween=function(e,t){for(var n=this.findLineage(e),i=this.findLineage(t),r=0;n[r]===i[r];)r++;return{commonAncestor:n[r-1],lineages:n.slice(r).concat(i.slice(r))}},e.prototype.siblingObstacles=function(e,t){var n=this,i=this.findAncestorPathBetween(e,t),r={};i.lineages.forEach((function(e){return r[e.id]={}}));var o=i.commonAncestor.children.filter((function(e){return!(e in r)}));return i.lineages.filter((function(e){return e.parent!==i.commonAncestor})).forEach((function(e){return o=o.concat(e.parent.children.filter((function(t){return t!==e.id})))})),o.map((function(e){return n.nodes[e]}))},e.getSegmentSets=function(e,t){for(var n=[],i=0;i<e.length;i++)for(var r=e[i],o=0;o<r.length;o++)(c=r[o]).edgeid=i,c.i=o,Math.abs(c[1][t]-c[0][t])<.1&&n.push(c);n.sort((function(e,n){return e[0][t]-n[0][t]}));for(var a=[],s=null,l=0;l<n.length;l++){var c=n[l];(!s||Math.abs(c[0][t]-s.pos)>.1)&&a.push(s={pos:c[0][t],segments:[]}),s.segments.push(c)}return a},e.nudgeSegs=function(e,t,i,r,o,a){var s=r.length;if(!(s<=1)){for(var l=r.map((function(t){return new n.Variable(t[0][e])})),c=[],d=0;d<s;d++)for(var u=0;u<s;u++)if(d!==u){var h=r[d],f=h.edgeid,p=r[u].edgeid,g=-1,v=-1;"x"==e?o(f,p)&&(h[0][t]<h[1][t]?(g=u,v=d):(g=d,v=u)):o(f,p)&&(h[0][t]<h[1][t]?(g=d,v=u):(g=u,v=d)),g>=0&&c.push(new n.Constraint(l[g],l[v],a))}new n.Solver(l,c).solve(),l.forEach((function(t,n){var o=r[n],a=t.position();o[0][e]=o[1][e]=a;var s=i[o.edgeid];o.i>0&&(s[o.i-1][1][e]=a),o.i<s.length-1&&(s[o.i+1][0][e]=a)}))}},e.nudgeSegments=function(t,n,i,r,o){for(var a=e.getSegmentSets(t,n,i),s=0;s<a.length;s++){for(var l=a[s],c=[],d=0;d<l.segments.length;d++){var u=l.segments[d];c.push({type:0,s:u,pos:Math.min(u[0][i],u[1][i])}),c.push({type:1,s:u,pos:Math.max(u[0][i],u[1][i])})}c.sort((function(e,t){return e.pos-t.pos+e.type-t.type}));var h=[],f=0;c.forEach((function(a){0===a.type?(h.push(a.s),f++):f--,0==f&&(e.nudgeSegs(n,i,t,h,r,o),h=[])}))}},e.prototype.routeEdges=function(t,n,i,r){var o=this,a=t.map((function(e){return o.route(i(e),r(e))})),s=e.orderEdges(a),l=a.map((function(t){return e.makeSegments(t)}));return e.nudgeSegments(l,"x","y",s,n),e.nudgeSegments(l,"y","x",s,n),e.unreverseEdges(l,a),l},e.unreverseEdges=function(e,t){e.forEach((function(e,n){t[n].reversed&&(e.reverse(),e.forEach((function(e){e.reverse()})))}))},e.angleBetween2Lines=function(e,t){var n=Math.atan2(e[0].y-e[1].y,e[0].x-e[1].x),i=Math.atan2(t[0].y-t[1].y,t[0].x-t[1].x),r=n-i;return(r>Math.PI||r<-Math.PI)&&(r=i-n),r},e.isLeft=function(e,t,n){return(t.x-e.x)*(n.y-e.y)-(t.y-e.y)*(n.x-e.x)<=0},e.getOrder=function(e){for(var t={},n=0;n<e.length;n++){var i=e[n];void 0===t[i.l]&&(t[i.l]={}),t[i.l][i.r]=!0}return function(e,n){return void 0!==t[e]&&t[e][n]}},e.orderEdges=function(t){for(var n=[],i=0;i<t.length-1;i++)for(var r=i+1;r<t.length;r++){var o,s,l,c=t[i],d=t[r],u=new a(c,d);0!==u.length&&(u.reversed&&(d.reverse(),d.reversed=!0,u=new a(c,d)),(u.si<=0||u.ti<=0)&&(u.si+u.length>=c.length||u.ti+u.length>=d.length)?n.push({l:i,r}):(u.si+u.length>=c.length||u.ti+u.length>=d.length?(o=c[u.si+1],l=c[u.si-1],s=d[u.ti-1]):(o=c[u.si+u.length-2],s=c[u.si+u.length],l=d[u.ti+u.length]),e.isLeft(o,s,l)?n.push({l:r,r:i}):n.push({l:i,r})))}return e.getOrder(n)},e.makeSegments=function(e){function t(e){return{x:e.x,y:e.y}}for(var n=function(e,t,n){return Math.abs((t.x-e.x)*(n.y-e.y)-(t.y-e.y)*(n.x-e.x))<.001},i=[],r=t(e[0]),o=1;o<e.length;o++){var a=t(e[o]),s=o<e.length-1?e[o+1]:null;s&&n(r,a,s)||(i.push([r,a]),r=a)}return i},e.prototype.route=function(e,t){var n=this,r=this.nodes[e],o=this.nodes[t];this.obstacles=this.siblingObstacles(r,o);var a={};this.obstacles.forEach((function(e){return a[e.id]=e})),this.passableEdges=this.edges.filter((function(e){var t=n.verts[e.source],i=n.verts[e.target];return!(t.node&&t.node.id in a||i.node&&i.node.id in a)}));for(var s=1;s<r.ports.length;s++)this.passableEdges.push({source:r.ports[0].id,target:r.ports[s].id,length:0});for(s=1;s<o.ports.length;s++)this.passableEdges.push({source:o.ports[0].id,target:o.ports[s].id,length:0});var l=new i.Calculator(this.verts.length,this.passableEdges,(function(e){return e.source}),(function(e){return e.target}),(function(e){return e.length})).PathFromNodeToNodeWithPrevCost(r.ports[0].id,o.ports[0].id,(function(e,t,i){var a=n.verts[e],s=n.verts[t],l=n.verts[i],c=Math.abs(l.x-a.x),d=Math.abs(l.y-a.y);return a.node===r&&a.node===s.node||s.node===o&&s.node===l.node?0:c>1&&d>1?1e3:0})).reverse().map((function(e){return n.verts[e]}));return l.push(this.nodes[o.id].ports[0]),l.filter((function(e,t){return!(t<l.length-1&&l[t+1].node===r&&e.node===r||t>0&&e.node===o&&l[t-1].node===o)}))},e.getRoutePath=function(t,n,i,r){var o,a,s,l,c,d={routepath:"M "+t[0][0].x+" "+t[0][0].y+" ",arrowpath:""};if(t.length>1)for(var u=0;u<t.length;u++){var h=(a=(o=t[u])[1].x)-o[0].x,f=(s=o[1].y)-o[0].y;if(u<t.length-1){Math.abs(h)>0?a-=h/Math.abs(h)*n:s-=f/Math.abs(f)*n,d.routepath+="L "+a+" "+s+" ";var p=t[u+1],g=p[0].x,v=p[0].y;h=p[1].x-g,f=p[1].y-v;var m,b,w=e.angleBetween2Lines(o,p)<0?1:0;Math.abs(h)>0?(m=g+h/Math.abs(h)*n,b=v):(m=g,b=v+f/Math.abs(f)*n);var y=Math.abs(m-a),_=Math.abs(b-s);d.routepath+="A "+y+" "+_+" 0 0 "+w+" "+m+" "+b+" "}else{var k=[a,s];Math.abs(h)>0?(l=[a-=h/Math.abs(h)*r,s+i],c=[a,s-i]):(l=[a+i,s-=f/Math.abs(f)*r],c=[a-i,s]),d.routepath+="L "+a+" "+s+" ",r>0&&(d.arrowpath="M "+k[0]+" "+k[1]+" L "+l[0]+" "+l[1]+" L "+c[0]+" "+c[1])}}else h=(a=(o=t[0])[1].x)-o[0].x,f=(s=o[1].y)-o[0].y,k=[a,s],Math.abs(h)>0?(l=[a-=h/Math.abs(h)*r,s+i],c=[a,s-i]):(l=[a+i,s-=f/Math.abs(f)*r],c=[a-i,s]),d.routepath+="L "+a+" "+s+" ",r>0&&(d.arrowpath="M "+k[0]+" "+k[1]+" L "+l[0]+" "+l[1]+" L "+c[0]+" "+c[1]);return d},e}()})),Uh=A((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=Vh(),n=$h(),i=Ah(),r=zh();e.Link3D=function(){function e(e,t){this.source=e,this.target=t}return e.prototype.actualLength=function(e){var t=this;return Math.sqrt(e.reduce((function(e,n){var i=n[t.target]-n[t.source];return e+i*i}),0))},e}(),e.Node3D=function(e,t,n){void 0===e&&(e=0),void 0===t&&(t=0),void 0===n&&(n=0),this.x=e,this.y=t,this.z=n},e.Layout3D=function(){function e(t,n,i){void 0===i&&(i=1);var r=this;this.nodes=t,this.links=n,this.idealLinkLength=i,this.constraints=null,this.useJaccardLinkLengths=!0,this.result=new Array(e.k);for(var o=0;o<e.k;++o)this.result[o]=new Array(t.length);t.forEach((function(t,n){for(var i=0,o=e.dims;i<o.length;i++){var a=o[i];void 0===t[a]&&(t[a]=Math.random())}r.result[0][n]=t.x,r.result[1][n]=t.y,r.result[2][n]=t.z}))}return e.prototype.linkLength=function(e){return e.actualLength(this.result)},e.prototype.start=function(e){var a=this;void 0===e&&(e=100);var s=this.nodes.length,l=new o;this.useJaccardLinkLengths&&r.jaccardLinkLengths(this.links,l,1.5),this.links.forEach((function(e){return e.length*=a.idealLinkLength}));var c=new t.Calculator(s,this.links,(function(e){return e.source}),(function(e){return e.target}),(function(e){return e.length})).DistanceMatrix(),d=n.Descent.createSquareMatrix(s,(function(e,t){return c[e][t]})),u=n.Descent.createSquareMatrix(s,(function(){return 2}));this.links.forEach((function(e){var t=e.source,n=e.target;return u[t][n]=u[n][t]=1})),this.descent=new n.Descent(this.result,d),this.descent.threshold=.001,this.descent.G=u,this.constraints&&(this.descent.project=new i.Projection(this.nodes,null,null,this.constraints).projectFunctions());for(var h=0;h<this.nodes.length;h++){var f=this.nodes[h];f.fixed&&this.descent.locks.add(h,[f.x,f.y,f.z])}return this.descent.run(e),this},e.prototype.tick=function(){this.descent.locks.clear();for(var e=0;e<this.nodes.length;e++){var t=this.nodes[e];t.fixed&&this.descent.locks.add(e,[t.x,t.y,t.z])}return this.descent.rungeKutta()},e.k=(e.dims=["x","y","z"]).length,e}();var o=function(){function e(){}return e.prototype.getSourceIndex=function(e){return e.source},e.prototype.getTargetIndex=function(e){return e.target},e.prototype.getLength=function(e){return e.length},e.prototype.setLength=function(e,t){e.length=t},e}()})),qh=A((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=Rh(),n=Fh();e.gridify=function(e,t,i,r){return e.cola.start(0,0,0,10,!1),function(e,t,i,r){e.forEach((function(e){e.routerNode={name:e.name,bounds:e.bounds.inflate(-i)}})),t.forEach((function(t){t.routerNode={bounds:t.bounds.inflate(-r),children:(void 0!==t.groups?t.groups.map((function(t){return e.length+t.id})):[]).concat(void 0!==t.leaves?t.leaves.map((function(e){return e.index})):[])}}));var o=e.concat(t).map((function(e,t){return e.routerNode.id=t,e.routerNode}));return new n.GridRouter(o,{getChildren:function(e){return e.children},getBounds:function(e){return e.bounds}},i-r)}(e.cola.nodes(),e.cola.groups(),i,r).routeEdges(e.powerGraph.powerEdges,t,(function(e){return e.source.routerNode.id}),(function(e){return e.target.routerNode.id}))},e.powerGraphGridLayout=function(e,n,i){var r;e.nodes.forEach((function(e,t){return e.index=t})),(new t.Layout).avoidOverlaps(!1).nodes(e.nodes).links(e.links).powerGraphGroups((function(e){(r=e).groups.forEach((function(e){return e.padding=i}))}));var o=e.nodes.length,a=[],s=e.nodes.slice(0);return s.forEach((function(e,t){return e.index=t})),r.groups.forEach((function(e){var t=e.index=e.id+o;s.push(e),void 0!==e.leaves&&e.leaves.forEach((function(e){return a.push({source:t,target:e.index})})),void 0!==e.groups&&e.groups.forEach((function(e){return a.push({source:t,target:e.id+o})}))})),r.powerEdges.forEach((function(e){a.push({source:e.source.index,target:e.target.index})})),(new t.Layout).size(n).nodes(s).links(a).avoidOverlaps(!1).linkDistance(30).symmetricDiffLinkLengths(5).convergenceThreshold(1e-4).start(100,0,0,0,!1),{cola:(new t.Layout).convergenceThreshold(.001).size(n).avoidOverlaps(!0).nodes(e.nodes).links(e.links).groupCompactness(1e-4).linkDistance(30).symmetricDiffLinkLengths(5).powerGraphGroups((function(e){(r=e).groups.forEach((function(e){e.padding=i}))})).start(50,0,100,0,!1),powerGraph:r}}})),Wh=I(A((e=>{function t(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),t(Dh()),t(jh()),t($h()),t(Ph()),t(Fh()),t(Hh()),t(Rh()),t(Uh()),t(zh()),t(Eh()),t(Ih()),t(Nh()),t(Ah()),t(Vh()),t(Th()),t(qh())}))());function Gh(e,t,n){const{preferredLinkLength:i=200,avoidOverlaps:r=!0}=n??{};return function(e,t){const n=new Map,o=[];for(const[i,r]of Object.entries(e.nodes)){const e=Object.hasOwn(t.bounds,i)?t.bounds[i]:void 0;n.set(i,{x:e?e.x:0,y:e?e.y:0,width:e?e.width:void 0,height:e?e.height:void 0,fixed:r.fixed?1:0})}for(const t of e.links){const e=n.get(t.source),i=n.get(t.target);e&&i&&o.push({source:e,target:i})}((e,t)=>{(new Wh.Layout).nodes(Array.from(e.values())).links(t).avoidOverlaps(r).convergenceThreshold(1e-9).jaccardLinkLengths(i).handleDisconnected(!0).start(30,0,10,void 0,!1)})(n,o);const a=Object.create(null);for(const[e,t]of n)a[e]={x:t.x,y:t.y,width:t.width??0,height:t.height??0};return{bounds:a}}(e,t)}function Zh(e,t,n){const{preferredLinkLength:i=200,padding:r={x:50,y:50}}=n??{},o=function(e,t){const n=Object.create(null);let i=1/0,r=1/0;for(const[t,{x:o,y:a,width:s,height:l}]of Object.entries(e.bounds)){const e=Math.max(s,l);i=Math.min(s?e/s:1,i),r=Math.min(l?e/l:1,r),n[t]={x:o,y:a,width:e,height:e}}const o=function(e,t){if(!t)return{state:e,unwrap:e=>e};const n=Object.create(null);for(const[i,{x:r,y:o,width:a,height:s}]of Object.entries(e.bounds))n[i]={x:r-t.x,y:o-t.y,width:a+2*t.x,height:s+2*t.y};return{state:{bounds:n},unwrap:e=>{const n=Object.create(null);for(const[i,{x:r,y:o,width:a,height:s}]of Object.entries(e.bounds))n[i]={x:r+t.x,y:o+t.y,width:a-2*t.x,height:s-2*t.y};return{bounds:n}}}}({bounds:n},t);return{state:o.state,unwrap:t=>{const n=o.unwrap(t),a=function(e){let t=1/0,n=1/0,i=-1/0,r=-1/0;for(const[o,{x:a,y:s,width:l,height:c}]of Object.entries(e.bounds))t=Math.min(t,a),n=Math.min(n,s),i=Math.max(i,a+l),r=Math.max(r,s+c);return{x:Number.isFinite(t)?t:0,y:Number.isFinite(n)?n:0,width:Number.isFinite(t)&&Number.isFinite(i)?i-t:0,height:Number.isFinite(n)&&Number.isFinite(r)?r-n:0}}(n),s=Object.create(null);for(const[t,o]of Object.entries(n.bounds)){const n=Object.hasOwn(e.bounds,t)?e.bounds[t]:void 0;s[t]={x:(o.x-a.x)/i+a.x,y:(o.y-a.y)/r+a.y,width:n?n.width:o.width,height:n?n.height:o.height}}return{bounds:s}}}}(Gh(e,t,{preferredLinkLength:i,avoidOverlaps:!1}),r),a=function(e){const t=new Map;for(const[n,{x:i,y:r,width:o,height:a}]of Object.entries(e.bounds))t.set(n,new Wh.Rectangle(i,i+o,r,r+a));Wh.removeOverlaps(Array.from(t.values()));const n=Object.create(null);for(const[i,{x:r,y:o}]of t){const t=Object.hasOwn(e.bounds,i)?e.bounds[i]:void 0;n[i]={x:r,y:o,width:t?t.width:0,height:t?t.height:0}}return{bounds:n}}(o.state),s=o.unwrap(a);return Promise.resolve(s)}var Kh;!function(e){e.EN="en",e.FR="fr"}(Kh||(Kh={}));const Xh={[Kh.FR]:{authoring_state:{"entity_action_delete.label":"supprimer","entity_action_delete.title":"Supprimer l'entité","entity_action_delete.title_disabled":"Impossible de supprimer l'entité","entity_action_discard.label":"annuler","entity_action_discard.title":"Annuler toutes les modifications de l'entité","entity_action_edit.label":"modifier","entity_action_edit.title":"Modifier l'entité","entity_action_edit.title_disabled":"Impossible de modifier l'entité","entity_add.label":"Nouveau","entity_change.label":"Modifier","entity_delete.label":"Supprimer","relation_action_discard.label":"annuler","relation_action_discard.title":"Annuler toutes les modifications de la relation","relation_add.label":"Nouveau","relation_change.label":"Modifier","relation_delete.label":"Supprimer"},classic_workspace:{"canvas.label":"Canevas","class_tree.heading":"Classes","connections.heading":"Connexions","instances.heading":"Instances"},commands:{"change_entity.title":"Modifier les données de l'entité","change_link_type_visibility.title":"Modifier la visibilité du type de lien","change_relation.title":"Modifier les données de la relation","collapse_element.title":"Réduire l'élément","expand_element.title":"Développer l'élément","place_elements_around.title":"Placer les éléments","restore_geometry.title":"Déplacer les éléments et les liens","restore_link_vertices.title":"Modifier les sommets du lien","restore_viewport.title":"Définir la zone d'affichage","set_element_state.title":"Modifier l'état de l'élément","set_entity_data.title":"Définir les données de l'élément d'entité","set_entity_group_items.title":"Définir les éléments du groupe d'entités","set_link_state.title":"Modifier l'état du lien","set_relation_data.title":"Définir les données du lien de relation","set_relation_group_items.title":"Définir les éléments du groupe de relations","transform_elements.title":"Redimensionner les éléments"},connections_menu:{"all_link.label":"Tous","breadcrumbs_root.label":"Types de liens","dialog.caption":"Connexions","entities.add_all":"Tout ajouter","entities.add_group":"Ajouter en tant que groupe","entities.add_selected":"Ajouter la sélection","entities.counter_label":"{{count}} sur {{total}}","entities.extra_label":" ({{value}})","entities.extra_title":"Entités supplémentaires","entities.missing_label":" ({{value}})","entities.missing_title":"Entités manquantes","entities.no_results":"Aucun résultat","entities.truncated_results":"Seules les {{limit}} premières entités sont affichées","entities.truncated_results_expand":"Seules les {{limit}} premières entités sont affichées,\ncliquez ici pour voir tous les résultats","input.placeholder":null,"link.both_navigate_title":"Naviguer vers tous les éléments connectés","link.both_title":"tous connectés","link.source_navigate_title":"Naviguer vers les éléments source « {{relation}} »","link.source_title":"source de « {{relation}} » {{relationIri}}","link.target_navigate_title":"Naviguer vers les éléments cible « {{target}} »","link.target_title":"cible de « {{relation}} » {{relationIri}}","link.move_to_filter.title":"Définir comme filtre dans le panneau Instances","links.no_results":"Aucun résultat","links.suggest_similar":"Vous cherchez probablement...","place_elements.command":"Ajouter les éléments connectés","select_all.label":"Tout sélectionner","select_all.title":"Sélectionner ou désélectionner toutes les entités","sort_alphabetically.title":"Trier par ordre alphabétique","sort_smart.title":"Tri intelligent"},data_diagram_model:{"add_element.command":"Ajouter un élément","add_link.command":"Ajouter un lien","create_links.command":"Créer des liens","group_entities.command":"Grouper les entités","import_layout.command":"Importer la disposition","regroup_relations.command":"Regrouper les relations","request_entities.command":"Demander les données des entités","request_relations.command":"Demander les relations entre les entités","remove_element.command":"Supprimer l'élément","remove_link.command":"Supprimer le lien","ungroup_entities.command":"Dégrouper les entités"},default_data_locale:{iri:"<{{value}}>",iri_blank:"(nœud anonyme)"},default_workspace:{"search_section_entities.label":"Entités","search_section_entities.title":"Recherche d'entités","search_section_entity_types.label":"Types","search_section_entity_types.title":"Hiérarchie des types d'entités","search_section_link_types.label":"Liens","search_section_link_types.title":"Types de relations sur le diagramme"},drop_on_canvas:{"drop.command":"Glisser-déposer sur le diagramme"},editor_controller:{"apply_authored_changes.command":"Appliquer les modifications au diagramme","discard_change.command":"Annuler la modification","entity_add.command":"Créer une nouvelle entité","entity_change.command":"Modifier l'entité","entity_delete.command":"Supprimer l'entité","relation_add.command":"Créer une nouvelle relation","relation_change.command":"Modifier la relation","relation_delete.command":"Supprimer la relation","relation_move_source.command":"Déplacer la source de la relation","relation_move_target.command":"Déplacer la cible de la relation","remove_items.command":"Supprimer les éléments du diagramme","set_authoring_state.command":"Créer, modifier ou supprimer des entités et des relations","validate_entity_failed.message":"Échec de la validation de l'entité"},forms:{"input_file.drag_hint":"Glissez des fichiers ici ou","input_file.remove_value.title":"Supprimer le fichier","input_file.select_files.label":"Sélectionner des fichiers","input_list.add_value.title":"Ajouter une valeur de propriété","input_list.remove_value.title":"Supprimer la valeur de propriété"},group_paginator:{"current_page.label":"{{page}} sur {{pageCount}}","go_next.title":"Aller à la page suivante","go_previous.title":"Aller à la page précédente","page_size.title":"Nombre d'éléments à afficher par page"},inline_entity:{title:"{{entity}} {{entityIri}}",title_extra:"Types : {{entityTypes}}"},link_action:{"delete_annotation.title":"Supprimer le lien d'annotation","delete_relation.title":"Supprimer la relation","delete_relation.title_disabled":"Impossible de supprimer la relation","edit_relation.title":"Modifier la relation","edit_relation.title_disabled":"Impossible de modifier la relation","rename_link.title":"Renommer le lien","move_relation.move_source_title":"Déplacer la source du lien","move_relation.move_target_title":"Déplacer la cible du lien","vertex.remove_title":"Supprimer le sommet"},navigator:{"toggle_collapse.title":"Réduire le navigateur","toggle_expand.title":"Développer le navigateur"},note_annotation:{"change_text.command":"Modifier le texte de l'annotation","style_align_center.title":"Centrer","style_align_left.title":"Aligner à gauche","style_align_right.title":"Aligner à droite","style_bold.title":"Gras","style_color_variant.title":"Variante de couleur : {{variant}}","style_italic.title":"Italique","style_strikethrough.title":"Barré","style_underline.title":"Souligné"},overlay_controller:{multiple_tasks_in_progress:"Plusieurs tâches sont en cours",unknown_error:"Une erreur inconnue s'est produite"},search_defaults:{empty_input_term:"Saisissez un terme à rechercher.","input.placeholder":"Rechercher...","input_clear.title":"Effacer la recherche","input_submit.title":"Rechercher",input_term_too_short:"Saisissez au moins {{termLength}} caractères pour rechercher.",no_results:"Aucun résultat trouvé."},search_element_types:{"drag_create.title":"Cliquez ou glissez pour créer une nouvelle entité de ce type","input.placeholder":null,no_results:"Aucun type d'élément trouvé.","refresh_progress.title":"Chargement de l'arborescence des types d'éléments",show_only_creatable:"Afficher uniquement les constructibles"},search_entities:{"add_group.label":"Ajouter en tant que groupe","add_group.title":"Placer les entités sélectionnées sur le canevas en tant que groupe","add_selected.label":"Ajouter la sélection","add_selected.title":"Placer les entités sélectionnées sur le canevas",criteria_has_type:"A le type {{entityType}}",criteria_connected:"Connecté à {{entity}}",criteria_connected_via:"Connecté à {{entity}} via {{relationType}}",criteria_connected_to_source:"Connecté à {{entity}} via {{relationType}} en tant que {{sourceIcon}} source",criteria_connected_to_target:"Connecté à {{entity}} via {{relationType}} en tant que {{targetIcon}} cible","input.placeholder":null,"place_elements.command":"Ajouter les éléments sélectionnés","query_progress.title":"Recherche d'entités en cours","show_more_results.label":"Afficher plus","show_more_results.title":"Charger plus de résultats"},search_link_types:{"add_to_filter.title":"Rechercher les éléments connectés via la relation",heading_connected:"Connecté aux entités sélectionnées",heading_connected_single:"Connecté à {{entity}}",heading_other:"Autres liens","input.placeholder":null,no_results:"Aucun lien trouvé.","switch.command":"Modifier la visibilité des types de liens","switch_all.label":"Tout basculer","switch_hidden.title":"Masquer les liens et les étiquettes","switch_visible.title":"Afficher les liens avec étiquettes","switch_without_label.title":"Afficher uniquement les lignes des liens (sans étiquettes)"},selection_action:{"add_to_filter.title":"Rechercher les éléments connectés","anchor.title":"Accéder à la ressource","annotate.defaultContent":"Annotation","annotate.title":"Ajouter une annotation à cet élément","connections.title":"Naviguer vers les éléments connectés","expand.collapse_command":"Réduire les éléments","expand.expand_command":"Développer les éléments","expand.title":"Développer les éléments sélectionnés pour révéler des propriétés supplémentaires","expand.title_single":"Développer un élément pour révéler des propriétés supplémentaires","establish_relation.title":"Établir un lien","establish_relation.title_disabled":"L'établissement d'un lien n'est pas autorisé pour cet élément","group.title":"Grouper les entités","group.title_ungroup":"Dégrouper les entités","layout.title":"Disposer les éléments sélectionnés avec l'algorithme à forces dirigées","remove.title":"Supprimer les éléments sélectionnés du diagramme","remove.title_new":"Annuler le nouvel élément","remove.title_single":"Supprimer un élément du diagramme","zoom_to_fit.title":"Ajuster le zoom aux éléments sélectionnés"},standard_element:{blank_node:"(nœud anonyme)",default_type:"Chose","delete.label":"Supprimer","delete.title":"Supprimer l'entité","delete.title_disabled":"Impossible de supprimer l'entité","edit.label":"Modifier","edit.title":"Modifier l'entité","edit.title_disabled":"Impossible de modifier l'entité","group_item.title":"{{entity}}\nIRI : {{entityIri}}\nTypes : {{entityTypes}}","iri.label":"IRI :","iri.label_modified":"IRI (modifié) :",no_properties:"aucune propriété","property.title":"{{property}} {{propertyIri}}","ungroup.title":"Dégrouper une entité"},standard_link:{"group_source.title":"{{value}} éléments source","group_source.value":"{{value}}","group_target.title":"{{value}} éléments cible","group_target.value":"{{value}}","label.title":"{{relation}} {{relationIri}}","property.title":"{{property}} {{propertyIri}}"},toolbar:{"menu_toggle.title":"Ouvrir le menu"},toolbar_action:{"clear_all.command":"Tout effacer","clear_all.title":"Supprimer tous les éléments et liens du diagramme","clear_all.label":"Tout effacer","export_print.label":"Imprimer","export_print.title":"Imprimer le diagramme","export_raster.label":"Exporter en PNG","export_raster.title":"Exporter le diagramme en image PNG","export_svg.label":"Exporter en SVG","export_svg.title":"Exporter le diagramme en image SVG","redo.label":"Rétablir","redo.title":"Rétablir la dernière commande annulée","redo.title_named":"Rétablir : {{command}}","save_authoring.title":"Appliquer les modifications du graphe","save_layout.title":"Enregistrer la disposition du diagramme","language_selector.title":"Sélectionner la langue des données (étiquettes, propriétés, etc.)","layout.label":"Disposition","layout.title":"Disposer le diagramme avec l'algorithme à forces dirigées","undo.label":"Annuler","undo.title":"Annuler la dernière commande","undo.title_named":"Annuler : {{command}}"},unified_search:{"input.placeholder":null,"input_clear.title":"Effacer","input_collapse.title":"Fermer"},visual_authoring:{"dialog.apply.label":"Appliquer","dialog.apply.title":"Appliquer les modifications","dialog.cancel.label":"Annuler","dialog.cancel.title":"Annuler la boîte de dialogue","edit_entity.dialog.apply.label":null,"edit_entity.dialog.apply.title":null,"edit_entity.dialog.caption":"Modifier l'entité","edit_entity.iri.label":"IRI","edit_entity.iri.placeholder":"IRI de l'entité","edit_relation.dialog.apply.label":null,"edit_relation.dialog.apply.title":null,"edit_relation.dialog.caption":"Modifier la relation","edit_relation.dialog.caption_new":"Établir une nouvelle relation","edit_relation.validation_progress.title":"Validation du type de lien sélectionné","find_or_create.connect_command":"Lier à une entité","find_or_create.create_command":"Créer une nouvelle entité","find_or_create.dialog.apply.label":null,"find_or_create.dialog.apply.title":null,"find_or_create.dialog.caption":"Établir une nouvelle connexion","find_or_create.loading.label":"Chargement de l'entité...","find_or_create.validation_progress.title":"Validation des types d'élément et de lien sélectionnés","property.label":"{{property}}","property.text_value.placeholder":"Valeur de la propriété","property.title":"{{property}} {{propertyIri}}","rename_link.dialog.apply.label":null,"rename_link.dialog.apply.title":null,"rename_link.dialog.caption":"Renommer le lien","rename_link.label.label":"Étiquette","select_entity.entity_type.label":"{{type}}","select_entity.input.placeholder":null,"select_entity.type.label":"Type d'entité","select_entity.type.placeholder":"Sélectionner le type d'entité","select_entity.results.aria_label":"Sélectionner un élément existant à placer sur le diagramme","select_entity.separator.label":"ou créer une nouvelle entité","select_entity.validation.error_required":"Requis.","select_relation.relation_type.label":"{{relation}} [{{source}} → {{target}}]","select_relation.type.label":"Type de relation","select_relation.type.placeholder":"Sélectionner le type de relation","select_relation.validation.error_duplicate":"La relation existe déjà.","select_relation.validation.error_required":"Requis."},workspace:{"group_entities.command":"Grouper les entités","perform_layout.task":"Calcul de la disposition du graphe","perform_layout.command":"Disposition du graphe","ungroup_entities.command":"Dégrouper les entités"},workspace_layout:{"toggle_collapse.title":"Réduire le panneau","toggle_expand.title":"Développer le panneau"},zoom_control:{"pointer_mode.title":"Basculer le mode de sélection :\nGlissez pour sélectionner, Maj + pointeur pour déplacer le canevas","zoom_in.title":"Zoom avant","zoom_out.title":"Zoom arrière","zoom_to_fit.title":"Ajuster à l'écran"}}};function Qh(e){const t=Xh[e];return t?[t]:[]}let Yh=null;function Jh(e){const{currentRepository:t,config:n,providerSettings:i}=e;return new Yi({endpointUrl:t,queryMethod:"POST",queryFunction:n.queryFunction},i)}function ef(e){const{language:t,initialDiagram:n,config:i}=e,{onMount:r}=function(e,t){const[n,i]=v.useState(),r=v.useRef(void 0);if(r.current)r.current.latestOnLoad=e;else{const t={latestOnLoad:e,context:void 0,loadedWorkspace:{getContext:()=>{if(!t.context)throw new Error("Cannot get Reactodia Workspace context: it is not mounted yet");return t.context},onMount:e=>{const n=e?.getContext();t.context=n,i(n)}}};r.current=t}return v.useEffect((()=>{if(n){const e=r.current.latestOnLoad,t=new AbortController;return(async()=>{const i=n.overlay.startTask();try{await Promise.resolve(),await e({context:n,signal:t.signal})}catch(e){t.signal.aborted||(i.setError(e),console.error("Reactodia: failed to load a workspace",e))}finally{i.end()}t.signal.aborted||n.model.history.reset()})(),()=>{t.abort(),n.model.discardLayout()}}}),[n,...t]),r.current.loadedWorkspace}((async({context:t,signal:r})=>{var o,a;Yh=t;const{model:s}=t,l=Jh(e);n?await s.importLayout({dataProvider:l,diagram:n,signal:r}):(await s.createNewDiagram({dataProvider:l,signal:r}),(null===(o=i.seedGraph)||void 0===o?void 0:o.length)?await async function(e,t,n){const{model:i,performLayout:r}=e,o=new Set;t.forEach((e=>{var t;o.add(e.source),o.add(e.target),i.createElement(e.source),i.createElement(e.target),null===(t=e.rawPredicates)||void 0===t||t.forEach((t=>{i.createLinks({linkTypeId:t,sourceId:e.source,targetId:e.target,properties:{}})}))})),await i.requestElementData(Array.from(o)),await r({signal:n})}(t,i.seedGraph,r):(null===(a=i.seedIris)||void 0===a?void 0:a.length)&&await async function(e,t,n){const{model:i,performLayout:r}=e;for(const e of t)i.createElement(e);await i.requestData(),await r({signal:n})}(t,i.seedIris,r))}),[t]);return v.createElement(Mh,{ref:r,defaultLayout:Zh,defaultLanguage:t,translations:Qh(t)},v.createElement(yh,{}))}const tf=class{constructor(t){e(this,t),this.language=Kh.EN}onProviderSettingsChange(){this.renderGraph()}onLanguageChange(){const e=null==Yh?void 0:Yh.model.exportLayout();this.renderGraph(e)}connectedCallback(){this.renderGraph()}disconnectedCallback(){this.reactRoot&&(this.reactRoot.unmount(),this.reactRoot=void 0)}render(){return t(n,{key:"63c58ee1d28c4866aa66d3dcf4893879de4d09f6"})}renderGraph(e){var t;if(!this.currentRepository)throw new Error("currentRepository is required");if(!(null===(t=this.config)||void 0===t?void 0:t.queryFunction))throw new Error("config.queryFunction is required");if(!this.hostElement)return;const n={initialDiagram:e,currentRepository:this.currentRepository,config:this.config,language:this.language,providerSettings:this.providerSettings};this.reactRoot&&!e?async function(e){if(!Yh)return;const{model:t}=Yh,n=Jh(e);await t.createNewDiagram({dataProvider:n})}(n):this.reactRoot=function(e,t){const n=L.createRoot(e);return n.render(v.createElement(ef,t)),n}(this.hostElement,n)}get hostElement(){return i(this)}static get watchers(){return{currentRepository:["onProviderSettingsChange"],providerSettings:["onProviderSettingsChange"],language:["onLanguageChange"]}}};tf.style="graphwise-reactodia{display:block;width:100%;height:75vh}graphwise-reactodia .reactodia-container{position:relative;width:100%;height:100%}";export{tf as graphwise_reactodia}